Greek version
Σχεδίαση – παρουσίαση:
Βασίλης Σερασίδης
Designed and published by: Serasidis Vasilis
Το να
μοιραστούμε ένα περιφερειακό τύπου USB όπως τον
εκτυπωτή, το scanner κ.α. σε δύο
υπολογιστές, είναι σχετικά εύκολη υπόθεση. Αρκεί να συνδέσουμε τους δύο υπολογιστές
σε διάταξη δικτύου και να δηλώσουμε τον εκτυπωτή ως κοινόχρηστο. Αυτή η μέθοδος
όμως προϋποθέτει την συνεχή λειτουργία του υπολογιστή που έχουμε συνδεμένο τον
εκτυπωτή. Λύση στο παραπάνω πρόβλημα έρχεται να δώσει το κύκλώμα που σας παρουσιάζουμε,
καθώς έχει την δυνατότητα να μετάγει τον εκτυπωτή σε όποιον από τους δύο
υπολογιστές θέλουμε, καθώς ο εκτυπωτής δεν συνδέεται σε έναν από τους δυο
υπολογιστές, αλλά στην κατασκευή μας.
Με την μείωση των τιμών στους φορητούς υπολογιστές
έγινε πλέων προσιτή η απόκτηση τους και από τον μέσο έλληνα. Αποκτώντας όμως
δύο υπολογιστές, αυτομάτως δημιουργείται και η ανάγκη σύνδεσής τους με τα ποιο
κοινά περιφερειακά που ήδη διαθέταμε, όπως είναι ο εκτυπωτής, το scanner, η WEB camera, το ISDN NetMod και
άλλα. Για την επιλογή του τύπου διασύνδεσης των περιφερειακών με τον υπολογιστή
λάβαμε υπ όψη ότι τα περισσότερα σύγχρονα περιφερειακά έχουν διασύνδεση USB, οδηγώντας μας σε αυτή την επιλογή. Ως περιφερειακό USB θα αναφέρουμε τον USB εκτυπωτή. Στην
θέση του μπορεί βέβαια να είναι ένα scanner,
μια κάμερα ή οποιαδήποτε άλλη συσκευή USB κατά προτίμηση χαμηλής ταχύτητας
USB1.1 (1.5 Mbps), χωρίς
αυτό να σημαίνει ότι δεν μπορεί να λειτουργήσει και με συσκευές USB2.0. Επειδή όμως η κατασκευή μας περιλαμβάνει μηχανικά
μέρη, ίσως δημιουργηθούν προβλήματα στην
επικοινωνία ορισμένων περιφερειακών διαμέσου της εν λόγο κατασκευής, λόγω της
τόσο υψηλής ταχύτητας όπως αυτής της USB2.0 (480
Mbps) και τον «θόρυβο» που δημιουργείται στις επαφές των
ρελέ. Σύμφωνα με το μπλοκ διάγραμμα του σχήματος
1, ο εκτυπωτής συνδέεται στον υπολογιστή Νο1 ενώ ο μικροελεγκτής στον
υπολογιστή Νο2. Όταν δοθεί η σχετική εντολή από το software την
κατασκευής (USBswitch.exe),
γίνεται χιαστί η μεταγωγή των συσκευών και ο εκτυπωτής συνδέεται πλέον στον
υπολογιστή Νο2 ενώ ο μικροελεγκτής στον υπολογιστή Νο1.
Σχήμα 1: Το
μπλοκ διάγραμμα της κατασκευής.
|
Σχήμα 2: Το θεωρητικό κύκλωμα της κατασκευής. |
Το θεωρητικό κύκλωμα
Το κύκλωμα αποτελείται από λίγα εξαρτήματα λόγω του
μικροελεγκτή IC1 που αναλαμβάνει τον έλεγχο για
το που θα είναι συνδεμένος ο εκτυπωτής, ενώ είναι υπεύθυνος και για την
επικοινωνία με το software του υπολογιστή μέσω της θύρας USB. Η τροφοδοσία της κατασκευής γίνεται από τις θύρες USB και των δύο υπολογιστών, καθώς παρέχουν τάση +5v με μέγιστο ρεύμα 500 mA η μία, ικανό όχι μόνο για την τροφοδοσία της κατασκευής
μας αλλά και για το περιφερειακό που θα συνδέσουμε. Επιπλέον, αυτό διασφαλίζει την
απρόσκοπτη λειτουργία της κατασκευής μας στην περίπτωση που έχουμε έναν μόνο υπολογιστή
σε λειτουργία . Τα σήματα δεδομένων D+ και D- του
διαύλου USB έχουν στάθμη 0 και +3.3V. Το IC1 όμως
λειτουργεί με στάθμες TTL 0 και +5V. Οπότε
υπάρχουν δύο τρόποι προσαρμογής: ή να κατασκευάσουμε έναν μετατροπέα στάθμης
από τα 5V στα 3.3V και το αντίστροφο για τον δίαυλο δεδομένων D+ και D- ή να
κατεβάσουμε την τάση τροφοδοσίας του IC1 στα 3.3V οπότε
και οι στάθμες σήματος θα είναι μεταξύ 0 και 3.3V. Η Atmel
μας εγγυάται ότι η τάση λειτουργίας ενός ATtiny2313 είναι μεταξύ 2.7V και 5.5V, οπότε επιλέξαμε
τον δεύτερο τρόπο, δηλαδή την λειτουργία του IC1 στα 3.3V. Αντί ενός σταθεροποιητή στα 3.3V επιλέξαμε
τρεις διόδους 1N4001 (D5-D7) οι οποίες στην
ορθή φορά δημιουργούν πτώση τάσης 0.7V
άρα VCC = 5-(0.7*3) = 2.9V. Αυτά σε θεωρητικό επίπεδο γιατί στην πράξη η τάση
είναι περίπου 3V. Η προδιαγραφή του διαύλου USB για
συσκευές χαμηλής ταχύτητας είναι 2.7 – 3.6V οπότε τα 3V είναι
αρκετά . Η R6 είναι αντίσταση φορτίου για την
διασφάλιση του κυκλώματος πάντα με 3V. Τα
ρελέ RE1 και RE2 αναλαμβάνουν
την σύνδεση του IC1 με τον πρώτο, και τον εκτυπωτή
με τον δεύτερο υπολογιστή. Το RE1 λειτουργεί
ανάποδα από το RE2. Δηλαδή όταν είναι οπλισμένο
το RE1, το RE2 είναι
αφοπλισμένο, και το αντίστροφο. Όταν στην βάση του T1 έχουμε 0V, το
τρανζίστορ δεν θα άγει άρα και στον συλλέκτη του θα έχουμε +5V μέσω του
τυλίγματος του RE1. Η τάση αυτή των 5V οδηγείται στην βάση του Τ2 θέτοντας το σε κατάσταση
αγωγιμότητας. Με την ίδια λογική όταν στη βάση του Τ1 θα έχουμε 3V, θα περάσει σε κατάσταση αγωγιμότητας ρίχνοντας την
τάση του συλλέκτη στα 0V και κατά συνέπεια οδηγούμε το RE2 σε αφοπλισμό. Οι δίοδοι D1, D3 χρησιμεύουν
για την προστασία των Τ1 και Τ2 από τα ανάστροφα ρεύματα που δημιουργούνται στα
τυλίγματα του RE1 και RE2. Τα LEDs D2, D4 είναι
ενδεικτικά της κατάστασης του κάθε ρελέ (ON-OFF). Τα ρελέ έχουν
ονομαστική τάση 6V DC και
η κατανάλωση του ενός είναι ~20mA. Για τον λόγο
αυτό επιλέξαμε να οπλίζει μόνο το ένα κάθε φορά και όχι να οπλίζουν ή να
αφοπλίζουν και τα δύο ταυτόχρονα, μειώνοντας έτσι την συνολική κατανάλωση
ρεύματος του κυκλώματος. Οι R7, R8 είναι αντιστάσεις τερματισμού του διαύλου USB. Με την R9 πολώνουμε το D- της θύρας USB στα +3V δηλώνοντας έτσι
την ύπαρξη συσκευής USB χαμηλής ταχύτητας (1.5 Mbps).
Κατασκευή του κυκλώματος
Η κατασκευή του κυκλώματος δεν θα αποτελέσει πρόβλημα
λόγω της απλότητας της. Λίγη προσοχή θα πρέπει να δοθεί στην πολικότητα των
υλικών (διόδων, πυκνωτών, ολοκληρωμένων). Κολλήστε πρώτα τα κοντύτερα και
μικρότερα εξαρτήματα και στην συνέχεια τα μεγαλύτερα και ψηλότερα. Οι μαύρες
γραμμές που ενώνουν τις οπές στο σχέδιο της τοποθέτησης των υλικών, είναι συρμάτινες
γεφυρώσεις στο πάνω μέρος της πλακέτας. Τα LEDs D3, D4 και οι αντιστάσεις R1, R2 μπορούν να
μην τοποθετηθούν για την μείωση της κατανάλωσης ρεύματος κατά 6 mA. Αν δεν μπορείτε να βρείτε τον ATtiny2313 στην αγορά, μπορείτε στην θέση του να
προγραμματίσετε με το ίδια αρχεία .hex
και .eep έναν AT90S2313 και να τον
τοποθετήσετε στην ίδια βάση, καθώς έχουν την ίδια διάταξη στις ακίδες τους. Εάν
μετά την σύνδεση του περιφερειακού με τον υπολογιστή, σας εμφανίσει το μήνυμα
πως βρέθηκε μια άγνωστη συσκευή ενώ εσείς έχετε ήδη εγκαταστήσει τους οδηγούς,
θα χρειαστεί να αφαιρέσετε μία από τις διόδους D5 ή D6 ή D7 και στην θέση της κολλήσετε μια συρμάτινη γεφύρωση. Με
αυτή την μετατροπή θα αυξήσετε την τάση VCC από τα 3V στα
3.7V, αρκετή για την σωστή λειτουργία του AT90S2313. Ο AT90S2313 μπορεί να λειτουργήσει από 2.7V – 6V. Τότε ποιος ο λόγος να ανεβάσουμε την τάση
λειτουργίας στα 3.7V ενώ μπορεί να λειτουργήσει και με 2.7V ; Ο λόγος είναι απλός. Η τάση λειτουργίας 2.7V ισχύει ως την μέγιστη συχνότητα λειτουργίας του, που
είναι τα 10MHz. Στην περίπτωσή μας όμως η
συχνότητα λειτουργίας έχει αυξηθεί στα 12MHz δηλαδή 20%
παραπάνω (overclocking). Γι αυτό τον λόγο και
δεν μπορούμε να δουλέψουμε στην χαμηλότερη τάση λειτουργίας. Από την άλλη
πλευρά, ο ATtiny2313 έχει μέγιστη συχνότητα
λειτουργίας τα 20 MHz οπότε μπορούμε να τον
λειτουργήσουμε άνετα στα 2.7V.
Προγραμματισμός του IC1
Ο μικροελεγκτής IC1 θα πρέπει να προγραμματιστεί με δύο αρχεία. Την
μνήμη flash θα
πρέπει να την προγραμματίσετε με το αρχείο USBswitch.hex
και την εσωτερική μνήμη eeprom με
το αρχείο USBswitch.eep . Αν
τελικά επιλέξετε τον ATtiny2313
έναντι του AT90S2313 θα πρέπει από την περιοχή <Fuses> του προγραμματιστή σας να βεβαιωθείτε ότι είναι
τσεκαρισμένη η επιλογή <Ext. Crystal Osc.;
Frequency 8- MHz; Start-up time 14 CK +
65 ms; (CKSEL=1111 SUT=11) >. Αυτό θα
πρέπει να το ελέγξετε διότι αυτός ο μικροελεγκτής έχει την δυνατότητα ενεργοποίησης
του εσωτερικού ταλαντωτή 0.128 – 8 MHz, και θα
πρέπει να βεβαιωθούμε ότι είναι ενεργοποιημένη η επιλογή χρήσης του εξωτερικού
κρυστάλλου για συχνότητες των 8 MHz και άνω.
Λειτουργία
Όταν συνδέσετε την κατασκευή μας σε μία ελεύθερη θύρα USB του
υπολογιστή, μέσω της θύρας Κ1, ο υπολογιστής θα αναγνωρίσει μια νέα συσκευή και
θα σας ζητήσει τους οδηγούς (Drivers). Ο
οδηγός για την συσκευή «USB switch» βρίσκεται στον φάκελο «Driver» και αποτελείται από τρία αρχεία τα: AVR309.dll , AVR309.inf και AVR309.sys . Μετά
την εγκατάσταση των οδηγών, η συσκευή
μας θα είναι έτοιμη για χρήση.
Και στους δύο υπολογιστές θα πρέπει να έχουμε
εγκατεστημένους τους οδηγούς και το πρόγραμμα «USBswitch.exe». Όταν
συνδέσουμε και τους δύο υπολογιστές με την συσκευή μας, εγκαταστήσουμε τους
οδηγούς και τρέξουμε το πρόγραμμα USBswitch.exe , θα διαπιστώσουμε ότι στον ένα υπολογιστή θα δούμε
το μήνυμα του σχήματος 3 και στον
άλλο το μήνυμα του σχήματος 4. Σε
αυτόν που θα εμφανίσει το μήνυμα του σχήματος 3 θα βρίσκεται συνδεμένος ο
εκτυπωτής. Σ αυτή την περίπτωση όπως βλέπετε το κουμπί «Σύνδεση με το κοινό
περιφερειακό» είναι απενεργοποιημένο διότι έχουμε ήδη συνδεμένο τον εκτυπωτή σ
αυτόν τον υπολογιστή. Στην περίπτωση του σχήματος 4 το πρόγραμμα μας ενημερώνει
ότι η συσκευή “USB switch” δηλαδή στην
ουσία το IC1, έχει βρεθεί και μπορούμε να
πατήσουμε το κουμπί «Σύνδεση με το κοινό
περιφερειακό USB» ώστε το IC1 να αλλάξει την κατάσταση των ρελέ και να μετάγει τον
εκτυπωτή σε αυτόν τον υπολογιστή. Εάν δεν εγκαταστήσετε τον οδηγό, δεν μπορεί
να εκτελεστεί το πρόγραμμα.
Σχήμα 3:
Όταν ο υπολογιστής έχει συνδεθεί με τον εκτυπωτή εμφανίζεται αυτό το μήνυμα. |
Σχήμα 4:
Όταν ο υπολογιστής δεν έχει συνδεθεί με τον εκτυπωτή εμφανίζεται αυτό το
μήνυμα. |
Σχήμα 5: Το τυπωμένο κύκλωμα της κατασκευής
|
Σχήμα 6: Η τοποθέτηση των υλικών στην πλακέτα. |
ΤΑ ΥΛΙΚΑ
C1 : 100nF
C2 : 470µF/16V
C3 : 22 pF
C4 : 22 pF
D1, D3 : 1Ν4148
D2, D4 : LED
D5, D6, D7 : 1N4001
IC1 : ATtiny2313 (βλέπε κείμενο)
K1 : Βύσμα
πλακέτας
USB-B
K2 : Βύσμα
πλακέτας
USB-A
K3 : Βύσμα
πλακέτας
USB-B
R1, R2 : 1k
R3, R4, R5, R6 : 10k
R7, R8 : 56R
R9 : 1k5
RE1, RE2 : Ρελέ 6V,
διπλών επαφών.
T1, T2 : BC547
X1 : 12 MHz
Κόστος υλικών: 20 €
Δυσκολία κατασκευής: * * *Δυσεύρετα υλικά: * * *
|
|
Κατεβάστε απο εδώ τον κώδικα το πρόγραμμα διαχείρισης και τον οδηγό (driver) του USB Switch.
|
Created and Published by Serasidis Vasilis at 07.07.2006