Μινιατούρα λογικός αναλυτής 4 καναλιών στο avr. Βελτίωση του λογικού αναλυτή από την Κίνα. Τύπος πλακέτας τυπωμένου κυκλώματος και θέση των εξαρτημάτων

Αν και περιστασιακά, υπάρχει ανάγκη να παρακολουθείτε τι συμβαίνει σε ορισμένες λογικές γραμμές, και συγχρονισμένα στο 4-8. Ήθελα εδώ και καιρό να έχω έναν λογικό αναλυτή (εφεξής LA) για αυτούς τους σκοπούς και τελικά τον έφτασα.
Εν ολίγοις, για τους ανυπόμονους - μπορείτε να το πάρετε. Συμμορφώνεται πλήρως με τα αναφερόμενα χαρακτηριστικά, το λογισμικό είναι αρκετά χρησιμοποιήσιμο. Περισσότερες λεπτομέρειες - κάτω από την περικοπή :)

Τι είναι ο λογικός αναλυτής και σε τι χρησιμεύει;

Εν ολίγοις, αυτό είναι κάτι σαν ένας πολύ ακατέργαστος πολυκαναλικός παλμογράφος. Πολύ τραχύ - δείχνει μόνο δύο επίπεδα, 0 και 1, δηλαδή αν το παρατηρούμενο σήμα υπερέβη ένα δεδομένο επίπεδο ή όχι. Γι' αυτό λέγεται λογικό, σκοπός του είναι να παρατηρεί λογικά σήματα, δηλαδή λογικά μηδενικά και μονάδες.
Αυτό μπορεί να είναι απαραίτητο, για παράδειγμα, κατά τον εντοπισμό σφαλμάτων κάποιου είδους διεπαφής με πολλές γραμμές - εργασία με μνήμη, σύγχρονος έλεγχος κάτι, διεπαφές πολλαπλών καλωδίων κ.λπ. Χρησιμοποιείται επίσης στην αντίστροφη μηχανική, όταν χρειάζεται να μελετήσετε τη λειτουργία μιας συσκευής, να προσδιορίσετε το πρωτόκολλο επικοινωνίας που χρησιμοποιείται και ακόμη και να λάβετε μια ένδειξη δεδομένων που μεταδίδονται, για παράδειγμα, μέσω ενός σύγχρονου UART.
Πολλά αεροσκάφη, εκτός από την άμεση καταγραφή σημάτων, μπορούν να τα αποκωδικοποιήσουν χρησιμοποιώντας συγκεκριμένα πρωτόκολλα, αν και αυτό δεν αποτελεί υποχρεωτική ιδιότητα του αεροσκάφους. Τα ιδιαίτερα εξελιγμένα μπορούν ακόμη και να προσδιορίσουν αυτόματα το πρωτόκολλο που χρησιμοποιείται με αρκετή σιγουριά, αλλά αυτό εξαρτάται ήδη από το λογισμικό που περιλαμβάνεται στο αεροσκάφος.

Διανομή

Έφτασε αμέσως - το παρήγγειλα στις 29 Μαρτίου και στις 11 Απριλίου ήταν ήδη στο τμήμα μου. Ήρθε με κανονικό ταχυδρομείο, ήταν συσκευασμένο σε μια τυπική κίτρινη τσάντα με περιτύλιγμα με φυσαλίδες. Τίποτα το εξαιρετικό :)

Προδιαγραφές από τη σελίδα του πωλητή

Ιδιαιτερότητες:
- μικρό και ελαφρύ
- μέγιστη συχνότητα δείγματος: 100 MHz σε 3 κανάλια, 50 MHz σε 6 κανάλια, 32 MHz σε 9 κανάλια, 16 MHz σε 16 κανάλια
- μεγάλος όγκος αποθηκευμένων δειγμάτων, υποστήριξη συμπίεσης
- ενσωματωμένη γεννήτρια PWM
- Συμβατό με USB2.0/3.0
- ισχυρό και εύκολο στη χρήση λογισμικό
- υποστήριξη για αυτόματες διαδικτυακές ενημερώσεις
Χαρακτηριστικά:
- αριθμός καναλιών: 16
- μέγιστη συχνότητα δειγματοληψίας: 100MHz
- Εύρος ζώνης μέτρησης: 20 MHz
- ελάχιστο πλάτος καταγραφής παλμού: 20 ns
- μέγιστο μέγεθος αποθηκευμένων δειγμάτων: 10 G/κανάλι
- επιτρεπόμενη τάση εισόδου: -50V / +50V
- αντίσταση εισόδου και χωρητικότητα: 220KΩ, 12pF
- Ρυθμιζόμενο επίπεδο σκανδάλης: -4V ~ +4V, βήμα: 0,01V
- αριθμός καναλιών γεννήτριας PWM: 2
- Εύρος συχνοτήτων PWM: 0,1 ~ 10 MHz
- Βήμα ρύθμισης συχνότητας γεννήτριας PWM: 10 ns
- Βήμα ρύθμισης πλάτους παλμών γεννήτριας PWM: 10ns
- Τάση εξόδου γεννήτριας PWM: +3,3V
- αντίσταση εξόδου της γεννήτριας PWM: 50Ω
- Κατανάλωση αναμονής: 100mA
- μέγιστη κατανάλωση ρεύματος: 150mA
- Διαστάσεις: 95mm * 55mm * 23mm
- Υποστηριζόμενα λειτουργικά συστήματα: Windows XP, Vista, Windows 7/8/10 (32/64bit)
- Υποστηριζόμενα τυπικά πρωτόκολλα: UART/RS-232/485, I2C, SPI, CAN, DMX512, HDMI CEC, I2S/PCM, JTAG, LIN, Manchester, Modbus, 1-Wire, UNI/O, SDIO, SMBus, USB1. 1, PS/2, NEC Υπέρυθρο, Παράλληλο, κ.λπ.

Εξοπλισμός

Το κιτ αποτελούνταν από δύο συσκευασίες - το ένα περιείχε καλώδιο USB, το άλλο περιείχε τον ίδιο τον αναλυτή με όλα τα εξαρτήματά του:

Το καλώδιο φαίνεται πολύ καλό, παχύ, αλλά αρκετά μαλακό. Δεν έχω τίποτα να εκτιμήσω τη διατομή των καλωδίων ισχύος σε αυτό, και αυτό δεν είναι σημαντικό δεδομένης της δηλωμένης κατανάλωσης του αναλυτή. Αλλά η απαλότητά του είναι ένα μεγάλο πλεονέκτημα όταν εργάζεστε με ένα τόσο μικρό και ελαφρύ κουτί.
Μεταξύ των βασικών ήταν: ο ίδιος ο αναλυτής, τρεις χτένες των εννέα καλωδίων διαφορετικών χρωμάτων, δύο χτένες από δύο καλώδια η καθεμία, 20 κλιπ, ένας δίσκος με το πρόγραμμα και ένα κομμάτι χαρτί με τη διεύθυνση από όπου μπορείτε να κατεβάσετε το πιο πρόσφατο λογισμικό:


Εδώ είναι ένα μεγαλύτερο κομμάτι χαρτί:

Ο ίδιος ο αναλυτής είναι κατασκευασμένος σε μια ωραία θήκη με εντελώς πρωτότυπο σχέδιο (σε σύγκριση με τα βαρετά τετράγωνα κουτιά στα οποία οι Κινέζοι πλάθουν ό,τι μπορούν). Αν και φαίνεται ότι ο Γκάιντα είχε μια τέτοια ανάμεσα στις στάνταρ θήκες... Παρόλα αυτά φαίνεται πολύ καλή. Όλα γίνονται πολύ προσεκτικά, δεν υπάρχουν περιττά κενά πουθενά, τίποτα δεν είναι παραμορφωμένο :)
Η μπροστινή πινακίδα υποδεικνύει το όνομα του μοντέλου, παρέχει σύντομα χαρακτηριστικά και απεικονίζει τον σκοπό των ακίδων σύνδεσης εισόδου. Επιπλέον, υπάρχει μια ένδειξη που δείχνει την κατάσταση του αναλυτή - όταν είναι σε αδράνεια ανάβει ομαλά και σβήνει και αναβοσβήνει συχνά κατά τη δειγματοληψία.
Στο ένα άκρο υπάρχει ένας σύνδεσμος εισόδου 20 ακίδων - 16 κανάλια, δύο γειώσεις και δύο έξοδοι γεννήτριας PWM. Στο άλλο άκρο υπάρχει μια υποδοχή USB:





Το κιτ περιλαμβάνει τρεις χτένες των 9 καλωδίων και δύο από δύο σύρματα. Εάν μπορείτε ακόμα να βρείτε κάτι με δύο καλώδια - για παράδειγμα, ένα για το έδαφος, το δεύτερο για δύο κανάλια ή για μια γεννήτρια PWM, τότε γιατί δεν είναι ξεκάθαρο ΤΡΕΙΣ μεγάλες χτένες... Όχι αλλιώς, ένα από αυτά είναι ανταλλακτικό :)

Όταν συνδέουμε δύο χτένες με εννέα ακίδες, έχουμε και τα 16 κανάλια και δύο γειώσεις. Το μήκος των συρμάτων σε όλες τις χτένες είναι 20 cm, όλα τα καλώδια καταλήγουν σε θερμοσυστελλόμενα «μητέρες» για σύνδεση κλιπ. Σε κάθε χτένα, ένα σύρμα έχει λευκή θερμική συρρίκνωση - υποτίθεται ότι είναι αλεσμένη, έτσι ώστε να είναι πιο δύσκολο να συγχέεται, τα υπόλοιπα έχουν μαύρη θερμοσυστελλόμενη:

Κλιπ - ακριβώς 20 τεμάχια. Δηλαδή, μπορείτε να τα χρησιμοποιήσετε για να συνδέσετε και τις 20 ακίδες του βύσματος εισόδου - 16 κανάλια, 2 γειώσεις και 2 γεννήτριες PWM. Είναι απίθανο να χρειαστεί ποτέ αυτό, αλλά είναι ένα πλεονέκτημα για τους Κινέζους επειδή δεν είναι άπληστοι :) Τα χρώματα των κλιπ δεν υποφέρουν από ιδιαίτερη ποικιλία, σε αντίθεση με τα καλώδια:


Από την άλλη, αν δείχνετε ελάχιστη προσοχή, μπορεί να μην μπερδέψετε τίποτα κοιτάζοντας όχι μόνο τα κλιπ, αλλά και τα καλώδια που συνδέονται με αυτά.
Οι συνηθισμένες τετραεδρικές ακίδες προεξέχουν από το πίσω μέρος των κλιπ, όπως στους συνδέσμους IDC:


Οι «μητέρες» των καλωδίων προσαρμόζονται σε αυτές τις ακίδες αρκετά σφιχτά και δεν δείχνουν καμία επιθυμία να πηδήξουν· η σύνδεση είναι αρκετά αξιόπιστη.
Συσκευή στοιχειώδους κλιπ:




Δεν υπάρχουν κλειδαριές ή μάνδαλα, η πλάτη απλά τραβάει μαζί και η εσωτερική πλάκα βγαίνει μετά από στροφή 90 μοιρών. Ο πείρος είναι απλά κολλημένος, κάτι που είναι καλά νέα όσον αφορά τη συντηρησιμότητα :)
Για να συνδεθείτε στο καλώδιο, πρέπει να πιέσετε το πίσω μέρος και ένα μικροσκοπικό κλιπ βγαίνει από το στόμιο και ανοίγει. Το πίσω μέρος απελευθερώνεται και, υπό τη δράση ενός ελατηρίου, ο σφιγκτήρας επανέρχεται, κλείνοντας ταυτόχρονα:




Κρατάει το σύρμα με σιγουριά, τόσο πολύ παχύ, περίπου 1,5 χιλιοστά, όσο και λεπτό, περίπου 0,3 χιλιοστά:




Γενικά, αυτά τα κλιπ δεν λάμπουν ποιοτικά, αλλά είναι αρκετά λειτουργικά στις περισσότερες περιπτώσεις.

Λειτουργία αναλυτή, λογισμικό

Πρώτον, πρέπει να διευκρινίσουμε αμέσως ένα σημείο: αυτός ο αναλυτής δεν έχει τη δική του μνήμη· όλα τα δείγματα μεταφέρονται αμέσως στον υπολογιστή, όπου αποθηκεύονται. Είναι αλήθεια ότι στα χαρακτηριστικά αναφέρεται η συμπίεση, επομένως, πιθανότατα, δεν μεταδίδει ανόητα 100 megabit ανά κανάλι σε συχνότητα δειγματοληψίας 100 MHz. Ωστόσο, στις υψηλές συχνότητες είναι πολύ απαιτητικό για την ποιότητα του καναλιού USB. Στην ιδανική περίπτωση, ο κεντρικός διανομέας στον οποίο είναι συνδεδεμένος ο αναλυτής δεν θα πρέπει να εξυπηρετεί άλλους πελάτες. Για παράδειγμα, για μένα λειτούργησε σε πλήρη ταχύτητα μόνο στην υποδοχή στον μπροστινό πίνακα του υπολογιστή. Αλλά σε ένα netbook δεν μπόρεσε ποτέ να παρέχει 50 MHz για 6 κανάλια, αν και λειτουργούσε ήδη για 5 κανάλια και παρείχε 100 MHz για τρία κανάλια.

Λοιπόν, λογισμικό. Αρχικά, δεν έδωσα σημασία στο χαρτί που περιείχε τη διεύθυνση του ιστότοπου με το λογισμικό, έτσι έβγαλα ένα εξωτερικό DVD από τους κάδους και ειλικρινά προσπάθησα να εγκαταστήσω το πρόγραμμα από αυτό. Το πρόγραμμα εγκαταστάθηκε, αλλά τα προγράμματα οδήγησης δεν ήθελαν να εγκαταστήσουν (Windows XP). Αφού έψαξα στο Διαδίκτυο, πήγα σε αυτόν τον ιστότοπο που υποδεικνύεται στο κομμάτι χαρτί και κατέβασα μια ελαφρώς πιο πρόσφατη έκδοση του προγράμματος από εκεί. Αν και τα προγράμματα οδήγησης σε αυτό φαινόταν να είναι τα ίδια, εγκαταστάθηκαν κανονικά από τη νέα έκδοση και ο αναλυτής ήρθε στη ζωή :)

Η διεπαφή του προγράμματος είναι πολύ απλή με την πρώτη ματιά (και με τη δεύτερη ματιά, για να είμαι ειλικρινής). Στην αρχή, δεν είναι καν ξεκάθαρο πώς μπορείς να κάνεις τίποτα χρήσιμο σε αυτό :) Αλλά όσο βαθαίνεις, ο σεβασμός για αυτό αρχίζει να μεγαλώνει :) Γενικά, έχω την εξής εντύπωση από το πρόγραμμα: εντελώς διακριτικό, τίποτα περιττό , αλλά αρκετά επαρκής για τις περισσότερες εργασίες. Υπάρχουν και μικροελαττώματα βέβαια, αλλά δεν χαλάνε και πολύ την εντύπωση.
Έτσι φαίνεται το παράθυρο του προγράμματος:


Με γρήγορα κλικ μπορείτε να προσαρμόσετε τη συχνότητα δειγματοληψίας και το βάθος (αριθμός) των αποθηκευμένων δειγμάτων:


Η επιλογή υψηλότερων ρυθμών δειγματοληψίας θα περιορίσει αυτόματα τον αριθμό των διαθέσιμων καναλιών.
Στα ίδια τα κανάλια, μπορείτε να επιλέξετε για καθένα από αυτά το όνομα, την τοποθεσία και το κάθετο μέγεθος. Για ένα από τα κανάλια, μπορείτε να ρυθμίσετε την κατάσταση σκανδάλης - στην άκρη, στην πτώση, στο υψηλό επίπεδο, στο χαμηλό επίπεδο ή χωρίς σκανδάλη. Εάν η σκανδάλη είχε εγκατασταθεί προηγουμένως σε άλλο κανάλι, θα γίνει επαναφορά εκεί, δηλαδή, η σκανδάλη μπορεί να εγκατασταθεί σε οποιοδήποτε κανάλι, αλλά μόνο σε ένα.
Στις γενικές ρυθμίσεις, μπορείτε να αφαιρέσετε τα περιττά κανάλια και να ορίσετε την οριακή τάση, σε σχέση με την οποία θα μετρώνται τα μηδενικά και τα μονά:

Είχα ένα μαντήλι στο χέρι στο οποίο υπήρχαν μόνο SPI και USB, οπότε αποφάσισα να τα κοιτάξω. Τα στιγμιότυπα οθόνης θα εμφανίζουν ήδη διαμορφωμένα κανάλια, αλλά αρχικά δεν υπάρχουν δεδομένα για τα σήματα και τα κανάλια ονομάζονται απλώς - Chanel 0, Chanel 1, κ.λπ.
Συνέδεσα τα δύο πρώτα κανάλια σε USB, τα επόμενα 4 στο SPI και έβαλα σε λειτουργία τον αναλυτή. Εδώ είναι τι πήρα συνολικά:


Όλα αυτά είναι 2 δευτερόλεπτα παρατήρησης :) Τώρα πρέπει να συνδέσετε την αποκωδικοποίηση. Επιλέξτε το απαιτούμενο πρωτόκολλο από τη λίστα:

Και εμφανίζεται ένα παράθυρο για τη ρύθμιση αυτού του πρωτοκόλλου.
Για USB:


Για SPI:


Όπως μπορείτε να δείτε, το SPI έχει αρκετά πλούσιες ρυθμίσεις που σας επιτρέπουν να δείτε αυτό το πρωτόκολλο σε όλες τις εκφάνσεις του.
Μετά την αντιστοίχιση καναλιών σε σήματα πρωτοκόλλου, το πρόγραμμα προσφέρει αυτόματη μετονομασία των καναλιών σύμφωνα με τα ονόματα των σημάτων, αυτό ακριβώς έχω κάνει ήδη στα στιγμιότυπα οθόνης. Και τώρα, σε επαρκή μεγέθυνση, τα δεδομένα σύμφωνα με το πρωτόκολλο θα εμφανίζονται πάνω από τα γραφήματα. Για παράδειγμα, εδώ είναι ένα από τα πλαίσια USB:


Όπως μπορείτε να δείτε, το πρόγραμμα δεν δείχνει μόνο τις αριθμητικές τιμές των μεταδιδόμενων byte, αλλά και τη σημασία τους εντός του πρωτοκόλλου - CRC, SYNC, ACK κ.λπ. Είναι αλήθεια ότι υπάρχουν μέρη που το πρόγραμμα και εγώ δεν καταλάβαμε· φαίνεται ότι η ταχύτητα USB επιβραδύνεται απότομα σε ορισμένες στιγμές:

Και εδώ είναι ένα κομμάτι της ανταλλαγής SPI:

Έτσι θα φαίνεται στο αρχείο:

Επιπλέον, μπορείτε να αποθηκεύσετε όχι δείγματα, αλλά αποκωδικοποιημένα δεδομένα πρωτοκόλλου. Εδώ, για παράδειγμα, είναι ένα κομμάτι μιας αποθηκευμένης ανταλλαγής CAN στο αυτοκίνητό μου (δυστυχώς, δεν τράβηξα στιγμιότυπα οθόνης):
Χρόνος [S], Πακέτο, Τύπος, Αναγνωριστικό, Έλεγχος, Δεδομένα, CRC, ACK 0,0002935S, 0, Δεδομένα, 0x0591,0x08,0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x284a, ACK 0,0016248S, 1, δεδομένα, 0x05d 1 , 0x02,0x10 0x00,0x0249,ACK 0,0023359s,2,DATA,0x0635,0x03,0x00 0x00 0xFD,0x0D93,ACK 0,0033871s0,0033871s0,3,400x01,DATA00 0x46 0x00 0x00 0x00 0x1F,0x5D2D,ACK 0.0046378 s,4,DATA,0x0531,0x04,0x01 0x40 0xF0 0xB1,0x40D3,ACK 0.005489s,5,DATA,0x05C1,0x04,0x00 0x000x00 0x000x00 0x0000 2s,6,DATA,0x06 5F,0x08, 0x01 0x5A 0x5A 0x5A 0x36 0x31 0x5A 0x43.0x3840,ACK 0.0075009s,7,DATA,0x0651.0x08.0x80 0x02 0x507050x0x0x0x50 ,ACK 0,008662 1s,8,DATA,0x0621,0x08,0x20 0x2C 0x69 0x18 0x81 0x64 0xFD 0x00,0x4FE1,ACK 0,0233258s,9,DATA,0x0291,0x05,0x00 0x00 0x00 0x00 0x00,0x1DE1,ACK 0,3200x1,ACK 0,320x1 0 0x00 0x30 0 x01 0xA2 0x00 0x84 0x00,0x50DB ,ACK 0,0432946 s,11,DATA,0x03C3,0x08,0xAB 0x00 0x00 0x00 0xA8 0xF0 0x00 0x64,0x0F7B,ACK 0,0444850,0,044850,00x1 x01 0x01 0x00 0 x00 0x00 0x00,0x290F, ACK 0,053637 s,13, DATA,0x0470,0x08,0x40 0x01 0x00 0x46 0x00 0x00 0x00 0x1F,0x5D2D,ACK 0.0548882s,14,DATA,0x00404x00x10404x00 91A,ACK 0. 0632503s,15,DATA,0x0291 ,0x05,0x00 0x00 0x00 0x00 0x00,0x1DE1,ACK 0,0666019s,16,DATA,0x0497,0x08,0x00 0x00 0x00 0x00 0x05000000 AC.0666019 33737s,17,DATA,0x015 1.0x04.0x00 0xE0 0xB0 0x50 0,0x5718,ACK 0,0833265 s,18,DATA,0x02C1,0x06,0x00 0x00 0x00 0x00 0x06 0x00,0x5677,ACK 0,0843872s,0843872s,08Bx03TA,01x005 0 0x00 0x00 0x2B 0x40 0x00,0x4875, ACK 0,0856485s ,20, DATA, 0x035B,0x08,0x08 0xB4 0x0C 0xB5 0x0B 0xFF 0x02 0x80,0x157E,ACK 0.0868492s,21,DATA,0x0380000x00x0x0 0x00 0x00 0x00,0x45C9,ACK 0.0881104s,22,DATA ,0x0381,0x06, 0x01 0x00 0x00 0x00 0x00 0x00,0x18D3,ACK 0.0892516s,23,DATA,0x0397,0x08,0x00 0x000000x00x00x00 0x4293,ACK 0,0905 824s,24,DATA,0x03B5,0x06,0x00 0x00 0x00 0x00 0x00 0x00 ,0x007C,ACK 0.0916936s,25,DATA,0x0457,0x03.0x01 0x40 0x00.0x6539,ACK 0.04700x25 0x00 0x00 0x00 0x00 0x00.0 x11A3,ACK 0.0936154 s,27,DATA, 0x0400,0x08,0x0C 0x01 0x09 0x05 0xAC 0x00 0x00 0x00,0x3DDD,ACK

Τι άλλο έχεις; Όταν μετακινείτε τον κέρσορα πάνω στο γράφημα καναλιού, εμφανίζεται αυτόματα το πλάτος του τρέχοντος παλμού, η περίοδος, η συχνότητα και η πλήρωση (σχετικά με το PWM). Μπορείτε να εμφανίσετε δύο ή τρεις δείκτες και να τους σύρετε κατά μήκος του γραφήματος και θα προσελκύονται από τα πλησιέστερα μέτωπα και πτώσεις. Πληροφορίες σχετικά με την ακριβή ώρα του δείκτη και το χρονικό διάστημα μεταξύ τους θα εμφανιστούν στα δεξιά:


Εδώ οι δείκτες βρίσκονται στην αρχή των πλαισίων USB, τα οποία, ως γνωστόν, ακολουθούν κάθε χιλιοστό του δευτερολέπτου με αρκετά υψηλή ακρίβεια, κάτι που επιβεβαιώνει ο αναλυτής. Ή μάλλον, επιβεβαιώνει την αρκετά καλή ακρίβειά του :)

Γεννήτρια PWM

Λοιπόν, όλα είναι απλά εδώ. Είναι εκεί, και τα δύο κανάλια, όλα λειτουργούν. Μπορείτε να ενεργοποιήσετε και να απενεργοποιήσετε γρήγορα κάθε κανάλι απευθείας στο κύριο παράθυρο στο επάνω μέρος κάνοντας κλικ στην αντίστοιχη επιγραφή (PWM1 PWM2). Πράσινο - ενεργό, κόκκινο - απενεργοποιημένο. Οι ρυθμίσεις της γεννήτριας καλούνται σε ξεχωριστό παράθυρο:


Δεν ξέρω καν τι άλλο να πω για αυτόν :)

Εντόσθια ζώου

Η δομή, όπως υποψιάζομαι, είναι κλασική - αντιστοίχιση εισόδου, συγκριτές σκανδάλης, FPGA και ελεγκτής με USB. Γενικά υποψιάζομαι ότι πρόκειται για κλώνο του ίδιου Saleae :)








Η δεύτερη πλευρά του πίνακα είναι εντελώς άδεια.
Όλα είναι πολύ προσεγμένα, χωρίς μύξα, άπλυτο flux κ.λπ. Τα εσωτερικά στοιχεία δεν διαταράσσουν την αρμονία της εμφάνισης :)

Συμπέρασμα

Μου άρεσε η συσκευή. Όλα όσα αναφέρονται σε αυτό λειτουργούν. Το λογισμικό έκανε πολύ ευχάριστη εντύπωση. Για να είμαι ειλικρινής, δεν περίμενα καν τέτοια δουλειά από τους Κινέζους :) Υπάρχουν μειονεκτήματα, αλλά είναι μικρά - θα ήθελα, για παράδειγμα, να αντιστοιχίσω διαφορετικά χρώματα σε σήματα. Αλλά αυτό είναι περισσότερο ένα τσιμπολόγημα.

Όταν αγοράζω κάθε είδους κινέζικα ηλεκτρονικά για τις «χειροτεχνίες» μου, αντιμετωπίζω συχνά το πρόβλημα της κακής περιγραφής του έργου,

Το θέμα του σημερινού άρθρου είναι η χρήση ενός φθηνού κινεζικού λογικού αναλυτή που αγοράστηκε στο Aliexpress.

Τι είναι ο λογικός αναλυτής; Αυτή είναι μια τέτοια συσκευή... για λογική ανάλυση))) Μια ταινία με τον Ρόμπερτ Ντε Νίρο έρχεται αμέσως στο μυαλό

Γιατί χρειάζεται; Λοιπόν, φυσικά, συμμετάσχετε σε λογική ανάλυση))). Ή μάλλον, αναλύοντας τα λογικά επίπεδα διαφορετικών μικροελεγκτών και των περιφερειακών τους. Αυτό που συνήθως ονομάζεται αντίστροφη μηχανική.

Χαρακτηριστικά

  • Συμβατότητα λογισμικού με το Saleae Logic 8
  • Αριθμός ψηφιακών εισόδων - 8
  • Δύο δείκτες - ισχύς και κατάσταση λογικών εισόδων
  • Αντίσταση εισόδου 100 KOhm, χωρητικότητα εισόδου 5 pF
  • Τροφοδοτείται από USB
  • Υποστηριζόμενα ποσοστά δειγματοληψίας:
  • 24MHz,16MHz, 12MHz, 8MHz, 4MHz, 2MHz, 1MHz, 500KHz, 250KHz, 200KHz, 100KHz, 50KHz, 25KHz;
  • Αριθμός αποθηκευμένων τιμών μιας μέτρησης - 10000

Στη μία πλευρά υπάρχει υποδοχή 10 ακίδων και pinout στο σώμα

Με άλλο Mini USB για τροφοδοσία και σύνδεση με υπολογιστή

Εντόσθια ζώου

Στο εσωτερικό της θήκης υπάρχει μια πλακέτα που περιέχει έναν μικροεπεξεργαστή με διασύνδεση USB υψηλής ταχύτητας CY7C68013A από την CYPRESS, έναν EEPROM ATMLH432 και έναν οδηγό διαύλου LVC245A από την NXP.

Στην είσοδο του αναλυτή υπάρχουν αντιστάσεις περιορισμού ρεύματος 100 Ohm, αντιστάσεις έλξης 100 KOhm και πυκνωτές 5 pF. Όλα είναι ειλικρινή, όπως στην περιγραφή.

Σύνδεση

Για τη σύνδεση του αναλυτή, το κιτ περιλαμβάνει 10 καλώδια σύνδεσης για επαφές ακίδων. Αγόρασα αμέσως αυτά τα clip-on κλιπ.

Η ποιότητα των σφιγκτήρων είναι πολύ μέτρια, αλλά οι καλοί σφιγκτήρες θα κοστίζουν περισσότερο από τον ίδιο τον αναλυτή

Λογισμικό

Αυτό είναι ίσως το πιο ενδιαφέρον πράγμα για αυτόν τον αναλυτή. Έρχεται με εγγενές λογισμικό από τη Saleae Logic.

Οι εκδόσεις είναι διαθέσιμες για OSX, Linux και Windows σε 32 και 64 bit.
Το Saleae Logic 1.2.3 στα Windows 7 λειτούργησε με μισό λάκτισμα, το λογισμικό ξεκίνησε, το υλικό αναγνωρίστηκε, παρά την έκδοση "Beta".

Ενδιαφέρουσες δυνατότητες σε λογισμικό από την Saleae Logic

Έναυσμα για την εγγραφή μιας λογικής ακολουθίας σε κάθε κανάλι

  • Για να αλλάξετε το λογικό επίπεδο σε "0"
  • Για να αλλάξετε το λογικό επίπεδο σε "1"
  • Για θετική παρόρμηση δεδομένης διάρκειας
  • Σε αρνητικό παλμό δεδομένης διάρκειας

Υπολογισμός στατιστικών μετρήσεων με βάση την τρέχουσα μέτρηση

Πρωτόκολλα αποκωδικοποίησης: Async Serial, I2C, SPI, Hide, 1-Wire, Atmel SWI, BISS C, CAN, DMX-512, HD44780, HDLC, HGMI CEC, I2S/ PCM, JTAC, LIN, MDIO, Manchester, Midi, Modbus , Πληκτρολόγιο/Ποντίκι PS/2, SMBus, SWD, Simple Parallel, UNI/O, USB LS και FS

Καταγραφή με αποκωδικοποιήσιμο πρωτόκολλο

Επιπλέον, αυτός ο αναλυτής μπορεί να αναβοσβήνει με λογισμικό από το USBee

Ας κάνουμε μια ανάλυση

Μόλις ανακάλυψα τη σύνδεση των αισθητήρων υπερήχων DYP-ME007Y, οι οποίοι φαίνονται απολύτως πανομοιότυποι, αλλά λειτουργούν εντελώς διαφορετικά.

Εάν κάποιος λειτουργεί ακριβώς σύμφωνα με το φύλλο δεδομένων: ένας σύντομος παλμός στη «σκανδάλη» ενεργοποιεί έναν υπερηχητικό παλμό και η απόσταση μετράται από τη διάρκεια της ηχούς. Στη συνέχεια, ο δεύτερος και ο τρίτος (με ένα LED που αναβοσβήνει) περίπου μία φορά κάθε 100 ms, χωρίς καμία εξωτερική κλωτσιά, μετρά την ίδια την απόσταση και τη στέλνει με ταχύτητα 9600 με τη μορφή τεσσάρων byte (συμπεριλαμβανομένου του αθροίσματος ελέγχου). Το Saleae Logic σάς επιτρέπει να ενεργοποιήσετε την αποκωδικοποίηση ενός σήματος σειριακού διαύλου σε μια ακολουθία byte. Οι αισθητήρες του δεύτερου τύπου λειτουργούν τέλεια με την έξοδο "TRIG" απενεργοποιημένη, αν και μπορεί να περιμένουν κάποια εντολή σε αυτήν την είσοδο, αλλά ακόμη και μια μαγική συσκευή δεν θα το δείξει αυτό.

Στη συνέχεια, θέλατε να δείτε το σήμα PWM του Atmegi 168; Ενεργοποίησα και τα έξι κανάλια που υποστηρίζουν PWM σε διαφορετικά επίπεδα και με έκπληξη διαπίστωσα ότι η συχνότητα δύο καναλιών PWM διαφέρει από τα άλλα 4. Εμπλέκονται διαφορετικά χρονόμετρα;

Τι υπάρχει στο δίαυλο δεδομένων μου;

Η μαγική συσκευή και το πρόγραμμα αποκωδικοποιούσαν κανονικά την έξοδο της ακολουθίας στα LED. Ακόμα και τα χρώματα των LED εμφανίστηκαν.

Δεν υπάρχουν προβλήματα με την ανάλυση του διαύλου I2C. Το λογισμικό αντιμετώπισε καλά την αποκωδικοποίηση. Μπορείτε να δείτε πακέτα εγγραφής σε καταχωρήσεις όταν εκτελείται το πρόγραμμα οδήγησης οθόνης TM1637

Ένας δέκτης ραδιοσυχνοτήτων 315 MHz συνδεδεμένος απευθείας στον αναλυτή έλαβε ένα σήμα από τους ραδιο διακόπτες και εξέδωσε έναν κωδικό Manchester. Μετά την επιλογή της ταχύτητας, ο κώδικας Manchester μετατρέπεται από ένα έξυπνο πρόγραμμα σε μια ακολουθία byte.

Αναρωτιέμαι, τι γίνεται με την ακρίβεια της μέτρησης των χρονικών διαστημάτων; Δεν είχα μια ακριβή γεννήτρια παλμών στο χέρι, αλλά τόνο Arduino (1000) στα 1000 Hz

και ο τόνος (20000) στα 20KHz δίνουν ένα αρκετά ακριβές αποτέλεσμα.

Για να δοκιμάσω την υψηλή συχνότητα, συναρμολόγησα γρήγορα μια γεννήτρια βασισμένη στο NE555. Καταφέραμε να αποσπάσουμε 8 MHz από αυτό. Ο αναλυτής απορρόφησε αυτή τη συχνότητα κανονικά. Δεν ήταν δυνατό να το δοκιμάσετε στα 20 MHz, αλλά το 8 είναι επίσης ένα πολύ καλό αποτέλεσμα για ένα τόσο φτηνό κομμάτι υλικού.

Μια σύντομη περίληψη

Ένας λογικός αναλυτής είναι ένα πολύ απαραίτητο και χρήσιμο πράγμα για όσους ασχολούνται με την ανακάλυψη κινεζικών περιφερειακών για μικροελεγκτές (ας το πούμε όμορφα - αντίστροφη μηχανική)
Μεταξύ των πλεονεκτημάτων αυτού του κομματιού σιδήρου θα ήθελα να σημειώσω:

  • Ελκυστική τιμή
  • Συμβατό με αρκετά βολικό λογισμικό Saleae Logic
  • Προστασία εισόδου με τη μορφή οδηγού λεωφορείου LVC245A
  • Μικρές διαστάσεις

Δεν βρήκα εμφανείς ελλείψεις σε αυτό το κομμάτι υλικού. Μακάρι να είχα αγοράσει νωρίτερα έναν λογικό αναλυτή - πόσο χρόνο θα είχα εξοικονομήσει σε τόσα πολλά έργα. Αναμφίβολα, για κάποιους, οι δυνατότητες αυτού του υλικού δεν θα είναι αρκετές. Υπάρχουν πολλά πιο εξελιγμένα μοντέλα, αλλά η τιμή των 100-200 $ καθιστά αυτές τις συσκευές πολύ λιγότερο προσιτές για τους ραδιοερασιτέχνες.

Να αναλύσουμε κάτι άλλο;

1. Εισαγωγή:

Αυτή η λογική ανάλυση Ο ator έχει σχεδιαστεί για την καταγραφή, την έκδοση και την ανάλυση διαφόρων ακολουθιών παλμών και διαδοχικών πρωτοκόλλων με δεδομένη περίοδο. Λήψη για το υλικόπολυπρογραμματιστής στο FT232

2. Σύντομη περιγραφή

Ο αναλυτής διαθέτει 7 κανάλια εισόδου/εξόδου, τα οποία συνδέονται με διάφορες συσκευές υπό μελέτη κατά την κρίση του χρήστη.

Τα κανάλια 1-5 αντιστοιχούν στην είσοδο/έξοδο. Αυτά τα κανάλια μπορούν να είναι εξόδου ή εισόδου ανάλογα με τη ρύθμιση του καναλιού. Το Channel 5 δεν δρομολογείται σε καμία υποδοχή, αλλά έχει ένα pad επαφής στην πλακέτα.

Κανάλι 6 – μόνο είσοδος. Αυτό το κανάλι χρησιμοποιείται σε συνδυασμό με το κανάλι 1 και χρησιμεύει για την προσομοίωση αμφίδρομης εισόδου/εξόδου, για παράδειγμα, όπως στον δίαυλο I2C, δηλαδή, η κατεύθυνση μετάδοσης του καναλιού αλλάζει καθώς λειτουργεί το πρωτόκολλο. Τα δεδομένα εξόδου πηγαίνουν στην έξοδο 3 και τα δεδομένα εισόδου περνούν από το κανάλι 6. Ανατρέξτε στην ενότητα «Εφαρμογή πρωτοκόλλου I2C» για περισσότερες λεπτομέρειες.

Το κανάλι 7 είναι μόνο έξοδος. Αυτό το κανάλι στον προγραμματιστή υλοποιείται ως ισχυρή έξοδος 12V. Για παράδειγμα, χρησιμοποιήθηκε ως ισχύς οπίσθιου φωτισμού κατά την εργασία με την οθόνη από το Nokia 6100 (δείτε παραδείγματα χρήσης)

Στην αριστερή πλευρά του παραθύρου εργασίας του προγράμματος υπάρχουν ρυθμίσεις για τις θύρες του αναλυτή - αυτές είναι:

  • ρυθμός baud (BoudRate)
  • αντιστροφή καναλιού (ελέγξτε "Ν.Ε.Γ."
  • κατεύθυνση λιμένα (ΜΕΣΑ ΕΞΩ)
  • μέγεθος του πίνακα εξόδου (επιτρέπεται μέγεθος έως 65 kbit)

Στο κεντρικό τμήμα του παραθύρου του προγράμματος υπάρχει μια γραφική απεικόνιση της κατάστασης των καναλιών με τη μορφή χρονοδιαγράμματος. Και στο κάτω μέρος του πεδίου υπάρχουν πρόσθετες πληροφορίες, οι οποίες εμφανίζουν τις αποχρώσεις κατά τη χρήση των διαφόρων επιλεγμένων λειτουργιών αναλυτή.

Στη δεξιά πλευρά του πεδίου προγράμματος υπάρχουν στοιχεία ελέγχου για τα προσομοιωμένα πρωτόκολλα. Διαθέσιμος:

  • αναπτυσσόμενο μενού επιλογής πρωτοκόλλου
  • 7 αναπτυσσόμενα μενού (ανά κανάλι): επιλέξτε εκχώρηση καναλιού και σήμα πρωτοκόλλου
  • αντιστροφή δεδομένων πρωτοκόλλου (δεν πρέπει να συγχέεται με την αντιστροφή θύρας)
  • παράθυρο για εισαγωγή δεδομένων (για να ορίσετε την αριθμητική ακολουθία του πρωτοκόλλου)

3. Διοίκηση καιεισαγωγή δεδομένων.

Αριστερό κλικ του ποντικιούρυθμίζει τον κέρσορα σε αυτή τη θέση στον πίνακα κυματομορφής χωρίς να αλλάξει την κατάσταση αυτού του bit.

Κάντε δεξί κλικστον πίνακα κυματομορφής, τοποθετεί τον κέρσορα σε αυτή τη θέση και αλλάζει την κατάσταση του bit σε αυτήν τη θέση.

Εκτός από την εισαγωγή δεδομένων με το ποντίκι, μπορείτε να τα εισάγετε από το πληκτρολόγιο. Αφού πατήσετε το πλήκτρο «0» ή «1», στη θέση του δρομέα εισάγεται το 0 ή το 1 αντίστοιχα. Επίσης, για ευκολία, η λειτουργία του κουμπιού «0» αντιγράφεται στο κουμπί «2», δηλαδή όταν πατήσετε το πλήκτρο «2», εισάγεται το 0.

Εισαγωγή δεδομένων πίνακα(μόνο για την εγγραφή). Η ακολουθία πρωτοκόλλου μπορεί να εισαχθεί σε δεκαδικό (1 34 987), δυαδικό (0b100 0b101010 0b1111111111111) και δεκαεξαδικό (0xFA 0x 12C 0x 1a 2cb ). Τα δεδομένα εισάγονται χωρισμένα με κενά.Είναι επίσης δυνατή η μίξη μορφών δεδομένων (123 0b1010 0x12aB).

Τα δεδομένα εισάγονται ακολουθούμενα από μια αύξηση της διεύθυνσης. Όταν επιτευχθεί το όριο του πίνακα, το μέγεθός του θα αυξηθεί. Μέγιστο μέγεθος πίνακα δεδομένων – 65 kbit

Εισαγωγή δεδομένων ανά αρχείο.Για να εισαγάγετε δεδομένα ανά αρχείο, πρέπει να δημιουργήσετε ένα αρχείο με οποιαδήποτε επέκταση, για παράδειγμα, txt. Δωρεάν μορφή.

Μπορείτε να διαχωρίσετε αριθμούς σε ένα αρχείο με τελεία, κόμμα ή κενό. Οι επεξηγήσεις στο αρχείο χωρίζονται με ερωτηματικά ";".

Παράδειγμα περιεχομένων αρχείου:

123 343, 234· εδώ είναι οι επεξηγήσεις μετά το ερωτηματικό

0x12F, 0b10101010 ; και ούτω καθεξής.

Πρόγραμμα οδήγησης για τον αναλυτή.

Ο αναλυτής χρησιμοποιεί ειδικές λειτουργίες του FT232R, για τις οποίες πρέπει να εγκαταστήσετε το ειδικό πρόγραμμα οδήγησης FTD 2XX. Η εγκατάσταση μιας κανονικής θύρας COM δεν είναι κατάλληλη.Συνιστάται να πάρετε το πρόγραμμα οδήγησης από τον κατασκευαστή - για παράδειγμα.

4. Σύνδεση αναλυτή:

Η εμφάνιση του αναλυτή φαίνεται στο σχήμα 2.

J 1– βραχυκυκλωτήρας τροφοδοσίας (Vcc). Διαθέτει 4 καταστάσεις: 1,8V, 3V, 5V και εξωτερική παροχή ρεύματος

XT1– miniUSB. Σύνδεση με υπολογιστή.

XT 2– σύνδεσμος διασύνδεσης για τη σύνδεση του αναλυτή με το εξεταζόμενο. Έχει 10 επαφές:

1 κανάλι 1 (είσοδος/έξοδος)
2 θύρες εξόδου ισχύος (Vcc) (ανάλογα με την κατάσταση του βραχυκυκλωτήρα ισχύος, η ισχύς θα είναι είσοδος ή έξοδος)
3 Το Cbus 4 δεν χρησιμοποιείται. Αλλά μπορείτε να εξάγετε τη συχνότητα 6,12,24 ή 48 MHz (για περισσότερες λεπτομέρειες, βλέπε «χρήση Cbus»)
5 κανάλια 2 (είσοδος/έξοδος)
7 κανάλι 3 (είσοδος/έξοδος)
9 κανάλι 4 (είσοδος/έξοδος)
4,6,8,10 συνολικά

XT3– σύνδεσμος διασύνδεσης για τη σύνδεση του αναλυτή με το εξεταζόμενο. Διαθέτει 10 επαφές

1 θύρα εξόδου ισχύος (Vcc) (ανάλογα με την κατάσταση του βραχυκυκλωτήρα ισχύος, η τροφοδοσία ρεύματος θα είναι είσοδος ή έξοδος).
3 κανάλια 3 (είσοδος/έξοδος)
5 κανάλι 4 (είσοδος/έξοδος)
7 κανάλι 6 (μόνο είσοδος)
Έξοδος 9 καναλιών 7 Σήμα 12V!!!
2,4,6,8,10 συνολικά

J2– άλτης για 2 θέσεις. Αλλάζει τη λειτουργία του καναλιού 6.

θέση 1-2 αλλάξτε το κανάλι 6 από Vcc σε 12V
θέση 2-3 αλλάξτε το κανάλι 6 από 0V σε 12V
Η θέση 1-2 χρησιμοποιείται στον προγραμματιστή για τη δημιουργία του σήματος MCLR όταν αναβοσβήνουν ελεγκτές PIC.

Τα κανάλια 1-5 είναι είσοδοι από προεπιλογή και βρίσκονται στην τρίτη κατάσταση (κατάσταση Z). Όταν ένα κανάλι έχει ρυθμιστεί στην έξοδο, θα εξέρχεται μόνο κατά τη μετάδοση.

Κάθε κανάλι έχει αντιστάσεις περιορισμού ρεύματος 300 ohm.

Το κανάλι 6 είναι πάντα η έξοδος. Η προεπιλεγμένη κατάσταση είναι "0".

5. Χρήση του σήματος Cbus (ακίδα σύνδεσης XT2 3)

Αυτό το σήμα δεν εμφανίζεται στον αναλυτή επειδή είναι όχι σύγχρονημε σήματα εξόδου και έχει συχνότητα μεγαλύτερη από τους παλμούς εξόδου. Δεν είναι ενεργοποιημένο από προεπιλογή.

Αυτή η ακίδα μπορεί να εξάγει συχνότητες 6, 12, 24 και 48 MHz. Αυτό γίνεται χρησιμοποιώντας ένα ειδικό βοηθητικό πρόγραμμα MProg, που μπορείτε να πάρετε

6. Μια σύντομη περιγραφή του τι πρέπει να κάνετε για να υποβάλετε μια συχνότητα στο Cbus:

  1. εγκαταστήστε το βοηθητικό πρόγραμμα Mprog.
  2. επιλέξτε αναζήτηση συσκευής κάνοντας κλικ στον μεγεθυντικό φακό ή στο μενού Device->Scan, μετά από το οποίο το βοηθητικό πρόγραμμα βρίσκει τη συσκευή και εμφανίζει το PID της κ.λπ.
  3. Στην καρτέλα Εργαλείο, επιλέξτε τη συνάρτηση Ανάγνωση και Ανάλυση, δηλαδή διαβάζουμε τις τρέχουσες ρυθμίσεις και την εμφανίζουμε στην οθόνη.
  4. ανοίξτε το σελιδοδείκτη FT 232 R (αν δεν άνοιξε μόνο του), μετά από το οποίο ανοίγουν 2 πεδία. Invert rs 232 signzl (αυτό δεν μας αφορά, αφού το πρόγραμμα του αναλυτή διαχειρίζεται αυτά τα σήματα με τον δικό του τρόπο) και το πεδίοΧειριστήρια I/O.
    Το πεδίο I/O Controls έχει 4 υπομενού C1-C4.
  5. επιλέξτε το μενού C4. Αυτές είναι οι πρόσθετες λειτουργίες του σήματος Cbus4. Από όλες τις προτεινόμενες λειτουργίες, μας ενδιαφέρουν οι CLK6, CLK12, CLK24 και CLK48. Όλα πρέπει να είναι ξεκάθαρα από τα ονόματα των συναρτήσεων J . Οι υπόλοιπες λειτουργίες δεν έχουν κανένα αποτέλεσμα (ακριβέστερα, κατά την επιλογή τους, δεν είναι δυνατό να προβλεφθεί η κατάσταση αυτής της ακίδας), καθώς έχουν σχεδιαστεί για να λειτουργούν σε λειτουργία θύρας COM.
  6. Για να χρησιμοποιήσει το FT232R την επιλεγμένη λειτουργία, πρέπει να αποθηκεύσετε το έργο (χωρίς αυτό δεν θα λειτουργήσει), έτσι γράφεται αυτό το βοηθητικό πρόγραμμα.
  7. Αφού αποθηκεύσετε το έργο στο δίσκο, μπορείτε να επαναπρογραμματίσετε το FT232R μας. Το κουμπί αστραπής είναι ενεργοποιημένο. Αφού το πατήσετεΜ Το prog θα γράψει τις ρυθμίσεις μας στο τσιπ.

7. Πώς να περιγράψετε και να χρησιμοποιήσετε το δικό σας πρωτόκολλο

Για να δημιουργήσετε μια περιγραφή πρωτοκόλλου, θα χρειαστεί να γράψετε το δικό σας αρχείο INI. Συνιστώ να αντιγράψετε ένα από τα υπάρχοντα αρχεία και να το αλλάξετε. Ας πάρουμε ως παράδειγμα το αρχείο SPI_9BIT. Οι επεξηγήσεις σε αυτά τα αρχεία πρέπει να αναφέρονται σε ξεχωριστές γραμμές!!!

;Η κεφαλίδα ρυθμίσεων σε αυτήν την ενότητα του αρχείου καθορίζει συγκεκριμένες ρυθμίσεις πρωτοκόλλου:


;αριθμός γραμμών στο πρωτόκολλο. Υπάρχουν 4 από αυτά σε αυτό
num_lin = 4
;κάτω από τις γραμμές αναφέρονται με αριθμό και τα ονόματά τους
lin1 = MOSI
lin2 = MISO
lin3 = SCK
lin4 = SS
;αριθμός bit που μεταδόθηκαν
bits = 18
;Προσθήκη. πληροφορίες, θα εμφανιστούν στο παράθυρο πρόσθετων πληροφοριών.
waring = το κανάλι 6 είναι συνδεδεμένο με το κανάλι 1 στο υλικό. Το baudrate διαιρείται με το 2, αφού το ρολόι μεταδίδεται σε 2 κύκλους ρολογιού
;κεφαλίδα πρωτοκόλλου. Οι ακολουθίες που χρησιμοποιούνται στο πρωτόκολλο θα περιγραφούν παρακάτω.


SS = N N N N N N N N N N N N N N N N N N N
SCK = N O N O N O N O N O N O N O N O N O
MOSI = 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8
MISO = N N N N N N N N N N N N N N N N N N N

Σε αυτήν την ενότητα, ο αριθμός bit 0 1 2 14 34, κ.λπ. υποδεικνύεται ως τα εκπεμπόμενα bit. Ως μεταδιδόμενο 1, γράψτε O (από τα αγγλικά One), ως μεταδιδόμενο 0, γράψτε N (δηλαδή Null).

ΣΗΜΑΝΤΙΚΟ: Κατά την περιγραφή ενός πρωτοκόλλου, ενδέχεται να υπάρχει διαφορά στον αριθμό των bit που καθορίζονται στο num_lin και σε αυτά που περιγράφονται στην ενότητα πρωτοκόλλου.

Αφού διορθώσετε ή γράψετε το αρχείο INI, πρέπει να προσθέσετε μια καταχώρηση στο αρχείο protocol.lst. ώστε το πρόγραμμα να μπορεί να βρει και να χρησιμοποιήσει το νέο πρωτόκολλο.

8. Ένα παράδειγμα χρήσης του αναλυτή για την ανάλυση του διαύλου I2C

Αρχικά, συνδέουμε τον αναλυτή στο δίαυλο I2C (η συσκευή που δοκιμάζεται είναι ένα joystick nunchuck από την κονσόλα Wii), δεν απαιτούνται εξωτερικά στοιχεία. Το διάγραμμα σύνδεσης φαίνεται στην Εικόνα 3. Δεν βλέπω νόημα να περιγράψω το πρωτόκολλο. Αυτό είναι γραμμένο αναλυτικά στο διαδίκτυο.

Όπως φαίνεται από το διάγραμμα, χρησιμοποιούνται 3 κανάλια για υλοποίηση (κανάλια 1,4,5) και το πρωτόκολλο I2C είναι δύο καλωδίων. Η ουσία είναι ότι ο αναλυτής δεν έχει τη δυνατότητα να αλλάξει την κατεύθυνση του διαύλου κατά τη μετάδοση σήματος, επομένως ο διαχωρισμός των σημάτων εισόδου και εξόδου γίνεται σε ένα τρανζίστορ (βλ. διάγραμμα). Έτσι, το κανάλι 1 είναι η έξοδος: εξάγει δεδομένα σε I2C. Και το κανάλι 5 είναι είσοδος: λαμβάνει δεδομένα μέσω I2C.

Για να ρυθμίσετε τις παραμέτρους, επιλέξτε "I2C" στο μενού επιλογής διεπαφής και ορίστε τα ακόλουθα πλαίσια ελέγχου και κουμπιά:

Κανάλι 1 Δεδομένα εξόδου NEG (αντίστροφη έξοδος) OUTSDA _OUT

Κανάλι 4 Σήμα ρολογιού OUTSCL

Κανάλι 5 ΣΕ δεδομένα εισόδου SDA _IN

9. Ένα παράδειγμα χρήσης ενός αναλυτή για την ανάλυση ενός διαύλουSPI (9κομμάτι)

Αυτό το παράδειγμα δείχνει μια απομίμηση του σειριακού πρωτοκόλλου για τον έλεγχο της οθόνης από το Nokia6100. Το διάγραμμα για τη σύνδεση της οθόνης με τον αναλυτή φαίνεται στο Σχήμα 4. Από τα εξωτερικά στοιχεία, χρειάζεται μόνο μια αντίσταση περιορισμού ρεύματος για τον οπίσθιο φωτισμό της οθόνης. Ένα ιδιαίτερο χαρακτηριστικό είναι ότι η μετάδοση SPI δεν είναι 8 bit, ως συνήθως, αλλά 9.

Για τη λειτουργία αυτού του πρωτοκόλλου, δημιουργήθηκε ένα ξεχωριστό SPI 9-bit στον αναλυτή.

Διαμόρφωση του αναλυτή και των σημάτων πρωτοκόλλου.

Για να ρυθμίσετε τις παραμέτρους, επιλέξτε "SPI _9BIT" στο μενού επιλογής διεπαφής και ορίστε τα ακόλουθα πλαίσια ελέγχου και κουμπιά:

Channel 1 OUT. Θα καταχωρήσουμε αυτό το σήμα χειροκίνητα. Δεν είναι στο αρχείο

Channel 2 OUT SS Σήμα επιλογής chip

Κανάλι 3 OUT SCK ;ρολόι πρωτοκόλλου

Channel 4 OUT MOSI ;σήμα δεδομένων

Δεδομένου ότι δεν έχουμε λάβει δεδομένα, όλα τα σήματα διαμορφώνονται ως έξοδοι και δεν χρησιμοποιείται σήμα πρωτοκόλλου MISO.

Είναι επίσης απαραίτητο να ρυθμίσετε το βραχυκυκλωτήρα ισχύος στη θέση 3,3 V, καθώς η συσκευή θα τροφοδοτείται από τον αναλυτή.

Το Arduino είναι ένας μοναδικός μικροελεγκτής που σας επιτρέπει να δημιουργήσετε οποιαδήποτε συσκευή, περιορισμένη μόνο από τη φαντασία του μηχανικού. Σήμερα θα μιλήσουμε για ένα από αυτά τα έργα και θα αναλύσουμε τον αναλυτή κεραίας στο Arduino, καθώς και όλες τις αποχρώσεις που θα πρέπει να αντιμετωπίσετε κατά τη συγκόλληση και τον προγραμματισμό του.

Στην πραγματικότητα, ένας αναλυτής φάσματος στο Arduino είναι ένα αρκετά απλό έργο, αλλά είναι ιδανικό για αρχάριους και όσους θέλουν να προσθέσουν αυτήν τη συσκευή στην εργαλειοθήκη τους. Ας δούμε τι είναι ένας λογικός αναλυτής στο Arduino και ποιες παγίδες σας περιμένουν κατά το σχεδιασμό και τη συγκόλληση του.

Κύκλωμα λογικού αναλυτή βασισμένο στο Arduino MK

Πρώτα πρέπει να σχεδιάσουμε τι θα κολλήσουμε. Ένας λογικός αναλυτής είναι ένα απλό όργανο του οποίου η όλη δουλειά είναι να διαβάζει και να αναλύει έναν δυαδικό κώδικα (ψηφιακό σήμα) που μεταδίδεται μέσω της εφαρμογής ηλεκτρικής ενέργειας.

Με άλλα λόγια, κάθε 5 βολτ που παρέχονται στη συσκευή είναι ένα, η απουσία τέτοιου είναι μηδέν. Αυτός ο δυαδικός κώδικας χρησιμοποιείται στην κωδικοποίηση δεδομένων και σε πολλές συσκευές, συμπεριλαμβανομένων εκείνων που βασίζονται στο Arduino. Η ανάγνωση ξεκινά, κατά κανόνα, με ένα. Και για να ελέγξετε το έργο σας με δυαδική κωδικοποίηση, θα χρειαστείτε έναν λογικό αναλυτή.

Ο ευκολότερος τρόπος είναι να δοκιμάσετε τη συσκευή στο δίαυλο I2C, το οποίο χρησιμοποιείται στις περισσότερες ηλεκτρονικές συσκευές μέχρι σήμερα. Για να καταλάβουμε τι πρέπει να σχεδιάσουμε, ας δούμε τα κύρια χαρακτηριστικά της συσκευής:

  1. 4 κανάλια για λογική ανάλυση των εισερχόμενων σημάτων.
  2. Η μεταβλητότητα των συχνοτήτων σήματος είναι έως και 400 kHz· αυτό το εύρος θα καλύπτει τις περισσότερες σύγχρονες συσκευές, εκτός από τις εξειδικευμένες.
  3. Η τάση εισόδου πρέπει να είναι έως +5 Volt, όπως έχει ήδη περιγραφεί, αυτό είναι το πρότυπο που λαμβάνεται ως μονάδα (παρουσία σήματος).
  4. Οθόνη LED για προβολή πληροφοριών. Ιδιαίτερα εξελιγμένοι προγραμματιστές μπορούν να αγοράσουν μερικά LED και να δημιουργήσουν τη δική τους οθόνη με τη διαγώνιο που χρειάζονται, αλλά για όλους τους άλλους, η συγγραφή λογισμικού για μια τέτοια συσκευή θα είναι πολύ εντατική και θα αποδειχθεί περιττό βήμα. Επομένως, εδώ θα εξετάσουμε μια έκδοση συσκευής με οθόνη LCD.
  5. 4 μπαταρίες για τροφοδοσία, 1,2 V σε μέγιστη τάση 4,8 Volt.
  6. ΕΜΒΟΛΟ. Συνιστάται να πάρετε δύο ποικιλίες - υψηλής ταχύτητας (3,6 ms ανά σήμα) και χαμηλής ταχύτητας (36 δευτ.), αυτή η λύση θα σας επιτρέψει να καλύψετε ολόκληρο το εύρος των σημάτων.
  7. Ένας πίνακας ελέγχου ή ένα ζευγάρι κουμπιά.
  8. Οποιοδήποτε κέλυφος για τη στερέωση της δομής. Μπορείτε να το εκτυπώσετε σε έναν εκτυπωτή 3-D, μπορείτε να πάρετε ένα περιττό πλαστικό κουτί ή να το κάνετε χωρίς καθόλου θήκη. Εδώ δεν θα δώσουμε συμβουλές, η συσκευή λειτουργεί, είτε με κέλυφος είτε χωρίς, η επιλογή είναι δική σας.

Για τροφοδοσία, πρέπει να επιλέξετε μπαταρίες, καθώς 4 μπαταρίες 1,5 Volt μπορεί να βλάψουν το Arduino και να κάψουν την πλακέτα. Για να μην αναφέρουμε τον κίνδυνο για την οθόνη LCD. Επομένως, μην τσιγκουνεύεστε και παίρνετε ποιοτικά εξαρτήματα. Εξάλλου, η ποιότητα του τελικού προϊόντος είναι ίση με την παράμετρο του χειρότερου συστατικού του.

Μην ξεχάσετε να προσθέσετε τον διακόπτη S1 στο τελικό κύκλωμα, ο οποίος θα χρησιμοποιηθεί για την παροχή ρεύματος και την απενεργοποίηση της συσκευής, ώστε οι μπαταρίες να μην αποφορτίζονται απλά.

Θα απαιτηθούν επίσης ειδικές αντιστάσεις έλξης, οι οποίες θα εξαλείψουν τα ψευδή δεδομένα που μπορεί να εμφανιστούν λόγω του ηλεκτρομαγνητικού πεδίου των δακτύλων του αισθητήρα σήματος. Ως αποτέλεσμα, ο θόρυβος και η παραμόρφωση στις ψηφιακές εισόδους θα είναι ελάχιστες.

Μπορείτε να πάρετε το LED όπως θέλετε, είναι απαραίτητο να υποδείξετε την παρουσία ψηφιακού σήματος και μπορεί να αντικατασταθεί πλήρως από λογισμικό για την οθόνη LCD. Αυτή η λύση είναι βολική μόνο ως ένδειξη εγγραφής ψηφιακών σημάτων στη μνήμη, αλλά σε κάθε περίπτωση, θα ενεργοποιήσετε τη συσκευή χειροκίνητα, οπότε μια τέτοια ένδειξη, εάν είναι απαραίτητο, μπορεί να αφαιρεθεί.

Συνιστώμενα περιφερειακά για τη δημιουργία λογικού αναλυτή βασισμένου στον μικροελεγκτή Arduino

Από όλα τα παραπάνω, έχετε ήδη συντάξει μια πρόχειρη λίστα περιφερειακών προς αγορά, αλλά ας διευκρινίσουμε αυτό το σημείο. Στον λογικό αναλυτή θα χρειαστείτε:

  1. Ο ίδιος ο μικροελεγκτής Arduino. Δεν έχει καμία διαφορά ποια θα επιλέξετε, θα επηρεάσει μόνο το τελικό μέγεθος της συσκευής. Το λογισμικό για οποιαδήποτε έκδοση φαίνεται το ίδιο. Χρησιμοποιήθηκε ο πίνακας στην παραπάνω φωτογραφία.
  2. Οθόνη LCD. Εάν έχετε ένα παλιό τηλέφωνο με κουμπιά, μπορείτε να το αφαιρέσετε και να δημιουργήσετε μια παραγωγή "χωρίς απόβλητα".
  3. Αντιστάσεις διαφόρων δυνατοτήτων.
  4. Αισθητήρας ρεύματος.
  5. 4 μπαταρίες.
  6. Ένα ή δύο LED.
  7. Κάρτα μνήμης, αλλά αυτή είναι προαιρετική.

Επιπλέον, θα χρειαστείτε φυσικά ένα συγκολλητικό σίδερο, συγκολλητικό και άλλα αξεσουάρ. Είναι καλύτερα να βρείτε ένα μέρος εκ των προτέρων όπου θα συλλέξετε όλα αυτά. Και αν εργάζεστε με κολλητήρι για πρώτη φορά, μελετήστε τους κανόνες πυρασφάλειας και τα χαρακτηριστικά της λειτουργίας του για να μην επανακολλήσετε κάθε εξάρτημα 10 φορές.

Προγραμματισμός του Arduino MK κατά την υλοποίηση του έργου «λογικός αναλυτής».

Χάρη στη δημοτικότητα του Arduino, υπάρχουν ήδη έτοιμες βιβλιοθήκες και λειτουργίες για λογικούς αναλυτές σε αυτό το MK. Το μόνο που έχετε να κάνετε είναι να επιλέξετε το σωστό και να ξαναγράψετε τον κωδικό προγράμματος για τη συσκευή σας. Εξάλλου, οι πλακέτες, οι αισθητήρες και οι άλλες είσοδοι είναι διαφορετικές για τον καθένα και για να λειτουργεί η συσκευή σας χωρίς προβλήματα, θα πρέπει να προσαρμόσετε τον κωδικό κάποιου άλλου στις ανάγκες σας. Εάν δεν θέλετε να ταλαιπωρηθείτε και έχετε εμπειρία προγραμματισμού σε C++, μπορείτε να χρησιμοποιήσετε όποιο περιβάλλον θέλετε.

Ο κώδικας για το κύκλωμα στην παραπάνω φωτογραφία θα μπορούσε να είναι αυτός:

/************************************ 128 επί 64 LCD Logic Analyzer 6 καναλιών και 3 Mb/s By Bob Ο Davis χρησιμοποιεί Universal 8bit Graphics Library, http://code.google.com/p/u8glib/ Πνευματικά δικαιώματα (c) 2012, [email προστατευμένο] Ολα τα δικαιώματα διατηρούνται. ************************************************** ****/ #include "U8glib. h" // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 // U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11 , 4, 5, 6, 7, 18, 17, 16); // **** ΣΗΜΕΙΩΣΗ **** Μετακίνησα τις τρεις ακίδες ελέγχου !!! U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 1, 2, 3); int Δείγμα; int Input=0; int OldInput=0; int xpos=0; void u8g_prepare(void) ( u8g.setFont(u8g_font_6x10); u8g.setFontRefHeightExtendedText(); u8g.setDefaultForegroundColor(); u8g.setFontPosTop(); ) void DrawMarkers (1,8,8(void) .drawPixel (20,1); u8g.drawPixel (40,1); u8g.drawPixel (60,1); u8g.drawPixel (80,1); u8g.drawPixel (100,1); u8g.drawPixel (20, 62); u8g.drawPixel (40,62); u8g.drawPixel (60,62); u8g.drawPixel (80,62); u8g.drawPixel (100,62); ) void draw(void) (u8g_prepare(); DrawMarkers(); // περιμένετε για μια ενεργοποίηση μιας θετικής εισόδου Input=digitalRead(A0); ενώ (Input != 1)( Input=digitalRead(A0); ) // συλλέγει τα αναλογικά δεδομένα σε έναν πίνακα // Όχι ο βρόχος είναι περίπου 50% πιο γρήγορος! Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC ; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Δείγμα =PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; // εμφανίζει τα συλλεγμένα αναλογικά δεδομένα από τον πίνακα για(int xpos=0; xpos<128; xpos++) { u8g.drawLine (xpos, ((Sample&B00000001)*4)+4, xpos, ((Sample&B00000001)*4)+4); u8g.drawLine (xpos, ((Sample&B00000010)*2)+14, xpos, ((Sample&B00000010)*2)+14); u8g.drawLine (xpos, ((Sample&B00000100)*1)+24, xpos, ((Sample&B00000100)*1)+24); u8g.drawLine (xpos, ((Sample&B00001000)/2)+34, xpos, ((Sample&B00001000)/2)+34); u8g.drawLine (xpos, ((Sample&B00010000)/4)+44, xpos, ((Sample&B00010000)/4)+44); u8g.drawLine (xpos, ((Sample&B00100000)/8)+54, xpos, ((Sample&B00100000)/8)+54); } } void setup(void) { pinMode(A0, INPUT); pinMode(A1, INPUT); pinMode(A2, INPUT); pinMode(A3, INPUT); pinMode(A4, INPUT); pinMode(A5, INPUT); // assign default color value if (u8g.getMode() == U8G_MODE_R3G3B2) u8g.setColorIndex(255); // RGB=white else if (u8g.getMode() == U8G_MODE_GRAY2BIT) u8g.setColorIndex(3); // max intensity else if (u8g.getMode() == U8G_MODE_BW) u8g.setColorIndex(1); // pixel on, black } void loop(void) { // picture loop // u8g.firstPage(); do { draw(); } while(u8g.nextPage()); // rebuild the picture after some delay delay(100); }

Μην ξεχάσετε να κατεβάσετε βιβλιοθήκες για εργασία με το Arduino. Και λάβετε επίσης υπόψη ότι η έξοδος πηγαίνει στην οθόνη LCD. Όταν ολοκληρώσετε τη σύνταξη του λογισμικού, απλώς τοποθετήστε το στην πλακέτα χρησιμοποιώντας έναν ειδικό προσαρμογέα USB.

Μπορεί να συμβεί ότι λόγω του τρόπου με τον οποίο εμφανίζονται οι πληροφορίες στην οθόνη LCD, να μην έχετε αρκετή μόνιμη μνήμη της συσκευής. Σε αυτή την περίπτωση, είναι λογικό να αγοράσετε μια μονάδα flash και να την συνδέσετε στο σύστημα. Ευτυχώς, αυτό γίνεται πολύ απλά και το μόνο που χρειάζεστε είναι ένας ειδικός προσαρμογέας για τον παράγοντα μορφής φυσικής μονάδας δίσκου.

Ένας λογικός αναλυτής είναι ένας απαραίτητος βοηθός στον εντοπισμό σφαλμάτων ψηφιακών κυκλωμάτων. Ας δούμε τις βασικές τεχνικές για την εργασία με το Saleae Logic Analyzer και τα κινεζικά του ανάλογα.

Για εργασία θα χρειαστούμε:

  • καλώδια σύνδεσης (συνιστώ αυτό το σετ).
  • breadboard.

1 Προδιαγραφές Logic AnalyzerΑναλυτής λογικής Saleae

Ένας λογικός αναλυτής είναι ένα εργαλείο για την ανάλυση χρονισμού των ψηφιακών σημάτων. Αυτό είναι ένα απαραίτητο, πραγματικά απαραίτητο εργαλείο κατά τον εντοπισμό σφαλμάτων ψηφιακών ηλεκτρονικών. Οι αυθεντικοί αναλυτές από διάσημους κατασκευαστές κοστίζουν πολλά χρήματα. Μπορείτε να αγοράσετε μια τέτοια συσκευή από τους Κινέζους φίλους μας για πένες. Επομένως, εάν δεν το έχετε ακόμα, φροντίστε να το αγοράσετε. Οι δυνατότητες αυτής της μικρής συσκευής είναι αρκετά εντυπωσιακές.

Ο πίνακας παραθέτει τις κύριες παραμέτρους του λογικού αναλυτή, το κινεζικό μου αντίγραφο του αναλυτή της εταιρείας Saleae.

2 Εγκατάσταση προγράμματος οδήγησηςγια τον λογικό αναλυτή Saleae

Ευτυχώς, για αυτόν τον λογικό αναλυτή - ένα κινεζικό αντίγραφο - το πρόγραμμα οδήγησης από το πρωτότυπο είναι κατάλληλο. Μεταβείτε στον επίσημο ιστότοπο, κατεβάστε το πρόγραμμα για το λειτουργικό σας σύστημα και εγκαταστήστε το. Τα προγράμματα οδήγησης θα εγκατασταθούν μαζί με το πρόγραμμα. Παρεμπιπτόντως, μια επισκόπηση των δυνατοτήτων του προγράμματος με τη μορφή οδηγιών στα αγγλικά επισυνάπτεται στο τέλος αυτού του άρθρου.

Εάν έχετε αντίγραφο άλλης εταιρείας, για παράδειγμα, USBee AX Pro, τότε με υψηλό βαθμό πιθανότητας, τα προγράμματα οδήγησης από τον κατασκευαστή του αρχικού αναλυτή θα είναι επίσης κατάλληλα για αυτό.

3 Παραδείγματα εργασίαςμε λογικό αναλυτή

Για το πρώτο πείραμα, ας πάρουμε έναν μετατροπέα USB-UART στο τσιπ FTD1232. Ας συνδέσουμε τον αναλυτή στη θύρα USB. Συνδέουμε τις ακίδες των καναλιών 1 έως 6 στις ακίδες του μετατροπέα USB-UART. Σε γενικές γραμμές, μας ενδιαφέρουν περισσότερο μόνο δύο γραμμές - Rx και Tx, μπορούμε να τα βγάλουμε πέρα ​​μόνο με αυτές. Ο μετατροπέας αναγνωρίζεται στο σύστημα ως θύρα COM. Ας ξεκινήσουμε οποιοδήποτε τερματικό (εδώ, για παράδειγμα, είναι ένα καλό πρόγραμμα για εργασία με μια θύρα COM) και ας συνδεθούμε στη θύρα.


Σύνδεση μετατροπέα USB-UART στο τσιπ FTD1232 σε λογικό αναλυτή

Εκκινήστε το πρόγραμμα Saleae Logic. Εάν τα προγράμματα οδήγησης για τον αναλυτή έχουν εγκατασταθεί σωστά, θα εμφανίζεται ο τίτλος του προγράμματος Συνδεδεμένος- συνδεδεμένο. Ας υποθέσουμε ότι δεν ξέρουμε σε ποιο κανάλι θα υπάρχει σήμα και σε ποιο όχι, επομένως δεν θα θέσουμε μια σκανδάλη για να ξεκινήσει η λήψη του σήματος. Απλώς κάντε κλικ στα βέλη του μεγάλου πράσινου κουμπιού Αρχή(Ξεκινήστε) και βάλτε το στο χωράφι Διάρκεια(Διάρκεια) ας πούμε 10 δευτερόλεπτα. Αυτός είναι ο χρόνος κατά τον οποίο ο λογικός αναλυτής θα συλλέξει δεδομένα που προέρχονται και από τα 8 κανάλια αφού πατήσει το κουμπί «Έναρξη». Ξεκινάμε τη λήψη και ταυτόχρονα στέλνουμε κάποιο μήνυμα στη θύρα COM. Μετά από 10 δευτερόλεπτα, ο αναλυτής θα ολοκληρώσει τη συλλογή δεδομένων και θα εμφανίσει το αποτέλεσμα στο πεδίο προβολής σήματος. Σε αυτήν την περίπτωση, το σήμα θα είναι μόνο σε ένα κανάλι, το οποίο είναι συνδεδεμένο με την ακίδα Tx (πομπός) του μετατροπέα USB-UART.


Για λόγους σαφήνειας, μπορείτε να ρυθμίσετε τις παραμέτρους αποκρυπτογράφοςυποκλαπέντα δεδομένα. Για να γίνει αυτό, στη δεξιά στήλη βρίσκουμε το πεδίο Αναλυτές, κάντε κλικ στο εικονίδιο συν - "Προσθήκη", υποδείξτε τον τύπο - Ασύγχρονη σειρά. Θα εμφανιστεί ένα παράθυρο που σας ζητά να επιλέξετε ρυθμίσεις. Στο πρώτο πεδίο, πληκτρολογήστε τον αριθμό του καναλιού στο οποίο έχετε δεδομένα. Ας αφήσουμε τα υπόλοιπα ως έχουν. Αφού πατήσετε το κουμπί Αποθηκεύσετε(Αποθήκευση), θα εμφανιστούν μπλε σημάδια πάνω από το αντίστοιχο πεδίο καναλιού που εμφανίζουν τις τιμές byte που υποκλαπούν. Κάνοντας κλικ στο γρανάζι σε αυτόν τον αποκωδικοποιητή, μπορείτε να ορίσετε τη λειτουργία εμφάνισης των τιμών - ASCII, HEX, BIN ή DEC. Εάν στείλατε μια συμβολοσειρά στη θύρα COM, επιλέξτε λειτουργία ASCII και θα δείτε το κείμενο που στείλατε στη θύρα.


Ακριβώς εκεί, στη δεξιά στήλη του προγράμματος Saleae Logic, μπορείτε να προσθέσετε σελιδοδείκτες στα υποκλαπέντα δεδομένα, να μετρήσετε καθυστερήσεις και διάρκειες, να ορίσετε όλα τα είδη δεικτών και ακόμη και να πραγματοποιήσετε αναζήτηση μέσω δεδομένων για αποκωδικοποιημένα πρωτόκολλα.

Ας συνδέσουμε τον λογικό αναλυτή στον μετατροπέα USB-RS485 με τον ίδιο τρόπο. Υπάρχουν μόνο δύο γραμμές δεδομένων, επομένως μπορείτε να ρυθμίσετε μια σκανδάλη για ενεργοποίηση στην άκρη οποιουδήποτε καναλιού: το σήμα στο πρωτόκολλο RS-485 είναι διαφορικό και τα άκρα παλμού εμφανίζονται ταυτόχρονα σε καθένα από τα κανάλια, αλλά σε αντιφάση.


Κάντε κλικ στο κουμπί "Έναρξη" στο πρόγραμμα του αναλυτή. Χρησιμοποιώντας το τερματικό μας, θα συνδεθούμε στον μετατροπέα USB-RS485 και θα μεταφέρουμε κάποια δεδομένα. Όταν ενεργοποιηθεί η σκανδάλη, το πρόγραμμα θα αρχίσει να συλλέγει δεδομένα και, μετά την ολοκλήρωση, θα τα εμφανίσει στην οθόνη.


Το Saleae Logic σάς επιτρέπει να εξάγετε αποθηκευμένα δεδομένα με τη μορφή εικόνων και δεδομένων κειμένου, να αποθηκεύετε ρυθμίσεις προγράμματος, σχολιασμούς και αποκωδικοποιητές καναλιών.

Το τελευταίο παράδειγμα σε αυτή τη σύντομη ανασκόπηση είναι ένα πλαίσιο δεδομένων που μεταδίδεται μέσω του σειριακού πρωτοκόλλου SPI. Το κανάλι 2 δείχνει το σήμα επιλογής εξαρτημένης λειτουργίας, το κανάλι 0 δείχνει τους παλμούς του ρολογιού και το κανάλι 1 δείχνει τα πραγματικά δεδομένα από την κύρια προς την υποτελή.


συμπεράσματα

Ένας λογικός αναλυτής μπορεί να είναι πολύ χρήσιμος κατά την ανάπτυξη και διαμόρφωση όλων των ειδών ηλεκτρονικών συσκευών, κατά τη σύνταξη λογισμικού που λειτουργεί σε συνδυασμό με το υλικό, κατά την εργασία με μικροελεγκτές, FPGA και μικροεπεξεργαστές, για την ανάλυση της λειτουργίας διαφόρων συσκευών και πρωτοκόλλων ανταλλαγής δεδομένων και πολλές άλλες εφαρμογές. Επιπλέον, είναι φορητό και δεν απαιτεί ξεχωριστό τροφοδοτικό.

Κατεβάστε οδηγίες χρήσης του προγράμματος για τον λογικό αναλυτή Saleae

  • Κατεβάστε οδηγίες χρήσης του προγράμματος για τον λογικό αναλυτή Saleae από το Depositfiles.com
  • Κατεβάστε τις οδηγίες χρήσης του προγράμματος για τον λογικό αναλυτή Saleae από το File-upload.com
  • Κατεβάστε οδηγίες χρήσης του προγράμματος για τον λογικό αναλυτή Saleae από το Up-4ever.com
  • Κατεβάστε οδηγίες χρήσης του προγράμματος για τον λογικό αναλυτή Saleae από το Hitfile.com