1 Entwodiksyon
Kominikasyon ekipman endistriyèl yo anjeneral enplike nan yon gran varyete pwodwi pyès ki nan konpitè ak lojisyèl, osi byen ke pwotokòl yo itilize pou konekte platfòm òdinatè estanda (òdinatè pèsonèl oswa estasyon travay) ak aparèy automatisation endistriyèl. Se poutèt sa, pifò aparèy automatisation fèt pou egzekite kòmandman seri senp ki konpatib ak pò seri estanda yo jwenn sou òdinatè pèsonèl yo oswa sou ajoute-sou kat pò seri yo. RS-232 se kounye a koòdone seri ki pi lajman itilize nan PC ak sektè kominikasyon endistriyèl yo. RS-232 defini kòm yon sèl-estanda ki fèt pou pwolonje distans kominikasyon nan kominikasyon seri ba vitès. Paske RS-232 pataje yon tè siyal komen ant transmetè a ak reseptè a, li pa ka itilize siyal diferans; otreman, bri mòd komen ta marye nan sistèm siyal la. Estanda RS-232 a presize yon distans maksimòm sèlman 15 m ak yon pousantaj transmisyon siyal maksimòm 20 kbit / s.
CAN, kout pou "Controller Area Network," se youn nan fieldbus ki pi lajman itilize entènasyonalman. Yon rezo sèl ki konpoze de otobis CAN limite pa karakteristik elektrik pyès ki nan konpitè rezo a. Kòm yon otobis kominikasyon seri milti-mèt, espesifikasyon konsepsyon debaz CAN yo mande pou gwo pousantaj bit ak gwo rezistans nan entèferans elektwomayetik, osi byen ke kapasite pou detekte nenpòt erè ki fèt sou bis kominikasyon an. Menm lè distans transmisyon siyal la rive nan 10 km, CAN ka toujou bay pousantaj transmisyon done jiska 50 kbit/s. Tablo 1 montre relasyon ki genyen ant distans maksimòm transmisyon ant nenpòt de nœuds sou yon otobis CAN ak pousantaj bit yo.
Distans maksimòm ant nenpòt de nœuds nan yon konfigirasyon triyangilè nan yon sistèm otobis CAN
To Bit/kbps 1000 500 250 125 100
Distans maksimòm/m 40 130 270 530 620
To Bit (kbps) 50 20 10 5
Distans maksimòm (m) 1300 3300 6700 10000
Kòm ou ka wè, otobis CAN an se yon otobis seri siperyè RS-232 an tèm de pèfòmans an tan reyèl, adaptabilite, fleksibilite, ak fyab. Lè de aparèy seri yo sitiye byen lwen epi yo pa ka konekte dirèkteman atravè RS-232, RS-232 ka konvèti nan CAN pou reyalize rezo entèkoneksyon aparèy seri yo atravè otobis CAN yo.
Sepandan, RS-232 ak CAN diferan anpil an tèm de nivo vòltaj ak fòma ankadreman. Espesyalman:
Estanda RS-232 la sèvi ak lojik negatif, li defini nenpòt nivo vòltaj ant +3V ak +15V kòm yon lojik "0" ak nenpòt nivo vòltaj ant -3V ak -15V kòm yon lojik "1." Siyal CAN, nan lòt men an, yo transmèt lè l sèvi avèk vòltaj diferans. De liy siyal yo rele "CAN_H" ak "CAN_L." Nan eta a estatik, tou de se apeprè 2.5V; eta sa a reprezante kòm yon "1" ki lojik epi yo rele tou "resesif". Lè CAN_H pi wo pase CAN_L, li reprezante yon lojik "0," ke yo rekonèt kòm "dominan." Nan eta dominan an, valè tipik vòltaj yo se: CAN_H=3.5V, CAN_L=1.5V;
Fòma ankadreman pou pò seri RS-232 la se: yon sèl kòmanse bit, uit done bits, yon pwogramasyon nevyèm bit (ki sèvi kòm adrès/bit done pou tou de transmisyon ak resepsyon), ak yon sèl ti jan sispann. Fòma ankadreman done CAN la konsiste de: header ankadreman + ID + done (ki ka divize an de fòma: ankadreman estanda ak ankadreman pwolonje).
Se poutèt sa, konsepsyon an mande pou yon mikrokontwolè fè konvèsyon tankou nivo ak konvèsyon fòma ankadreman. Pwosesis konvèsyon an montre nan Figi 1.
2 Konsepsyon Materyèl pou Konvèsyon RS-232-a-CAN
Nan konsepsyon aparèy konvèsyon RS-232{-a-CAN, yo itilize mikrokontwolè AT89C52 la kòm mikwoprosesè; SJA1000 la itilize kòm mikrokontroleur CAN. SJA1000 a entegre kouch fizik ak fonksyon kouch lyen done nan pwotokòl CAN la epi li ka pasivman okipe ankadre done kominikasyon; AT82C250 a sèvi kòm koòdone ant kontwolè CAN ak otobis fizik la, bay kapasite transmisyon diferans pou otobis la ak kapasite resepsyon diferans pou kontwolè CAN la. Twa mòd fonksyonman diferan (gwo-vitès, kontwòl pant, ak sibstiti) ka chwazi atravè PIN 3 nan AT82C250 la. Lè PIN 3 chita, aparèy la opere nan mòd gwo vitès; izolasyon optik gwo vitès aplike lè l sèvi avèk 6N137 la, ki anpeche entèferans soti nan siyal ekstèn; Yo itilize MAX232 pou konvèti siyal 232 nivo nan nivo TTL pou chip koòdone mikrokontwolè a. Pou detay espesifik sikwi koòdone pyès ki nan konpitè, tanpri al gade resous ki enpòtan pou SJA1000 la; yo pa bay plis eksplikasyon isit la. Sepandan, pwen sa yo ta dwe remake.
(1) Yon rezistans 120Ω konekte nan tou de bout otobis CAN pou matche ak enpedans otobis la, kidonk amelyore iminite a entèferans ak fyab kominikasyon done. Nan pratik, sepandan, li ase pou asire ke rezistans shunt ant "CAN_H" ak "CAN_L" nan rezo CAN la se 60Ω.
(2) Pin 20 (RX1) nan SJA1000 a ka chita lè yo pa itilize (gade konsepsyon lojisyèl an pou rezon espesifik); lè konbine avèk anviwònman ti jan CDR.6, sa ka siyifikativman ogmante longè otobis la.
(3) Metòd koneksyon broch TX0 ak TX1 detèmine nivo pwodiksyon seri a. Gade nan paramèt yo nan Rejis Kontwòl Sòti (OCR) pou plis detay espesifik.
(4) Yon rezistans pant konekte ant PIN RS AT82C250 ak tè a. Valè rezistans a ka ajiste yon fason ki apwopriye dapre vitès kominikasyon otobis la, tipikman sòti nan 16 kΩ a 140 kΩ.
(5) MAX232 a mande kat kondansateur elektwolitik -C1, C2, C3, ak C4-ki itilize tou pou konvèsyon pouvwa entèn yo. Tout gen yon evalyasyon 1 μF/25 V; Kondansateur Tantal yo rekòmande, epi yo ta dwe mete pi pre chip la ke posib. Yon kondansateur dekouplage 0.1 μF dwe konekte ant ekipman pou pouvwa VCC ak tè.
3 Konsepsyon lojisyèl pou RS-232 pou konvèsyon CAN
Anba kontwòl mikro, lè l sèvi avèk resepsyon pò seri ak entèwonp CAN pandan echanj done ant RS-232 ak CAN ka amelyore efikasite operasyonèl. Figi 2 a montre organigram pwogram prensipal la. SJA1000 a kapab sèlman inisyalize nan mòd reset; sa a prensipalman gen ladan mete mòd nan fonksyònman, divizyon revèy, ak rejis filtè akseptasyon, konfigirasyon paramèt vitès baud, ak mete rejis la entèwonp pèmèt.
Si done yo ka transmèt avèk presizyon tou depann de vitès la baud ak kontwòl koule, ki se aspè ki pa ka neglije pandan konsepsyon lojisyèl. Se poutèt sa, seksyon sa yo pral konsantre sou konfigirasyon pousantaj baud CAN, deteksyon otomatik pousantaj baud pò seri, ak kontwòl koule done pò seri.

3.1 Mete Can Filter Pousantaj
Youn nan eleman kle nan pwotokòl CAN la se pousantaj baud. Itilizatè yo ka mete pozisyon pwen echantiyon ti jan yo nan peryòd ti jan an ak kantite echantiyon yo, sa ki pèmèt yo lib optimize pèfòmans rezo pou aplikasyon yo. Sepandan, pandan pwosesis optimize sa a, yo dwe peye atansyon sou relasyon ki genyen ant tolerans osilateur referans yo itilize pou paramèt distribisyon bit ak reta pwopagasyon diferan siyal nan sistèm nan.
To sistèm nan, fBil, reprezante kantite bit done transmèt pou chak inite tan, sa vle di, vitès baud fBit=1/tBit. Distribisyon bit nominal la konsiste de twa segman ki pa -sipèpoze: SYNC_SEG, TSEG1, ak TSEG2. Segman twa tan sa yo endike kòm tSYNC_SEG, tTSEG1, ak tTSEG2, respektivman. Se poutèt sa, peryòd bit nominal tBit se sòm twa segman tan sa yo.
tByen=tSYNC_SEG + tTSEG1 + tTSEG2
Nan peryòd bit la, segman sa yo eksprime an tèm de miltip nonb antye relatif nan yon inite tan debaz. Inite tan sa a rele kota tan (TQ), ak dire yon kota tan se yon sik nan revèy sistèm CAN (tSCL), ki sòti nan peryòd revèy osilateur (tCLK). Revèy sistèm CAN an ka ajiste pa pwogramasyon faktè prescaler (valè baud prereglaj, BRP). Espesyalman:
tSCL=BRP × 2tCLK=2BPR/fCLK
Yon lòt entèval tan trè enpòtan pou kalkil distribisyon CAN ti jan se lajè so senkronizasyon (SJW), ki gen yon dire tSJW. Segman SJW a pa fè pati sik ti jan an; pitou, li defini kantite maksimòm TQ pa ki sik bit la pwolonje oswa vin pi kout pandan yon evènman resynchronization. Anplis de sa, pwotokòl CAN an pèmèt itilizatè yo presize mòd echantiyon ti jan (SAM), ki ka swa yon sèl -mòd echantiyon oswa twa-mòd echantiyon (chwazi yon rezilta nan twa echantiyon). Nan yon sèl -mòd echantiyon, pwen echantiyon an se nan fen segman TSEG1 la. Nan twa-mòd echantiyon, yo pran de pwen echantiyon anplis konpare ak yon sèl-mòd echantiyon; sa yo sitiye anvan fen segman TSEG1 la, separe pa yon sèl TQ.

BPR, SJW, SAM, TESG1, ak TESG2 mansyone pi wo a kapab tout defini pa itilizatè a atravè rejis entèn BTR0 ak BTR1 nan kontwolè CAN la. Detay yo montre nan Figi 3. Apre yo fin mete BTR0 ak BTR1, seri aktyèl la to baud se:
Maksimòm=1/(tBit - tSJW), Minimòm=1/(tBit + tSJW)
3.2 Serial Port Baud Rate Deteksyon
Lè yon aparèy seri aji kòm lame a, si ou bezwen detekte pousantaj baud pò seri aparèy konvèsyon an nan moman sa a, ou ka premye mete pousantaj baud lame a (9600 baud, pou egzanp) epi voye yon karaktè espesifik (yon retou cha, pou egzanp) soti nan tèminal la. Nan fason sa a, lame a ka detèmine pousantaj baud kominikasyon nan aparèy la konvèsyon ki baze sou enfòmasyon yo resevwa karaktè. Valè ASCII karaktè retounen cha a se 0DH; valè yo resevwa nan diferan vitès baud yo ki nan lis nan Tablo 2.
Byte yo te resevwa nan diferan pousantaj Baud
Vitès baud (bit/s) Byte resevwa (Egzadesimal) Vis baud (bit/s) Byte resevwa (Egzadesimal)
1200 80 4800 E6
1800 F0 9600 0D
2400 78 19200 F*
3.3 Serial Port Flow Kontwòl
Tèm "koule" yo itilize isit la refere a koule done. Pèt done souvan rive pandan transmisyon ant de pò seri. Depi tanpon mikrokontwolè a gen kapasite limite, si tanpon an plen lè yo resevwa done yo, nenpòt done ki kontinye ap voye nan moman sa a pral pèdi. Kontwòl koule efektivman rezoud pwoblèm sa a: lè fen k ap resevwa a pa ka trete done yo nan tan, sistèm kontwòl koule a voye yon siyal "pa resevwa", sa ki lakòz fen a voye sispann transmèt jiskaske li resevwa yon siyal "rezime transmisyon". Se poutèt sa, kontwòl koule jere pwosesis transmisyon done ak anpeche pèt done. De kalite kontwòl koule yo souvan itilize yo se kontwòl koule pyès ki nan konpitè (ki gen ladan RTS/CTS, DTR/CTS, elatriye) ak kontwòl koule lojisyèl (XON/XOFF-kontinye/sispann). Eksplikasyon sa a konsantre sèlman sou metòd kontwòl koule pyès ki nan konpitè lè l sèvi avèk RTS/CTS.
Lè w ap itilize pyès ki nan konpitè pou kontwòl koule, broch RTS ak CTS nan tèminal seri a konekte ak pò I/O mikrokontroleur a, epi siyal kòmanse/sispann yo resevwa epi transmèt lè yo mete pò I/O yo sou 1 oswa 0. Ekipman tèminal done yo (tankou yon òdinatè) sèvi ak RTS pou kòmanse kouran done mikwokontwolè a voye, pandan y ap mikwokontrolè a ap itilize done CTS la epi itilize òdinatè a. Pou aplike metòd handshaking pyès ki nan konpitè sa a, yo tabli yon drapo wo-nivo ak yon drapo ki ba- pandan pwogramasyon ki baze sou gwosè tanpon k ap resevwa a. Lè kantite done ki nan tanpon an rive nan nivo segondè-, liy CTS ki nan fen k ap resevwa yo mete ba (lojik 0). Lè pwogram nan nan fen transmisyon an detekte ke CTS ba, li sispann transmèt done jiskaske kantite done nan tanpon k ap resevwa a tonbe pi ba pase nivo ki ba -papòt la epi CTS yo mete wo. RTS yo itilize pou endike si aparèy k ap resevwa a pare pou resevwa done.
3.4 KA Resevwa Souroutine
Fòma PeliCAN a sipòte tou de ankadreman estanda ak ankadreman pwolonje. Mòd CAN an ka konfigirasyon lè l sèvi avèk CDR.7 nan rejis divizyon revèy la (0 pou BasicCAN, 1 pou PeliCAN). Lè w ap resevwa done CAN, yo itilize ti jan FF nan enfòmasyon ankadreman an pou detèmine si se yon ankadreman estanda oswa pwolonje, epi yo itilize ti jan RTR pou fè distenksyon ant yon ankadreman aleka ak yon ankadreman done. Sa ki anba la a se souroutine pou resevwa CAN:
;//////////////////////////////////////////////////////////////////
;//KAN Done Resepsyon/Inifye nan yon fòma ankadreman ak yon ID 2-byte//
;///////////////////////////////////////////////////////////////////////
RECAN:
MOV R0, #C_RE ; Kòmanse adrès tanpon entèn mikrokontwolè a
MOV DPTR, #RXBUF ; Li epi sove sa ki nan tanpon resevwa a
MOVX A, @DPTR ; Li dezyèm octet nan tanpon CAN la
MOV @R0, A ; Sove
JB ACC.7, EFF_RE ; FF bit: 0=SFF, 1=EFF
MOV R2, #0
SJMP SFF_RE ; Tou depan de nimewo idantite a, pozisyon kote "byte done a" kaptire varye
EFF_RE: MOV R2, #2
SFF_RE: MOV R2, #2
SFF_RE:
JB ACC.6, EXIT_RECAN ; Tcheke ti jan RTR la; si 1 (ankadreman aleka), sote soti
ANL A, #0FH
MOV R3, A ; Nan pwen sa a, mitan 4 bits yo reprezante longè done yo
MOV C_NUM, A ; Sere longè ankadreman an resevwa nan R3 ak R5
RDATA0:
INC DPTR ; ID 2-byte
INC R0
MOVX A, @DPTR
MOV @R0, A
INC DPTR
MOVX A, @R0, A
INC DPTR
MOVX A, @DPTR
MOV @R0, A
MOV A, R2 ; Si EFF, sote idantite de -byte a
JZ DRATA1
INC DPTR
INC DPTR
DONE1: ; Done bytes
INC DPTR
INC R0
MOVX A, @DPTR
MOV @R0, A
DJNZ R3, RDATA1
EXIT_RECAN:
RET
4 Konklizyon
Miniaturizasyon òdinatè yo te bay kondisyon ki nesesè pou devlopman entèlijan enstriman mezi ak kontwòl, sa ki pèmèt aparèy tèminal ki baze sou mikwoprosesè -yo posede kapasite siperyè kominikasyon dijital. Ak aparisyon nan yon kantite ogmante nan tèminal entelijan, pi gwo demand yo ap mete sou achitekti rezo a, pwotokòl, pèfòmans nan tan reyèl-, osi byen ke aplikab, fleksibilite, fyab, e menm pri. Kontinwe, teknoloji fieldbus kenbe gwo pwomès pou devlopman nan lavni. Estrikti ankadreman nan otobis CAN an gen ladan yon idantifyan (ID), ki fè li posib pou gen plizyè lame rezo nan yon rezo aparèy; se sa ki, atravè tout lame rezo sa yo, estati a operasyonèl nan rezo aparèy la tout antye ka kontwole, ak desizyon kontwòl korespondan yo ka pran. Gen aparèy sa a kounye a te konplètman devlope e li te reyalize rezilta ekselan nan aplikasyon pratik.




