You are on page 1of 102

ti: NGHIN CU V THIT K MNG RS 485 Trang:1

GII THIU TI

Ngy nay vi tc pht trin nhanh ca cng ngh vi in t k thut


truyn thng v cng ngh phn mm. Trong nhng nm gn y to ra s
chuyn bin c bn trong hng i, m c ng dng thc trin trong i sng,
trong khoa hc k thut m cng ngh vi x l em n.V d nh iu khin mt
to nh, cc thit b sinh hot, t ng bo chy ...v..v
Trong lnh vc t ng ho cng nghip t n gin iu khin trc tuyn
trn mt n v x l cho ti kt hp ca nhiu vi x l iu khin mt h
thng phc tp.Vy vi em l sinh vin ca nghnh t ng iu khin vi ti
c giao l "Nghin cu v thit k mng RS485" ng dng vo thc t cho
cng vic chuyn mn, em s i su vo pht trin v ng dng mng RS485
phc v cho cng vic chuyn mn ca em (ni ring) v trong nghnh cng
nghip (ni chung).
Vi ti c giao l nghin cu v thit k mng RS485 ng dng cho
ti y l dng phng php Master v Slave (ch v t) ti pht trin
gm:
1. Trm ch ( Master ) v hai trm t (Slave ).
2. Trm t 1 dng iu khin Led thng qua ng truyn RS 485.
3. Trm t 2 cng ging nh trm t1 nhng c thm iu khin ng c.
- ng truyn RS485 l chun giao tip ni tip bt ng b cn bng
s dng in p chnh lch i xng gia hai u dy dn. Dng mng Half -
Duplex (bn song cng) tc l ti mt thi im bt k trn dy truyn ch c th
l mt thit b hoc l truyn hoc l nhn.
- RS 485 cho php 32 b truyn trn Bus to thnh mng cc b (mng
Lan ).
ti: NGHIN CU V THIT K MNG RS 485 Trang:2

PHN I

C S L THUYT

Chng I: CH TRUYN TI

I:Truyn bit song song v truyn bit ni tip.

1: Truyn bit song song :

- Phng php truyn bit song song c dng ph bin trong cc bus ni
my tnh, bus gi liu, bus a ch, bus iu khin, tc truyn ti ph thuc vo
s cc knh dn hay chnh l rng ca bus song song.

VD: 8 bit, 16 bit, 32 bit hay 64 bit.

- Phng php truyn ny ch hn ch khong cch nh, c yu cu rt


cao v thi gian v tc truyn .

2: Truyn bit ni tip :

- Vi phng php ny tng bit c chuyn i mt cch tun t qua mt


ng truyn duy nht, tc bit v th hn ch, nhng cch thc hin li n
gin, tin cy ca d liu cao. Tt c cc mng truyn thng u s dng
phng php ny .

II: Truyn ng b v khng ng b.

- S phn bit gia ch truyn ng b v khng ng b ch lin quan


ti phng thc truyn bit song song, vn t ra y l ng b ho gia bn
gi v bn nhn d liu .

- Trong ch truyn ng b cc i tc truyn thng lm vic theo cng


mt nhp, tc vi cng tn s v lch pha c nh c th quy nh mt trm c
ti: NGHIN CU V THIT K MNG RS 485 Trang:3

vai tr to nhp v dng mt ng dy ring mang nhp ng b cho cc trm


khc .

- Vi ch truyn khng ng b bn gi v bn nhn khng lm vic


theo mt nhp chung, d liu trao i thng c chia thnh tng nhm 7 hoc 8
bit gi l k t, cc k t c chuyn i vo cc thi im khng ng u. V
vy cn thm 2 bit nh du khi u v kt thc cho mi 1 k t.

III: Truyn mt chiu, hai chiu ton phn v gin on.

- Mt ng truyn d liu hoc lm vic theo ch hai chiu ton phn


hoc hai chiu gin on .

- Trong ch truyn mt chiu, thng tin ch c truyn i theo mt


chiu, mt trm ch c th ng vai tr hoc bn pht hoc bn nhn thng tin
trong sut qu trnh giao tip.

- Ch truyn hai chiu gin on cho php mi trm c th tham gia


gi hoc nhn thng tin nhng khng cng mt lc, nh vy m thng tin c
trao i theo c hai chiu lun phin trn cng mt ng truyn vt l.

- Vi ch truyn hai chiu ton phn mi trm u c th gi v nhn


thng tin cng mt lc. Phng php ny s dng hai ng truyn ring bit cho
thu v pht .

IV: Truyn ti di c s, truyn ti di mang v truyn ti di


rng.

1: Truyn ti di c s :

- Mt tn hiu mang mt ngun thng tin c th biu din bng tng ca


nhiu dao ng c tn s khc nhau nm trong mt phm vi hp c gi l di
tn c s hay di hp. Tn hiu c truyn i cng chnh l tn hiu c tao ra
ti: NGHIN CU V THIT K MNG RS 485 Trang:4

sau khi m ho bit. Mi thnh vin trong mng phi phn chia thi gian s
dng ng truyn v trong mt nhp ch c th truyn i mt bt .

2: Truyn ti di mang :

- Trong mt s trng hp di tn c s khng tng thc trong mi


trng lm vic .

VD: Tn hiu c tn s, c th bc x nhiu nh hng ti cc thit b


khc hoc ngc li b cc thit b khc gy nhiu. khc phc tnh trng ny ta
s dng tn hiu mang di tn ny ln hn nhiu so vi tn s nhp, d liu cn ti
s dng kim ch tn s, bin pha tn hiu mang, bn nhn s thc hin qu
trnh gii iu ch phc hi thng tin ngun .

3: Truyn ti di rng :

- Mt tn hiu c th cha ng nhiu ngun thng tin khc nhau, bng


cch s dng kt hp mt cch thng minh nhiu thng s thng tin. Sau khi nhiu
ngun thng tin khc nhau c m ha bit, mt tn hiu c to ra s dng
iu bin mt tn hiu khc thng c tn s ln hn nhiu gi l tn hiu mang,
cc tn hiu mang c iu bin c tn s khc nhau nn c th pha trn xp
chng thnh tn hiu duy nht c ph tn tri rng, tn hiu ny cui cng li c
dng iu bin mt tn hiu mang khc, tn hiu thu c t khu ny mi c
truyn i, y chnh l k thut dng knh phn tn.

V: Cu trc mng bus:

- c s dng mt ng dn chung cho h thng, cc thnh vin tham


gia vo mng c ni trc tip qua ng dn chung ny, y l mt kt cu ca
cu trc n gin c u im v mt tit kim dy dn, d lp t.

- Trong cu trc bus ny ta c th chia lm ba cu trc sau: nh c m


t hnh v 1.3 (trang bn).
ti: NGHIN CU V THIT K MNG RS 485 Trang:5

+ Daisy-chain, Trunk-line/Drop-line v Mch vng khng tch cc.

+ hai cu trc u Daisy-chain v Trunk-line/Drop-line cc thnh vin


tham gia vo mng c ni vi nhau theo cu trc ng thng bi v hai u
ca ng thng khng khp kn.

+ i vi Daisy-chain cc trm c ni theo phng php ni tip


nhau bi nhng dy dn khng ni qua on dy ph nh cu trc ca Trunk-
line/Drop-line.

+ Phng php ni mng trong cu trc ca Trunk-line/Drop-line th


ngc li so vi Daisy-chain, mi thnh vin ni mng khng ni trc tip nh
trn m phi qua mt on dy dn ph gi l Drop-Line kt ni vo bus ti
mt ng dn chnh gi l Trunk-line.

+ Mch vng khng tch cc cng tng t nh cch ni Trunk-


Line/Drop-Line, cng ni qua mt on dy dn ph Drop-Line n trc chnh
nhng khc nhau ch trc chnh khp kn thnh mt vng gi l mch vng. Tt
c c minh ha hnh v di dy.
Cac oan day dan Trunk- line

Drop-line Drop-line Drop-line

Trunk-line/Drop-line
Daisy-chain

Mach vong khong tch

Hnh 1 : Cu trc bus


ti: NGHIN CU V THIT K MNG RS 485 Trang:6

- i vi h thng bus ny ngoi nhng u im n gin nh d kt ni v


nhng tnh nng u vit ca chng, bn cnh c s tin li trong vic thay th,
sa cha, thm bt mt thnh vin vo trm khng lm nh hng n h thng,
nn i vi h thng ny thng c s dng rng ri trong h thng mng iu
khin cng nghip. Bn cnh nhng u im trn vic s dng chung mt ng
truyn cng t ra mt gii php hp l, nht l s lng thnh vin ca mng
tng ln l s i hi phn chia knh truyn theo thi gian tht ph hp
trnh xung t xy ra khi nhiu trm cng thu pht mt lc, th gi l phng php
truy cp bus. Bn cnh nhng u im y cu trc bus cng c nhng khuyt im
sau:

- Mt tn hiu gi i s ti tt c cc trm c mt trn mng do khng


kim sot c nu khng thc hin vic gn a ch cho trm cn truyn, trong
thc t vic gn a ch s gy ra khng t kh khn.

- Tt c cc trm u c kh nng pht cng nh lun kim tra ng truyn


xem c d liu gi cho mnh hay khng, do h thng phi thit k sao cho
ti thc hin cng vic ny mi trm, dn n s hn ch s lng thnh vin
tham gia mng.

- Chiu di dy dn cng tng i di, v vy i vi cu trc ng thng


thng xy ra phn x gia cc mi ni lm suy gim cht lng tn hiu, do
mt vn cn phi khc phc ti im ny.

- Trng hp dy dn t hay ngn mch trong phn kt ni bus ca mt


trm b h hng u dn n ngng hot ng h thng m vic nh v cng gp
nhiu kh khn.

VI: Cu trc mch vng ( tch cc):

- tm hiu cu truc ny trc ht ta kho st qua m hnh ca cu trc


bng hnh v di y.(Hnh 1)
ti: NGHIN CU V THIT K MNG RS 485 Trang:7

MASTER

Khong co ieu khien Co ieu khien


trung tam trung tam

Hnh 2 : Cu trc mch vng.

- Cu trc mch vng tch cc l cu trc cc thnh vin tham gia vo


mng c kt ni mt cch tun t t thnh vin ny n thnh vin kia sao cho
chng lin lc vi nhau theo mt vng khp kn. Mi thnh vin t tham gia tch
cc vo vic kim sot ng truyn nhn bit mt dng d liu, v mi trm
nhn d liu t mt trm ng trc v chuyn tip cho trm ng sau n theo
mt chiu c nh hng trc cho n khi dng d liu ny tr v im xut pht
ban u t my pht dng d liu v c my ny thu nhn tr li v hy b.
u im y l mi mt trm va c chc nng thu va c chc nng pht li,
do d trnh c s suy gim ca tn hiu, bi mi ln mt trm thu c th ng
thi pht li dng d liu nn c xem nh c khuch i tr li tn hiu
ban u, do i vi cu trc ny c th truyn c vi khong cch kh ln v
nhiu trm c th c kt ni hn so vi cu trc bus, mt u im na l dng
d liu c di chuyn theo mt hng nht nh, do cng l mt vn gp
phn tch cc vo vic khc phc xung t trn ng truyn, i vi kiu mch
vng c hai cu trc, l cu trc c iu khin trung tm v khng c iu
khin trung tm c minh ha hnh v trn (Hnh 2 ).
ti: NGHIN CU V THIT K MNG RS 485 Trang:8

- Vi mch vng khng c iu khin trung tm th cc thnh vin tham gia


lin kt mng l nh nhau khng c s u tin trc hay sau, do mi thnh vin
trn mng t phn chia kim sot ng dn.

- i vi mch vng c iu khin trung tm th vic kim sot ng


dn thuc trch nhim ca trm ch m nhim.

- Cu trc mch vng c xy dng trn c s ca cu trc im - im v


vy rt thch hp cho vic s dng cng c truyn thng hin i nh cp quang,
tia hng ngoi.v.v Vic gn a ch cho cc phn t trn mng cng c th do trm
ch iu khin mt cch t ng. u im tip theo l i vi cc thnh vin tham
gia ni mng mt cch tun t va thu va pht. Do vic khc phc khi c s
c xy ra trn ng truyn nh t dy, ngng mch cng tr nn d dng
xc nh, tuy nhin s hot ng ca mng c lin tc ta c th kt hp mt
ng dy d phng c m t khi qut qua nhng hnh v di y (Hnh 3 )

1 2 1 2
8 3 8 3

7 4 7 4
6 5 6 5

By-pass s co ng day gia 1 va 2 au tat do s co tai tram 3

Hnh 3: X l s c trong mch vng.

- Trong trng hp th nht trn hnh By-pass s c ng dy gia 1 v


2 c m t nh sau: khi xy ra s c ti mt im cc trm ln cn ti im s
c t pht hin li ng truyn v chuyn mch qua ng dn ph i vng qua
ti: NGHIN CU V THIT K MNG RS 485 Trang:9

v tr b s c. Trong trng hp trn hnh u tt do s c ti trm 3 khi mt


trm b s c cc trm ln cn t u tt qua n i vng li nh hnh v minh ha.

VII. Cu trc sao:

- L cu trc m tt c cc trm tham gia vo mng phi c lin kt


qua mt mng trung tm, trm ny ng vai tr nh mt trung tm giao tip gia
cc trm, iu khin truyn thng cho ton b mng, s giao tip gia cc thnh
vin khc nhau trn mng u thng qua trm ny, nu nh trm trung tm ng
vai tr tch cc th n s kim sot ton b vic truyn thng ca mng, ngc li
chng c xem nh mt b chuyn mch thng thng cho cc trm khc bt tay
nhau. Xt v mt kin trc lin kt vt l th c xem mng nh mt lin kt
im - im thng thng, nhng v mt logic vn c th l im - nhiu im.

- Cc nhc im ca cu trc sao l:

+ Nhc im th nht l: trm trung tm i hi phi c tin cy


cao, i vi trm ny n ging nh mt b no ca mng.

- Nhc im th hai l: Nu khong cch gia cc trm nh hn nhiu so


vi t cc trm n trm trung tm th qu l tn km dy dn, do i vi h
thng mng s dng trong cng nghip i khi c phn hn ch. Trn hnh di
y c th m t mt cu trc dng sau:

Tram trung tam

Hnh 4 : Cu trc hnh sao


ti: NGHIN CU V THIT K MNG RS 485 Trang:10

VIII. Cu trc cy (Tree):

- Cu trc cy cng c s dng rng ri trong k thut t ng ha cng


nghip n c th c din t nh mt chui cc lin kt ng thng lin kt li
vi nhau to thnh cu trc cy. Trong trng hp ny cc phn t dng ni
cc phn t ng thng li vi nhau c ngha c bit.

- Cc phn t kt ni cc dng cu trc ng thng to thnh cu trc


dng cy c th n gin l cc b lp (Repeater) kt ni cc phn t c cng
kiu, hay l cc Router, Bridge, Gateway cho cc trng hp kt ni cho cc mng
c kiu khc nhau. Hnh v di y l m hnh mt kiu cu trc dng cy:

R Repeater

Hnh 5 : Cu trc cy

IX. Kin trc giao thc :

- tm hiu kin trc ca giao thc trc ht ta cn hiu khi nim dch
v truyn thng l g.
- Vy dch v truyn thng l g: L mt dch v cha cc qui tt, qui c
m cc thnh vin tham gia ni mng cn c s dng, cc dch v c s
ti: NGHIN CU V THIT K MNG RS 485 Trang:11

dng vi cc yu cu khc nhau nh trao i thng tin d liu, gim st thit b,


to lp cu hnh v.v Cc dch v truyn thng ny c cung cp bi cc nh cung
cp h thng truyn thng, bi phn cng hoc phn mm chuyn dng, m i
hi ngi s dng phi khai thc ph hp cho mc ch v yu cu ring ca mnh
tham gia ni mng, vic khai thc cc dch v t pha ngi s dng phi
thng qua mt phn mm giao din mng. Chng hn xy dng mt phn mm
ng dng no nh trong iu khin gim st SCADA, phn mm lp trnh vi
iu khin, phn mm lp trnh iu khin nh Delphi kt hp vi cc th vin
phn mm c sn to ra mt chng trnh ng dng truy xut d liu n cc vi
x l hay cc PLC v.v Tt c u thit lp sn trn cc cng c phn mm chuyn
dng m chng ta cn hiu v khai thc chng mt cch c mc ch cho mt yu
cu no nh trong lnh vc t ng ha chng hn th c gi l dch v
truyn thng.
- Nhng h thng truyn thng khc nhau c th qui nh mt chng ring
bit v cc yu cu dch v truyn thng ca mnh. Mt h thng truyn thng
khng nht thit phi h tr y cc dch v truyn thng, v d mt cng c
phn mm SCADA ta c th khai thc d liu t cc cm bin cc PLC nhng
khng nht thit phi h tr phn mm lp trnh cho PLC v phn mm ny lun i
km theo PLC khi ta c c.
- Ta cng c th phn loi dch v truyn thng theo cc cp khc nhau,
nh cc dch v s cp c th l cch to lp ngt ni ca mt phn t trn mng
thng thng, v cc dch v cp thp nh s trao i d liu ca cc phn t v
cui cng cc dch v cp cao. Mt dch v cp cao lun lun c h tr bi
dch v cp thp hn n, thc hin chc nng ca ring mnh chng hn nh
to lp cu hnh h thng, hay bo co trng thi c th s dng dch v cp di
n l dch v trao i d liu thc hin, ngoi cch trao i d liu cng
cn cch to lp v ngt ni ca dch v s cp. Vic phn cp dch v truyn
ti: NGHIN CU V THIT K MNG RS 485 Trang:12

thng gp phn rt quan trng trong vic s dng dch v dn n s tin li cho
ngi s dng.

X. Giao thc:

- Trong thc tin cuc sng s giao tip gia ngi vi ngi cng t ra
mt yu cu lm sao hiu c ngn ng ca nhau, nhn bit mc ch yu
cu cng nh hnh ng trong giao tip, m rng hn vn y ta ni n s
giao tip ca my mc thit b cng cn c mt ngn ng chung. Vy trong k
thut truyn thng cng nghip cng nh mt mng my tnh rng ln c s
giao tip nh vy th yu cu t ra l bn cung cp dch v cng nh bn s dng
dch v phi tun th nhng qui tc, th tc nht nh trong phn giao tip gia
cc phn t vi nhau. Vic tun th nhng qui tc qui c c gi l giao
thc. Vy giao thc chnh l c s cho vic s dng cc dch v truyn thng.
Mt qui nh chun giao thc bao gm cc thnh phn sau:
+ C php (Syntax): C php l mt tiu chun qui nh v cu trc ca
mt dng d liu c s dng khi trao i cho nhau trong cha ng y
cc qui nh to thnh mt gi d liu hp l, chng hn nh mt gi d liu
phi c phn thng tin hu ch gi l d liu, thng tin im n c gi l a
ch, thng tin iu khin, thng tin kim li .v.v
+ Ng ngha (Semantic): Qui nh ngha tng phn ca mt gi d liu,
nh phng php nh a ch, phng php bo ton d liu, th tc iu khin
thng tin, x l li.
+ nh thi (Timing): Qui nh v trnh t th tc giao tip, ch truyn
ng b hay bt ng b, tc truyn .v.v
+ Vic thc hin mt dch v truyn thng trn c s ca mt giao thc
tng ng gi l x l giao thc bn gi, v gii m x l giao thc bn nhn.
Vic thc hin tng giao thc tng ng cng ging nh vic x dng cc dch
ti: NGHIN CU V THIT K MNG RS 485 Trang:13

v truyn thng theo cc cp cng c s phn chia giao thc theo tng cp v s
h tr ca cc giao thc cho nhau.
+ Giao thc cp cao gn gi vi ngui s dng v thng c thc hin
bng phn mm, mt s v d giao thc cp cao l FTP (File Transfer Protocol)
dng trong trao i file t xa, HTTP (Hypertext Transfer Protocol) dng trao
i cc trang HTML trong cc ng dng Web, MMS (Manufactoring Message
Specification) dng trong t ng ha cng nghip.
+ Giao thc cp thp gn gi vi thit b phn cng thng c thc hin
trc tip trn cc mch in t, mt s v d v giao thc cp thp nh sau:
TCP/IP (Transmission Control Protocol/Internet Protocol) c dng ph bin
trong Internet, HART (Highway Adressable Remote Transducer) dng trong iu
khin qu trnh, HDLC (High Level Data-link Control) lm c s cho nhiu giao
thc khc v UART dng trong a s cc giao din vt l ca cc h thng bus.
Hai giao thc ni sau HDLC v UART c vai tr quan trng trong truyn thng
cng nghip do c gii thiu s lc y:
+ Giao thc HDLC:
HDLC cho php ch truyn ni tip ng b hoc khng ng b. Mt bc
in hay cn gi l mt khung (Frame) c cu trc sau:

01111110 8/16 bit 8 bit n bit 16/32 bit 01111110

C a ch ieu khien D lieu FCS C

- Mi khung c m u v kt thc bng mt c hiu (Flag) vi dy bit


01111110. Dy bit ny c m bo khng bao gi xut hin trong cc phn
thng tin khc qua phng php nhi bit (Bit Stuffing), tc c sau mt dy 5 bit
c gi tr 1 (11111) th mt bit 0 c b sung vo.
ti: NGHIN CU V THIT K MNG RS 485 Trang:14

- a ch tip theo cha a ch bn gi v bn nhn ty theo cch gn


a ch 4 hoc 8 bit tng ng vi 32 hoc 256 a ch khc nhau, ny c chiu
di l 8 hay 16 bit.

- Trong HDLC c ba lai bc in c phn bit thng tin iu khin


8 bit, l:

+ Information Frames: khung thng tin (I-Format)

+ Supervisory Frames: khung gim st vn chuyn d liu (S-Format)

+ Unmunbered Frames: khung b tr kim sot cc mi lin kt gia cc


trm

+ Cu trc cc thng tin iu khin c qui nh nh sau:

1 2 3 4 5 6 7 8

I-Format 0 N (S) P/F N (R)

S-Format 1 0 S P/F N (R)

U-Format 1 1 M P/F M

Trong cc k hiu vit tc c ngha nh sau:

+ N (S) : S th t khung c gi chia Module cho 8

+ N (R) : S th t khung ch nhn c chia Module cho 8

+ P/F : bit ch nh kt thc qu trnh truyn

+ S, M : Cc bit c chc nng khc

- thng tin c di bin thin, cng c th trng nu nh bc in


khng dng vo mc ch vn chuyn d liu. Sau thng tin l n dy bt kim
ti: NGHIN CU V THIT K MNG RS 485 Trang:15

li FCS (Frame Check Sequence), dng vo mc ch bo ton d liu. Tc


truyn thng tiu biu i vi HDL t 9,6 Kbit/s n 2Mbit/s.

Giao thc UART:

- UART (Universal Asynchronous Receiver/Transmitter) l mt mch vi


in t s dng rt rng ri cho vic truyn bit ni tip cng nh chuyn i song
song - ni tip gia ng truyn v bus my tnh. UART cho php la chn gia
ch truyn mt chiu, hai chiu ng b hoc hai chiu khng ng b. Vic
truyn ti c thc hin theo tng k t 7 hoc 8 bit, c b sung hai bit nh
du u cui v mt bt kim tra chn l P (Parity Bit). V d vi k t 8 bit c
minh ha di y.

Start 0 1 2 3 4 5 6 7 p Stop

0 LSB MSB 1

- Bt khi u (Start bit) bao gi cng l 0 v bit Stop (Stop bit) bao gi
cng l 1. Cc bit trong mt k t bao gi cng c truyn th t t bit thp
LSB ti bit cao MSB. Gi tr ca bit chn l P ph thuc vo cch chn:

+ Nu chn parity chn, th P bng 0 khi tng s bit 1 chn.

+ Nu chn parity l th P bng 0 khi tng s bit 1 l.

- Nh tn ca n th hin, ch truyn khng ng b c s dng


y, t khng c mt tn hiu ring phc v cho vic ng b ha gia bn gi v
bn nhn. Da vo cc bit u cui v tc truyn thng c t trc cho
c hai bn, bn nhn thng tin phi t chnh nhp ly mu ca mnh ng b vi
bn gi.
ti: NGHIN CU V THIT K MNG RS 485 Trang:16

XI. M hnh lp :

- Vic trao i thng tin trn mng i hi c mt gii php hp l, lm


sao chng c th hiu nhau bt tay nhau trong giao tip v hiu c ngha yu
cu thng tin, do i hi phi c s tng tt rt phc tp gia cc thnh vin
trn mng, mt yu cu tru tng kh cao gia cc thit b phn cng cng nh
phn mm, n gin thay v phi x l ton b trn mt nn tng duy nht, ta
c th chia nh cng vic thnh nhng lp v x l mt cch c lp trn nhng
lp th gi l m hnh lp.

- thc hin mt dch v truyn thng ca mt gi gi liu c gi i,


c x l qua nhiu lp bn gi v bn nhn trn c s cc giao thc qui nh
c gi l x l giao thc theo m hnh lp, mi lp y c th thc hin bng
cc chc nng ca phn cng hay phn mm. Mi mt trm c xem nh mt h
thng a tn, trong mi tn c xy dng trn c s tn trc n, s lng cc
tn cng nh tn v chc nng ca cc tn u ph thuc vo nh thit k v mc
ch ca mi tn l cung cp dch v cho tn cao hn t pha bn gi cng nh bn
nhn, d liu s c thm vo nhng thng tin h tr khi i qua x l ca tn
i vi bn gi, bn nhn s thc hin ngc li d liu c xc lp v tch ra
khi i qua cc tn x l tng ng tn , hnh v di y m t qu trnh thc
hin cc lp bn gi v bn nhn.

Lp N+1 D lieu
D lieu

Lp N N D lieu D lieu
N

Lp N-1 N-1 D lieu N-1 D lieu


N N

Hnh 6 :ng truyen vat l


ti: NGHIN CU V THIT K MNG RS 485 Trang:17

- Nguyn tc ca kin trc phn lp trong mt mng l: mi mt h thng


trong mt mng u phi c mt cu trc lp, tc l s lng lp cng nh chc
nng ca mi lp l nh nhau v l do thc hin mt thng tin trn mt mng
i hi phi c hai hay nhiu i tc tham gia, vy vic to lp mt thng tin ch
c thc hin khi cc i tc thc hin truyn thng trong cc lp tng ng, s
dng chung mt ngn ng , chung mt giao thc th c th trao i thng tin cho
nhau, nu s truyn thng c s khc bit v giao thc, chng hn nh gia hai
mng khc nhau th iu cn thit y l dng mt b chuyn i hiu c hai
giao thc nh Bridge hay Gateway. Vn mu cht y c th thc hin
c vic chuyn i l s thng nht v dch v truyn thng, xut pht t yu
cu ny ra i cc kin trc giao tip chun sau y:

XII : Kin trc tiu chun OSI :

- Nhiu nh sn xut theo m hnh ISO (International Standards


Organization) l t chc tiu chun quc t cho OSI (Open Systems
Interconnection) l kt ni cc h thng m. M hnh ny c nh ngha vo
nm 1979 gii quyt vic truyn thng gia cc thngmng khng ging nhau.

A B

User program User program

Application Application
Presentation Presentation
Session Session
Transport Transport
Nerwort Nerwort
Data link Data link
Physical Physical

Moi trng truyen

Hnh 7: Mo hnh ISO


ti: NGHIN CU V THIT K MNG RS 485 Trang:18

- M hnh chun ISO nh sau: nu d liu c truyn gia hai thit b


qua mt mng chung th ta cn phi nh ngha giao thc v k thut truy cp.
Cc thng tin lin quan v d nh thit lp link cng phi c xc nh. Do t
chc chun ha quc t ISO nh ngha m hnh 7 lp nh sau:

- Cc lp 1, 2 v 4 tuyt i cn thit cho vic truyn thng tin cy, y


. Lp 1 nh ngha cc iu kin vt l nh cc mc dng in v in p.
Trong lp 2 c nh ngha c ch truy cp v a ch ca trm. iu ny bo
m ch c mt trm c th gi d liu qua mng bt c thi im no.

- tin cy v s tng thch d liu ch c m bo bng cc chc


nng ca lp 4 lp vn chuyn. Xut pht t iu khin vn chuyn, lp vn
chuyn cng thc hin cc chc nng iu khin lun d liu, cm v ghi nhn.

- Cc link c thit lp nhm c c chc nng ny.

- Lp th 7 l lp ng dng cha cc dch v truyn thng v d c m


t hnh v di y.

- M hnh chun nh ngha cc lp m trong ngi ta nh ngha


p ng ca cc cng s truyn thng. Cc lp ny c sp xp theo lp ny trn
lp kia v lp th 7 l lp cao nht v ch nhng lp ng dng nhau truyn thng
vi nhau.

- Cch ci t cc lp ring trong trng hp thc thi khng xc nh theo


m hnh chun m ph thuc vo ci t c th. Trong nhng trng hp nh
PROFIBUS th khng s dng cc lp 3 v 6 c oc s truyn thng vi tc
cao vi kh nng thi gian thc v cc chc nng thit yu c tch hp trong
lp 1, 2 v lp 7.

- ngha ca cc lp nh bn sau y:
ti: NGHIN CU V THIT K MNG RS 485 Trang:19

Lp Ten goi Chc nang ac tnh

Cac chc nang ng dung Cac dch vu


Lp ng dung cung cap cac dch vu truyen thong.
7
(Application layer) truyen thong chuyen V du:

dung Read/Write

Gii thieu d lieu


chuyen oi dang gii
Lp gii thieu Ngon ng thong
6 thieu chuan cua he thong
(Presentation layer) thng.
truyen thong sang dang
phu thuoc thiet b.

Lp kiem soat noi ong bo hoa m ong va


5 ieu phoi phien
(Session layer) giam sat mot phien.

Ket noi ngat ket noi


Van chuyen
Lp van chuyen cac link lap lai cac
4 khong co li cac
(Transport layer) packet, sap xep th t
goi d lieu .
cac packet, ong goi.

nh a ch cua mang
Lp mang Truyen thong
3 khac routing, ieu khien
(Network layer) gia hai mang
luon.

Lp lien ket d lieu Cac ky thuat truy cap cac Kiem tra CRC,
2
(Data link layer) bien gii khoi d lieu, taken passing
ti: NGHIN CU V THIT K MNG RS 485 Trang:20

van chuyen d lieu


khong loi, phat hien loi
x ly loi.

Cac kha canh vat ly cua


chuyen d lieu, moi
Lp vat ly trng truyen, toc o
1 Cap dan
(Physical layer) baud, qui cach ky thuat
ve cac tham so ien c,
va chc nang cua bus.

Bng 1 : nghi cc lp trong m hnh OSI

Lp vt l (Physical layer):

- Lp ny bo m cc bit c truyn qua mi trng vt l theo th t


m lp ny nhn c t lp lin kt d liu. Cc c tnh in v c cng nh
kiu cch truyn cng c nh ngha y.

+ Cc chi tit v cu trc mng nh bus, cy, sao.

+ Chun truyn dn nh RS232, RS485

+ Phng php m ha

+ Ch truyn ti

+ Cc tc truyn cho php

+ Giao din c hc nh phch cm.

+ Lp lin kt d liu (Data Link Layer):

- Trch nhim ca lp ny l truyn cc chui bit gia hai h thng. Vic


ny cng bao gm vic iu khin, vic truy cp mi trng truyn dn, bo ton
ti: NGHIN CU V THIT K MNG RS 485 Trang:21

d liu, lp lin kt d liu cng bo m truy cp c quyn mi trng truyn.


Do lp ny c chia lm hai lp nh l lp iu khin truy cp mi trng
MAC (Medium Access Control), v lp iu khin logic LLC (Logic Link
Control). Trong mt s h thng, lp lin kt d liu c th m nhim thm cc
chc nng khc nh vic kim sot lu thng v ng b ha vic chuyn giao cc
khung d liu.

- thc hin chc nng bo ton d liu, thng tin nhn c t lp pha
trn c ng gi c chiu di hp l (frame). Cc khung d liu ny cha cc
thng tin b sung phc v mc ch kim li, kim sot lu thng v ng b ha.
Lp lin kt d liu bn pha nhn thng tin s da vo cc thng tin ny xc
nh tnh chnh xc ca d liu, sp xp cc khung li theo ng trnh t v khi
phc li thng tin chuyn tip ln lp trn n.

+ Lp mng (Network layer):

- Lp ny c trch nhim truyn d liu gia hai thit b u cui d liu


(Data Terminal). Cc data terminal l cc my gi (pht) v my nhn (thu) d
liu m c th i qua nhiu h thng chuyn tip.

- Mt h thng truyn thng din rng nh mng Internet hay mng vin
thng, l s lin kt gia cc mng hon ton c lp, mi mng u c mt
khng gian a l ring v cch xc lp a ch khc nhau, s dng cng ngh
truyn thng khc nhau. Vy mt gi d liu i t i tc ny n i tc khc ca
hai mng khc nhau c th qua nhiu ng khc nhau, thi gian khc nhau,
qung ng vn chuyn v cht lng ng truyn cng khc nhau th lp
mng ny c trch nhim tm ng i ti u nht, gii phng s ph thuc ca
cc lp bn trn vo phng thc chuyn giao d liu v cng ngh chuyn mch
dng kt ni cc h thng khc nhau.
ti: NGHIN CU V THIT K MNG RS 485 Trang:22

- C th nhn thy i vi lp ny khng c ngha trong mt h thng


mng trong cng nghip sn xut, bi y khng c nhu cu trao i d liu
gia hai mng khc nhau.

- Lp vn chuyn (Transport Layer):

- Lp ny c trch nhim cung cp cho ngi s dng mt lin kt tin cy


t u ny n u kia. Khi mt gi d liu c chuyn i thnh tng gi th cn
m bo cc gi n ch v ng th t ban u. Vy chc nng ca lp vn
chuyn l cung cp dch v cho vic vn chuyn mt cch tin cy bao gm c khc
phuc li v iu khin lu thng trn mng. Nh vy m cc lp trn ch thc thi
chc nng ring ca n m khng cn quan tm n c ch vn chuyn d liu.

- thc hin vic vn chuyn mt cch hiu qu tin cy, mt gi d liu


vn chuyn c chia thnh nhng phn nh trc khi vn chuyn v c nh
du th t kim sot trc khi b sung cc thng tin kim sot lu thng.

- Do c tnh ring ca mng trong lnh vc cng nghip nn mt s nhim


v c th ca lp vn chuyn tr nn khng cn thit, v d nh vic dn knh
hay kim sot lu thng. Mt s cc ng dng cn li ca lp ny kt hp vi lp
ng dng tin vic thc hin cho ngi s dng chn phng php ti u nng
cao hiu sut truyn thng.

-Lp kim sot ni (Session layer):

Mt qu trnh truyn thng gia hai nt mng, chng hn nh vic trao i chng
trnh th c tin hnh qua nhiu giai on. Cng ging nh s giao tip gia hai
ngi th cng c s xp t trc. Vy gia hai i tc truyn thng cng cn c
s h tr t chc lin kt. Lp ny c chc nng kim sot mi lin kt truyn
thng gia cc chng trnh ng dng, bao gm cc vic to lp, qun l v kt
thc cc ng ni gia cc ng dng i tc. V mi lin kt gia cc chng
trnh ng dng mang tnh cht logic, thng qua mt mi lin kt vt l gia hai
ti: NGHIN CU V THIT K MNG RS 485 Trang:23

trm, gia hai nt mng c th tn ti song song nhiu mi lin kt logic. Thng
thng kim sot ni thuc chc nng h iu hnh. thc hin cc ng ni
gia hai ng dng i tc, h iu hnh c th to cc qu trnh tnh ton song
song. Nh vy, nhim v ng b ha cc qu trnh tnh ton ny i vi vic s
dng chung mt giao din mng cng thuc chc nng ca lp kim sot ni.

- Lp gii thiu (Presentation layer):

Trong cc h thng mng c kiu khc nhau, thng s dng cc ngn ng khc
nhau, nh s dng h iu hnh khc nhau do cch biu din d liu ca chng
cng rt khc nhau, hoc cch sp xp cc baye khc nhau trong mt kiu baye,
hoc s dng bn m khc nhau. Lp gii thiu s m nhim chc nng ny dch
nhng ngn ng khc nhau ny sang mt ngn ng chung c c php tru tng.

Vy chc nng chnh ca lp gii thiu l chuyn i cc dng d liu khc nhau
v c php thnh mt dng chun, nhm to iu kin cho cc i tc tham gia
truyn thng c th hiu c nhau mc d chng c th s dng ngn ng hon
ton khc nhau. Ni mt cch khc lp gii thiu gii phng s ph thuc ca lp
ng dng vo cc phng php biu din d liu khc nhau.

- Lp ng dng (Application layer):

Lp ng dng l lp trn cng ca m hnh OSI, c chc nng cung cp dch v


cp cao trn c s ca giao thc cp cao cho ngi s dng v cc chng trnh
ng dng. Chun quan trng nht trong t ng ha l MMS (Manufacturing
Message Specification) hay gi l c t thng ip sn xut.

Cc dch v ca lp ng dng c thc hin hu ht bng phn mm. Thnh


phn phn mm ny c th c tch hp sn trong cc linh kin giao din mng,
hoc di dng phn mm iu khin c th np ln khi cn thit, hoc mt th
vin cho ngn ng lp trnh chuyn dng hay ngn ng lp trnh ph thng. c
kh nng s dng cho mt chng trnh ng dng, chng hn nh iu khin c s
ti: NGHIN CU V THIT K MNG RS 485 Trang:24

hay iu khin gim st, nhiu h thng cung cp dch v ny thng qua mt cc
khi hm i vi cc thit b trng thng minh , cc khi hm ny khng n
gin thun mang tnh cht dch v truyn thng, m cn tch hp c chc nng x
l thng tin thm ch c iu khin ti ch. y cng chnh l xu hng mi trong
vic chun ha lp ng dng cho cc h thng bus trng, hng ti kin trc
iu khin phn tn trit .

XIII . Phng php truy cp bus :

- Trong tt c cc h thng mng nh mng my tnh rng ln, hay mt


mng trong phm vi hp nh mng iu khin trong cng nghip, th bt c h
thng no cng c th s dng cu trc mng bus, nhng c bit hn l h thng
cu trc dng mng bus v mng mch vng ng vai tr rt quan trng v thng
c s dng trong h thng mng cng nghip sn xut, bi nhng u im ca
n trong t ng ha cng nghip ch l: n gin v cu trc, thch ng cho
mt mng nh v va chi ph t cho dy dn, d lp t v rt linh hot trong sn
xut.

- i vi cu trc bus v mt k thut phn chia thi gian cho knh truyn
l mt yu cu cao, v trong mt khong thi gian no nht nh ch c mt
trm duy nht trn mng c php tham gia truy cp bus khng th c hai trm
cng tham gia mt lc, i vi tt c cc trm cn li phi ch cho ti khi n lt
mnh, v vy i hi phi c s phn chia ng truyn mt cch hp l trnh
lng ph thi gian cng nh kh nng p ng v mt x l iu khin ca c h
thng. Trong mt mng c cu trc bus cc trm i hi phi c s phn chia nhau
thi gian truy cp bus trnh hin tng xung t tn hiu xy ra trn ng dn,
dn n sai lch thng tin, ti mi thi im trn bus ch c php duy nht mt
dng d liu gi i tng ng vi iu ny cng c ngha l c mt trm c
php gi thng tin, cn s lng cc trm mun nhn tin th khng hn ch, y l
mt trong nhng vn nh hng n nng sut ca h thng.
ti: NGHIN CU V THIT K MNG RS 485 Trang:25

- i vi nhng cu trc dng khc nh dng mch vng, mch sao khng
phi khng c s xung t m vn xung t ny cng c th xy ra tuy khng
nh cu trc bus, v d mt cu trc vng mi trm khng phi bao gi cng
khng ch c dng d liu i qua n hon ton, hay cu trc sao phn t x l
trung tm khng ng vai tr ch ng m n c nhim v nh mt b chia tn
hiu th vn xung t vn c th xy ra, do nhng cu trc ny cng dng
phng php phn chia quyn truy cp nhng c phn n gin hn so vi mt
cu trc dng bus.

Phng php truy cp bus l mt vn ca mt h thng dng bus m i hi


phi c s hp l y, v mi phng php k thut ca mi cu trc h thng
khc nhau u c quan tm n, l mt c tnh ca kh nng hon thin h
thng. V vy i vi cu trc dng bus h thng c tnh nng hon thin th
cc c im sau y cn c p ng khi x l phng php truy cp. l
tin cy ca d liu, tnh nng thi gian thc v hiu sut s dng ng truyn.
Tnh nng thi gian thc c ngha l kh nng p ng v x l thng tin mt cch
kp thi khng c s tr hon v mt l do no khc, v d nh s chm tr v m
ng nhiu cng vic cng mt lc th c xem l thi gian khng thc, chng
hn nh mt my tnh (PC) ang x l mt lnh hay ang chy mt chng trnh
m phi dng li khi c mt tnh hung mi pht sinh nh s pht hin tn hiu di
chuyn ca chut hay s tc ng ca bn phm dn n thi gian x l lnh hay
chng trnh ni trn b gin on v lc ny my tnh phi m ng cng vic
bi nhng s tc ng ny dn n thi gian b tr hon khng p ng kp thi v
c xem l thi gian khng thc.

- Hiu xut ca ng truyn l mt yu t c kh nng lm tng hoc gim


tc p ng ca mng. N l mt i lng ph thuc vo s lu thng v
phng php truy cp. Nu mt lu thng thp dn n hiu xut thp, ngc
li mt lu thng cao khng c s kim sot cng dn n n tt gy ra s gin
ti: NGHIN CU V THIT K MNG RS 485 Trang:26

on lm gim hiu sut ng truyn, khai thc hiu sut ti a ta phi c


nhng phng php thch hp tm ra nhng gii php nng cao hiu xut ng
truyn trn c s phng php truy cp bus. Ta c th a ra hai phng php
truy cp l phng php tin nh v ngu nhin nh sau:

+ Phng php tin nh: trnh t truy cp bus c qui nh trc mt


cch cht ch theo mt trnh t c gim xc nh phng php truy cp
Master/Slave, hay theo s qui nh trc v thi gian TDMA hoc phng php
phn tn bi cc thnh vin Token passing.

+ Phng php ngu nhin: trong phng php ny trnh t truy cp bus
khng c s qui nh trc m hon ton xy ra mt cch t pht theo tnh cht
nhu cu ring. Khi xy ra tnh hung yu cu ca tng trm, mi thnh vin t
gim st ng truyn nu thy ng truyn rnh lp tc chim ly truy cp.
Trong phng php ny c kh nng xy ra xung t, v vy loi tr tc hi
xung t c th s dng nhng phng php nhn bit xung t nh CSMA/CD
hoc CSMA/CA. Nguyn tt hot ng ca cc phng php ny l khi nhn bit
c xung t xy ra th t nht c mt trm ngng gi tn hiu. Ta i vo tm hiu
cc phng php c th nh sau.

XIV. Phng php truy cp Master/Slave:

- Phng php truy cp Master/Slave hay cn gi l phng php Ch/ T,


y trm ch c vai tr ch ng tch cc cn cc trm t l cc phn t tiu cc
b ng, tt c cc trm t ny u chu s chi phi bi trm ch. Trm ch c
xem nh tri tim mch mu ca h thng trm ch (Master) c trch nhim ch
ng phn chia quyn truy cp bus cho cc trm t (Slave), cc trm t th ng
ch c quyn truy cp bus nhn hay gi d liu i khi nhn c s yu cu t
pha trm ch, ngc li chng phi i s yu cu t trm ch hay thc hin mt
cng vic no ca ring chng. Vy i vi trm ch c th dng phng php
kim sot ton b hot ng mng ca mnh nh phng php hi tun t
ti: NGHIN CU V THIT K MNG RS 485 Trang:27

(polling) theo chu k, nh vy m d liu t trm ch c th gi n tt c cc


trm t theo mt th tc tun t mt vng lun phin trn mng, yu cu tr li
cc thng tin k thut t pha trm t hay nhn nhng thng tin iu khin t pha
trm ch gi n trm t.

- m bo cho mt h thng hot ng tt. Trong mt s h thng cc


trm t hon ton chu s gim st cht ch t pha trm ch, tt c mi hot ng
ny sinh t pha cc trm t vi nhau u phi thng qua trm ch, chng hn s
trao i d liu cn thit ca hai trm t khng c thc hin bi chng m nht
thit phi c s phn b ca trm ch. Do nu hot ng giao tip theo phng
php hi tun t chu k, th nu mt yu cu c gi d liu ca mt trm t
n cho trm t khc th trm ch yu cu d liu t pha trm t gi sau trm
ch gi cho trm t nhn, nh vy trm ch ng vai tr trung gian trong vic giao
tip gia hai trm t vi nhau. Do khi c yu cu trao i d liu bt thng
ca trm t ny vi trm t khc th trc ht trm t mun gi phi thng bo
yu cu ca mnh khi trm ch hi n v sau ch cho n khi c phc v.

- Trnh t th tc truy cp bus ca h thng mng no vi m hnh ch


t. Phng php truy cp cng nh cch thc truyn d liu gia cc trm u
c xy dng mt cch c qui nh c gi l tin nh hay nh trc do ngi
to lp mng to ra bng cc cng c to lp mt cu hnh ca mt mng c m
hnh mt trm ch duy nht v nhiu trm t. Thi gian cn thit trm ch hon
thnh cng vic hi tun t mt vng cng chnh l thi gian ti thiu ca mt chu
k bus. Nh vy ta cng c th tnh ton trc c mt cch tng i chc chn
ca mt chu k bus, v tt c nhng thnh vin tham gia v mt s lng ta c th
bit trc cng nh chiu di ti a ca mt khung d liu tc ng truyn
(Boud), do ta c th xc nh c chu k bus. Tc p ng ca chu k bus
chnh l mt tnh nng thi gian thc ca h thng, m tnh nng ny ng mt vai
ti: NGHIN CU V THIT K MNG RS 485 Trang:28

tr quan trng trong h thng iu khin cng nghip. Ta c th m t mt m


hnh ch t (Master/Slave) qua hnh v di y:

Master

Slave Slave Slave

Hnh 8 : M hnh ch t (Master/Slave).

- Phng php ch t thch hp cho mt h thng iu khin. Bi l tnh


n gin kt ni, kh nng thm bt s lng thnh vin v lp t. Ton b k
thut ca mng hu nh tp trung vo trm ch, cc trm t ch ng mt vai tr
nh mt thit b c th d dng thm vo hay bt i.

- Mt nhc im ca phng php ch t l phng php kim sot tp


trung bi trm ch, iu ny l mt nhc im lm gim hiu sut thng tin, khi
mt yu cu trao i d liu gia hai t pht sinh s khng c thc hin nu
khng qua trung gian trm ch. Chnh v l do ny khi xut hin mt nhu cu trao
i d liu gia hai phn t t vi nhau nh cc vi x l hay PLC nht nh phi
c thc hin vi thi gian ti thiu di hn mt chu k bus.

- khc phc tnh trng ny c th s dng mt h thng cho php cc


phn t t c th thng tin trc tip cho nhau nhng trong mt chng mc no
c kim sot nht nh c th minh ha y qua hnh v (hnh 9 ).
ti: NGHIN CU V THIT K MNG RS 485 Trang:29

Master Slave(A) Slave(B)

Receive -Request

Send-Request

Send-Data

Receive Send Completed


Completed

Hnh 9 : M t s trao i d liu gia hai trm t.

- Vy khi c mt yu cu trao i d liu gia trm t B cho trm t A,


trong khi mt yu cu t pha trm ch yu cu tm t A nhn d liu
(Receive-Request) v trm B gi d liu (Send-Request) th trm B gi trc tip
cho trm A (Send-Data), sau khi nhn c s kt thc (Send -Completed) t
pha trm B th trm A c trch nhim thng bo li (Receive -Completed) cho
trm ch nh c minh ha hnh v. Nh vy vic truy cp ng truyn cng
khng chng cho nhau m hai trm t vn thc hin trao i d liu c vi
nhau trong mt chu k bus.

- Mt nhc im th hai l: i vi phng php ny tin cy ca h


thng hon ton ph thuc vo trm ch, nu trong mt trng hp no gy s
c trm ch th ton b h thng mng ngng hot ng dn n nh hng tin
sn xut trong phm vi t ng ha cng nghip. Vy ta cn c bin php khc
phc trong trng hp ny l phng php s dng mt trm t c vai tr ng
ti: NGHIN CU V THIT K MNG RS 485 Trang:30

mt trm ch khi cn thit, v d nh nu c s c xy ra th trm t ny c kh


nng thay th trm ch tm thi.

XV. Phng php TDMA:

- Phng php TDMA hay cn gi l phng php a truy cp phn chia


theo thi gian (Time Division Multiple Access), mi mt trm c phn chia mt
khong thi gian truy cp bus nht nh. Tt c cc trm trao i thng tin cho
nhau trong mt khong thi gian lun phin c cho php ca mnh, theo mt qui
c phn chia trc, vic phn chia ny c xy dng trn mt h thng mng
m ngi xy dng mng to lp ra n gi l c ch tin nh, ngha l c s sp
xp qui nh trc. y n c c im khc vi m hnh ch t ch l c th
c trm ch hoc khng c trm ch no, nu c trm ch th trm ch ny ch c
mt vai tr hn ch l mc kim sot cc trm tun th ng vai tr phn
chia thi gian ca mnh khng lm nh hng khong thi gian ca cc thnh vin
khc trn mng, v mi trm ch ng trong vai tr giao tip vi cc trm khc.

- Di y minh ha cho phng php phn chia theo thi gian TDMA
cho mt chu k bus c v hnh 10 :

1 2 N Yeu cau rieng

Hnh 10 : Chu k bus TDMA

Mot chu ky bus

- Nh hnh v mi khong thi gian ny tng ng dnh ring cho mt


trmv mi trm ch c quyn trao i thng tin cho nhau trong khong thi gian
tng ng ca mnh c nh du t 1 n N, cc trm s trao i thng tin lun
phin sau mi thi gian N ln, khng c s u tin dnh ring cho trm no. Ngoi
nhng khong thi gian phn chia t 1 n N cn c mt khong thi gian dnh
ti: NGHIN CU V THIT K MNG RS 485 Trang:31

cho cc thng tin ring v mt l do no xy ra. V d nh thng tin cnh bo,


yu cu thay i cu hnh.

- i vi nguyn tc chung phn chia thi gian tng khong t 1 n N ca


TDMA th c nhng cch truy cp khc nhau nh sau: chng hn c th phn chia
theo th t truy cp bus hay phn chia theo a ch hay theo chc nng ca tng
trm, v cng c th dng phng php kt hp gia TDMA v phng php ch
t (Master/slave) nhng y c s cho php cc trm t lin lc vi nhau, trm
ch ch c vai tr gim st khong thi gian cho tng trm thch hp.

XIV. Phng php Token Passing:

- Token (th bi) l mt thng ip khng cha d liu c cu trc c bit


khc vi mt khung d liu thng thng, n c xem nh mt cha kha lun
chuyn t trm ny n tm khc trn mng, Token cho php mt trm c quyn
truy cp bus trao i thng tin gi liu trong thi gian trm nhn Token, vy
Token l mt bc thng ip ng vai tr phn chia quyn truy cp bus cho cc
trm. Nu mt trm no nhn c Token nhung khng c nhu cu truy cp
bus thi trm nhng Token li cho trm khc theo mt trnh t nht nh. Nu
trnh t ny ng vi trnh t sp xp vt l trong mt mch vng (tch cc hoc
khng tch cc) ta dng khi nim Token Ring. Cn nu trnh t c qui nh ch
c tnh cht logic nh cu trc bus, v d nh theo th t a ch, ta dng khi
nim Token Bus. Trong mi trng hp u hnh thnh mt mch vng logic.

- Mt trm ang d Token chn nhng c quyn truy cp bus v gi thng


tin d liu m cn ng vai tr c bit l kim sot cc trm khc, chng hn
nh nu mt trm no c s c, i vi cc trm cn li khng gi Token cng
c kh nng tham gia kim sot, chng hn sau mt thi gian nht nh khng
nhn c Token c th l mt hay mt s c bi trm no ang gi Token, th
lc ny mt trm m nhim chc nng to ra Token mi v tip tc lun chuyn
trn mng thay th Token c. Chnh v vy Token Passing c xp vo phng
ti: NGHIN CU V THIT K MNG RS 485 Trang:32

php kim sot phn tn. Do thi gian c quyn gi Token hn ch dn n vic
tnh ton c thi gian phn ng cng nh chu k bus ti a. Cc h thng s
dng phng php truy nhp ny cng c kh nng thi gian thc.

Tram 1

Tram 1 Tram 2 Tram 3

Tram2 Token Tram4

Tram 4 Tram 5 Tram 6


Tram 3

Token ring Token Bus

Hnh 11 : Hai dng ca phng php Token Passing

- Trong thi gian xc lp cu hnh, cc trm c th d tnh v thi gian


dng Token ca mnh, t i ti tha thun mt chu k bus thch hp tt c
cc trm u c quyn tham gia gi thng tin v kim sot hot ng truyn thng
ca mng. Vic kim sot bao gm cc vic sau:

+ Gim st Token: nu do mt li no m Token b mt hoc gia


bi, cn phi thng bo xa cc Token c v to mt Token mi.

+ Khi to Token: sau khi khi ng mt trm c trch nhim to


mt Token mi.

+ Tch trm ra khi mch vng logic: mt trm c s c phi c


pht hin v tch ra khi trnh t nhn Token.

+ B sung trm mi: mt trm mi c kt ni mng, mt trm c


c thay th hoc a tr li s dng phi c b sung vo mch vng logic
c quyn nhn Token.
ti: NGHIN CU V THIT K MNG RS 485 Trang:33

- Token Passing cng c th s dng kt hp vi phng php ch/t, trong


mi trm c quyn gi Token l mt trm ch, hay cn gi l trm tch cc.
Phng php kt hp ny cn c gi l Multi - Master. Cc trm ch ny c th
l cc b iu khin (PLC, PC), cn cc trm t (trm khng tch cc) l cc b
vo/ra phn tn, cc thit b trng thng minh.
ti: NGHIN CU V THIT K MNG RS 485 Trang:34

Chng II : CHUN TRUYN DN

- Truyn d liu ni tip, khng ng b l phng php dng ch yu


trong truyn thng cng nghip, vi phng php ny cc bit c truyn t bn
gi n bn nhn mt cch tun t trn cng mt ng truyn, cng chnh v
khng c mt ng dy ring bit mang tn hiu nhp nn vic ng b ho thuc
trch nhim bn gi v bn nhn tha thun trn c s giao thc truyn thng .
- Cc chun truyn dn TIA/EIA l hip hi xy dng v pht trin mt
s giao din cho truyn thng cng nghip, trong c c cc truyn dn ni tip
theo ngha truyn thng. Mt chun truyn dn ni tip trc ht c hiu l cc
qui nh c thng nht v giao din vt l gia cc thit b cui x l d liu v
cc thit b truyn d liu.
I: Phng thc truyn dn tn hiu:
- Tn hiu c dng truyn ti thng tin khng k ti mi trng truyn
dn th thnh phn c bn trong h thng gm c b pht v b thu, mt thit b
va c kh nng thu v pht c gi vi ci tn l (Transceiver).
- C hai phng thc truyn dn tn hiu trong h thng truyn thng cng
nghip l chnh lch i xng v phng thc khng i xng.
+ Truyn dn khng i xng
Truyn dn khng i xng tn hiu s, s lin quan gia trng thi logic
ca mt tn hiu vi trng thi logic ca dy bit mang thng tin c truyn ph
thuc vo phng php m ho bit, tc l gi tr logic ca tn hiu ti mt thi
im khng nht thit phi ng nht vi gi tr logic ca bit tng ng mang
thng tin.
+Truyn dn chnh lch i xng.
Truyn dn chnh lch i xng s dng in p gia hai dy dn biu din
trng thi logic 1 v logic 0 ca tn hiu khng ph thuc vo t. Khi nim
ti: NGHIN CU V THIT K MNG RS 485 Trang:35

chnh lch i xng c th hin qua cn xng v in p ca hai dy i vi t


trong iu kin bnh thng. Mt tc ng nhiu bn ngoi s lm tng hay gim
tc thi in p c hai dy mt gi tr gn tng ng, v th tn hiu t b sai
lch. S khc nhau v in p t gia cc thit b tham gia truyn thng cng hu
nh khng b nh hng trc tip ti vic nh gi gi tr logic ca tn hiu. Mt
nguyn nhn gy nhiu khc l xuyn m cng c loi tr ng k .
- Thng thng mt tn hiu c pht i khi ti mt u dy s phn x
ngc tr li ging nh hin tng phn x nh sng khi tc truyn tng i
thp hoc dy dn tng i ngn, sao cho thi gian Tb ln hn gp nhiu ln so
vi thi gian lan truyn tn hiu Ts, tn hiu phn x s b suy gim v b trit tiu
sau mt vi ln qua li khng gy nh hng ti cht lng ca tn hiu mang bit
d liu v vy ng ta dng tr u cui hp th tn hiu ban u .

II: c im ca cc cng ngh truyn dn RS-232, RS-422,


RS485:
Thong so RS-232 RS-422 RS-423 RS-485

Chieu dai cap 15m 1.2km 1.2km 1.2km


Length (max) (50 ft) (4000ft ) (4000ft) (4000ft)

Baud rate 20Kbs/15m 10M bs/12m 100Kbs/9m 10Mbs/12m


(Toc o 1Mbs/120m 10Kbs/90m 1Mbs/120m
Baud) 100Kbs/1.2km 1Kbs/1.2km 100Kbs/1.2km

Mode Unbalanced Balanced Balanced Balanced


Differential Differential Differential

Driver No. 1 1 1 32

Receiver 1 10 10 32

Logic 0 +3V - +2V->+5V +3.6V->+6V +1.5V->+5V


ti: NGHIN CU V THIT K MNG RS 485 Trang:36

>+25V

Logic 1 -3V ->-25V -2V-> -5V -3.6V ->-6V -1.5V ->-5V

Community 2V 1.8V 3.4V 1.3V

Cable/signal 1 2 2 2

Methode Simplex Simplex Simplex Simplex

Phng thc Half- Half-duplex Half-duplex Half-duplex


duplex Full-duplex Full-duplex Full-duplex
Full-duplex

Short circuit 500mA 150 mA 150mA 150 mA


current

Bang 1: Thong so cho 232, 422, 423, 485

III: Chun RS-232 :

- L chun ca EIA nhm nh ngha giao din vt l gia DTE v DCE (v


d nh gia mt my tnh v mt modem). Chun ny s dng u ni 25 chn,
tuy nhin ch c mt s t chn l thc s cn thit cho vic lin kt. V phng
din in, chun ny quy nh cc mc logic 0 v 1 tng ng vi cc in th
nh hn -3V v ln hn +3V. Tc ng truyn khng c vt qu 20Kbs
v khong cch nh hn 15m.
- Chun RS-232C c th chp nhn phng thc truyn song cng (Full-
Duplex).
- Mt trong nhng yu cu quan trng ca RS-232C l thi gian chuyn t
mc logic ny sang mc logic khc khng vt qu 4% thi gian tn ti ca mt
bit. Gi s vi tc truyn 19200 baud th thi gian chuyn mc logic phi nh
ti: NGHIN CU V THIT K MNG RS 485 Trang:37

hn 0.04/19200 = 2.1 s. iu ny lm gii hn chiu di ng truyn. Vi tc


19200 baud ta c th truyn xa nht l 50ft (15.24m ).
- Mt trong nhng vn quan trng cn ch l khi s dng RS-232C l
mch thu pht khng cn bng (n cc), tc l tn hiu vo v ra c so vi t.
IV: RS-422A:
- Mt ci tin quan trng ca chun RS-232C l chun RS-422A. Chun
ny s dng vic truyn d liu sai lch Differential Data trn nhng ng truyn
cn bng. Mt d liu sai lch cn hai dy, mt cho d liu khng o (Non-
Inverted) v mt ng cho d liu o (Inverted). D liu c truyn trn
ng dy cn bng, thng l cp dy xon vi mt tr u cui. Mt IC li
(Driver) s bin i cc mc logic thng thng thnh mt cp tn hiu sai lch
truyn. Bn nhn s c mt mch chuyn i tn hiu sai lch thnh cc mc logic
tng ng. Cc IC li RS-422A hu ht hot ng vi ngun +5V nh cc chp
logic khc. Vi chun mi ny, tc cng nh khong cch truyn c ci
thin rt nhiu.
V: RS 485 :
- Chun RS-232 dng ng truyn khng cn bng v cc tn hiu u ly
im chun l ng mass chung, do tc truyn v khong cch truyn b
gii hn. Khi cn tng khong cch v tc truyn phng php dng hai dy tr
nn hu hiu hn v hai dy c t tnh ging nhau, tn hiu truyn i l hiu s
in p gia hai dy. Do , loi tr c nhiu chung.
- Tn hiu t my tnh theo chun RS-232 c mc in p l 12V phi i
sang mc TTL 0 -> 5V dng vi mch MAX 232, sau tn hiu n c i
sang tn hiu vi sai dng vi mch MAX 485. in p vi sai phi ln hn 200mV.
Nu Vab > 200mV ta coi nh logic 1 c truyn cn nu Vab < -200mV th logic
0 c truyn.
- Truyn RS-485 l cng ngh truyn c s dng thng xuyn bi
PROFIBUS. Cc lnh vc ng dng bao gm tt c cc lnh vc m trong cn
ti: NGHIN CU V THIT K MNG RS 485 Trang:38

lp t khng t tin, n gin v truyn tc cao. Ngi ta dng cp ng


xon kp c bc (STP).
- Cng ngh truyn RS-485 th d x l. Lp t cp xon kp (TP) khng
cn kin thc chuyn gia. Kin trc Bus cho php thm v ly i cc trm m
khng lm nh hng n cc trm khc. Nhng m rng sau ny khng lm nh
hng n cc trm ang hot ng.
- Giao tip EIA RS-485 l mt ci tin ca chun RS-422A. c tnh in
ca n ging nh chun RS-422A. RS-485 l chun truyn vi sai, s dng hai dy
cn bng. Vi RS-485 tc truyn c th t n 10Mbs v chiu di cp c th
ln n 1.2km. in p vi sai ng ra t +1.5V -> +5V nu l logic mc 0 v mc
logic 1 s l t -1.5V -> -5V. Mt c im quan trng ca RS-485 l c th cung
cp n 32 Drivers v Receivers trn cng mt ng truyn. iu ny cho php
to thnh mt mng cc b. c kh nng nh vy, ng ra Driver RS-485 phi l
ng ra 3 trng thi. V do mt Slave s trng thi tng tr cao khi n khng
c chn giao tip cng vi Master.
- Ch c mt trm c chn lm Master, cc trm cn li u l Slave.
Master c quyn truyn bt c lc no, n s ch nh mt Slave bt k giao
tip vi n. Slave ch c th truyn sau khi nhn c lnh ca Master. Mi Slave
c mt a ch ring trn ng truyn v s khng c php truyn nu khng
c yu cu t Master..
+ c im :
- P RS _485 l chun giao tip ni tip bt ng b cn bng, s truyn
thng tin trn.
- P dy xon i bn song cng (Half _ Duplex), ngha l ti mt thi im
bt k trn dy truyn ch c th l mt thit b hoc l truyn hoc l nhn.
- RS_485 cho php 32 b truyn trn bus.
- RS_485 c ng ra 3 trng thi.
- RS_485 cho php tc truyn ti a l 10Mbps.
ti: NGHIN CU V THIT K MNG RS 485 Trang:39

VI: Cch lp t RS-485:


Tt c cc thit b c ni vo cu trc Bus ti a 32 trm (Master hay
Slave) c th c ni vo mt Sement (on). Bus c kt thc bng Bus tch
cc (Active Bus Terminator) u v cui mi Segment. m bo hot ng
khng c li th c u kt thc Bus lun lun c c in.

R2 R1

4 120 2
DI 120 RE
3 6 7 1
DE A B RO
1 7 6 3
2 RO B A DE 4
RE DI

MAX485 MAX485
6

7
MAX485 MAX485
A

B
RO

RO
DE

RE

DE

RE
DI

DI
4
3

1
2

4
3

1
2

Hnh 1 : S o mang Half_ Duplex RS485:


U4
U4
4 9 R2 R1 11 3
DE Y B RE
5 10 120 12 2
DI Z 120 A RO
2 12 R4 R3 10 5
RO A Z DI
3 11 9 4
RE B 120 120 Y DE

MAX489 MAX489
10

12

11

10

12

11
9

U4 U4
A

B
Z

Z
Y

MAX489
MAX489
RO

RO
DE

RE

DE

RE
DI

DI
4

Hnh 2 : S o mang RS485 Full_Duplex:


ti: NGHIN CU V THIT K MNG RS 485 Trang:40

Trong trng hp tren 32 tram hoac e m rong mang, ngi ta s dung


cac Repeatrer e lien ket cac oan Bus rieng lai. Chieu dai toi a cua cap phu
thuoc vao toc o truyen: toc o truyen cang cao th chieu dai cap cang giam.

BAUDRATE MAX. SEGMENT MAX. EXPANSION


LENGTH

9,6 1000 m 10000 m

19.2 1000 m 10000 m

93.75 1000 m 10000 m


187.5 1000 m 10000 m

500 400 m 4000 m

1500 200 m 2000 m


3000 100 m 1000 m

6000 100 m 1000 m

12000 100 m 1000 m

Toc o truyen va chieu dai cap truyen RS-485

e tang chieu dai cap truyen , ta co the dung bo Repeater nh sau:


U1

2 12 R1
RO A
3 11 DATA IN
RE B 120
4 9 R2
DE Y
5 10 DATA OUT
DI Z 120

MAX491

- B Repeater hay gi l b tip sc, c chc nng lm khuch i tn hiu


d liu trn cp LAN, ta cn RS-485 Repeater khi ta mun gn hn 32 nt vo
ti: NGHIN CU V THIT K MNG RS 485 Trang:41

mng hoc chiu di on cho php c vt qu. Ti a 9 Repeater c th c


s dng gia hai nt bt k.

- Ch l vic tng kch thc mng bng Repeater c th dn n thi


gian truyn di hn v c th k n khi ci t cu hnh mng.

VII: Topology ca mng RS-485:

- Tc truyn, ta c th chn mt trong cc tc truyn sau:

9,6 Kbps,19,2 Kbps, 45,45 Kbps, 93,75 Kbps, 187,5 Kbps, 500 Kbps, 1,5 Mbps

Cc thnh phn gn vo Bus c chia lm hai nhm:

+ Cc thnh phn c tc truyn t 9.6 Kbps n ti a 1.5Mbps.

+ Cc thnh phn c tc truyn t 9.6 Kbps n ti a 12Mbps.

- Gn nt: Cc nt c gn vo Bus qua cc b kt ni Bus (Bus


Connector) Bus Rerminnal hay RS485 Repeater.

Kt thc cp:

- Mi Sub Segment phi c kt thc hai u bng tng tr c tnh ca


n. B kt thc cp ny (Bus Terminator) c tch hp trong RS485 Repeater,
Bus Terminal, ILM v cc Bus Connector v c th kch hot nu cn.

- Trc khi kch hot Bus Terminal ny th phi cung cp ngun cho cc
thnh phn mng ny. Vi cc bus Terminal v cc Bus Connecter th ngun in
ny c cung cp bi DTE c kt ni, tri li RS485 Repeater, ILM v
Terminal lun c ngun in ring cho mnh.

- K thut truyn RS-485 cho php gn ti a l 32 thit b (cc DTE v cc


Repeater) trn Bus Segment. Chiu di cp ti a c cho php bi Segment ph
thuc vo tc truyn v cp LAN c s dng.
ti: NGHIN CU V THIT K MNG RS 485 Trang:42

- Mng RS-485 em thit k trong ti ny l mng bn song cng (Half-


Duplex): D liu ch i t Master n cc vi x l hay t cc vi x l n Master.
Ti mt thi im trn mng ch c mt phn t truyn v cho php cc phn t
khc c th nhn thng ip . C iu quan trng ta nn ch l vi s mch
RS-485 c thit k nh trn th ch c th giao tip gia Master (PC) v cc vi
x l nhng gia cc vi x l khng th lin lc trc tip vi nhau. Chng giao
tip vi nhau nu c th thuc mt dng giao tip khc.

VIII. Cc phng thc truyn thng:

- C 3 phng php truyn c dng trong mc ch truyn thng tin:


n cng, bn song cng, v song cng. Ta s ln lt kho st cc phng php
truyn trn.

+ n cng:

ng truyn n cng c kh nng truyn d liu ch theo mt hng.


Nguyn nhn khng phi do tnh cht ca ng dy n gin, ch v mt u cui
ch c mt my pht v u cui kia cng ch c mt my thu. Cu hnh ny t
c s dng trong cc my tnh v khng c cch no my thu pht tn hiu
nhn bit ti my pht cho bit thng ip nhn ng. Pht thanh v truyn
hnh l mt trong nhng th d v n cng.

+ Bn song cng (Half-duplex Communication).

ng truyn bn song cng c th pht v nhn d liu theo c hai hng


khng ng thi. Trong sut mt cuc truyn, mt modem l my pht v modem
cn li s l my thu. V d nh mt thit b A l my pht gi d liu n thit b
B l my thu, sau A v B i vai tr cho nhau, B l my pht gi tn hiu bo
d liu nhn c c li hay khng n my thu A. Nu khng c li th A v B
s li i vai tr cho nhau v A tip tc gi d liu n my thu B. Nu my thu B
ti: NGHIN CU V THIT K MNG RS 485 Trang:43

bo d liu c li th my pht A s gi li d liu c cho n khi B bo l d liu


khng c li.

Nhc im ca phng php ny l thi gian cn chuyn ng truyn


bn song cng t hng ny sang hng khc c th di gp nhiu ln thi gian
truyn mt k t. S chuyn ng ca xe trn ng ray l mt v d v phng
php ny.

- Song cng ( Full-duplex Communication):

Ngc li so vi truyn bn song cng, ng truyn song cng c kh


nng pht v nhn d liu ng thi theo c hai hng. Mt cch khi qut, ng
truyn song cng tng ng vi 2 ng truyn n cng, mt ng cho mi
hng.

- V hai ng truyn c th tin hnh song song, mt ng cho mi


hng, nn truyn song cng c th pht nhiu thng tin hn truyn bn song cng
vi cng tc truyn d liu. Truyn song cng khng mt thi gian thay i
hng truyn.

IX. Truyn thng tun t:

- Hu ht cc my tnh lu tr d liu v thao tc d liu theo cch song


song. Ngha l khi gi mt byte t b nhn ny ti b nhn khc ca my tnh, n
khng truyn tng bit mt m mt lc mt byte trn nhng cp si song song
nhau. S cc bit truyn i cng mt lc thay i ty thuc vo tng my tnh
nhng thng thng l 8 hoc bi ca 8.

- Tuy nhin vic truyn d liu t my tnh ny n my tnh hay mt thit


b khc th xy ra theo kiu tun t, ngha l d liu c gi i tng bit mt. Mt
b giao tip tun t s m nhn nhim v chuyn i d liu t song song sang
ni tip trc khi chng gi i hoc i t ni tip sang song song khi chng nhn
v.
ti: NGHIN CU V THIT K MNG RS 485 Trang:44

- C hai hnh thc truyn thng tun t: truyn thng ng b v khng


ng b.

- Truyn thng bt ng b (Asynchronous Communication): Khong thi


gian gia hai k t truyn i khng c nh, mc d khong thi gian gia hai bit
lin tip trong mt k t l khng thay i nhng khong thi gian gia hai k t
lin tip khng phi l hng s. S bin thin tc ny lm ny sinh vn l
phi lm sao my thu phn bit c gia bit 0 v khng c d liu.

- gii quyt vn trn, ngi ta pht trc tip mt bit Start ngay trc
mt k t v mt hoc hai Stop bit ngay sau mi k t c truyn i.

- kim tra li ng truyn, ngi ta s dng bit chn l (Parity bit), tc


kim tra tng s bit trong 1 byte d liu c truyn. Phng thc ny thng
c s dng trong cc my tnh PC v tnh n gin ca n. Hn ch ca phng
php ny l tc truyn thp do phi truyn thm mt s bit Start, bit Stop v bit
Parity.

- Truyn thng ng b ( Synchronous Communications):

- Phng thc truyn ny khng dng cc bit Start, Stop ng khung


mi k t m chn cc k t c bit nh SYN ( Synchronization), EOT (End Of
Transmission) hoc mt c gia cc d liu ca ngi s dng bo hiu cho
bn nhn bit rng c d liu ang n hay n.

- Truyn ng b thng c tin hnh tc di 4800bps, 9600bps


hoc thm ch cn cao hn. Trong phng php ny, mt khi ng b, cc
modem vn tip tc gi cc k t duy tr ng b, ngay c lc khng pht d
liu. Mt k t "idle" c gi i khi khng c d liu pht. Trong phng php
truyn ng b khng ging nh phng php truyn bt ng b, khong thi
gian gia hai k t lun bng nhau.
ti: NGHIN CU V THIT K MNG RS 485 Trang:45

Chng III: GII THIU AVRATMEGA32

I: Gii thiu AVRATMEGA32 :

- VARATMega32 l ca cng ty Hoa K y l loi vi iu khin mi rt


mnh c rt nhiu u im so vi cc vi iu khin khc nh vi iu khin 89C5x
hay 89C5x vv
- Cng ty Atmel l nh xut hng u v vi mch (IC) l mt kin trc ph
bin ca cc b vi s l hin i .
- Kin trc RISC vi hu ht cc lnh c chiu di c nh, truy nhp b
nh np lu tr (Load-Store), v 32 thanh ghi a nng .
- Kin trc ng ng lnh kiu hai tng (Two-Stageinstructionpipeline)
cho php lm tng tc thc thi lnh .
- C cha nhiu b phn ngoi vi ngay trn chp bao gm cng I/O s, b
bin i ADC, b nh EEPROM, b nh thi, UART, b nh thi RTC, b iu
ch rng xung (PWM) vv c im ny c xem l ni bt so vi v nhiu h
vi iu khin khc v trong khi nhiu b vi x l khc phi to b truyn nhn
UART hoc giao din SPI bng phn mn hay my o th trn vi iu khin
AVRATMega32 li c thc hin bng phn cng trn cc vi iu khin
AVRATMega32 tch hp sn .
II: c im chung:
- L mt vi iu khin 8 bit mnh, ch tiu cht lng cao tiu th nng
lng thp.
- Kin trc RISC (Reduce Instruction Set Computer) cao cp.
- Vi 132 lnh mnh hu ht cc lnh c thc thi trong mt chu k my.
- C 32 thanh ghi 8bit a nng.
- Tc x l ln n 16 triu lnh trong 1 giy (gp 16 ln 89 C51x ) .
ti: NGHIN CU V THIT K MNG RS 485 Trang:46

III: B nh d liu v b nh trng trnh khng t mt d liu


(Nonvolatile )

- 32 Kb b nh dnh cho vic lp trnh chu c 10 ngn lp trnh/ xo


- 1024 byte EEPROM, chu c 10 ngn ln vit/ xo.
- 2 Kb SRAM.
- Ch bo mt cho chng trnh lp trnh c.
- Giao din JTAG .

IV: C nhiu thit b ngoi vi c tch hp sn.

- Hai Timer trn b m 8 bit, vi ch chia tng ring bit v ch so


snh .
- B m thi gian thc vi ch giao ng ring bit.
- Mt Timer trn b m 16 bit vi ch chia tng ring bit v ch so
snh.
- Bn knh PWM.
- 8 knh, 10 bit AC.
- 8 knh bin i AC n cc.
- 2 knh bin i vi sai vi khuych i 1,1 hay 200 ln.
- Giao tip 12C.
- Ch USART lp trnh c.
- Giao din ch/t SPI.
- B Watchdog Timer lp trnh c vi dao ng ring l.
- B so snh Analog trn Chip.
V: Nhng im c bit.
- T Reset khi cp ngun.
- C b giao ng RC bn trong chp.
ti: NGHIN CU V THIT K MNG RS 485 Trang:47

- Cc ngun ngt trong v ngt ngoi.


- C 6 ch ngh (Sleep): Dng (Idle), tit kim nng lng (Power save),
ngun gim (Power Down), gim nhiu khi bin i ADC ch ch (Standby ),
v ch ch m rng.
VI: S lng I/O v dng ng gi:

- C 32 ng I/O lp trnh c vi cc chc nng khc nhau.


- 40 chn kiu ng gi PDIP, 44 chn kiu TQFP, v 44 chn kiu MLF

VII: Ngun cung cp.

- T 2.5 Volt n 5.5 Volt i vi ATMega 32L


- T 4.5 Volt n 5.5 Volt i vi ATMega 32L

VIII: Thch anh dao ng:

- T 0 n 8MHz cho ATMega 32L


- T 0 n 16MHz cho ATMega 32

IX: Nng lng tiu th ch giao ng 1MHz, 3 Volt, 25 0C


i vi ATMega 32L

- Ch lm vic : 1.1 mA.


- Ch dng (Idle): 0.35mA
- Ch d ngun gim < 1uA
ti: NGHIN CU V THIT K MNG RS 485 Trang:48

X: H tr tt cho cc trnh bin dch bng C nh IamgeCreft C,


Code VisionAVR, IAR ...

Hnh1: S o chan cua ATMega32


ti: NGHIN CU V THIT K MNG RS 485 Trang:49

Hnh 2: S khi ca ATMega32

XI: M t cc chn :

- VCC: Chn cp ngun V+


- GND: Chn cp ngun V-
- PortA (PA0..PA7): PortA c chc nng l cc u vo ca b bin i
A/D.
- PortA cng c chc nng nh l mt cng xut nhp 8 bit, hai hng. Nu
chc nng bin i A/D khng c s dng th cc chn ca PortA c th c kh
nng cung cp cc in tr ko ln bn trong (c kh nng la chn cho tng bit).
ti: NGHIN CU V THIT K MNG RS 485 Trang:50

Khi PortA c s dng chc nng l cc cng xut, cc b m xut nhp ca n


c mt tnh nng i xng l c kh nng ht hoc cp ngun cao.
- Khi PortA c x dng nh nhng chn (Input), chng s c kh nng
ht dng rt mnh nu nhng in tr ko xung bn trong c kch hot. Cc
chn ca PortA s trng thi Tri-Stated khi ch Reset c kch hot, thm
ch nu xung ng h b ngng.
- PortB (PB0..PB7): PortB c chc nng nh l mt cng xut nhp 8 bit,
hai hng. PortB c th c kh nng cung cp cc in tr ko ln bn trong ( c
kh nng la chn cho tng bit ). Khi PortB c s dng chc nng l cc cng
xut, cc b m xut nhp ca n c mt tnh nng i xng l c kh nng ht
hoc cp ngun cao.
Khi PortB c x dng nh nhng chn (Input), chng s c kh nng ht dng
rt mnh, nu nhng in tr ko xung bn trong c kch hot. Cc chn ca
PortB s trng thi Tri-Stated khi ch Reset c kch hot, thm ch nu
xung ng h b ngng. Ngoi ra PortB cng c chc nng c bit khc.
- PortC (PC0..PC7): PortC c chc nng nh l mt cng xut nhp 8 bit,
hai hng . PortC c th c kh nng cung cp cc in tr ko ln bn trong ( c
kh nng la chn cho tng bit ). Khi PortC c s dng chc nng l cc cng
xut, cc b m xut nhp ca n c mt tnh nng i xng l c kh nng ht
hoc cp ngun cao.
Khi PortC c x dng nh nhng chn (Input), chng s c kh nng ht
dng rt mnh, nu nhng in tr ko xung bn trong c kch hot. Cc chn
ca PortC s trng thi Tri-Stated khi ch reset c kch hot , thm ch nu
xung ng h b ngng.
- Nu giao din JTAG c cho php, cc in tr ko ln trn cc chn
PC5(TDI), PC3(TMS), PC2(TCK), s c kch hot thp ch nu c reset xay ra.
Ngoi hai chc nng l xut nhp v giao din JTAG th PortC cn c cc chc
nng c bit khc.
ti: NGHIN CU V THIT K MNG RS 485 Trang:51

- PortD (PD7..PD0): Cng nh PortA, PortB, PortC, PortD cng c chc


nng xut nhp tng t nh cc Port khc, ngoi ra PortD cng c chc nng l
mt giao din ni tip USART, v chn vo ca cc ngt ngoi. V chc nng
USART th s ni chi tit phn sau.
Reset: Khi mt mc in p thp c c vo c t vo chn ny ko
di hn mt thi gian ti thiu th tri thi Reset s c kch hot , thm ch1 nu
xung ng h b ngng, xung c thi gian ngn hn thi gian ti thiu khng c
m bo s pht sinh ra Reset.
XTal1: li vo ca b khuych i dao ng o v l li vo ca xung ng h
VK hot ng.
Xtal2: li ra t b khuych i o.
AVCC:l ni cung cp ngun cho b bin i A/D bn trong VK, mc d nu ta
khng s dng ch bin i A/D th ta cng nn mc chn ny ln VCC.
AREF: L chn Vref ca b bin i ADC

XII: Giao din ni tip USART.

- Tng quang giao din ni tip USART


- Giao din ni tip USART (Universal Synchronous And Asynchonous
Serial Receiver And Transmitter) l mt b truyn nhn ni tip linh ng cao
c tch hp sn trong VK c cc chc nng chnh l:
+ Ch truyn pht song cng hon chnh (cc thanh ghi truyn
nhn l nhng thanh ghi c lp vi nhau)
+ Ch truyn nhn ng b v khng ng b
+ Ch hot ng ng b vi cc thit b ch t
- phn gii cao v cc tc baud.
- H tr kch thc cc khung truyn l: 5,6,7,8 hoc 9 bit d liu v mt
hay 2 bit Stop.
ti: NGHIN CU V THIT K MNG RS 485 Trang:52

- T ng pht bit kim tra chn l v t kim tra chn l.


- T ng d khi d liu b trn.
- T ng d li khung truyn.
- Ch lc nhiu gm li bit Start, v b lc thng thp s.
- H tr ba ngt ring bit: TX (ngt khi truyn xong), RX (ngt khi thu xong),
ngt khi thanh ghi truyn rng.
- H tr ch thng tin a VK .
- H tr tc truyn gp i ch truyn bt ng b.

Hnh 3 : S khi ca b USART

XIII: Tc baud:

Tc baud ph thuc vo tn s thch anh chun mc vo VK ta c th


s dng nhng gi tr chun gn gi tr cho thch anh ph hp vi tc baud.
ti: NGHIN CU V THIT K MNG RS 485 Trang:53

Hnh 4: S khi cch pht tc baud

- Txclk: xung clock pht (tn hiu bn trong)


- Rxclk: xung clock thu (tn hiu bn trong)
- Fosc: Tn s dao ng ca h thng.
- Cch thng dng nht t tc baud l ci t cc gi tr tng ng
vi tc baud m ta mong mun vo thanh ghi tc baud UBRR.Bng v d
di y cho ta cc gi tr tng ng vi tc baud m ta mun t trong trng
hp s dng mt s thch anh thng dng.

Bang1: Phat toc o baud.


ti: NGHIN CU V THIT K MNG RS 485 Trang:54

Bang 2 : Phat toc o baud.

Bang 3: Phat toc o baud.

XIV: B bin i ADC bn trong chp:

- Trong phn ln cc b vi iu khin AVR iu c b bin i ADC c


tch hp sn bn trong chp, y c th xem l phn ni tri hn cc vi iu khin
khc VD: nh 89C51vv.
- c im ca b bin i ADC bn trong vi iu khin ATMEGA32 :
+ phn gii ln n 10 bit .
ti: NGHIN CU V THIT K MNG RS 485 Trang:55

+ Thi gian chuyn i t 13 dn 260us .


+ 8 knh bin i ADC n cc .
+ 7 knh vi sai .
+ in p bin di t 0VCC .
+ C th la chn mc Vref l 2,56 volt .
+ Hai knh nhp vo vi sai vi ch la chn b khuych i l 10x n
200x .
+ H tr ngt khi hon thnh vic bin i ADC .
+ H tr ch gim nhiu .

Hnh 5: S o khoi bo bien oi ADCtrong vi ieu khien ATMega32.


ti: NGHIN CU V THIT K MNG RS 485 Trang:56

PHN II
THIT K V THI CNG
I: Mch ngun :

5V
7805
17 35 V 0,1

VCC
3

2 Q1A
R
1

R3

LED

Hnh 1: S ngun n p 5V.

Dng IC n p 3 chn 78xx loi ny cho ra in p c nh c ch ra


bng hai s cui ca IC. V d 7805 n p 5V, 7812 (+12V), 7815 (+15V), 7824
(+24V); u ra thng thng mc thm t C = 0,1 uF ci thin qu trnh qu
v d cho in tr ra ca mch nh.

Hnh 1: Mch hin th Led


ti: NGHIN CU V THIT K MNG RS 485 Trang:57

II: Mch hin th Led:


hin th trng thi nhn c ca cc Vi iu Khin ta x mch hin th
bi cc Led c mc vo mch nh hnh trn. Khi c tn hiu kch vo cc B
Transistor lm cho Transistor dn, lc ny dng in chy t Vcc qua mi ni CE
qua R3 qua Led v xung mas lm cho Led sng.
Ta c:
Vcc = 5V;
Vce = 0,2V;
Vled = 0,7V; dng chy qua Led ti a l: Iled = 15mA;
T s mch ta c :
Vcc = Vce + Vled + R3* Iled;
R3* Iled = Vcc -Vce -Vled
III: IC MAX RS485 :

Hnh 3: S o chan Max 485


Ngun 5volt .
Chun EIA .
Tc truyn d liu 5mb/s .
Bo v nhit v ngn mch .
Thi gian tr khi truyn l 10ns v nhn l 20ns .
ti: NGHIN CU V THIT K MNG RS 485 Trang:58

Chan
Ten Chc nang
IP/SO MAX
RO Ngo ra bo thu :
1 3 Neu A > B la200mV, RO la cao.
Neu A < B la 200mV , RO la thap.
/RE Cho phep ngo ra bo thu :
2 4 RO c cho pheo khi /RE la thap.
RO la tr khang cao khi /RE la cao.
DE Cho phep ngo ra lai :
Cac ngo ra lai A va B c cho phep khi DE cao.
Cac ngo ra lai A va B la tr khang cao khi DE thap.
3 5 Neu nhng ngo ra lai c cho phep th tng ngo co chc
nang nh lacac ng lai.
Khi chung la tr khang cao, chc nang cua chung nh la
cac ng thu cua bo thu neu /RE la thap.
DI Ngo vao bo lai :
4 6 DI thap th A thap va B cao
DI cao th A cao va B thap.

5 7 GND Noi mass.

6 8 A Ngo vao vo thu va ngo ra bo lai eu khong ao.

7 1 B Ngo vao bo thu va ngo ra bo lai eu ao.


8 2 Vcc Nguon cung cap dng 4.75V Vcc 5.25V
ti: NGHIN CU V THIT K MNG RS 485 Trang:59

Chc nang cua cac ng ieu khien :

Truyen :

Tn hieu vao Tn hieu ra

/RE DE DI B A

X 1 1 0 1

X 1 0 1 0

0 0 X High Z High Z

1 0 X High Z High Z

Nhan:

Tn hieu vao Tn hieu ra

/RE DE A-B RO

0 0 200mV 1

0 0 200mV 0

0 0 Ngo vao h 1
mach

1 0 X High Z

IV: MASTER V SLAVE :

Phng php truy cp cho h thng mng ca ti ny. Theo hng php
Master/ Slave th: trm ch (Master) c trch nhim ch ng trong vic phn chia
ti: NGHIN CU V THIT K MNG RS 485 Trang:60

quyn truy cp bus cho h thng, c bit trnh s xung t khi c hai trm t
cng pht d liu ln ng truyn mt lc y l mt im yu c th lm mt d
liu c gi, hay c th lm sai lch ni dung .

+ Trm ch Master c trch nhim phn chia quyn truy cp bus cho trm
t.

+ Trm ch c th dng phng php hi tun t n cc trm t.

+ Cc trm t ng vai tr th ng, ch c quyn truy cp khi nhn c


yu cu t trm ch.

+ Cc trm t s gi d liu ln ng truyn v trm ch khi c yu cu,


ngc li thc thi cng vic ca ring mnh cho n khi trm ch hi tip sau mi
chu k.

+ Tt c cc trm t khng c quyn lin lc vi nhau.

Da vo cc tnh cht ny ta xy dng phng php ch t (Master/ Slave)


. m bo ti mt thi im ch c mt trm t duy nht tc cc Vi X
L c quyn truy cp bus, vic ny c m nhim bi trm ch (Master) phi c
mt phng php iu khin cc trm t thch hp, mt khc tt c cc trm t
nhn d liu t ( Master) gi i, hay truyn d liu v cho (Master) u ph thuc
vo cc lnh nhn c t (Master). thc hin nhng yu cu ny th i hi
trm ch phi c k thut qun l ng truyn, cng nh p ng ng tnh cht
ca phng php ch t (Master/ Slave) . nh hnh 4 :
ti: NGHIN CU V THIT K MNG RS 485 Trang:61

MASTER

SALAVE SALAVE

. . .

Rs485

Hnh 4: S o khoi mang RS485

V: Trm ch (Master ) :

- Dng vi s l ATMega32 :

- Port A t PA0 - PA7 dng xut gi tr hin th Led.

- Port B t PB1 - PB5 iu khin qut Led, PB6 v PB7 c


dng hin th Led cho ng c, PB0 c ni vi chn s 2 v
chn s 3 ca 485, mc ch iu khin vic truyn nhn d liu.

- Port C t PC0 - PC7 dng sut ra iu khin phm theo


phng php ma trn , c bn hng bn ct .

- PC0- PC3 s dng lm hng .

- PC4 -PC7 s dng lm ct .

-Chn Reset ni ngun VCC, qua b t .

- Port PD0 v PD7 s giao tip ni tip. Trong chn PDO l


chn RXD tc l chn nhn d liu ca Port ni tip, chn PD1 l
chn TXD tc l chn truyn d liu ca Port ni tip. Hai chn ny
c ni RS485 tng ng vi chn RXD c ni vi chn s 1 l
ti: NGHIN CU V THIT K MNG RS 485 Trang:62

chn R ca Max 485, chn TXD c ni vi chn s 4 l chn D ca


Max 485 c th hin hnh 5:

VCC

U2

10
VCC 40

VCC
C1 PA0 39
12 PA1 28
R4 XTAL2 PA2 37
PA3
R Y1 PA4
36
35
T N
PA5 34
13 PA6 33

.
XTAL1 PA7

C 9
RESE
C2 16 Q5 Q5 Q5 Q5 Q5
C 17 PD2 8
18 PD3 PB7 7
19 PD4 PB6 6
20 PD5 PB5 5
VCC VCC 21 PD6 PB4 4
VCC PD7 PB3 3
32 PB2 2
30 AREF PB1
AVCC
8

6 2 1 29
VCC

A RE 3 PB0 PC7 28
DE PC6
R
1 32
PD0(RXD) PC5
27
26
3 4 8
7 PC4 25
GND

B 4 15 PC3 24
D PD1(TXD) PC2 23
GND

GND

PC1
PC0
22 2 5 9
5

11

31

1 6 r s
MAX485 ATMega32
Enter
0 7

Hnh 5: S thit k trm ch (Master )

Phng php truyn nhn d liu ca master :


Trm ch gi i mt khung d liu gm cc byte sau :
Dc (a ch ), byte Dl ( d liu ), c lnh truyn v nhn ( R , S ), byte ng c
C (a ch ) Byte u tin byte ny l byte a ch nhn din ..
L (lnh ) Byte th hai l Byte lnh gm hai lnh, l yu cu nhn d
liu hay yu cu gi d liu v master .
DL (d liu ) Byte th ba l Byte d liu.
Byte th 4: l byte iu khin ng c nu trm c ng c hoc byte thm
vo cho khung d liu 4 byte i vi trm khng c ng c.
ti: NGHIN CU V THIT K MNG RS 485 Trang:63

Bt u

Khi ng Port ni
tip.
t tc baud.

Qut Led.

Qut phm
4

Byte = 4
Gi khung d liu
gm 4 byte

Rx Counter < 4
Kim tra b m
nhn

Rx Counter = 4
Nhn khung d
liu gm 4 byte

X l khung d
liu

Kt thc

Hnh 6: Lu gii thut Master


ti: NGHIN CU V THIT K MNG RS 485 Trang:64

VI: Khi qut v cc trm t :

- Gm c mt trm ch (Master ) v hai trm t ( Slave).

- Cc Vi X L (cc trm) ly Byte u tin hay gi l byte a ch so snh


vi a ch ca mnh nu ng th x l tip cc Byte cn li, nu khng th b
khung truyn va nhn c v i nhn khung tip theo

- Nu ng l a ch ca mnh th Vi X L kim tra Byte lnh nu l lnh


nhn th

Vi X L nhn Byte th ba lm Byte d liu i vi trm c a chi l 8 th byte


th 4 l byte iu khin ng c, i vi trm c a ch l 4 th byte th 4 l byte
thm vo cho khung d liu (khung d liu l 4 byte).

- Nu l lnh gi :

Nu l lnh gi th vi s l kim tra d liu ca mnh v gi khung d liu


v cho trm ch thng qua ng truyn RS485

Vy theo phng php ny ti mt thi im ch c mt Vi X L truy cp


ng truyn gi d liu v cho trm ch, khi Vi X L nhn c lnh, i
vi cc Vi X L cn li khng c xc nh a ch th b khung v thc thi
cng vic ca ring chng khng truy cp ng truyn, vy khng th xy ra hin
tng ti mt thi im c hai hay nhiu trm t cng truyn d liu ln ng
truyn, do khng th c xung t xy ra y. Ton b h thng c trm
ch quon l v ch c trm t no c yu cu gi d liu th mi c quyn truy
cp bus .
ti: NGHIN CU V THIT K MNG RS 485 Trang:65

VII: Trm t 1( a ch 4 )

S mch in c th hin hnh 8 trm ny th n gin d liu


nhn c t trm ch gi ti v so snh vi a ch ca mnh l 4 nu ng th
xc nh byte th hai l lnh g nu l lnh nhn th n ly byte d liu l byte th
3 ng thi a gi tr ny ra Prot A. Nu l lnh gi th n c gi tr ca Port A
hin c ca n v gi gi tr ny v cho trm ch. Di y l s mch c
th hin hnh 8: V l gii tht c th hin hnh 9:

U2
10

VCC 8
C1 PB7 7
VCC

12 PB6 6
R4 XTAL2 PB5 5
PB4 4
R Y1 PB3 3
PB2 2
13 PB1
XTAL1 40
PA0 39
C 9 PA1 28
RESE PA2 37
C2 16 PA3 36
C 17 PD2 PA4 35
18 PD3 PA5 34
19 PD4 PA6 33
20 PD5 PA7
VCC 21 PD6
PD7 VCC

32
AREF
8

30
6 2 1 AVCC 29
A RE 3 PB0 PC7 28
VCC

DE 1 32 PC6 27
R PD0(RXD) PC5 26
7 PC4 25
B PC3
GND

4 15 24
D PD1(TXD) PC2 23
PC1
GND
GND

22
PC0
5

11
31

MAX485 ATMega32
ti: NGHIN CU V THIT K MNG RS 485 Trang:66

Hnh 8: S o thiet ke tram (Slave 1 )

Bt u

Khi ng Port ni
tip.

Nhn khung d liu


4 byte

Sai
Kim tra a ch

ng
Kim tra lnh
(2 lnh RS)

Nhn byte d liu,


lm d liu

Gi khung d liu

Kt thc

Hnh 9: Lu gii thut Trm 1


ti: NGHIN CU V THIT K MNG RS 485 Trang:67

VIII: Trm Slave (trm t 2 ) :

Cng dng vi s l ATMega32 c thit k phn cng gn ging nh


trm 1. Khc ch l c thm phn ng c. Phn mm c lp trnh thu
nhn v x l d liu t trm ch gi n v c hin th cc trng thi nhn
c bi cc LED. Ngoi ra ta cn c mch iu ng c trn trm ny, v c
iu khin trc tip bi trm ch. khi trm t ny nhn c lnh iu khin t
trm ch gi ti, mch iu khin ng c hot ng nh sau :
Khi nhn c lnh kch khi ng ng c theo chiu thun t trm ch
(Master), th trm t kch hot chn PC1 lm cho Q3 dn in ng thi Q2 cng
c in (v Q2 v Q3 trng thi lun lun dn ) nn dng in qua ng c n
D1 qua Q3 v Mass, (trong mch Q2, Q1 lun dn bo ha). Khi c lnh khi
ng theo chiu ngc li theo yu cu ca trm ch, th lc ny chn PC0 c
kch hot, dng in chy t Q1 qua ng c, n D2 qua Q4 v Mass, lc ny
dng chy qua ng c theo chiu ngc li do ng c c khi ng theo
chiu ngc li.
Cng dng bn byte :
- C (a ch )
- L (lnh )
- DL (d liu )
- ( ng c )
ti: NGHIN CU V THIT K MNG RS 485 Trang:68

VCC

U2

10
VCC
C1

VCC
40
12 PA0 39
R4 XTAL2 PA1 28
PA2 37
R Y1 PA3 36
PA4 35
13 PA5 34
XTAL1 PA6 33
PA7
C 9 8
RESE PB7 7
C2 16 PB6 6
C 17 PD2 PB5 5
18 PD3 PB4 4
19 PD4 PB3 3
20 PD5 PB2 2 VCC
21 PD6 PB1
VCC VCC
PD7 32
AREF 30
AVCC
R1 R2
A
8

29 R R
6 2 1 PC7 28
A RE PB0 PC6 27
VCC

3 Q3 Q2
R5 DE 1 32 PC5 26
R R PD0(RXD) PC4 25
7
B
PC3 24
PC2 23
B D2 D1
GND

4 15
D PD1(TXD) PC1 22 . DC .
PC0
GND
GND

DIODE DIODE
A B
5

Q2
31

Q1
11

R R

MAX485 ATMega32

Hnh 10: S o thiet ke tram (salave 2 )


ti: NGHIN CU V THIT K MNG RS 485 Trang:69

Bt u

Khi ng Port ni
tip.

Nhn khung d liu


4 byte

Sai
Kim tra a ch

ng
Kim tra lnh S (Lnh gi)
(2 lnh RS)

Nhn R
Nhn byte d liu
v byte ng c

Gi khung d liu

Kt thc

Hnh 11: Lu gii thut Trm t 2


ti: NGHIN CU V THIT K MNG RS 485 Trang:70

CHNG TRNH VIT CHO CC TRM

Tram chu Master.

This program was produced by the


CodeWizardAVR V1.24.7d Professional
Automatic Program Generator
Copyright 1998-2005 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
e-mail:office@hpinfotech.com
Project :
Version :
Date : 6/3/2006
Author : F4CG
Company : F4CG
Comments:
Chip type : ATmega32
Program type : Application
Clock frequency : 4.000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 512
*****************************************************/
#include <mega32.h>
#include <delay.h>
#define RXB8 1
#define TXB8 0
#define UPE 2
#define OVR 3
#define FE 4
#define UDRE 5
#define RXC 7
#define FRAMING_ERROR (1<<FE)
#define PARITY_ERROR (1<<UPE)
#define DATA_OVERRUN (1<<OVR)
#define DATA_REGISTER_EMPTY (1<<UDRE)
#define RX_COMPLETE (1<<RXC)
// USART Receiver buffer
#define RX_BUFFER_SIZE 8
ti: NGHIN CU V THIT K MNG RS 485 Trang:71

char rx_buffer[RX_BUFFER_SIZE];
#if RX_BUFFER_SIZE<256
unsigned char rx_wr_index,rx_rd_index,rx_counter;
#else
unsigned int rx_wr_index,rx_rd_index,rx_counter;
#endif
// This flag is set on USART Receiver buffer overflow
bit rx_buffer_overflow;
// USART Receiver interrupt service routine
interrupt [USART_RXC] void usart_rx_isr(void)
{
char status,data;
status=UCSRA;
data=UDR;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
{
rx_buffer[rx_wr_index]=data;
if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0;
if (++rx_counter == RX_BUFFER_SIZE)
{
rx_counter=0;
rx_buffer_overflow=1;
};
};
}

#ifndef _DEBUG_TERMINAL_IO_
// Get a character from the USART Receiver buffer
#define _ALTERNATE_GETCHAR_
#pragma used+
char getchar(void)
{
char data;
while (rx_counter==0);
data=rx_buffer[rx_rd_index];
if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0;
#asm("cli")
--rx_counter;
#asm("sei")
return data;
}
#pragma used-
ti: NGHIN CU V THIT K MNG RS 485 Trang:72

#endif
// USART Transmitter buffer
#define TX_BUFFER_SIZE 8
char tx_buffer[TX_BUFFER_SIZE];
#if TX_BUFFER_SIZE<256
unsigned char tx_wr_index,tx_rd_index,tx_counter;
#else
unsigned int tx_wr_index,tx_rd_index,tx_counter;
#endif
// USART Transmitter interrupt service routine
interrupt [USART_TXC] void usart_tx_isr(void)
{
if (tx_counter)
{
--tx_counter;
UDR=tx_buffer[tx_rd_index];
if (++tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0;
};
}
#ifndef _DEBUG_TERMINAL_IO_
// Write a character to the USART Transmitter buffer
#define _ALTERNATE_PUTCHAR_
#pragma used+
void putchar(char c)
{
while (tx_counter == TX_BUFFER_SIZE);
#asm("cli")
if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0))
{
tx_buffer[tx_wr_index]=c;
if (++tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0;
++tx_counter;
}
else
UDR=c;
#asm("sei")
}
#pragma used-
#endif
// Standard Input/Output functions
#include <stdio.h>
// Declare your global variables here
ti: NGHIN CU V THIT K MNG RS 485 Trang:73

unsigned char j,k,chuso[4],bay[8],tr,i,ma[4],n,p,bd,x,tam1,tam2,tam3;


unsigned char nhan0,nhan1,nhan2,nhan3,z,nt,truyen=1,nhan,ks;
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=Out Func4=Out Func3=In Func2=In Func1=Out Func0=Out
// State7=T State6=T State5=1 State4=1 State3=T State2=T State1=1 State0=1
PORTA=0x33;
DDRA=0xFF;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=Out Func0=Out
// State7=T State6=T State5=T State4=T State3=T State2=T State1=1 State0=1
PORTB=0x03;
DDRB=0xFF;
// Port C initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out
Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=1
PORTC=0x01;
DDRC=0xFF;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
ti: NGHIN CU V THIT K MNG RS 485 Trang:74

// Input Capture on Falling Edge


// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud rate: 9600
UCSRA=0x00;
UCSRB=0xD8;
UCSRC=0x86;
UBRRH=0x00;
ti: NGHIN CU V THIT K MNG RS 485 Trang:75

UBRRL=0x19;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// Global enable interrupts
#asm("sei")
rx_counter=0;
rx_buffer[1]=0;
rx_buffer[2]=0;
rx_buffer[3]=0;
rx_buffer[4]=0;
rx_buffer[5]=0;
rx_buffer[6]=0;
rx_buffer[7]=0;
chuso[0]=32;
chuso[1]=32;
chuso[2]=32;
j=0;
k=0;
z=0;
while (1)
{
// Place your code here
delay_ms(10);
UCSRB=0x00;
if (truyen==1)
{
for ( i=0; i<=3; i++) //quet phim
{
x=1;
p=x<<i;
DDRC=0x0f;
PORTC=p;
delay_ms(5);
n=PINC;
if (n==129)
{
bd=1;
delay_ms(100);
}
ti: NGHIN CU V THIT K MNG RS 485 Trang:76

if ((z!=1) & (n==17))


{

chuso[j]=126;
ma[j]=0;
delay_ms(100);
j++;
}
if ((z!=1) & (n==18))
{

chuso[j]=18;
ma[j]=1;
delay_ms(100);
j++;
}
if ((z!=1) & (n==20))
{
chuso[j]=61;
ma[j]=2;
delay_ms(100);
j++;
}
if ((z!=1) & (n==24))
{
chuso[j]=109;
ma[j]=3;
delay_ms(100);
j++;
}
if ((z!=1) & (n==40))
{
chuso[j]=75;
ma[j]=4;
delay_ms(100);
j++;
}
if ((z!=1) & (n==36))
{
chuso[j]=103;
ma[j]=5;
delay_ms(100);
ti: NGHIN CU V THIT K MNG RS 485 Trang:77

j++;
}
if ((z!=1) & (n==34))
{
chuso[j]=119;
ma[j]=6;
delay_ms(100);
j++;
}
if ((z!=1) & (n==33))
{
chuso[j]=76;
ma[j]=7 ;
delay_ms(100);
j++;
}
if ((z!=1) & (n==72))
{
chuso[j]=127;
ma[j]=8;
delay_ms(100);
j++;
}
if ((z!=1) & (n==68))
{
chuso[j]=111;
ma[j]=9;
delay_ms(100);
j++;
}
if ((z==1) & (n==130))
{
chuso[j]=103;
ma[j]=4;
delay_ms(100);
j++;
}
if ((z==1) & (n==66))
{
chuso[j]=95;
ma[j]=8;
delay_ms(100);
ti: NGHIN CU V THIT K MNG RS 485 Trang:78

j++;
}

}//for ( i=0; i<=3; i++)

tam1=chuso[0];
tam2=chuso[1];
tam3=chuso[2];
if (j==0); // QUET chu so 0;
{
DDRB=0xFF;
PORTB=0x04;
DDRA=0xff;
PORTA=chuso[0];
delay_ms(5);
}
if (j==1); // Quet chu so 1
{
DDRB=0xFF;
PORTB=0x08;
DDRA=0xff;
PORTA=chuso[1];
delay_ms(5);
}
if (j==2); // quet chu so thu 2
{
DDRB=0xFF;
PORTB=0x20;
DDRA=0xff;
PORTA=chuso[2];
delay_ms(5);
}
if(z==0)// dia chi DC.
{
PORTB=0x01;
DDRB=0xff;
PORTA=121;
delay_ms(5);
PORTB=0x02;
DDRB=0xff;
PORTA=177;
delay_ms(5);
ti: NGHIN CU V THIT K MNG RS 485 Trang:79

}
if (z==1)// chu lenh (L).
{
PORTB=0x01;
DDRB=0xff;
PORTA=178;
delay_ms(1);
}
if(z==2)//du lieu (DL)
{
PORTB=0x01;
DDRB=0xff;
PORTA=121;
delay_ms(5);
PORTB=0x02;
DDRB=0xff;
PORTA=50;
delay_ms(5);
}
if (z==3) //dong co (D)
{
PORTB=0x01;
DDRB=0xff;
PORTA=121;
delay_ms(1);
if ((chuso[0]==18)&&(chuso[1]==126))
bay[3]=1;
if ((chuso[0]==18)&&(chuso[1]==18))
bay[3]=2;
if ((chuso[0]==126)&&(chuso[1]==126))
bay[3]=0;
tr=1;
}
else
{
bay[3]=255;
tr=1;
}
// doan chuong trinh tinh gia tri cua bay.
if ((tam1!=32)&&(tam2==32)&&(tam3==32)&&(bd==1)&&(k<=2))
{
bay[k]=ma[0];
ti: NGHIN CU V THIT K MNG RS 485 Trang:80

chuso[0]=32;
chuso[1]=32;
chuso[2]=32;
j=0;
z++;
k++;
bd=0;
}
if ((tam1!=32)&&(tam2!=32)&&(tam3==32)&&(bd==1)&&(k<=2))
{
bay[k]=((ma[0]*10)+ma[1]);
chuso[0]=32;
chuso[1]=32;
chuso[2]=32;
j=0;
z++;
k++;
bd=0;
}
if ((tam1!=32)&&(tam2!=32)&&(tam3!=32)&&(bd==1)&&(k<=2))
{
bay[k]=(ma[0]*10+ma[1])*10+ma[2];
chuso[0]=32;
chuso[1]=32;
chuso[2]=32;
j=0;
z++;
k++;
bd=0;
}
//Ket thuc doan chuong trinh tinh gia tri cua bay.
// doan chuong trinh truyen
if ((tr==1)&&(bd==1))
{
PORTB=16;
DDRB=0xff;
chuso[0]=32;
chuso[1]=32;
chuso[2]=32;
j=0;
UCSRB=0x48;
putchar(bay[0]);
ti: NGHIN CU V THIT K MNG RS 485 Trang:81

putchar(bay[1]);
putchar(bay[2]);
putchar(bay[3]);
delay_ms(10);
UCSRB=0x00;
delay_ms(10);
UCSRB=0x90;
PORTB=0;
delay_ms(100);
z=0;
k=0;
tr=0;
bd=0;

} //ket thuc truyen


}//fi truyen
// doan nhan
if (rx_counter>=4)
{

truyen=0;
nhan=1;
nhan0=getchar();
nhan1=getchar();
nhan2=getchar();
nhan3=getchar();
nt=nhan2;
PORTA=nt;
DDRA=0xFF;
PORTB=2;
rx_counter=0;
rx_buffer[1]=0;
rx_buffer[2]=0;
rx_buffer[3]=0;
rx_buffer[4]=0;
rx_buffer[5]=0;
rx_buffer[6]=0;
rx_buffer[7]=0;
UCSRB=0x00;

} // ket thuc nhan


PORTC=0;
ti: NGHIN CU V THIT K MNG RS 485 Trang:82

while (nhan==1) // su ly quet led nhan


{
int A[4],B,i2,j=0;

if (nhan0==8)
{
PORTB=0x01;
DDRB=0xff;
PORTA=127;
delay_ms(5);
PORTB=0x02;
DDRB=0xff;
PORTA=1;
delay_ms(5);
}

if (nhan0==4)
{
PORTB=0x01;
DDRB=0xff;
PORTA=75;
delay_ms(5);
PORTB=0x02;
DDRB=0xff;
PORTA=1;
delay_ms(5);
}
if (nhan3==1)
{
PORTB=128;
delay_ms(5);
}
if (nhan3==2)
{
PORTB=64;
delay_ms(5);
}
if (nt>=100) // chuong trinh tinh gia tri nhan ve
{
A[0]=nt/100;
B=nt-A[0]*100;
A[1]=B/10;
ti: NGHIN CU V THIT K MNG RS 485 Trang:83

A[2]=B-A[1]*10;
i2=2;
}
if ((nt<100)&&(nt>=10))
{
A[0]=nt/10;
A[1]=nt-A[0]*10;
i2=1;
}
if (nt<10)
{
A[0]=nt;
i2=0;
}
// ket chuong trinh tinh gia tri nhan ve

for ( i=0; i<=i2;i++ )


{

if (A[i]==0)
{
chuso[j]=126;
j++;
}
if (A[i]==1)
{
chuso[j]=18;

j++;
}
if (A[i]==2)
{
chuso[j]=61;
j++;
}
if (A[i]==3)
{
chuso[j]=109;
j++;
}
if (A[i]==4)
{
ti: NGHIN CU V THIT K MNG RS 485 Trang:84

chuso[j]=75;
j++;
}
if (A[i]==5)
{
chuso[j]=103;
j++;
}
if (A[i]==6)
{
chuso[j]=119;
j++;
}
if (A[i]==7)
{
chuso[j]=76;
j++;
}
if (A[i]==8)
{
chuso[j]=127;
j++;
}
if (A[i]==9)
{
chuso[j]=111;

j++;
}
}
if (j==0); // QUET chu so 0;
{
DDRB=0xFF;
PORTB=0x04;
DDRA=0xff;
PORTA=chuso[0];
delay_ms(5);
}
if (j==1); // Quet chu so 1
{
DDRB=0xFF;
PORTB=0x08;
ti: NGHIN CU V THIT K MNG RS 485 Trang:85

DDRA=0xff;
PORTA=chuso[1];
delay_ms(5);
}
if (j==2); // quet chu so thu 2
{
DDRB=0xFF;
PORTB=0x20;
DDRA=0xff;
PORTA=chuso[2];
delay_ms(5);
}
// quay lai tu dau (thoat)
PORTC=1;
ks=PINC;
if (ks==65)
{
nhan=0;
truyen=1;
chuso[0]=32;
chuso[1]=32;
chuso[2]=32;

}
}// while (nhan==1)
};
}

Tram t 1 :

program was produced by the


CodeWizardAVR V1.24.7d Professional
Automatic Program Generator
Copyright 1998-2005 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
e-mail:office@hpinfotech.com
ti: NGHIN CU V THIT K MNG RS 485 Trang:86

Project :
Version :
Date : 6/7/2006
Author : F4CG
Company : F4CG
Comments:

Chip type : ATmega32


Program type : Application
Clock frequency : 4.000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 512
*****************************************************/

#include <mega32.h>
#include <delay.h>
#define RXB8 1
#define TXB8 0
#define UPE 2
#define OVR 3
#define FE 4
#define UDRE 5
#define RXC 7

#define FRAMING_ERROR (1<<FE)


#define PARITY_ERROR (1<<UPE)
#define DATA_OVERRUN (1<<OVR)
#define DATA_REGISTER_EMPTY (1<<UDRE)
#define RX_COMPLETE (1<<RXC)

// USART Receiver buffer


#define RX_BUFFER_SIZE 8
char rx_buffer[RX_BUFFER_SIZE];

#if RX_BUFFER_SIZE<256
unsigned char rx_wr_index,rx_rd_index,rx_counter;
#else
unsigned int rx_wr_index,rx_rd_index,rx_counter;
#endif
ti: NGHIN CU V THIT K MNG RS 485 Trang:87

// This flag is set on USART Receiver buffer overflow


bit rx_buffer_overflow;

// USART Receiver interrupt service routine


interrupt [USART_RXC] void usart_rx_isr(void)
{
char status,data;
status=UCSRA;
data=UDR;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
{
rx_buffer[rx_wr_index]=data;
if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0;
if (++rx_counter == RX_BUFFER_SIZE)
{
rx_counter=0;
rx_buffer_overflow=1;
};
};
}

#ifndef _DEBUG_TERMINAL_IO_
// Get a character from the USART Receiver buffer
#define _ALTERNATE_GETCHAR_
#pragma used+
char getchar(void)
{
char data;
while (rx_counter==0);
data=rx_buffer[rx_rd_index];
if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0;
#asm("cli")
--rx_counter;
#asm("sei")
return data;
}
#pragma used-
#endif

// USART Transmitter buffer


#define TX_BUFFER_SIZE 8
ti: NGHIN CU V THIT K MNG RS 485 Trang:88

char tx_buffer[TX_BUFFER_SIZE];

#if TX_BUFFER_SIZE<256
unsigned char tx_wr_index,tx_rd_index,tx_counter;
#else
unsigned int tx_wr_index,tx_rd_index,tx_counter;
#endif

// USART Transmitter interrupt service routine


interrupt [USART_TXC] void usart_tx_isr(void)
{
if (tx_counter)
{
--tx_counter;
UDR=tx_buffer[tx_rd_index];
if (++tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0;
};
}

#ifndef _DEBUG_TERMINAL_IO_
// Write a character to the USART Transmitter buffer
#define _ALTERNATE_PUTCHAR_
#pragma used+
void putchar(char c)
{
while (tx_counter == TX_BUFFER_SIZE);
#asm("cli")
if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0))
{
tx_buffer[tx_wr_index]=c;
if (++tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0;
++tx_counter;
}
else
UDR=c;
#asm("sei")
}
#pragma used-
#endif

// Standard Input/Output functions


#include <stdio.h>
ti: NGHIN CU V THIT K MNG RS 485 Trang:89

// Declare your global variables here


unsigned char nhan1,nhan2,nhan3,nhan4,tr1,tr2,tr3,tr4;
void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization


// Port A initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out
Func0=Out
// State7=1 State6=0 State5=0 State4=0 State3=1 State2=0 State1=0 State0=1
PORTA=0x89;
DDRA=0xFF;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0xFF;
DDRB=0xFF;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
ti: NGHIN CU V THIT K MNG RS 485 Trang:90

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization


// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization


TIMSK=0x00;
ti: NGHIN CU V THIT K MNG RS 485 Trang:91

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud rate: 9600
UCSRA=0x00;
UCSRB=0xD8;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x19;

// Analog Comparator initialization


// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// Global enable interrupts


#asm("sei")

while (1)//tram dia chi 4


{
// Place your code here

delay_ms(10);
PORTB=0;
;
UCSRB=0x90;
UCSRB=0x90;
if (rx_counter>=4)
{
nhan1=getchar();
nhan2=getchar();
nhan3=getchar();
nhan4=getchar();
delay_ms(10);
UCSRB=0x00;

rx_counter=0;
rx_buffer[1]=0;
ti: NGHIN CU V THIT K MNG RS 485 Trang:92

rx_buffer[2]=0;
rx_buffer[3]=0;
rx_buffer[4]=0;

if ((nhan1==4)&(nhan2==4))
{
PORTA=nhan3;
DDRA=0xff;
}
if ((nhan1==4)&(nhan2==8))
{
UCSRB=0x00;
delay_ms(50);
PORTB=1;
delay_ms(50);
// dl100
tr1=4;
tr2=255;
tr3=PINA;
tr4=55;
UCSRB=0x48;
putchar(tr1);
putchar(tr2);
putchar(tr3);
putchar(tr4);
delay_ms(10);
PORTB=0;
UCSRB=0x00;

}
};
Tram t 2 :

This program was produced by the


CodeWizardAVR V1.24.7d Professional
Automatic Program Generator
Copyright 1998-2005 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
e-mail:office@hpinfotech.com
ti: NGHIN CU V THIT K MNG RS 485 Trang:93

Project :
Version :
Date : 6/3/2006
Author : F4CG
Company : F4CG
Comments:

Chip type : ATmega32


Program type : Application
Clock frequency : 4.000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 512
*****************************************************/

#include <mega32.h>

#include <delay.h>
#define RXB8 1
#define TXB8 0
#define UPE 2
#define OVR 3
#define FE 4
#define UDRE 5
#define RXC 7

#define FRAMING_ERROR (1<<FE)


#define PARITY_ERROR (1<<UPE)
#define DATA_OVERRUN (1<<OVR)
#define DATA_REGISTER_EMPTY (1<<UDRE)
#define RX_COMPLETE (1<<RXC)

// USART Receiver buffer


#define RX_BUFFER_SIZE 8
char rx_buffer[RX_BUFFER_SIZE];

#if RX_BUFFER_SIZE<256
unsigned char rx_wr_index,rx_rd_index,rx_counter;
#else
unsigned int rx_wr_index,rx_rd_index,rx_counter;
ti: NGHIN CU V THIT K MNG RS 485 Trang:94

#endif

// This flag is set on USART Receiver buffer overflow


bit rx_buffer_overflow;

// USART Receiver interrupt service routine


interrupt [USART_RXC] void usart_rx_isr(void)
{
char status,data;
status=UCSRA;
data=UDR;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
{
rx_buffer[rx_wr_index]=data;
if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0;
if (++rx_counter == RX_BUFFER_SIZE)
{
rx_counter=0;
rx_buffer_overflow=1;
};
};
}

#ifndef _DEBUG_TERMINAL_IO_
// Get a character from the USART Receiver buffer
#define _ALTERNATE_GETCHAR_
#pragma used+
char getchar(void)
{
char data;
while (rx_counter==0);
data=rx_buffer[rx_rd_index];
if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0;
#asm("cli")
--rx_counter;
#asm("sei")
return data;
}
#pragma used-
#endif

// USART Transmitter buffer


ti: NGHIN CU V THIT K MNG RS 485 Trang:95

#define TX_BUFFER_SIZE 8
char tx_buffer[TX_BUFFER_SIZE];

#if TX_BUFFER_SIZE<256
unsigned char tx_wr_index,tx_rd_index,tx_counter;
#else
unsigned int tx_wr_index,tx_rd_index,tx_counter;
#endif

// USART Transmitter interrupt service routine


interrupt [USART_TXC] void usart_tx_isr(void)
{
if (tx_counter)
{
--tx_counter;
UDR=tx_buffer[tx_rd_index];
if (++tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0;
};
}

#ifndef _DEBUG_TERMINAL_IO_
// Write a character to the USART Transmitter buffer
#define _ALTERNATE_PUTCHAR_
#pragma used+
void putchar(char c)
{
while (tx_counter == TX_BUFFER_SIZE);
#asm("cli")
if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0))
{
tx_buffer[tx_wr_index]=c;
if (++tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0;
++tx_counter;
}
else
UDR=c;
#asm("sei")
}
#pragma used-
#endif

// Standard Input/Output functions


ti: NGHIN CU V THIT K MNG RS 485 Trang:96

#include <stdio.h>

// Declare your global variables here


unsigned char nhan1,nhan2,nhan3,nhan4,tr1,tr2,tr3,tr4;
void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization


// Port A initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out
Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=1 State2=0 State1=0 State0=0
PORTA=0x03;
DDRA=0xFF;

// Port B initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out
Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTB=0x01;
DDRB=0xFF;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
ti: NGHIN CU V THIT K MNG RS 485 Trang:97

OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization


// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;
ti: NGHIN CU V THIT K MNG RS 485 Trang:98

// Timer(s)/Counter(s) Interrupt(s) initialization


TIMSK=0x00;

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud rate: 9600
UCSRA=0x00;
UCSRB=0xD8;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x19;

// Analog Comparator initialization


// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// Global enable interrupts


#asm("sei")

while (1)// tram dc8


{
// Place your code here
delay_ms(10);
PORTB=0;
UCSRB=0x90;
UCSRB=0x90;
if (rx_counter>=4)
{

nhan1=getchar();
nhan2=getchar();
nhan3=getchar();
nhan4=getchar();
delay_ms(10);
UCSRB=0x00;

rx_counter=0;
ti: NGHIN CU V THIT K MNG RS 485 Trang:99

rx_buffer[1]=0;
rx_buffer[2]=0;
rx_buffer[3]=0;
rx_buffer[4]=0;

if ((nhan1==8)&(nhan2==4))
{
PORTA=nhan3;
DDRA=0xff;
PORTC=nhan4;
DDRC=0xff;
}
if ((nhan1==8)&(nhan2==8))
{
UCSRB=0x00;
delay_ms(50);
PORTB=1;
delay_ms(50);
// dl100
tr1=8;
tr2=255;
tr3=PINA;
tr4=PINC;
UCSRB=0x48;
putchar(tr1);
putchar(tr2);
putchar(tr3);
putchar(tr4);
;
;
delay_ms(10);
PORTB=0;
UCSRB=0x00;

};
ti: NGHIN CU V THIT K MNG RS 485 Trang:100

TI LIU THAM KHO


1: Mng truyn thng cng nghip.
Hong Minh Sn - NXB KHKT 2001
2: V v thit k mch in vi ORCAD 9.0
KS Quang Huy-KS Nguyn c Hip
NXB Nng 2002
3: Data sheet ca hng ATMEL
4: Mt s ti liu, tp ch trn mng INTERNET.
5: Vi iu khin vi AVR
Ng Din Tp
Nh xut bn khoa hc v k thut.
H Ni - 2003
ti: NGHIN CU V THIT K MNG RS 485 Trang:101

MC LC
Trang
Nhim v lun vn tt nghip: ......................................................... 1
Lch trnh lm lun vn tt nghip: ................................................... 2
Phiu nh gi:................................................................................. 3
Li cm n: ...................................................................................... 4
Gii thiu ti: .............................................................................. 5
PHN I ....................................... 6
C S L THUYT...................... 6
Chng I: CH TRUYN DN: .................................................. 6
I: Truyn bt song song v truyn bt ni tip:........................................ 6
1: Truyn bt song song: ............................................................. 6
2: Truyn bt ni tip: ................................................................. 6
II: Truyn ng b v khng ng b: ................................................... 6
III: Truyn 1 chiu 2 chiu ton phn v gin on: .............................. 7
IV: Truyn ti di c s truyn ti di mang v truyn ti di rng: ...... 7
1: Truyn ti di c s : .............................................................. 7
2: Truyn ti di mang: ............................................................... 8
3: Truyn ti di rng: ................................................................ 8
V: Cu trc mng bus: ........................................................................... 8
VI: Cu trc mch vng :..................................................................... 10
VII: Cu trc sao: ................................................................................ 12
VIII: Cu trc cy: ............................................................................... 13
IX: Kin trc giao thc: ....................................................................... 14
X: Giao thc ....................................................................................... 16
XI: M hnh lp:.................................................................................. 20
XII: Kin trc tiu chun OSI: ............................................................. 21
XIII: Phng php truy cp bus: .......................................................... 28
XIV: Phng php truy cp Master/Slaver: ......................................... 30
XV: Phng php TDMA: .................................................................. 34
XIV: Phng phap token passing ................................................................. 35
Chng II: CHUN TRUYN DN ................................................. 38
I: Phng thc truyn dn tn hiu: ...................................................... 38
II: c im ca cc cng ngh truyn dn:......................................... 39
III: Chun RS 232: .............................................................................. 40
IV: RS 422 A....................................................................................... 41
V: RS 485 ............................................................................................ 41
VI: Cch lp t RS 485: ..................................................................... 43
VII: Topolgy ca mng RS 485: .......................................................... 45
VIII: Phng thc truyn thng: .......................................................... 46
IX: Truyn thng tun t: .................................................................... 47
ti: NGHIN CU V THIT K MNG RS 485 Trang:102

Chng III: TNG QUAN AVRATMEGA32: ................................. 49


I: Gii thiu: ........................................................................................ 49
II: c im chung: ............................................................................. 49
III: B nh d liu v b nh chng trnh: ........................................ 50
IV: C nhiu thit b ngoi vi c tch hp sn: ................................. 50
V: Nhng im c bit:...................................................................... 50
VI: S lng I/O v dng ng gi: ..................................................... 51
VII: Ngun cung cp: .......................................................................... 51
VIII: Thch anh dao ng: ................................................................... 51
IX: H tr cc trnh bin dch: ............................................................. 52
X: M t cc chn:............................................................................... 53
XI: Giao din ni tip: ......................................................................... 55
XII: Tc baud: ................................................................................ 56
XIII: B bin i ADC bn trong chp: ................................................ 58
PHN II ................................. 60
THIT K V THI CNG .............. 60
I: Mch ngun: .................................................................................... 60
II: Mch hin th Led: .......................................................................... 61
III: IC MAX RS 485: ........................................................................... 61
IV: Maxter v Slaver: .......................................................................... 64
V: Trm ch: ...................................................................................... 65
VI: Khi qut v cc trm t: ............................................................... 68
VII: Trm t 1: .................................................................................... 69
VIII: Trm t 2: .................................................................................. 71
Chng trnh vit cho cc trm: ........................................................ 74
Ti liu tham kho: ............................................................................ 104

You might also like