Οι περισσότεροι από εμάς δεν σκεφτόμαστε ποτέ τις συσκευές USB, απλώς τις συνδέουμε και τις ξεχνάμε. Τι γίνεται όμως αν είστε ο περίεργος τύπος που θέλει να μάθει περισσότερα για το πώς λειτουργεί το USB; Η σημερινή ανάρτηση ερωτήσεων και απαντήσεων SuperUser έχει τις απαντήσεις σε ερωτήσεις περίεργων αναγνωστών.
Η σημερινή συνεδρία Ερωτήσεων & Απαντήσεων μας προσφέρει ευγενική προσφορά του SuperUser - μια υποδιαίρεση του Stack Exchange, μιας ομάδας ιστότοπων Q&A που βασίζεται στην κοινότητα.
Η φωτογραφία προσφέρθηκε από Evilelka Kowalski (Flickr) .
Το ερώτημα
Ο αναγνώστης SuperUser smeeb θέλει να μάθει εάν υπάρχει πραγματικά ένα πρωτόκολλο επικοινωνίας USB:
Ασκορδινγ το Βικιπέδια, USB :
- Ορίζει τα καλώδια, τους συνδέσμους και τα πρωτόκολλα επικοινωνίας που χρησιμοποιούνται σε ένα δίαυλο για σύνδεση, επικοινωνία και τροφοδοσία μεταξύ υπολογιστών και ηλεκτρονικών συσκευών.
Υπάρχει όμως ένα πραγματικό Πρωτόκολλο επικοινωνίας USB ; Η κατανόησή μου είναι ότι:
- Συνδέετε μια συσκευή USB σε ένα μηχάνημα (για παράδειγμα Ubuntu ή οποιοδήποτε είδος Linux).
- Το Linux βρίσκει με κάποιον τρόπο το πρόγραμμα οδήγησης της συσκευής ( μπόνους αν γνωρίζετε! ) και το φορτώνει.
- Η συσκευή είναι πλέον συνδεδεμένη κάτω / dev / theDevice .
- Οι εφαρμογές χώρου χρήστη μπορούν πλέον να διαβάζουν και να γράφουν / dev / theDevice και το πρόγραμμα οδήγησης χειρίζεται την είσοδο και την έξοδο χαμηλού επιπέδου στην υποκείμενη συσκευή / υλικό.
Από όσο μπορώ να πω, α Πρωτόκολλο επικοινωνίας USB δεν εμφανίζεται πουθενά σε αυτήν τη ροή. Εάν η κατανόησή μου είναι σωστή, το USB είναι μόνο η καλωδιακή και ηλεκτρική σύνδεση μεταξύ του υπολογιστή και της συσκευής.
Κάνω λάθος εδώ; Εφαρμόζει το USB κάποιο είδος πρωτοκόλλου χαμηλού επιπέδου που υπογραμμίζει τη ροή παραπάνω; Εάν ναι, τι είναι και πώς λειτουργεί σε 30.000 πόδια;
Υπάρχει πραγματικό πρωτόκολλο επικοινωνίας USB;
Η απάντηση
Οι συντελεστές SuperUser RedGrittyBrick και projectdp έχουν την απάντηση για εμάς. Πρώτα, RedGrittyBrick:
Ναί ( δείτε πρωτόκολλα USB ).
Όπως το καταλαβαίνω, η προδιαγραφή USB καθορίζει ένα πολύπλοκο σύνολο πρωτοκόλλων με στρώσεις και προφίλ συσκευών.
Για παράδειγμα, οι συσκευές USB μπορούν να συμμορφώνονται με πρότυπα υψηλού επιπέδου όπως μαζική αποθήκευση, πληκτρολόγιο, συσκευή ανθρώπινης διεπαφής κ.λπ. και να διαχειρίζονται από ένα γενικό πρόγραμμα οδήγησης συσκευών. Ορισμένες συσκευές USB μπορούν να επικοινωνούν σε χαμηλότερο επίπεδο, έτσι ώστε η υποστήριξη USB χαμηλού επιπέδου του λειτουργικού συστήματος να αναγνωρίζει ότι χρειάζονται προγράμματα οδήγησης υψηλότερου επιπέδου για συγκεκριμένες συσκευές.
Ακολούθησε η απάντηση από το projectdp:
Ερώτηση
Υπάρχει ένα πρωτόκολλο επικοινωνίας χαμηλού επιπέδου USB σε δράση και τι είναι αυτό;
Απάντηση
Ναι υπάρχει. Η προδιαγραφή USB περιλαμβάνει το πρωτόκολλο USB που καθορίζει τον τρόπο χρήσης του διαύλου σε επίπεδο bit. Αυτό θα ήταν το πρωτόκολλο χαμηλού επιπέδου που βασίζεται στα πρωτόκολλα υψηλότερου επιπέδου (δηλαδή μαζική αποθήκευση, HID κ.λπ.)
Για λεπτομέρειες σχετικά με τον τρόπο λειτουργίας του πρωτοκόλλου USB, αυτό Wiki OSDev είναι χρήσιμο. Εδώ είναι ένα άλλο ενδιαφέρουσα περιγραφή χρησιμοποιώντας διαγράμματα ακολουθίας για να περιγράψετε τις διάφορες συναλλαγές δεδομένων ανά πρωτόκολλο USB.
Ερώτηση μπόνους
Πώς βρίσκει και φορτώνει το Linux το πρόγραμμα οδήγησης συσκευής για αυτήν τη συσκευή;
Απάντηση μπόνους
Σε Linux όταν χρησιμοποιείτε πυρήνα με δυνατότητα USB, μια λειτουργική συσκευή USB θα εντοπιστεί μέσω του υλικού και του πυρήνα λόγω των προδιαγραφών USB. Από την πλευρά του υλικού, η ανίχνευση γίνεται από το USB Host Controller. Στη συνέχεια, στον πυρήνα το πρόγραμμα οδήγησης κεντρικού ελεγκτή αναλαμβάνει και μεταφράζει τα bit χαμηλού επιπέδου στο καλώδιο σε πληροφορίες μορφοποίησης πρωτοκόλλου USB. Αυτές οι πληροφορίες στη συνέχεια συμπληρώνονται στο πρόγραμμα οδήγησης usbcore στον πυρήνα.
Παραφράζομαι από αυτό το εξαιρετικό Άρθρο Opensourceforu , το οποίο έχει πολύ περισσότερες λεπτομέρειες και σαφήνεια σχετικά με την ερώτησή σας στο περιβάλλον Linux.
Φροντίστε να δείτε το υπόλοιπο της ζωντανής συζήτησης μέσω του νήματος που μοιράζεται παρακάτω
Έχετε κάτι να προσθέσετε στην εξήγηση; Ήχος στα σχόλια. Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους χρήστες τεχνολογίας Stack Exchange; Δείτε ολόκληρο το νήμα συζήτησης εδώ .