Beth sy'n digwydd os yw dau segment adnabod ID yr un fath?
Nid yw rhwydweithiau CAN-bws yn caniatáu i ddau nôd gael yr un segment ID mewn egwyddor, ond beth sy'n digwydd os yw'r ddau segment adnabod ID yr un fath?
Cyn yr arbrawf, rhaid inni gael dealltwriaeth glir o strwythur negeseuon CAN ac egwyddorion cyflafareddu.
Yn gyntaf, strwythur neges CAN
Y safon rhwydwaith CAN-bws a ddefnyddir fwyaf eang yw'r fersiwn V2.0. Rhennir y safon hon ymhellach i rannau A a B. Eu prif wahaniaeth yw'r hyd cod ID yn yr ardal gyflafareddu. Ymhlith y rhain mae CAN2.0A (ffrâm safonol) yn ID 11-bit, CAN2.0B (ehangu ffrâm) yw ID 29-bit. Mae Tabl 1 isod yn dangos strwythur y neges CAN:
Tabl 1 CAN strwythur negeseuon
| Enw Cyfnod | Hyd / bit y cyfnod | Disgrifiad | |
| SOF | 1 | yn golygu dechrau cam data, ac yn cael ei ffurfio gan un dominyddol sengl | |
| Cam Abtrition | Ffrâm safonol | 12 | Yn nodi blaenoriaeth y ffrâm, yn ffurfio 11 cyfeiriad ID ac 1 RTR |
| ffrâm estynedig | 32 | Yn nodi blaenoriaeth y ffrâm, yn ffurfio 29 cyfeiriad ID, 1Rh SRR, IDE estynedig ac RTR | |
| Cam Rheoli | 6 | yw cod y grŵp a darnau neilltuedig o hyd data y segment data | |
| Cyfnod Data | 0 ~ 8 | cynnwys data, cyfnod rheoli yn rheoli hyd y data | |
| CRC | 16 | gwirio erroed trosglwyddo ffrâm, o SOF i gam data, yr holl gynnwys, heblaw am lenwi darnau | |
| ACK | 2 | nod arall yn cadarnhau'r ffrâm hwn i'w dderbyn yn gywir | |
| Diwedd y Ffrâm | 7 | yw diwedd y ffrâm | |
Yn ail, yr egwyddor o gyflafareddu
Gall cyflafareddu bws CAN gael ei seilio ar "llinell ac egwyddor", fel y dangosir yn Ffigur 1. Pan fydd trawsgludwr yn allyrru signalau o wahanol lefelau ar yr un pryd, mae'r lefel recriwtiol bob amser yn cael ei gwmpasu gan y lefel flaenllaw. Wrth anfon y neges, bydd y rheolwr CAN yn monitro a yw'r statws bws yr un fath â'r un a anfonir ganddo'i hun. Os yw'r anghysondeb yn digwydd yn y segment ID, bydd cyflafareddiad yn digwydd. Os bydd yn digwydd mewn ardaloedd eraill, bydd y gwall cyfatebol yn cael ei sbarduno.
Y canlynol yw'r pwynt allweddol. Beth os yw'r ddau ddarn adnabod ID yr un fath? Dechreuon ni ar yr arbrawf gyda dau gerdyn CAN ac un CANScope. Mae'r cerdyn CAN yn efelychu'r nod safonol CAN i anfon a derbyn negeseuon, ac mae'r CANScope yn monitro'r cyfathrebu, fel y dangosir yn Ffigur 2.
Ffigur Adeiladu Platfform Arbrawf
Yn drydydd, arbrofi un "Mae'r segment ID yr un fath ond mae'r data yn wahanol"
Defnyddir cerdyn CAN i anfon ffrâm CAN gyda data ID 000H i 01020304050607H a cherdyn CAN arall i anfon ffrâm CAN gyda data 000H i 02020304050607H. Dangosir y data y mae CANScope yn ei wrando arno yn Ffigur 3. Gellir sylwi bod nifer fawr o wallau llenwi maes data.

Ffig.3 Erg llenwi maes data
Pam mae hyn felly? Yn gyntaf, rydym yn cael y tonffurfiau sy'n cyfateb i'r ddau neges drosglwyddo cerdyn CAN, fel y dangosir yn Ffigur 4. Gan fod y neges dau pin yn ffrâm data safonol ac mae pob ffrâm yn cynnwys 8 bytes o ddata, y tonffurfiau sy'n cyfateb i'r ddau ffrâm o becynnau yw yr un peth yn y segment ID, RTR, IDE, R0, a segmentau DLC. Felly, mae rôl cyflafareddu yn aneffeithiol ac mae'r ddau nod yn ystyried eu bod yn cael blaenoriaeth ac yn parhau i anfon data.
Nawr rydym yn canolbwyntio ar y segment data, mae'r data byte cyntaf yr un fath, yn 00H; mae'r ail ddata byte yn wahanol, yn y drefn honno 01H, 02H. Mae'r saethau yn Ffigwr 5 yn dangos bod rhesymeg y darnau cyfatebol yn 0 a 1 yn y drefn honno. Yn gynharach, soniasom y bydd y nod CAN yn canfod a yw lefel y bws yr un fath â'r lefel y mae'n ei anfon wrth anfon y neges. Os yw'r anghysondeb yn digwydd yn yr ardal anghyflafareddu, mae'r gwall cyfatebol yn cael ei sbarduno, felly os yw'r ddau ffram yn cael eu hanfon at y bws ar yr un pryd, rhaid i wallau bit ddigwydd. Oherwydd y bydd y gwall anfon ychydig yn achosi i'r nod anfon 6 rhan amlwg sy'n torri'r rheol llenwi (mae'r gwall gweithredol yn dinistrio'r data ffrâm), mae'r gwall llenwi maes data yn digwydd, fel y dangosir yn FIG. 3.

Ffig.5 Gwrthdaro Maes Data
Yn bedwerydd, arbrofwch ddau "yr un data â'r un ID"
Ar yr un pryd, defnyddiwch ddau gerdyn CAN i anfon fframiau CAN y mae eu Hysbysiad yn ddata 000H i 01020304050607H, ac mae CANScope yn monitro cyfathrebu. Yn gyntaf oll, nid ydym yn gwirio'r opsiwn "ymateb bws" i wneud CANScope yn gweithio yn y modd gwrando'n unig. Dangosir y canlyniadau arbrofol yn Ffigur 6, ac mae'r delimiter ymateb yn y fformat anghywir.
Ffig.6 Gwall ar ffurf delimiter ymateb
Pam mae hyn yn digwydd? Bydd y nod sy'n anfon y neges yn anfon dau ddarnau cyson yn y segment ACK. Os derbynnir lefel flaenllaw yn ystod y tro cyntaf, ystyrir bod y ffrâm yn cael ei dderbyn yn gywir. Oherwydd bod y ddau gyflafareddwr o'r farn eu bod wedi cael yr hawl cyflafareddu pan fydd ganddynt yr un segment cyflafaredol, maent yn aros am ymateb yn y segment ACK, ond dim ond dau nôd yn y rhwydwaith sydd ar gael. Felly, ni ellir derbyn ymateb yn y segment ACK, ac mae gwall delimiter ymateb yn digwydd. Yn syml, mae'r sefyllfa hon yn debyg i'r ffaith mai dim ond un nod yn y bws fydd yn gallu anfon data. Mae Ffigur 7 yn dangos y gymhariaeth tonffurf pan nad oes ymateb yn y segment ACK.
Ffig.7 ACK Ateb
Rydym yn gwirio ymateb bws a dechrau'r arbrawf eto (ar hyn o bryd mae 3 nôd yn y bws). Ar yr adeg hon, fel y dangosir yn FIG. 8, caiff y data bws ei drosglwyddo a'i dderbyn fel rheol.
Ffig.8 Cychwyn Ymateb BUS
Crynodeb: Pan fydd dau nod yn anfon pecynnau gyda'r un ID a data ar yr un pryd, mae gwall padio data yn digwydd. Pan fydd dau nod yn anfon pecynnau gyda'r un ID a'r un data, ni cheir gwall os yw nodau eraill yn ymateb. Ymatebodd nodau eraill â gwall ymateb. Felly, dylem osgoi'r un sefyllfa yn y segment adnabod wrth ddylunio bws CAN.





