Beth sy'n Digwydd Os yw Dosraniad ID Dau Nôd Ydy'r Un peth?

Apr 04, 2018Gadewch neges

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.

                                                           

1.jpg

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.


2.jpg

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.

3.jpg

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.


4.jpg

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.

5.jpg

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.

6.jpg

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.

7.jpg

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.


Anfon ymchwiliad

whatsapp

Dros y ffôn

E-bost

Ymchwiliad