Τι συμβαίνει εάν τα δύο τμήματα αναγνωριστικού κόμβου είναι τα ίδια;
Τα δίκτυα διαύλου CAN δεν επιτρέπουν δύο κόμβους να έχουν το ίδιο τμήμα αναγνώρισης κατ 'αρχήν, αλλά τι συμβαίνει εάν τα δύο τμήματα αναγνωριστικού κόμβου είναι τα ίδια;
Πριν από το πείραμα, πρέπει να έχουμε μια σαφή κατανόηση της δομής των μηνυμάτων CAN και των αρχών διαιτησίας.
Πρώτον, δομή μηνυμάτων CAN
Το πιο ευρέως χρησιμοποιούμενο πρότυπο δικτύου CAN-bus είναι η έκδοση V2.0. Αυτό το πρότυπο χωρίζεται περαιτέρω σε τμήματα Α και Β. Η κύρια διαφορά τους είναι το μήκος του κωδικού αναγνώρισης στην περιοχή διαιτησίας. Μεταξύ αυτών, το CAN2.0A (πρότυπο πλαίσιο) είναι αναγνωριστικό 11 bit, το CAN2.0B (πλαίσιο επέκτασης) είναι αναγνωριστικό 29 bit. Ο παρακάτω πίνακας 1 δείχνει τη δομή του μηνύματος CAN:
Πίνακας 1 Δομή μηνυμάτων CAN
| Όνομα Φάσης | Μήκος φάσης / bit | Περιγραφή | |
| SOF | 1 | : έναρξη της φάσης δεδομένων και συμπλήρωση από ένα κυρίαρχο bit | |
| Φάση κατάθλιψης | Πρότυπο πλαίσιο | 12 | Υποδεικνύει την προτεραιότητα του πλαισίου, συμπληρώνοντας 11 διευθύνσεις ταυτότητας και 1 RTR |
| εκτεταμένο πλαίσιο | 32 | Υποδεικνύει την προτεραιότητα του πλαισίου, συνθέτει με 29 διευθύνσεις ταυτότητας, 1 bit SRR, εκτεταμένο IDE και RTR | |
| Φάση ελέγχου | 6 | σημαίνει τον κωδικό ομάδας και τα δεσμευμένα δυφία του μήκους δεδομένων του τμήματος δεδομένων | |
| Φάση δεδομένων | 0 ~ 8 | το περιεχόμενο των δεδομένων, τη φάση ελέγχου ελέγχουν το μήκος των δεδομένων | |
| CRC | 16 | ελέγξτε το λάθος μετάδοσης του πλαισίου, από τη φάση SOF στη φάση δεδομένων, όλο το περιεχόμενο, εκτός από τα bits πλήρωσης | |
| ACK | 2 | άλλος κόμβος επιβεβαιώνουν ότι αυτό το πλαίσιο θα ληφθεί σωστά | |
| Έξοδος πλαισίου | 7 | το άκρο του πλαισίου | |
Δεύτερον, η αρχή της διαιτησίας
Η διαιτησία διαύλου CAN βασίζεται σε "γραμμή και αρχή", όπως φαίνεται στο Σχήμα 1. Όταν ένας πομποδέκτης εκπέμπει σήματα διαφορετικών επιπέδων ταυτόχρονα, το υπολειπόμενο επίπεδο καλύπτεται πάντοτε από το κυρίαρχο επίπεδο. Κατά την αποστολή του μηνύματος, ο ελεγκτής CAN θα ελέγξει εάν η κατάσταση του διαύλου είναι ίδια με αυτή που στάλθηκε από μόνη της. Εάν η ασυνέπεια εμφανιστεί στο τμήμα αναγνώρισης, θα υπάρξει διαιτησία. Αν εμφανιστεί σε άλλες περιοχές, το αντίστοιχο σφάλμα θα ενεργοποιηθεί.
Το παρακάτω είναι το βασικό σημείο. Τι γίνεται αν τα δύο τμήματα αναγνωριστικού κόμβου είναι τα ίδια; Ξεκινήσαμε το πείραμα με δύο κάρτες CAN και ένα CANScope. Η κάρτα CAN προσομοιώνει τον πρότυπο κόμβο CAN για την αποστολή και λήψη μηνυμάτων και το CANScope πραγματοποιεί την παρακολούθηση της επικοινωνίας, όπως φαίνεται στο σχήμα 2.
Εικ.2 Δομή Πλατφόρμα Πείραμα
Τρίτον, πείραμα ένα "Το τμήμα ταυτότητας είναι το ίδιο, αλλά τα δεδομένα είναι διαφορετικά"
Μια κάρτα CAN χρησιμοποιείται για την αποστολή ενός πλαισίου CAN με δεδομένα ID 000H στο 01020304050607H και μια άλλη κάρτα CAN για την αποστολή πλαισίου CAN με δεδομένα 000H στο 02020304050607H. Τα δεδομένα που ακούει το CANScope φαίνονται στο σχήμα 3. Μπορεί να παρατηρηθεί ότι υπάρχει ένας μεγάλος αριθμός σφαλμάτων πληρώσεως πεδίου δεδομένων.

Εικ. 3 Σφάλμα πλήρωσης πεδίου δεδομένων
Γιατί είναι έτσι; Αρχικά λαμβάνουμε τις κυματομορφές που αντιστοιχούν στα δύο μηνύματα μετάδοσης κάρτας CAN, όπως φαίνεται στο σχήμα 4. Επειδή το μήνυμα με δύο ακίδες είναι ένα τυποποιημένο πλαίσιο δεδομένων και κάθε πλαίσιο περιέχει 8 bytes δεδομένων, οι κυματομορφές που αντιστοιχούν στα δύο πλαίσια πακέτων είναι ακριβώς το ίδιο στο τμήμα ID, RTR, IDE, R0 και DLC. Ως εκ τούτου, ο ρόλος της διαιτησίας είναι αναποτελεσματικός και οι δύο κόμβοι θεωρούν ότι έχουν προτεραιότητα και συνεχίζουν να στέλνουν δεδομένα.
Τώρα εστιάζουμε στο τμήμα δεδομένων, τα πρώτα δεδομένα byte είναι τα ίδια, είναι 00H. τα δεδομένα δευτέρου byte είναι διαφορετικά, αντίστοιχα 01Η, 02Η. Τα βέλη στο Σχήμα 5 δείχνουν ότι η λογική των αντίστοιχων δυαδικών ψηφίων είναι 0 και 1 αντίστοιχα. Νωρίτερα αναφέραμε ότι ο κόμβος CAN θα ανιχνεύσει εάν το επίπεδο του διαύλου είναι το ίδιο με το επίπεδο που έστειλε κατά την αποστολή του μηνύματος. Εάν η ασυνέπεια εμφανιστεί στην περιοχή μη διαιτησίας, ενεργοποιείται το αντίστοιχο σφάλμα, οπότε αν τα δύο πλαίσια αποστέλλονται στον δίαυλο συγχρόνως, πρέπει να εμφανιστούν σφάλματα bit. Επειδή το σφάλμα αποστολής δυαδικών ψηφίων θα προκαλέσει στον κόμβο να στείλει 6 κυρίαρχα δυαδικά ψηφία που παραβιάζουν τον κανόνα πλήρωσης (το ενεργό σφάλμα καταστρέφει τα δεδομένα πλαισίου), εμφανίζεται το σφάλμα πλήρωσης πεδίου δεδομένων, όπως φαίνεται στο ΣΧ. 3.

Σχήμα 5 Σύγκρουση πεδίου δεδομένων
Τέταρτον, πείραμα δύο "τα ίδια δεδομένα με το ίδιο αναγνωριστικό"
Ταυτόχρονα, χρησιμοποιήστε δύο κάρτες CAN για αποστολή πλαισίων CAN των οποίων το αναγνωριστικό είναι 000H δεδομένα στο 01020304050607H, και το CANScope παρακολουθεί την επικοινωνία. Πρώτα απ 'όλα, δεν ελέγξαμε την επιλογή "απάντηση λεωφορείου" για να καταστήσει το CANScope εργασία σε κατάσταση λειτουργίας ακρόασης. Τα πειραματικά αποτελέσματα φαίνονται στο Σχήμα 6 και ο οριοθέτης απόκρισης είναι σε λάθος μορφή.
Εικ.6 Σφάλμα μορφοποίησης οριοθέτησης απόκρισης
Γιατί συμβαίνει αυτό; Ο κόμβος που στέλνει το μήνυμα θα στείλει δυο υπολειπόμενα bits στο τμήμα ACK. Αν ληφθεί ένα κυρίαρχο επίπεδο κατά τη διάρκεια του πρώτου δυαδικού ψηφίου, το πλαίσιο θεωρείται ότι έχει ληφθεί σωστά. Επειδή οι δύο διαιτητές πιστεύουν ότι έχουν πάρει το δικαίωμα διαιτησίας όταν έχουν το ίδιο τμήμα διαιτησίας, περιμένουν μια απάντηση στο τμήμα ACK, αλλά υπάρχουν μόνο δύο κόμβοι στο δίκτυο. Επομένως, δεν μπορεί να ληφθεί καμία απάντηση στο τμήμα ACK και εμφανίζεται σφάλμα οριοθέτησης απόκρισης. Απλά μιλώντας, αυτή η κατάσταση είναι παρόμοια με το γεγονός ότι μόνο ένας κόμβος στο δίαυλο δεν θα μπορεί να στείλει δεδομένα. Το σχήμα 7 δείχνει τη σύγκριση κυματομορφής όταν δεν υπάρχει απόκριση στο τμήμα ACK.
Σχ.7 Απάντηση ACK
Ελέγουμε την απόκριση διαύλου και ξαναρχίζουμε το πείραμα (αυτή τη στιγμή υπάρχουν 3 κόμβοι στο δίαυλο). Τότε, όπως φαίνεται στο ΣΧ. 8, τα δεδομένα διαύλου μεταδίδονται και λαμβάνονται κανονικά.
Εικ.8 Ξεκινήστε την απάντηση BUS
Περίληψη: Όταν δύο κόμβοι στέλνουν ταυτόχρονα πακέτα με το ίδιο αναγνωριστικό και δεδομένα, εμφανίζεται σφάλμα πληρώσεως πεδίου δεδομένων. Όταν δύο κόμβοι στέλνουν πακέτα με το ίδιο αναγνωριστικό και τα ίδια δεδομένα, δεν εμφανίζεται σφάλμα αν απαντήσουν άλλοι κόμβοι. Άλλοι κόμβοι απάντησαν με σφάλμα απόκρισης. Επομένως, θα πρέπει να αποφύγουμε την ίδια κατάσταση στο τμήμα ID κατά το σχεδιασμό του διαύλου CAN.





