You are on page 1of 25

Chng 2

GIAO TIP CNG NI TIP


Tm tt: Gii thiu chun giao tip RS232 v iu khin Active X Microsoft Communication 6.0 (MSComm): cch tnh cht v cch thit lp tham s ti u cho iu khin. Lp trnh ng dng giao tip trn c s s dng Visual Basic 6.0. Thit k giao din chng trnh. Vit m cho chng trnh. Gii thiu chun giao tip RS485 2.1. Cu trc cng ni tip Cng ni tip c s dng truyn d liu hai chiu gia my tnh v ngoi vi, c cc u im sau: - Khong cch truyn xa hn truyn song song. - S dy kt ni t. - C th truyn khng dy dng hng ngoi. - C th ghp ni vi vi iu khin hay PLC (Programmable Logic Device). - Cho php ni mng. - C th tho lp thit b trong lc my tnh ang lm vic. - C th cung cp ngun cho cc mch in n gin Cc thit b ghp ni chia thnh 2 loi: DTE (Data Terminal Equipment) v DCE (Data Communication Equipment). DCE l cc thit b trung gian nh MODEM DTE l cc thit b tip nhn hay truyn d liu nh my tnh, PLC, vi iu khin, Vic trao i tn hiu thng thng qua 2 chn RxD (nhn) v TxD (truyn). Cc tn hiu cn li c chc nng h tr thit lp v iu khin qu trnh truyn, c gi l cc tn hiu bt tay (handshake). u im ca qu trnh truyn dng tn hiu bt tay l c th kim sot ng truyn. Tn hiu truyn theo chun RS-232 ca EIA (Electronics Industry Associations). Chun RS-232 c kh nng cung cp dng t 10 mA n 20 mA quy nh: Mc logic 1 ng vi in p t -3V n -25V (mark) Mc logic 0 ng vi in p t 3V n 25V (space). Tt c cc ng ra u c c tnh chng chp mch. Chun RS-232 cho php truyn tn hiu vi tc n 20.000 bps nhng nu cp truyn ngn c th ln n 115.200 bps. Cc phng thc ni gia DTE v DCE: - n cng (simplex connection): d liu ch c truyn theo 1 hng. - Bn song cng (half-duplex): d liu truyn theo 2 hng, nhng mi thi im ch c truyn theo 1 hng. - Song cng (full-duplex): s liu c truyn ng thi theo 2 hng. nh dng ca khung truyn d liu theo chun RS-232 nh sau: D0 D1 D2 D3 D4 D5 D6 D7 P Stop Start

Khi khng truyn d liu, ng truyn s trng thi mark (in p -10V). Khi bt u truyn, DTE s a ra xung Start (space: 10V). Sau ln lt truyn t D0 n D7 v Parity. Cui cng l xung Stop (mark: -10V) khi phc trng thi ng truyn. V d: Dng tn hiu truyn m t nh sau (truyn k t A): m ASCII ca ch A l: 41h=1000001b

Trang 1

Hnh - Tn hiu truyn ca k t A Cc c tnh k thut ca chun RS-232 nh sau: Chiu di cable cc i 15m Tc d liu cc i 20 Kbps in p ng ra cc i 25V in p ng ra c ti 5V n 15V Tr khng ti 3K n 7K in p ng vo 15V nhy ng vo 3V Tr khng ng vo 3K n 7K Cc tc truyn d liu thng dng trong cng ni tip l: 1200 bps, 4800 bps, 9600 bps v 19200bps.

Hnh - S chn cng ni tip Cng COM c hai dng: u ni DB25 (25 chn) v u ni DB9 (9 chn) m t nh hnh v. ngha ca cc chn m t nh sau:
Trang 2

M t Protected ground: ni t bo v Transmitted data: d liu truyn Received data: d liu nhn Request to send: DTE yu cu truyn d liu Clear to send: DCE sn sng nhn d liu Data set ready: DCE sn sng lm vic Ground: ni t (0V) Data carier detect: DCE pht hin sng mang Data terminal ready: DTE sn sng lm vic Ring indicator: bo chung Data signal rate detector: d tc truyn Transmit Signal Element Timing: tn hiu nh thi truyn i t DTE 15 TSET Transmitter Signal Element Timing: tn hiu nh thi truyn t DCE truyn d liu 17 RSET Receiver Signal Element Timing: tn hiu nh thi truyn t DCE truyn d liu 18 LL Local Loopback: kim tra cng 21 RL Remote Loopback: To ra bi DCE khi tn hiu nhn t DCE li 14 STxD Secondary Transmitted Data 16 SRxD Secondary Received Data 19 SRTS Secondary Request To Send 13 SCTS Secondary Clear To Send 12 SDSRD Secondary Received Line Signal Detector 25 TM Test Mode 9 Dnh ring cho ch test 10 Dnh ring cho ch test 11 Khng dng Cc cng ni tip trong my tnh c nh s l COM1, COM2, COM3, COM4 vi cc a ch nh sau: Tn a ch Ngt V tr cha a ch COM1 3F8h 4 0000h:0400h COM2 2F8h 3 0000h:0402h COM3 3E8h 4 0000h:0404h COM4 2E8h 3 0000h:0406h bit c cc tham s ca chun giao tip RS232 trong h iu hnh ca bn nh th no th bn kch phi chut vo biu tng My Computer, chn Properties, chn Tab HardWare chn Device Manager s c mt tree hin ra. Bn chn Port (Com & LPT), kch chut phi vo Communication Port (COM1). Chuyn sang tab Port Setting s thy c cc tham s m chng ta cn thit lp bao gm tn s bus, Data Bits, Parity Bits, Stop Bits, Handshaking,..

D25 D9 Tn hiu 1 2 3 TxD 3 2 RxD 4 7 RTS 5 8 CTS 6 6 DSR 7 5 GND 8 1 DCD 20 4 DTR 22 9 RI 23 DSRD 24 TSET

Trang 3

Hnh: Chn My Computer > Properties

Hnh: Chn Device Manager

Trang 4

Hnh: Chn Properties ca Communication Port (COM1)

Hnh: Chn Port Setting bit tham s 2.2 Truyn thng gia hai nt Cc s khi kt ni dng cng ni tip:

Trang 5

Hnh - Kt ni n gin trong truyn thng ni tip Khi thc hin kt ni nh trn, qu trnh truyn phi bo m tc u pht v thu ging nhau. Khi c d liu n DTE, d liu ny s c a vo b m v to ngt. Ngoi ra, khi thc hin kt ni gia hai DTE, ta cn dng s sau:

Hnh - Kt ni trong truyn thng ni tip dng tn hiu bt tay Khi DTE1 cn truyn d liu th cho DTR tch cc tc ng ln DSR ca DTE2 cho bit sn sng nhn d liu v cho bit nhn c sng mang ca MODEM (o). Sau , DTE1 tch cc chn RTS tc ng n chn CTS ca DTE2 cho bit DTE1 c th nhn d liu. Khi thc hin kt ni gia DTE v DCE, do tc truyn khc nhau nn phi thc hin iu khin lu lng. Qu trnh iu khin ny c th thc hin bng phn mm hay phn cng. Qu trnh iu khin bng phn mm thc hin bng hai k t Xon v Xoff. K t Xon c DCE gi i khi rnh (c th nhn d liu). Nu DCE bn th s gi k t Xoff. Qu trnh iu khin bng phn cng dng hai chn RTS v CTS. Nu DTE mun truyn d liu th s gi RTS yu cu truyn, DCE nu c kh nng nhn d liu (ang rnh) th gi li CTS. 2.3 iu khin Active X Microsoft communication 6.0 (Mscomm) 2.3.1. Cc thuc tnh ca MSComm Vic truyn thng ni tip trn Windows c thc hin thng qua mt ActiveX c sn l Microsoft Comm Control. ActiveX ny c lu tr trong file MSCOMM32.OCX. Qu trnh ny c hai kh nng thc hin iu khin trao i thng tin: - iu khin s kin: Truyn thng iu khin s kin l phng php tt nht trong qu trnh iu khin vic trao i thng tin. Qu trnh iu khin thc hin thng qua s kin OnComm. Hi vng: Qu trnh iu khin bng phng php hi vng thc hin thng qua kim tra cc gi tr ca thuc tnh CommEvent sau mt chu k no xc nh xem c s kin no xy ra hay khng. Thng thng phng php ny s dng cho cc chng trnh nh.
Trang 6

ActiveX MsComm c b sung vo mt Visual Basic Project thng qua menu Project > Components:

Hnh B sung i tng MsComm vo Visual Basic Project Biu tng ca MsComm: Thuc tnh CommPort Input Output PortOpen Settings v cc thuc tnh c bn m t nh sau: M t S th t cng truyn thng Nhn k t t b m Xut k t ra cng ni tip M / ng cng Xc nh cc tham s truyn

Trang 7

Hnh Cc thuc tnh ca i tng MSComm + CommID: tr li handles ng nht ti thit b truyn thng, c kiu Long. Tnh cht ny khng c lc thit k m ch c khi thi hnh, thuc tnh ny l ReadOnly. + CommPort: dng object.CommPort = value. Value l ch s ca cng Com c gi tr t 1 n 16 v mc nh c gi tr =1. Cn phi thit lp thng s ny trc khi m cng. S c li error 68 (Device unavailable) nu nh khng m c cng ny. + InBuferSize: thit lp hoc tr li kch thc ca b m nhn, tnh bng byte. Mc nh l 1024 byte. Cn phn bit vi c tnh InBufferCount l s byte ang ch trong b m nhn. + InputLen: object.InputLen [ = value ] thit lp hoc tr li s byte mi ln thuc tnh Input c trong b m nhn. Mc nh gi tr Value=0 tc l thuc tnh InputLen s c ht ni dung ca b m nhn khi thuc tnh ny c gi. Nu s k t trong b m nhn khng = InputLen th thuc tnh Input s tr li k t rng . V th bn cn phi chn cch kim tra InBufferCount chc chn s k t yu cu c trc khi dng lnh object.InputLen. Tnh cht ny rt l c ch khi c d liu mt my m d liu ra c nh dng bng cc khi c kch thc c nh. + InputMode: object.InputMode [ = value ]. Value = 0 hay = comInputModeText d liu nhn c dng vn bn kiu k t theo chun ANSI. D liu nhn c s l mt xu. Value=1 hay = comInputModeBinary dng nhn mi kiu d liu nh k t iu khin nhng, k t NULL,.. Gi tr nhn c t Input s l mt mng kiu Byte. + NullDiscard: object.NullDiscard [ = value ] tnh cht ny quyt nh k t trng c c truyn t cng n b m nhn hay khng. Nu value = True k t ny khng c truyn, value = false k t trng s c truyn. K t trng c nh ngha theo chun ASCII l k t 0 chr$(0).

Trang 8

+ OutBuferSize: ging nh InBuferSize, mc nh l 512. + ParityReplace: thit lp v tr li k t thay th k t khng ng trong li ging nhau. + PortOpen: thit lp v tr li tnh trng ca cng (ng hoc m). Object.PortOpen = true cng m Object.PortOpen=false cng ng v xa ton b d liu trong b m nhn v truyn. Cn phi thit lp thuc tnh CommPort ng vi tn ca cng trc khi m cng giao tip. Thm vo , cng giao tip ca thit b ca bn phi h tr gi tr trong thuc tnh Setting th thit b ca bn mi hot ng ng, cn khng th n s hot ng khng tt. ng DTR v RTS lun gi li trng thi ca cng. + RthresHold: object.Rthreshold [ = value ] value kiu s nguyn. Thit lp s k t nhn c trc khi gy ln s kin comEvReceive. Mc nh = 0 tc l khng c s kin OnComm khi nhn c d liu. Thit lp = 1 tc l s kin OnComm xy ra khi bt k k t no c chuyn n b m nhn. + Settings: object.Settings [ = value ] thit lp hoc tr li cc thng s tn s baud, bt d liu, bt chn l, bt stop. Nu Value khng c gi tr khi m s gy ra li 380 (Invalid property value). + SThreshold: thit lp v v tr li s k t nh nht c cho php trong b m gi xy ra s kin OnComm = comEvSend. Theo mc nh gi tr ny = 0 tc l khi truyn s khng gy ra s kin OnComm. Nu thit lp thng s ny =1 th s kin OnComm xy ra khi b m truyn rng. S kin OnComm = comEvSend ch xy ra khi m s k t trong b m truyn nh hn hoc = Sthreshold. Nu s k t trong b m ny lun ln hn Sthreshold th s kin ny khng th xy ra. + EOFEnable: object.EOFEnable [ = value ] quyt nh cc hnh ng nu MSComm tm thy k t kt thc file. Nu value=true khi tm thy k t kt thc file th s gy ln s kin comEvEOF trong OnCommEvent. Nu value= false th s khng gy ln s kin ny. + InBufferCount: tr li s k t ang c trong b m nhn Bn c th xo b m nhn bng cch t thuc tnh ny =0. Phn bit vi thuc tnh InBufferSize l tng kch thc ca b m nhn. + OutBufferCount: tr li s k t trong b m truyn. + Output: ghi d liu vo b m truyn. C th truyn kiu text hoc kiu nh phn. Nu truyn bng kiu text th cho mt bin Variant = kiu String, nu truyn kiu nh phn th cho cho Output= variant = mt mng kiu Byte. 2.3.2 Cc s kin truyn nhn d liu: + CommEvent: tr li phn ln s kin giao tip hoc c li. CommEvent xy ra khi c li hoc khi xy ra s kin no . Sau y l mt s hng s li: S kin Gi tr Miu t s kin comEventBreak comEventFrame 1001 1004 Xy ra khi nhn c mt tn hiu Break. Li h thng. Phn cng pht hin ra mt li h thng
Trang 9

comEventOverrun

1006

Xy ra khi cng t trn (Overrun). Mt k t khng c c t phn cng trc khi k t tip theo ti v do k t ny b mt. Xy ra khi b m nhn b trn. Khng c ch cho d liu trong b m nhn. Li Parity. Phn cng pht hin ra mt li Parity. Xy ra khi b m truyn b y. B m truyn b y trong khi ghi d liu ln vo b m Mt li khng mong mun khi ang khi phc li khi iu khin thit b (DCB Device Control Block) cho cng

comEventRxOver comEventRxParity comEventTxFull comEventDCB

1008 1009 1010 1011

Mt s s kin: S kin comEvSend Gi tr 1 Miu t s kin Xy ra khi s k t trong b m truyn nh hn gi tr SthresHold. Xy ra khi b m nhn c s k t bng gi tr RthresHold. S kin ny c to ra lin tc cho ti khi bn dng thuc tnh Input ly ht d liu t trong b m nhn. Xy ra khi c thay i trong ng CTS (Clear To Send) Xy ra khi thay i trong ng DSR (Data Set Ready). S kin ny ch xy ra khi ng DSR thay i t 1 > 0. Xy ra khi c thay i trong ng CD (Carrier Detect) Pht hin chung (Ring). Mt s UART khng h tr s kin ny. Xy ra khi nhn c k t kt thc file (k t 26 trong bng m ASCII)

comEvReceive

RcomEvCTS comEvDSR comEvCD comEvRing comEvEOF

3 4 5 6 7

2.3.3 Cc tn hiu bt tay (handshaking): + Break: thit lp hoc xo tn hiu. object.Break [ = value] value = true hoc false. Khi set value= true th thng s Break ny s gi mt tn hiu break. Tn hiu break tr hon vic truyn d liu v a ng truyn vo trng thi break ti khi m value=false. + CDHolding: quyt nh xem s truyn ny n u bng cch truy vn ng CD (Carrier Detect). Carrier Detect l tn hiu gi t modem ti my tnh kt ni vi n thng bo rng n ang online. Nu gi tr = true th n ng CD ang mc cao, nu =false th ng dy ny ang mc thp. Tnh cht ny khng c trong lc thit k ch c trong khi chy chng trnh.Carrier Detect c bit nh l Receive Line Signal Detect (RLSD). + CTSHolding: quyt nh khi no bn gi d liu bng cch truy vn trng thi ng Clear To Send (CTS). Thng thng tn hiu CTS c gi t modem ti my tnh kt ni vi n bo rng ang qu trnh truyn d liu. Thuc tnh Readonly ch xut hin khi chy
Trang 10

chng trnh. ng Clear To Send dng trong RTS/CTS (Request To Send/Clear To Send) bt tay phn cng. CTSHolding cho bn mt cch t tay d ng Clear To Send nu bn cn bit trng thi ca n. + DSRHolding: bit trng thi ca ng Data Set Ready (DSR). Tn hiu Data Set Ready truyn t modem ti my tnh ni vi n thng bo rng modem sn sng hot ng. Tnh cht ny dng khi vit Data Set Ready/Data Terminal Ready handshaking routine cho my Data Terminal Equipment (DTE) my trang b u cui d liu. + DTREnable: tnh cht ny quyt nh khi no cho php ng Data Terminal Ready (DTR) trong truyn thng. Tn hiu DTR gi t my tnh ti modem bo rng my tnh sn sng l ni nhn d liu. Khi DTREnable = true th ng Data Terminal Ready set ln cao khi cng m, v thp khi cng ng. Nu DTREnable = false th ng lun mc thp. Trong phn ln trng hp set ng Data Terminal Ready thnh thp hang up telephone. + Handshaking: thit lp v tr li giao thc bt tay phn cng. Object.Handshaking = value. Cc gi tr ca value: comNone 0 (Mc nh) Khng bt tay comXOnXOff comRTS 1 2 Bt tay XON/XOFF Bt tay RTS/CTS (Request To Send/Clear To Send)

comRTSXOnXOff 3 Dng c bt tay Request To Send and XON/XOFF Handshaking ch l giao thc truyn thng ni ti quyt nh bi d liu no c truyn t cng phn cng ti b m nhn. Khi k t ca d liu ti cng ni tip, thit b truyn thng s chuyn n vo trong b m nhn v chng trnh ca bn c th c chng. Nu khng c b m d liu hoc chng trnh ca bn cn c k t trc tip t phn cng, bn c th mt d liu bi v k t t phn cng n rt nhanh. Giao thc Handshaking m bo d liu khng b mt, khi d liu n cng qu nhanh th thit b truyn thng s chuyn d liu vo trong b m nhn. + RTSEnable: quyt nh khi no cho php ng Request To Send (RTS), Tn hiu RTS t my tnh ti modem yu cu c tryn d liu. Khi RTSEnable = true th ng RTS mc cao khi cng m, tch mc thp khi cng ng. V hin nhin khi RTSEnable th ng RTS lun mc thp.RTS dng trong RTS/CTS hardware handshaking. RTSEnable cho php bn d ng RTS khi cn bit tnh trng ca ng ny. Cc tnh cht trn khng c lc thit k giao din m ch c lc chy chng trnh (dng trong vit code). NH DANG D LIEU (Format Data): 1) D lieu dang nh phan: Vi loai d lieu kieu nh phan, cu phap trong Visual Basic: Bit 0 = BitValue * (2^0) Bit 1 = BitValue * (2^1) Bit 7 = BitValue * (2^7)

2) D lieu dang Text:


Khi can gi mot thong bao hoac mot file text, chng trnh s dung ma ma no an nh mot gia tr cho moi k t text. Co nhieu loai ma, ma thong dung nhat la ma ASCII (American Standard Code for Information Exchange), bao gom 128 ma ng vi 7 bit data. Bit th 8 neu co s dung la bit 0 hoac bit parity. Ma ANSI (American National Standards
Trang 11

Institute) s dung 256 ma. Mot loai nh dang khac la s dung 16 bit, cho phep 65.536 k t khac nhau Trong chng nay dung nh dang ASCII text, s dung ieu khien MSComm

3) ASCII Hex:
Kieu text th chon chuoi hoac byte cha chuoi e phat. Nhng ta cung co the s dung text e phat d lieu nh phan, bang cach an nh d lieu di dang ASCII Hex. Moi byte la mot cap ASCII code ma no ai dien 2 k t Hex cua byte. Khi may tnh nhan th no x ly theo nh dang kieu nh phan. V du: khi ta phat k t A th may tnh se phat 41H ASCII hoac 0100 0001B. Trong Visual Basic: A3H c viet la &HA3. Ma ASCII cua A va 3 la 41H, 33H. Bang ma ASCII (American Standard Code for Infornation Interchange)

2.4 Cc mch giao tip gia vi iu khin v my tnh theo chun RS232
Trang 12

Khi thc hin giao tip vi vi iu khin, ta phi dng thm mch chuyn mc logic t TTL s a n g 232 v ngc li. Cc vi mch thng s dng l MAX232 ca Maxim hay DS275 ca Dallas. Khi giao tip, vi iu khin chnh l mt DTE nn s ni RxD ca my tnh vi TxD ca vi iu khin v ngc li. Mch kt ni n gin gia vi iu khin v my tnh nh sau:
VCC U12 Chn TXD VDK Chn RXD VDK 11 12 10 9 C3 10uF 1 3 4 5 2 6

16

PC INTERFACE

T1IN R1OUT T2IN R2OUT C1+ C1C2+ C2V+ VMAX232

C2 10uF

VCC

T2OUT R2IN

7 8

1 6 2 7 3 8 4 9 5

C5 10uF

C6 10uF

Hnh Mch chuyn mc logic TTL RS232 Tuy nhin, khi s dng mch chuyn mc logic dng cc vi mch th i hi phi dng chung GND gia my tnh v vi mch nn c kh nng lm hng cng ni tip khi xy ra hin tng chp mch mch ngoi. Do , ta c th dng Opto 4N35 cch ly v in. S mch cch ly m t nh sau:

Mch chuyn mc logic TTL RS232 cch ly 2.5 Cc v d giao tip gia my tnh v vi iu khin: V d 1: Vit chng trnh truyn m ASCII t my tnh xung vi iu khin v vi iu khin nhn c ch A th xut ra cng P1 v truyn ngc li my tnh, c giao din nh hnh v:

15

GND

T1OUT R1IN

14 13

Trang 13

Chng trnh ngun cho vi iu khin AT89C51: Include reg_51.pdf Org Jmp Org Jnb Clr Jmp Nhan: clr Mov Mov Exit: reti Main: 0h main 23h ti,nhan ti exit ri p1,sbuf sbuf,p1

mov tmod,#20h Mov th1,#-12; thach anh 1.059MHz Mov scon,#50h; toc do 2400 bps Setb tr1 Setb es Setb ea Jmp $ Chng trnh vit trn my tnh: Private Sub Form_Load() MSComm1.Settings = "9600,N,8,1" MSComm1.CommPort = 1 MSComm1.PortOpen = True End Sub Private Sub cmdSend_Click() MSComm1.Output = Chr(text1.text) End Sub Private Sub MSComm1_OnComm() If MSComm1.CommEvent = comEvReceive Then Text2.text=Asc(MSComm1.input) End Sub V d 2: Vit chng trnh iu khin cc led sng tt bng my tnh v vi iu khin c giao din nh hnh v:

Trang 14

Giao din ca chng trnh trn my tnh:

Hnh Chng trnh giao tip vi vi iu khin Chng trnh trn vi iu khin MOV TMOD,#20h MOV SCON,#52h ; Truy n 8 bit d li u, no parity MOV TH1,#(-3) ; Tc truy n 9600 bps SETB TR1 Receive: JNB RI,$ CLR RI MOV A,SBUF MOV P1,A Jmp receive Chng trnh trn my tnh: ; ; C d li u hay khng Nu c th xu t ra LED

Private Sub Command1_Click() Dim t As Integer Dim i As Integer t = 0 For i = 0 To 7 t = t + (2 ^ i) * (1 - Shape2(i).FillStyle) Next i MSComm1.Output = Chr(t)
Trang 15

End Sub Private Sub Command2_Click() If MSComm1.PortOpen Then MSComm1.PortOpen = False End If Unload Form1 End Sub Private Sub Form_Load() MSComm1.Settings = "9600,N,8,1" MSComm1.CommPort = 2 MSComm1.PortOpen = True End Sub Private Sub Check1_Click(Index As Integer) Shape2(Index).FillStyle = 1 - Shape2(Index).FillStyle End Sub 2.6 Mng 485 2.6.1 Gii thiu chun RS-422 v RS-485. Chun RS232 dng ng truyn khng cn bng v cc tn hiu ly chun l GND chung nn d b nh hng ca nhiu lm tc v khong cch truyn b gii hn. Khi mun tng khong cch truyn, mt phng php c th s dng l dng 2 dy truyn vi sai v lc ny 2 dy c cng c tnh nn s loi tr c nhiu chung. Hai chun c s dng l RS422 v RS485 nhng thng thng s dng RS485. in p vi sai yu cu phi ln hn 200mV. Nu VAB > 200 mV th tng ng vi logic 0 v VAB < -200 mV tng ng vi logic 1. Chun RS485 s dng hai in tr kt thc l 120 ti hai u xa nht ca ng truyn v s dng dy xon i.

Hnh Chun giao tip RS422

Trang 16

Hnh Chun giao tip RS485 Bng so snh c tnh k thut gia RS422 v RS485: c tnh S thit b truyn S thit b nhn Chiu di cable cc i Tc truyn cc i (t 12 1200m) in p cc i ti ng ra thit b truyn in p ng vo thit b nhn 2.6.2 c tnh ca mng RS485 c tnh in hc: s dng tn hiu in p chnh lch i xng gia hai dy dn A v B. Nh vy gim c nhiu v cho php tng chiu di dy dn (c th ln n 1200m). in p chnh lch dng tng ng vi trng thi logic 0 v m tng ng vi trng thi logic 1. in p chnh lch u vo dy nhn c th xung ti 200mV. Cc thng s quan trng ca RS-485: Thng s in p u ra h mch in p u ra khi c ti. Dng ra ngn mch Thi gian qu u ra Rload = 54 Cload = 54pF in p ch chung u ra VOC nhy cm u vo in p ch chung VCM Rload = 54 -7V < VCM < 12V -7V -1V 3V 200mV 12V Rload = 54 iu kin Min 1,5V 1,5V Max 6V 5V 250mA 30%TB RS422 1 10 1200m RS485 32 32 1200m

10Mps 100Kbps 10Mps 100Kbps -0.25V 6V -10V 10V -7V 12V -7V 12V

Trang 17

Tr khng u vo

12k

RS-485 c kh nng ghp ni nhiu im. C th ghp ni 32 trm, c nh a ch v giao tip ng thi qua mt on RS-485 m khng cn lp b lp. t c iu ny, trong mt thi im ch mt trm c php kim sot ng dn v pht tn hiu. V th mt b kch thch u phi a cc trm v ch tr khng cao mi khi ri, to iu kin cho cc b kch thch cc trm khc tham gia. Ch ny gi l ch tri-state. Mt s vi mch RS-485 t ng x l tnh hung ny, trong nhiu trng hp khc vic thuc v trch nhim ca phn mm iu khin truyn thng. Trong mch ca b kch thch RS-485 c mt tn hiu vo 'enable' c dng cho mc ch chuyn b kch thch v trng thi pht tn hiu hoc tri-state.

S b kch thch (driver) v b thu (receiver) RS-485. Mc d phm vi lm vic ti a l -6V n 6V (trong trng hp h mch), trng thi logic ca tn hiu ch c nh ngha trong khong t 1,5V n 5V i vi u ra (bn pht) v t 0,2V n 5V i u vo (bn nhn). S trm tham gia: RS-485 cho php ni mng 32 ti n v (unit load, UL), ng vi 32 b thu pht hoc nhiu hn, ty theo cch chn ti cho mi thit b thnh vin. Thng thng, mi b thu pht c thit k tng ng vi mt ti n v. Gn y cng c nhng c gng gim ti xung 1/2UL hoc 1/4UL, tc l tng tr khng u vo ln hai hoc bn ln, vi mc ch tng s lng trm ln 64 hoc 128. Tuy nhin, tng s trm theo cch ny s gn vi vic phi gim tc truyn thng, v cc trm tr khng ln s hot ng chm hn.

Hnh Quy nh trng thi logic ca tn hiu RS-485. Gii hn 32 ti n v xut pht t c tnh k thut ca h thng truyn thng nhiu im. Cc ti c mc song song v th vic tng ti s lm suy gim tn hiu vt qu mc cho php. Theo qui nh chun, mt b kch thch tn hiu phi m bo dng tng cng 60mA va cung cp cho:

Trang 18

Hai tr u cui mc song song tng ng ti 60 (120 ti mi u) vi in p ti thiu 1,5V to dng tng ng 25mA. 32 ti n v mc song song vi dng 1mA qua mi ti (trng hp xu nht), to dng tng ng 32mA.

Hnh nh ngha mt ti n v. Tc truyn ti v chiu di dy dn: RS485 cho php truyn khong cch ti a gia trm u v trm cui trong mt on mng l 1200m, khng ph thuc vo s trm tham gia. Tc truyn dn ti a c th ln n 10Mbit/s, mt s h thng gn y c kh nng lm vic vi tc 12Mbit/s. Tuy nhin c s rng buc gia tc truyn dn ti a v di dy dn cho php, tc l mt mng di 1200m khng th lm vic vi tc 10Mbit/s. Quan h gia chng ph thuc vo cht lng cp dn v ph thuc vo vic nh gi cht lng tn hiu.

Hnh Quan h gia tc truyn v chiu di dy dn ti a trong RS-485 s dng i dy xon AWG24. Tc truyn ti a ph thuc vo cht lng cp mng, c th l i dy xon kiu STP c kh nng chng nhiu tt hn loi UPT v v th c th truyn vi tc cao hn. C th s dng cc b lp tng s trm trong mt mng, cng nh chiu di dy dn ln nhiu ln, ng thi m bo c cht lng tn hiu. Cu hnh mng: RS-485 l chun duy nht do EIA a ra m c kh nng truyn thng a im thc s ch dng mt ng dn chung duy nht, c gi l bus. Chnh v vy m n c lm chun cho lp vt l a s cc h thng bus hin thi. Cu hnh ph bin nht l s dng hai dy dn cho vic truyn tn hiu. Trong trng hp ny, h thng ch c th lm vic vi ch bn song cng (half-duplex) v cc trm c th nhn

Trang 19

quyn bnh ng trong vic truy nhp ng dn. Ch , ng dn c kt thc bng hai tr ti hai u ch khng c php gia ng dy. Trn hnh trn khng v dy ni t song trn thc t vic ni t l rt quan trng.

Hnh Cu hnh mng RS-485 hai dy (ch bn song cng).

Hnh Cu hnh mng RS-485 s dng 4 dy (ch song cng) Cp ni: RS-485 khng phi l mt chun trn vn m ch l mt chun v c tnh in hc, v vy khng a ra cc qui nh cho cp ni cng nh cc b ni. C th dng i dy xon, cp trn hoc cc loi cp khc. Tuy nhin i dy xon vn l loi cp c s dng ph bin nht nh c tnh chng tp nhiu v xuyn m. Tr u cui: Do tc truyn thng v chiu di dy dn c th khc nhau rt nhiu trong cc ng dng nn hu ht cc bus RS-485 u yu cu s dng tr u cui ti hai u dy. S dng tr u c tc dng chng cc hiu ng ph trong truyn dn tn hiu nh s phn x tn hiu...Tr u cui dng cho RS485 c th t 100 n 120. Trong trng hp cp truyn ngn v tc truyn thp, ta c th khng cn dng tr u cui. Tn hiu phn x s suy gim v trit tiu sau vi ln qua li. Tc truyn dn thp c ngha l chu k nhp bus di. Nu tn hiu phn x trit tiu hon ton trc thi im trch mu nhp tip theo (thng vo gia chu k) th tn hiu mang thng tin s khng b nh hng. C nhiu phng php chn u cui mt ng dn RS-485. Phng php c dng ph bin nht l ch dng mt in tr thun nht ni gia hai dy A v B ti mi u. Phng php ny gi l chn song song. in tr c chn c gi tr tng ng vi tr khng c trng (tr khng sng) ca cp ni. Nh vy s khng c tn hiu phn x v cht lng tn hiu mang thng tin s c m bo. Nhc im ca phng php ny l s tn hao ngun ti hai in tr.

Trang 20

Hnh Ti u cui Phng php th hai c gi l chn RC, s dng kt hp mt t C mc ni tip vi in tr R. Mch RC ny cho php khc phc nhc im ca cch s dng mt in tr thn nu trn. Trong lc tn hiu giai on qu , t C c tc dng ngn mch v tr R c tc dng chn u cui. Khi t C o chiu s cn tr dng mt chiu v v th c tc dng gim ti. Tuy nhin, hiu ng s cn tr thng thp (lowpass) ca mch RC khng cho php h thng lm vic vi tc cao. Mt bin th ca phng php chn song song cng c s dng rng ri l chn tin cy, bi n c tc dng khc na l to thin p tin cy (fail-safe biasing) m bo mt dng ti thiu cho trng hp bus ri hoc c s c. Cc phng php chn u cui RS-485. Phng php Tc Cht lng Tn hao ngun Khng chn Thp Km Thp Song song Cao Tt Cao RC Trung bnh Hn ch Thp Chn tin cy Cao Tt Cao

Ni t: Mc d mc tn hiu c xc nh bng in p chnh lch gia hai dy dn A v B khng lin quan ti t, h thng RS485 vn cn mt ng dy ni t to mt ng thot cho nhiu ch chung v cc dng khc, v d dng u vo b thu. Mt sai lm thng gp l ch dng hai dy ni hai trm. Trong trng hp ny dng ch chung s tm cch quay ngc tr li ngun pht, bc x nhiu ra mi trng xung quanh. nh hng ti tnh tng thch in t ca h thng. Ni t s c tc dng to mt ng thot tr khng nh ti mt v tr xc nh, nh vy gim thiu tc hi gy nhiu. Hn th na vi cu hnh tr u cui tin cy, vic ni t to thin p s gi mt mc in p ti thiu gia hai dy A v B trong trng hp k c bus ri hoc c s c 2.6.3 Chuyn i RS-485 v TTL. S chn v bng trng thi ca MAX485 v SN75176 ging nhau dng chuyn i mc tn hiu chuyn i l TTL sang RS485

Trang 21

+5V

8 1 2 3

R RE DE A B

4 D 5

6 7

Hnh S ca IC SN75176B v Max485. MAX485 gm b li v b thu, tn hiu vo b li D c mc logic TTL i thnh hai tn hiu A v B, khi tn hiu iu khin DE=0 th 2 chn AB cch ly vi vi mch. Tn hiu vo b thu l A v B, tn hiu ra l R c mc logic TTL ty thuc vo in p gia A v B, khi /RE=1 th R cch ly vi vi mch. Mch li: Input D H L X Mch thu: VID=VA-VB VID0,2V 0,2VVID-0,2V VID-0,2V X Ng vo h Control /RE L L L H L OUTPUT R H ? L Z H Control DE H H L OUTPUT A B H L L H Z Z

Nu mng RS485 lm vic theo ch master slave, master cho DE=1 truyn d liu, cn cc slave c DE=0, /RE=0 ch nhn d liu. khi master mun nhn d liu th DE=0, /RE=0 cn slave pht s cho DE=1, /RE=1. iu khin cc ng DE, /RE bng tn hiu RTS hay mch nh th. 2.6.4 Mch chuyn i RS232 sang RS485 Nguyn l hot ng ca mch: Tn hiu RS-232 t cng Com ca PC (chn 2,3,7) c a vo ng vo v ra RS-232 ca Max 232 (chn 14, 8 v 13), ng ra v ng vo TTL ca Max 232 (chn 11,9 v 12) s c a vo ng vo v ra TTL ca SN75176B. Ng ra ca SN75176B (chn 6 v 7) s l tn hiu dng thc RS-485. Khi truyn d liu th a chn RTS ln mc cao, chn RE v DE ca SN75176B s mc cao. RE mc cao s cm nhn, DE tch cc mc cao, do mng trng thi truyn tn hiu. Khi nhn d liu th a chn RTS xung mc thp, chn DE mc thp s cm truyn, RE mc thp s cho php nhn.
Trang 22

Vi hot ng ca mch chuyn i nh trn th mng ny ch truyn d liu theo kiu half-duplex. Mch chuyn i c bn nh sau:
P1 5 9 4 8 3 7 2 6 1 VCC

0
U10 TX RTS 8 13 RX 7 14 4 C13 C 5 MAX232

VCC VCC
16 8

R9 R 6 R8 R 7 R10 R 3 2 1 CON3 J7

U17 R1OUT R2OUT T1IN T2IN C1C1+


V+

VCC

R2IN R1IN

TX RX

T2OUT T1OUT C2+ C2-

11 10 3

DE RE D R

VCC GND 5

12 9

RTS

3 2 4 1

A B

CONNECTOR DB9

SN75176B C12

1 6

GND

0
C8

V-

15

C C15 C C11 C

VCC

Hnh Nguyn l mch chuyn i RS-232 sang RS-485. iu khin truyn nhn c thc hin bng chn RTS. Nh vy, khi PC cn truyn data, n s kch chn RTS sao cho chn s 3 ca SN75176B ln mc cao v bt u thc hin truyn d liu. Thc hin truyn d liu xong, chn s 2 ca SN75176B s c a xung mc thp ch cc tn hiu tr v t cc Slave. Cng vic s c tip tc nh vy cho n khi kt thc qu trnh truyn nhn. Tuy nhin do tnh cht v hot ng ca Max 232 v chun RS-232, khi chn 7 ca cng Com (chn RTS ) mc cao th chn 12 ca Max 232 li mc thp, v vy mch chuyn i c ci tin nh sau:
J1 1 2 NGUON 5V LED P1 1 6 2 7 3 8 4 9 5 CONNECTOR DB9 3 4 + C2 5 C2C1C2+ V+
GND 16

VCC D4 D5

U1 RTS RXD 8 TXD 14 7 1 + C1 13

LED VCC VCC R1OUT R2OUT T1IN T2IN 12 9 11 10


8

VCC NOITOIKIT2 R4 R 4 1 2 3 C4 V6 C3 2
+

R1IN R2IN

VCC

U2 D R RE DE

R7 560 A 6 R6 120
GND

1 2 3 1 2 3

J3

VCC

J2

T1OUT T2OUT C1+

7 NOITOIKIT1 R5 560

SN75176 R3 R VCC
+

MAX232 VCC

15

R2

D2

D1 R1

10K D3

5K

Hnh Mch chuyn i RS-232 sang RS-485.

Trang 23

Truyn nhn ni tip theo chun UART, cc ng truyn TXD v RXD lun bit 1 (5V theo chun TTL). n khi c tn hiu c truyn th ng truyn c h xung bit 0 (0V theo chun TTL) bt u bit START. Chun RS-232 qui nh bit 1 l mc p thp t -3V n 12V, bit 0 l mc p cao t +3V n +12V. Chun TTL li qui nh ngc li, bit 1 l mc p cao ( ti a +5V), bit 0 l mc p thp (thp nht l 0V). Do y ta qui c mc cao l p dng +5V hay +12V, mc thp l p m -12V hay 0V. Trong thc t, vic iu khin vic truyn nhn d liu thng c thc hin bng chn RTS hoc CTS. Do chn 7(RTS )v chn 8(CTS)ca cng Com c ni vi nhau nhm mc ch lm cho mch thm sinh ng khi s dng. Khi truyn chn RTS chn s 7 ca cng Com ln mc cao, khi nhn th RTS li xung mc thp. Trong khi mch khng thc hin truyn nhn th chn 9 (l chn thc hin vic truyn d liu dng TTL), chn 10 (l chn thc hin vic nhn d liu ) v chn 11 ca Max 232 mc cao (+5V) nn chn 14 ca Max 232 li mc thp v vy Led D4 c phn cc ngc nn khng sng. Led D5 ph thuc vo chn RTS lc , nu RTS mc cao th D5 sng, RTS mc thp th D5 tt. Khi thc hin truyn, RTS c kch ln mc cao nn chn 12 ca Max 232 xung mc thp (0V).Trong khi , chn 14 vn mang p m (do chn 11 lun mc cao), iu ny lm cho Led D4 b phn cc ngc nn khng sng. Lc ny d liu vn cha c truyn nn chn 9 vn mc cao v Led D5 sng. Khi d liu ang c truyn, chn 9 lun mc cao ti bt c bit 1 no, do Led D5 c dng ch ra rng ti node ny ca mng ang trong trng thi ang truyn d liu. Khi thc hin nhn, RTS c a xung mc thp nn chn 12 ca Max 232 ln mc cao (+5V). Trong khi , chn 9 li mc cao v chn 14 mang p m (do chn 11 lun mc cao), iu ny lm Led D4 v c Led D5 b phn cc ngc nn khng sng. Lc ny d liu vn cha c truyn n nn chn 22 lun mc cao nn c hai Led vn cha sng. Khi d liu ang c nhn, chn 11 lun mc thp ti bt c bit 0 no, lc chn 14 s mc cao (+12V). Chnh lch p gia hai u D4 (gia 12V v 5V) lm D4 sng. Do Led D4 c dng ch rng node ny ca mng trong trng thi ang nhn d liu. Nh ni trn, khi RTS (chn s 7 ca cng Com) mc cao th chn 12 ca Max 232 mc thp, do vic chuyn i chn 12 ca Max 232 thnh mc cao l cn thit thun li cho vic lp trnh iu khin. Trong mch thc hin (mch thi cng ), khi chn RTS mc cao (+12V) th D2 v D1 u dn. Lc p anode ca D1 s bng p cathode v bng Vcc=5V. Do /DE mc cao (5V). Khi RTS mc thp th D1 v D2 khng dn, trong khi D3 dn lm cho p /DE bng 0V (GND).

Trang 24

Trang 25

You might also like