94
Chöông 1: Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông Luaän Vaên Toát Nghieäp 3 SVTH: Chaâu Thò Bích Nga  ÑAÏI HOÏC QUOC GIA THAØNH PHOÁ HOÀ CHÍ MINH TRÖÔØNG ÑAÏI HOÏC BAÙCH KHOA KHOA ÑIEN ÑIEN TÖÛ BOÄ MON TÖ ÑOÄNG   LUAÄN VAÊN TOÁT NGHIEÄP : GVHD : THAY HUYØNH HÖÕU P HÖÔNG SVTH : CHAU THÒ BÍCH NGA MSSV : 49700931 LÔÙP : DD97 TÖ ÑOÄNG

Giao tiếp PC-VXL trong hệ thống SCADA

  • Upload
    pvdai

  • View
    228

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 1/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 3 SVTH: Chaâu Thò Bích Nga 

ÑAÏI HOÏC QUOC GIA THAØNH PHOÁ HOÀ CHÍ MINH

TRÖÔØNG ÑAÏI HOÏC BAÙCH KHOA

KHOA ÑIEN ÑIEN TÖÛ

BOÄ MON TÖ ÑOÄNG

 

 LUAÄN VAÊN TOÁT NGHIEÄP

:

GVHD : THAY HUYØNH HÖÕU PHÖÔNG

SVTH : CHAU THÒ BÍCH NGA

MSSV : 49700931LÔÙP : DD97 TÖ ÑOÄNG

Page 2: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 2/93

Page 3: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 3/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 5 SVTH: Chaâu Thò Bích Nga 

 Nhaän Xeùt Cuûa Giaùo Vieân Phaûn Bieän

......................................................................................................

......................................................................................................

......................................................................................................

......................................................................................................

......................................................................................................

......................................................................................................

......................................................................................................

......................................................................................................

......................................................................................................

......................................................................................................

......................................................................................................

......................................................................................................

Page 4: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 4/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 6 SVTH: Chaâu Thò Bích Nga 

 Nhaän Xeùt Cuûa Giaùo VieânHöôùng Daãn

......................................................................................................

......................................................................................................

......................................................................................................

......................................................................................................

......................................................................................................

......................................................................................................

......................................................................................................

......................................................................................................

......................................................................................................

......................................................................................................

......................................................................................................

......................................................................................................

Page 5: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 5/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 7 SVTH: Chaâu Thò Bích Nga 

MUC LUC:

 NOÄI DUNG  trang 

Giôùi thieäu chung ............................................................................... 01

CHÖÔNG 1: GIAO THÖÙC TRUYEÀN THOÂNG ............................ 03I.  Giôùi thieäu ............................................................................... 03II.  Protocol ................................................................................... 05

1.  Khaùi nieäm ......................................................................... 052.  Xaây döïng Protocol ............................................................ 06

a)  Caáu truùc frame döõ lieäu ................................................ 06

b) Xaây döïng Protocol ....................................................... 08III.  Truyeàn thoâng noái tieáp ............................................................ 09

1  Thanh ghi dieàu khieån ñöôøng truyeàn ................................. 102  Thanh ghi ñieàu khieån MODEM ....................................... 113  Thanh ghi traïng thaùi ñöôøng daây ....................................... 124  Chuaån giao tieáp RS-232 ................................................... 135  Giôùi thieäu IC Max_232 ..................................................... 15

CHÖÔNG 2: CÔ LÖÔÏC AT89C51 ................................................ 17

I.  Khaùi quaùt veà hoï IC MCS-51.................................................. 17II.  Giôùi thieäu AT89C52 .............................................................. 18

1.  Nhöõng ñaëc tröng cô baûn.................................................... 202.  Caáu hình chaân ................................................................... 20

III.  Toå chöùc boä nhôù ...................................................................... 251.  RAM ña duïng .................................................................... 252.  RAM ñòa chæ hoaù töøng bit ................................................. 273.  Caùc bank thanh ghi ........................................................... 27

IV.  Caùc thanh ghi chöùc naêng ñaëc bieät ......................................... 291  Töø traïng thaùi chöông trình ................................................ 302  Thanh ghi B ....................................................................... 323  Con troû ngaên xeáp .............................................................. 324  Con troû döõ lieäu .................................................................. 335  Caùc thanh ghi port xuaát nhaäp ........................................... 33

Page 6: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 6/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 8 SVTH: Chaâu Thò Bích Nga 

6  Caùc thanh ghi timer ........................................................... 347  Caùc thanh ghi port noái tieáp ............................................... 358  Caùc thanh ghi ngaét ............................................................ 369  Thanh ghi ñieàu khieån coâng suaát ....................................... 36

V.  Baûo veä boä nhôù ........................................................................ 36VI.  Hoaït ñoäng cuûa port noái tieáp ................................................... 37

1  Giôùi thieäu .......................................................................... 372  Thanh ghi ñieàu khieån port noái tieáp .................................. 383  Caùc cheá ñoä hoaït ñoäng ....................................................... 404  Khôûi ñoäng vaø truy xuaát caùc thanh ghi coång noái tieáp ....... 445  Toác ñoä baud port noái tieáp ................................................. 47

CHÖÔNG 3: RTX51 TINY ............................................................. 50Giôùi thieäu chung .............................................................................. 501.  Giôùi thieäu phaàn meàm KEIl ............................................... 502.  Chöông trình tuaàn hoaøn thôøi gian bieåu cuûa RTX51 ........ 513.  Caùc yeâu caàu vaø ñònh nghóa ............................................... 554.  Caùc haøm thö vieän cuûa RTX51 .......................................... 56

CHÖÔNG 4: BOARD DEMO-KIT ................................................ 59I.  Khoái hieån thò .......................................................................... 60

II.  Khoái giao tieáp A/D - D/A ...................................................... 62III.  Khoái RS-232 ........................................................................... 68IV.  Khoái output (rôle) .................................................................. 70V.  Khoái input ............................................................................... 71

CHÖÔNG 5:Phaàn 1: TAÄP LEÄNH ......................................................................... 72I.  Giôùi thieäu taäp leänh ................................................................. 72

II.  Noäi dung taäp leänh .................................................................. 73Phaàn 2: MOÂ TAÛ CHÖÔNG TRÌNH ................................................ 76Chöông trình nhaän chuoãi ........................................................ 78Chöông trình kieåmtra ............................................................. 80Chöông trình xöû lyù taäp leänh ................................................... 81Chöông trình ñoùng goùi döõ lieäu ............................................... 83

Page 7: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 7/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 9 SVTH: Chaâu Thò Bích Nga 

Chöông trình Demo-Kit ......................................................... 85Phaàn 3: Chöông trình ........................................................................ 88Baùo caùo keát quaû ............................................................................. 146 

Page 8: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 8/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 10 SVTH: Chaâu Thò Bích Nga 

Giôùi thieu chung

Nhö chuùng ta ñaõ bieát trong ñieàu kieän khoa hoïc kyõ thuaät vaø kinh

teá phaùt trieån nhö hieän nay thì qui trình töï ñoäng hoùa trong coâng

nghieäp vaø saûn xuaát haàu nhö khoâng theå thieáu ñöôïc . Noù ñoùng moät vai

troù heát söùc quan troïng trong vieäc giuùp taêng naêng suaát , taêng ñoä chính

xaùc vaø do ñoù taêng hieäu quaû saûn xuaát . Trong ñoù moät vai troø khoâng

theå khoâng nhaéc ñeán cuûa qui trình töï ñoäng hoùa laø thu thaäp döõ lieäu vaø

ñieàu khieån töø xa .

Ñeå kieåm tra tình hình saûn xuaát cuõng nhö traïng thaùi hoaït ñoäng

cuûa töøng phaân xöôûng ta khoâng theå cöù cho ngöôøi ñeán taän nôi , kieåm

soaùt töøng hoaït ñoäng vaø quay veà baùo caùo neáu coù söï coá xaûy ra maø nhaát

thieát phaûi coù moät heä thoáng thu thaäp döõ lieäu töø xa . Khi ñoù, ngöôøi kyõ

sö vaän haønh chæ caàn ngoài taïi baøn ñieàu khieån vaø quan saùt nhöõng traïngthaùi ñöôïc caäp nhaät veà lieân tuïc ñeå coù theå xöû lyù kòp thôøi nhöõng tình

huoáng xaûy ra thoâng qua quaù trình lieân keát döõ lieäu, maø khoâng phaûi

maát thôøi gian ñi ñeán nôi coù xaûy ra söï coá .

Khoâng döøng ôû ñoù , vieäc thu thaäp döõ lieäu vaø ñieàu khieån töø xa coøn

laø moät nhaân toá quaûn lyù, moät yeáu toá taát yeáu cho söï phaùt trieån cuûa taát

caû caùc ngaønh ngheà , caùc lónh vöïc khaùc nhö giao thoâng vaän taûi ( theo

doõi caùc traïm giao thoâng ñöôøng boä, haøng haûi , haøng khoâng … ) , ñieän

löïc , y teá . . .

Page 9: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 9/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 11 SVTH: Chaâu Thò Bích Nga 

Bieát ñöôïc yù nghóa vaø taàm quan troïng cuûa noù neân chuùng em quyeát

ñònh nghieân cöùu vaø hy voïng coù cô hoäi môû roäng ñeà taøi naøy .

Toång quan veà coâng vieäc thöïc hieän nhö sau :

-  Xaây döïng moät taäp leänh trong giao tieáp giöõa Maùy tính vaø micro-

controller.

-  Xaây döïng moät giao thöùc truyeàn nhaän thoâng tin (Protocol).

-  Söû duïng taäp leänh theo yeâu caàu mong muoán .

-  Xaây döïng moät chöông trình demo nhö moät öùng duïng cuï theå

cuûa ñeà taøi .

Page 10: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 10/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 12 SVTH: Chaâu Thò Bích Nga 

 Chöông 1:

 GIAO THÖÙC TRUYEÀN THOÂNG

 I. 

 GIÔÙI THIEÄU:Sô ñoà caùc lôùp cô baûn xaây döïng cho quaù trình lieân keát döõ lieäu giöõa 2

ñoái töôïng söû duïng:

Muïc ñích chính cuûa luaän vaên naøy khoâng nhaèm thöïc hieän moät öùngduïng ñieàu khieån cuï theå maø taïo neân moät öùng duïng môùi trong giao tieáp döõ

Ta lenh

Frame döõ lieu

RS-232

USER 1

Lôùp vaät lyù

Quaûn lyù truyeàn tin

Lieân keát döõ lieäu

Döõ lieäu

USER 2 

Lôùp vaät lyù

Quaûn lyù truyeàn tin

Lieân keát döõ lieäu

Döõ lieäu

Chöông trìnhngöôi söû duïng

Chöông trình ngöôøi söû duïng

 Xöû lyù giao tieáp thieát bò

Page 11: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 11/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 13 SVTH: Chaâu Thò Bích Nga 

lieäu giöõa hai ñoái töôïng laø maùy tính vaø khoái vi xöû lyù. Vì theá, chöông trìnhngöôøi söû duïng, lieân keát giöõa hai ñoái töôïng söû duïng- user 1vaø user2 ( töùcchöông trình Demo-Kit thöïc hieän trong phaàn cuoái chöông trình ) khoângphaûi laø troïng taâm maø chæ laø moät öùng duïng cuï theå cuûa ñeà taøi. Vì theá, noù chæ

xaây döïng caùc daïng soùng vaøo ra moät caùch ñôn giaûn, mang yù nghóa moâphoûng cho nhöõng gì thöïc hieän ñöôïc trong vieäc xaây döïng chöông trình.

Keát quaû mong muoán cuûa luaän vaên laø xaây döïng ñöôïc moät moâi tröôøngthuaän lôïi cho quaù trình trao ñoåi thoâng tin giöõa hai ñoái töôïng söû duïng. Haynoùi khaùc hôn, ñaây laø moät taàng ñeäm veà ngoân ngöõ giao tieáp, moät quaù trìnhtrung gian giuùp cho vieäc lieân keát döõ lieäu ñöôïc dieãn ra moät caùch troâi chaûytheo mong muoán cuûa ngöôøi söû duïng. Caùc lôùp cô baûn ñöôïc xaây döïng trongheä thoáng naøy laø: lôùp vaät lyù, lôùp lieân keát döõ lieäu (datalink ), lôùp quaûn lyù

truyeàn tin vaø sau cuøng laø lôùp döõ lieäu.-  Lôùp vaät lyù: laø caùc yeáu toá ñaëc tröng bôûi möùc ñieän aùp hay doøng

ñieän cho caùc ngoõ vaøo ra. Tieâu bieåu cho lôùp naøy laø caùc phöông tieän nhöthieát bò ñieän (daây daãn, chaân IC…) hay caùc chuaån giao tieáp giuùp cho lôùplieân keát döõ lieäu ñöôïc thöïc hieän. Moät trong caùc thuû tuïc protocol trong lieânkeát döõ lieäu ñôn giaûn nhaát cho lôùp naøy laø söû duïng chuaån giao tieáp RS-232trong truyeàn thoâng noái tieáp.

-  Lôùp lieân keát döõ lieäu: lôùp naøy quan taâm ñeán caùc daïng truyeàn

döõ lieäu (ñoàng boä hay baát ñoàng boä), toác ñoä söû duïng, kieåm tra vaø söûa loãi,cheá ñoä phaùt laïi (echo)… ñaây laø phaàn troïng taâm cuûa moät chöông trình lieânkeát döõ lieäu, xaây döïng Protocol cho phaàn naøy laø thieát laäp caùc thuû tuïc lieânkeát vaø truy xuaát döõ lieäu.

-  Lôùp quaûn lyù truyeàn tin: lôùp naøy coù nhieäm vuï quaûn lyù döõ lieäu(ghi nhaän vaø truy xuaát döõ lieäu töø caùc vuøng ñòa chæ cuûa caùc tín hieäu vaøo ratheo ñònh nghóa cuûa taäp leänh), phaàn giôùi thieäu taäp leänh ñöôïc thöïc hieäntrong chöông 5.

-  Lôùp döõ lieäu: lôùp naøy ñaûm nhaän vai troø ghi nhaän caùc giaù trò döõlieäu taïi ñaàu moãi user, bao goàm caùc daïng tín hieäu ñieàu khieån nhö daïngxung, daïng möùc vaø tín hieäu daïng A/D.

Vaán ñeà caàn quan taâm chính cuûa chuùng ta laø xaây döïng moät chuaån chotaàng lieân keát döõ lieäu (caùc thuû tuïc protocol).

Page 12: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 12/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 14 SVTH: Chaâu Thò Bích Nga 

II.   PROTOCOL:

1. Khaùi nieäm:Protocol cho taàng lieân keát döõ lieäu laø moät phöông thöùc hay thuû tuïc

truyeàn thoâng ñöôïc ñaët ra maø moät qui trình truyeàn nhaän thoâng tin phaûi tuaântheo. Noù bao goàm taäp hôïp ñoàng nhaát caùc qui taéc ñieàu haønh nhaèm ñaûm baûosöï chính xaùc cuûa moät heä thoáng hoaëc maïng trong quaù trình trao ñoåi thoângtin.

Tröôùc khi tìm hieåu veà protocol cuûa taàng lieân keát döõ lieäu moät caùch chitieát, chuùng ta xem qua moät soá kyõ thuaät söû duïng ñeå thöïc thi hoaëc moâ taû moät

protocol. Theo lyù thuyeát, kieåm tra giaù trò cuûa moät quaù trình hoaït ñoängnhaèm chaéc raèng trong quaù trình hoaït ñoäng cuûa heä thoáng seõ khoâng coù moätñieàu kieän khoâng mong muoán naøo hoaëc caùc traïng thaùi baát thöôøng xaûy ra khiprotocol hoaït ñoäng “break down” (ví duï nhö khi rôi vaøo moät voøng laëp voâtaän hoaëc gaëp phaûi moät tröôøng hôïp maø taát caû caùc hoaït ñoäng ñeàu bò döøng vaøheä thoáng bò khoùa “locks up” ).

Vôùi muïc ñích minh hoïa nhöõng kyõ thuaät kieåm tra vaø moâ taû khaùc nhaunaøy, chuùng ta xeùt moät taàng lieân keát döõ lieäu ñôn giaûn baùn song coâng: stop –and–wait vaø töï ñoäng laëp laïi yeâu caàu nhö moät ví duï.Veà cô baûn protocolnaøy quaûn lyù hoaït ñoäng cuûa hai traïm ( ñöôïc xem laø ñoàng nhaát ) taïi moãi ñaàucuûa moät lieân keát döõ lieäu .Protocol naøy bao goàm moät traïm ( ñaàu “1” ) gôûimoät frame döõ lieäu mang moät daõy soá ñeán moät traïm khaùc ( ñaàu “2” ). Framedöõ lieäu naøy seõ chöùa theâm vaøo moät goùi thoâng tin khaùc cuûa döõ lieäu thöïc taïi .Keát thuùc vieäc truyeàn coù moät vuøng ñeäm nhaän, nôi maø caùc goùi döõ lieäu naøyñöôïc chöùa töø computer chuû cuïc boä hoaëc cuoái cuøng laø löu tröõ theo öu tieântrong moät frame döõ lieäu vaø baét ñaàu truyeàn qua datalink .Keå caû sau khitruyeàn döõ lieäu trong vuøng ñeäm vaøo “1” , caùc döõ lieäu gioáng nhau cuõng ñöôïc

giöõ trong vuøng ñeäm cho ñeán khi coù thoâng baùo ñaõ nhaän ñöôïc töø moät ñaàukhaùc ( ñaàu “2” ) maø khung döõ lieäu chöùa goùi döõ lieäu naøy ñaõ nh aän ñöôïcthaønh coâng.

Ñieàu kieän sau cuøng (nhaän thaønh coâng 1 frame döõ lieäu) ñöôïc cho bieátbôûi ñaàu traïm 2,ñaàu naøy gôûi frame daõy soá cuûa moät frame hôïp leä ñöôïc nhaän

Page 13: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 13/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 15 SVTH: Chaâu Thò Bích Nga 

sau cuøng trôû veà töø traïm 1 nhö moät phaàn cuûa frame döõ lieäu keá baét ñaàu gôûitöø “2” sang “1” . 

Ví duï : Neáu ñaàu 1 vöøa gôûi moät frame ñeán ñaàu 2 noù seõ khoâng ñöôïcpheùp gôûi frame keá ( chöùa moät goùi döõ lieäu môùi ) cho ñeán khi noù nhaän ñöôïcmoät frame töø ñaàu 2 mang theo thoâng tin traû lôøi ñaõ nhaän toát . Neáu ñaàu 1khoâng nhaän ñöôïc thoâng baùo naøy trôû veà töø ñaàu 2 trong voøng moät khoaûngthôøi gian nghæ (timeout) ñöôïc ñònh tröôùc , noù seõ truyeàn laïi frame gôûi ñeánñaàu 2 vaø hy voïng trong thôøi gian naøy noù nhaän ñöôïc thoâng baùo ñaõ nhaänñuùng töø ñaàu 2 . Vaø neáu khoâng thì sau vaøi laàn laëp laïi (ñöôïc ñònh tröôùc ) maøñaàu “1” vaãn khoâng nhaän ñöôïc thoâng baùo nhaän ñuùng töø ñaàu “2” noù xem nhöñöôøng truyeàn bò loãi vaø thoâng baùo ra ngoaøi.

2. Xaây döïng Protocol:Xaây döïng moät protocol cho quaù trình trao ñoåi döõ lieäu trong tröôøng hôïp

maïch vi xöû lyù ñoùng vai troø slave vaø maùy tính (PC) ñoùng vai troø mastertrong quaù trình truyeàn nhaän thoâng tin.

a)  Caáu truùc frame döõ lieäu:

Trong cheá ñoä hoaït ñoäng naøy khoái vi xöû lyù khoâng coù yeâu caàu gôûi choPC maø chæ traû lôøi keát quaû theo yeâu caàu nhaän ñöôïc töø PC tuaân theo qui taéccuûa taäp leänh ñöôïc xaây döïng trong luaän vaên naøy . Moät Protocol ñöôïc ñaët ra

cho lieân keát döõ lieäu vôùi moät frame truyeàn ñöôïc chöùa caùc byte qui ñònh nhösau :

Header Maõ ID Control fiel Length Caùc byte DATA

Boán byte ñaàu cuûa frame truyeàn ñöôïc goïi chung laø caùc byte controlfiels bao goàm :

- Moät byte ñaàu tieân laø byte header : laø kyù töï qui ñònh nhaèm ñaùnh daáucho ñaàu moãi frame truyeàn.

- Moät byte maõ ID laø maõ soá thöù töï cuûa frame truyeàn moãi khi coù moätyeâu caàu môùi cho vi xöû lyù (maõ ID ñöôïc ñaùnh soá lieân tuïc töø 0-99 vaø trôû veà0). Maõ ID naøy seõ mang moät yù nghóa quan troïng cho vieäc môû roäng ñeà taøiluaän vaên sau naøy (keát noái nhieàu frame truyeàn lieân tieáp).

-  Moät byte control fiel : ñaây laø byte chöùc naêng ñeå kieåm tra thoâng tincho moãi frame truyeàn . Byte control fiel ñöôïc ñònh nghóa nhö sau :

Page 14: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 14/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 16 SVTH: Chaâu Thò Bích Nga 

X X X X X b2 b1 b0

+ 5bit ñaàu coù giaù trò tuøy ñònh (coù theå ñöôïc söû duïng khi môû roäng ñeà taøinaøy nhaèm duøng vaøo vieäc taêng bieán ñieàu khieån ).

+ bit b0 : kieåm tra noäi dung frame truyeàn .

b0=0 : frame truyeàn coù döõ lieäu keøm theo (soá byte data >0 )

b0=1 : frame truyeàn khoâng coù döõ lieäu. Tröôøng hôïp naøy xaûy rakhiframe ñöôïc gôûi nhaèm muïc ñích nhaéc laïi noäi dung frame gôûi vöøa roài.

+ bit b1 : kieåm tra laàn gôûi cuûa moät yeâu caàu töø PC

b1=0 : frame ñöôïc gôûi laàn ñaàu (gôûi 1 yeâu caàu môùi cho vi xöû lyù)b1=1 : frame gôûi laïi (mang cuøng moät noäi dung vôùi chuoãi DATA

tröôùc ñoù).

+ bit b2 : bit naøy chæ ñöôïc gôûi ñi töø vi xöû lyù ñeå baùo vôùi PC keát quaû cuûalaàn truyeàn vöøa roài

b2=0 : döõ lieäu gôûi töø PC ñeán vi xöû lyù nhaän ñuùng

b2=1 : döõ lieäu gôûi töø PC ñeán vi xöû lyù bò loãi

-  1 byte length : chæ soá byte cuûa chuoãi data coäng moät byte “” keátthuùc frame truyeàn.

-  Caùc byte data : mang thoâng tin yeâu caàu cuûa master (PC) ñoái vôùislave (vi xöû lyù) döïa treân qui taéc taäp leänh . Chuoãi data bao goàm :

ADDR ADDR . . .  

Hai byte ñaàu chöùa ñòa chæ (ñöôïc ñònh nghóa theo taäp leänh) vaø cuoáicuøng phaûi laø kí töï ‘’ 

b)  Xaây döïng protocol:

Vôùi frame truyeàn ñöôïc ñònh nghóa nhö treân ta thieát laäp moät protocolcho quaù trình giao tieáp döõ laø:

Page 15: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 15/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 17 SVTH: Chaâu Thò Bích Nga 

- Khoái PC luoân ñoùng vai troø cuûa moät master, nghóa laø noù coù quyeànquyeát ñònh cho vieäc trao ñoåi döõ lieäu coù xaûy ra hay khoâng, vaø quyeát ñònhnhöõng yeâu caàu caàn thöïc thi ñoái vôùi khoái vi xöû lyù. Khoái vi xöû lyù luoân ñoùngvai troø cuûa moät slave; trong quaù trình hoaït ñoäng, noù phaûi chôø chæ ñöôïc

quyeàn gôûi tín hieäu traû lôøi moãi khi nhaän ñöôïc yeâu caàu töø PC. Do caùc taùc vuïtrong chöông trình ñöôïc thöïc hieän song song theo heä thôøi gian thöïc(multitasking), neân ñoâi khi khoái vi xöû lyù coù theå gôûi tín hieäu traû lôøi ngay khiyeâu caàu töø PC gôûi ñeán chöa ñöôïc xöû lyù xong (neáu thôøi gian xöû lyù vöôït quaùkhoaûng thôøi gian queùt toái ña qui ñònh cho 1 taùc vuï). Khi ñoù, khoái vi xöû lyùseõ taïo neân moät frame truyeàn traû veà PC, khoâng mang theo noäi dung traû lôøicho yeâu caàu cuûa PC maø chæ coù caùc byte control fiels vôùi muïc ñích thoângbaùo keát qua vöøa nhaän ñöôïc töø PC laø ñuùng hay sai (nhôø vaøo bit b2 cuûa byte

control fiel).- Neáu trong moät khoaûng thôøi ñònh tröôùc maø PC chöa nhaän ñöôïc tínhieäu traû lôøi töø vi xöû lyù, noù seõ gôûi tieáp moät frame khaùc. Frame naøy chæ goàmcaùc byte control fiels maø khoâng mang theo yeâu caàu môùi cho vi xöû lyù nhaèmmuïc ñích nhaéc laïi frame vöøa truyeàn. Khi nhaän ñöôïc frame naøy, khoái vi xöûlyù kieåm tra quaù trình xöû lyù tröôùc ñoù thöïc hieän xong chöa vaø traû lôøi laïi choPC.

- Neáu sau vaøi laàn gôûi maø PC vaãn khoâng nhaän ñöôïc traû lôøi töø vi xöû lyù

thì xem nhö ñöôøng truyeàn bò loãi. Neáu ñöôøng truyeàn bò loãi hoaëc coù thoângbaùo loãi töø vi xöû lyù gôûi veà thì PC seõ gôûi moät frame truyeàn môùi mang ñaàyñuû thoâng tin ban ñaàu.

Maõ ID cuûa frame truyeàn ñöôïc ñaët ra nhaèm muïc ñích ñeå môû roängchöông trình sau naøy. Neáu trong tröôøng hôïp truyeàn nhaän chuoãi döõ lieäu coùñoä daøi quaù lôùn hoaëc truyeàn nhaän file, ta khoâng theå truyeàn moät laàn treânmoät frame maø phaûi caét ra thaønh nhieàu frame truyeàn. Khi ñoù, vieäc ñaùnh maõID chính xaùc seõ giuùp cho vieäc keát chuoãi döõ lieäu nhaän veà khoâng bò xaùo

troän. Qui taéc ñaùnh maõ ID laø noù chæ ñöôïc taêng daàn sau moãi laàn trao ñoåi döõlieäu thaønh coâng, töùc PC phaûi nhaän ñöôïc traû lôøi töø vi xöû lyù theo ñuùng yeâucaàu maø noù gôûi ñeán vaø keát thuùc moät chu trình lieân keát döõ lieäu.

 III.   TRUYEÀN THOÂNG NOÁI TIEÁP:

Page 16: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 16/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 18 SVTH: Chaâu Thò Bích Nga 

Ta coù theå thöïc hieän truyeàn döõ lieäu giöõa maùy tính vaø vi xöû lyù theonhieàu chuaån khaùc nhau. Vì trong luaän vaên naøy söû duïng ñeán vieäc thu phaùtdöõ lieäu theo kieåu noái tieáp neân caàn phaûi khaùi quaùt vaøi neùt veà caùc chuaåntruyeàn thoâng.

Truyeàn thoâng noái tieáp laø vieäc thu phaùt döõ lieäu ôû daïng chuoãi caùcxung ñieän – goïi laø caùc bit. Hieäp hoäi ñieän töû coâng nghieäp (EIA) ñöa ra caùcchuaån truyeàn thoâng khaùc nhau nhö : RS 232-C, RS-422, RS-423, RS-485,RS-449,v.v..Kyù hieäu RS laø vieát taét cuûa Recommended Standard, nghóa laøtieâu chuaån khuyeán caùo.

Vieäc truyeàn döõ lieäu noái tieáp theo chuaån RS-232 coù öu ñieåm hôntruyeàn song song laø möùc ñieän aùp hoaït ñoäng laø +12V vaø –12V, khoaûng caùchtruyeàn xa hôn, ít nhieãu hôn.

Vieäc trao ñoåi döõ lieäu dieãn ra treân hai ñöôøng daãn TxD vaø RxD, möùc tínhieäu treân chaân ra RxD tuøy thuoäc vaøo ñöôøng daãn TxD vaø thöôøng naèm trongkhoaûng –12V ñeán +12V, caùc bit döõ lieäu ñöôïc ñaûo ngöôïc laïi. Möùc cao naèmgiöõa –3V vaø –12V, möùc thaáp naèm giöõa +3V vaø +12V. ÔÛ traïng thaùi tónh,treân ñöôøng daây coù ñieän aùp laø –12V.

Moät chuoãi döõ lieäu truyeàn ñi ñöôïc baét ñaàu baèng moät bit khôûi ñaàu,tieáp theo ñoù laø caùc bit döõ lieäu, bit thaáp ñi tröôùc. Soá bit döõ lieäu naèm trongkhoaûng 5 ñeán 8 bit, tieáp ñoù laø bit kieåm tra chaún leû vaø cuoái cuøng laø bit keátthuùc (stop bit). Toác ñoä truyeàn ñöôïc thieát laäp baèng tham soá Baudrate, laø soábit truyeàn ñi trong 1 giaây, thoâng thöôøng laø 300, 600, 1200, 2400, 4800,9600 vaø 19200.

Vieäc thieát laäp caùc thoâng soá truyeàn noái tieáp ñöôïc thöïc hieän baèngcaùch thay ñoåi caùc giaù trò trong caùc thanh ghi phuïc vuï truyeàn noái tieáp.

Page 17: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 17/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 19 SVTH: Chaâu Thò Bích Nga 

Baûn ñoà thanh ghi noäi cuûa boä thu phaùt noái tieáp 8250 (khoâng ñoàng boä).

Register name Code COM1

COM2

COM3

COM4

Function

Transmitter holdingregister THR 3F8H 2F8H 3E8H 2E8H OUTPUT

Receiver data register RDR 3F8H 2F8H 3E8H 2E8H INPUT

Baud rate divisor (LSB) BRDL 3F8H 2F8H 3E8H 2E8H OUTPUT

Baud rate divisor(MSB)

BRDH 3F9H 2F9H 3E9H 2E9H OUTPUT

Interrupt enableregister

IER 3F9H 2F9H 3E9H 2E9H OUTPUT

Interrupt ID register IID 3FAH 2FAH 3EAH 2EAH INPUT

Line control register LCR 3FBH 2FBH 3EBH 2EBH OUTPUT

Modem control register MDC 3FCH 2FCH 3ECH 2ECH OUTPUT

Line status register LST 3FDH 2FDH 3EDH 2EDH INPUT

Modem status register MSR 3FEH 2FEH 3EEH 2EEH INPUT

1. Thanh ghi ñieàu khieån ñöôøng truyeàn (Line ControlRegister):

Bit cao cuûa thanh ghi naøy goïi laø bit choát truy xuaát heä soá chia. Neáubit naøy ñöôïc ñaët leân 1 thì giaù trò ôû thanh ghi cô sôû ñöôïc truy xuaát laøm bytethaáp cuûa thanh ghi heä soá chia choïn toác ñoä truyeàn, vaø giaù trò ôû thanh ghi côsôû +1 seõ ñöôïc truy xuaát laøm byte cao cuûa thanh ghi heä soá chia choïn toác ñoätruyeàn. Neáu bit naøy ñöôïc xoùa veà 0 thì thanh ghi cô sôû seõ thaønh thanh ghiñeäm thu phaùt.

7 6 5 4 3 2 1 0

Bit Noäi dungBit 0 Bit 00 : 5 bit data ; 01 : 6 bit data

Page 18: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 18/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 20 SVTH: Chaâu Thò Bích Nga 

1 10 : 7 bit data ; 11 : 8 bit dataBit 2 0 : 1 bit stop

1 : 1,5 hay 2 bit stopBit 3 0 : khoâng kieåm tra parity

1 : kieåm tra parityBit 4 1 : kieåm tra parity chaün

0 : kieåm tra parity leûBit 5 1 : neáu bit 4 = 1; 0 : neáu bit 4 = 0Bit 6 Cho pheùp caám ñöôøng truyeàn noái

tieáp1 : ngoõ ra bò xoaù traéng ; 0 : caám

Bit 7 1 : choïn heä soá chia;

0 : boä ñeäm thu, phaùt

2. Thanh ghi ñieàu khieån MODEM:Thanh ghi ñieàu khieån MODEM duøng ñeå ñaët giao thöùc baét tay khi söï

truyeàn thoâng söû duïng MODEM.

7 6 5 4 3 2 1 0

Bit Noäi dungBit 0 Data terminal ready

1 : DTR active; 0 : DTR inactiveBit 1 Request to send;

1 : RTS active; 0 : RTS inactiveBit 2 Output 1 (spare signal)

1 : OUT 1 : active; 0 : OUT 1 inactive

Bit 3 Output 2 (interrupt enable signal)1 : Communication interrupt active0 : Communication interrupt inactive

Bit 4 Loopback feature1 : Transmitter output looped back to receiver

egister

Bit:

Page 19: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 19/93

Page 20: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 20/93

Page 21: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 21/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 23 SVTH: Chaâu Thò Bích Nga 

Vieäc truyeàn döõ lieäu xaûy ra treân hai ñöôøng daãn. Qua chaân caém ra

TxD, maùy tính gôûi döõ lieäu cuûa noù ñeán caùc thieát bò khaùc. Trong khi ñoù döõlieäu maø maùy tính nhaän ñöôïc, laïi ñöôïc daãn ñeán chaân noái RxD. Caùc tín hieäukhaùc ñoùng vai troø nhö laø tín hieäu hoã trôï khi trao ñoåi thoâng tin vaø vì vaäykhoâng phaûi trong moïi öùng duïng ñeàu duøng ñeán.

Caùc bit döõ lieäu ñöôïc gôûi ñi theo kieåu ñaûo ngöôïc, nghóa laø caùc bit coù giaùtrò “1” seõ coù möùc ñieän aùp LOW, caùc bit coù giaù trò “0” seõ coù möùc ñieän aùpHIGH. Möùc tín hieäu nhaän vaø truyeàn qua chaân RxD vaø TxD thoâng thöôøngnaèm trong khoaûng –12V ñeán +12V. Möùc ñieän aùp ñoái vôùi möùc HIGH naèm

giöõa +3V ñeán +12V.ÔÛ traïng thaùi tónh treân ñöôøng daây vaãn coù ñieän aùp –12V. Moät bit khôûiñoäng (Start bit) seõ môû ñaàu vieäc truyeàn döõ lieäu. Tieáp sau ñoù laø caùc bit rieângleû ñeán, trong ñoù caùc bit coù giaù trò thaáp ñöôïc göûi tröôùc tieân. Con soá cuûa caùcbit döõ lieäu thay ñoåi giöõa naêm vaø taùm. ÔÛ cuoái doøng döõ lieäu coøn coù moät bitdöøng (Stop bit) ñeå ñaët laïi traïng thaùi loái ra (-12V).

Toác ñoä Baud coù giaù trò thoâng thöôøng laø : 300; 600; 1200; 4800; 9600;19200 Baud. Kyù hieäu Baud töông öùng vôùi soá bit truyeàn trong 1 giaây (bit

per second _ bps). Chaúng haïn nhö khi toác ñoä Baud baèng 9600 coù nghóa laøcoù 9600 bit döõ lieäu ñöôïc truyeàn trong 1 giaây. Vì moãi byte döõ lieäu coù moätbit baét ñaàu vaø moät bit ñöôïc duøng gôûi keøm theo, do ñoù khi truyeàn moät bytedöõ lieäu ñaõ coù 10 bit ñöôïc göûi ñi. Vôùi toác ñoä Baud thoâng thöôøng, moãi giaâycho pheùp truyeàn nhieàu nhaát töø 30 ñeán 1920 byte döõ lieäu, vì vaäy nhöôïcñieåm lôùn nhaát cuûa coång truyeàn noái tieáp laø toác ñoä truyeàn döõ lieäu bò haïncheá.

So saùnh giöõa TTL vaø RS-232, ta thaáy TTL söû duïng möùc logic döông vaø

0,4V choáng nhieãu. Trong khi ñoù RS-232 söû duïng möùc ñieän aùp 12V ñeåñaûm baûo truyeàn ñöôïc treân ñöôøng daây daøi. Vôùi khoaûng choáng nhieãu 12Vcho pheùp tín hieäu ñi qua moâi tröôøng nhieãu maïnh maø ñoái vôùi TTL khoângtheå coù ñöôïc.

Moät trong nhöõng yeâu caàu quan troïng cuûa RS-232 laø thôøi gian chuyeåntöø moät möùc logic naøy tôùi moät möùc logic khaùc khoâng vöôït quaù 4% thôøi gian

Page 22: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 22/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 24 SVTH: Chaâu Thò Bích Nga 

moät bit. Vì theá ôû toác ñoä 19200 Baud thôøi gian möùc logic phaûi nhoû hôn0,04/19200s. Vaán ñeà naøy laøm giôùi haïn chieàu daøi ñöôøng truyeàn. Vôùi toác ñoätruyeàn 19200 Baud, ta coù theå truyeàn xa nhaát laø 50 feet (15,24 m).

Moät trong nhöõng vaán ñeà quan troïng caàn chuù yù khi söû duïng RS-232 laømaïch thu phaùt khoâng caân baèng (ñôn cöïc). Ñieàu naøy coù yù nghóa laø tín hieäuvaøo ra ñöôïc so vôùi ñaát. Vì vaäy neáu ñieän theá taïi hai ñieåm ñaát cuûa hai maïchthu phaùt khoâng baèng nhau thi seõ coù doøng ñieän chaïy treân daây noái ñaát. Keátquaû seõ coù aùp rôi treân daây noái ñaát (V=I.R) seõ laøm suy yeáu tín hieäu logic.Neáu truyeàn tín hieäu ñi xa, R seõ taêng daàn ñeán aùp rôi treân ñaát seõ lôùn daàn ñeánluùc tín hieäu logic seõ rôi vaøo vuøng khoâng xaùc ñònh vaø maïch thu seõ khoângnhaän ñuùng döõ lieäu ñöôïc truyeàn töø maïch phaùt. Chính söï khoâng caân baèngtreân maïch thu phaùt laø moät trong nhöõng nguyeân nhaân giôùi haïn ñöôøng

truyeàn.Do trong luaän vaên naøy khoâng söû duïng caùc chuaån giao tieáp khaùc

ñöôïc giôi thieäu treân neân khoâng giôùi thieäu chi tieát.

5. Giôùi Thieäu IC MAX-232 :a)  Ñaëc ñieåm: 

- Theo tieâu chuaån EIA (ElectronicsIndustry Association ).

- Nguoàn cung caáp 5V.- Duøng theâm 4 tuï ngoaøi 0.1F.

- Toác ñoä truyeàn coù theå leân ñeán 1Mbittreân 1 giaây.

- Coù 2 boä ñeäm truyeàn vaø 2 boä ñeämnhaän

b)  Moâ taû 

Töø hình 2 ta thaáy tín hieäu töø maùy tính truyeàn xuoáng MAX 232theo chuaån TTL/CMOS , sau khi qua MAX 232 ñöôïc chuyeån thaønh chuaånRS-232. Tín hieäu chuaån naøy ñöôïc ñöa qua MAX 485 ñeå truyeàn treân ñöôøngbus theo daïng vi sai. Tín hieäu nhaän veà cuõng theo daïng vi sai , ñöôïc chuyeån

161

2

3

4

5

6

7

8

15

14

13

12

11

10

9

MAXIM

232E

C1+

V+

C1-

C2+

C2-

V-

T2OUT

R2IN

VCC

GND

T1OUT

R1IN

R1OUT

T1IN

T2IN

R2OUT

Hình 1

Page 23: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 23/93

Page 24: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 24/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 26 SVTH: Chaâu Thò Bích Nga 

 Chöông 2:

 SÔ LÖÔÏC AT89C51

I.  GIÔI THIEU KHAÙI QUAT VE HOÏ IC MCS ™: 

MCS-51  laø moät hoï IC vi ñieàu khieån do Intel phaùt trieån vaø saûnxuaát. Moät soá nhaø saûn xuaát ñöôïc pheùp cung caáp caùc IC töông thích vôùi caùcsaûn phaåm MCS-51  cuûa Intel laø Siemens, Advanced Micro Devices,Fujitsu, Philips, Atmel… 

Caùc IC cuûa hoï MCS-51 coù caùc ñaëc tröng chung nhö sau:

  4 port I/O 8 bit

  Giao tieáp noái tieáp

  64K khoâng gian boä nhôù chöông trình môû roäng

  64K khoâng gian boä nhôù döõ lieäu môû roäng

  Moät boä xöû lyù luaän lyù (thao taùc treân caùc bit ñôn)

  210 bit ñöôïc ñòa chæ hoùa

  Boä nhaân/chia 4 s.

Ngoaøi ra, tuøy theo soá hieäu saûn xuaát maø chuùng coù nhöõng khaùc bieät veàboä nhôù vaø boä ñònh thôøi/boä ñeám nhö trong baûng so saùnh döôùi ñaây:

Soá hieäu saûnxuaát

Boä nhôù chöôngtrình treân chip

Boä nhôù döõ lieäutreân chip

Soá boä ñònh thôøi(boä ñeám)

8031805187518951

0K4K ROM4K EPROM4K FLASH

128 byte128 byte128 byte128 byte

2222

Page 25: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 25/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 27 SVTH: Chaâu Thò Bích Nga 

8032805287528952

0K8K ROM8K EPROM8K FLASH

256 byte256 byte256 byte256 byte

3333

 II.   GIÔÙI THIEÄU AT89C52 :AT89C52 laø moät Microcomputer 8 bit, hoï CMOS, coù toác ñoä cao vaø

coâng suaát thaáp vôùi boä nhôù Flash coù theå laäp trình ñöôïc. Noù ñöôïc saûn xuaátvôùi coâng ngheä boä nhôù khoâng bay hôi maät ñoä cao cuûa haõng Atmel, vaø töôngthích vôùi chuaån coâng nghieäp cuûa 80C51 vaø 80C52 veà chaân ra vaø boä leänh.Vì lyù do ñoù, keå töø ñaây veà sau ta seõ duøng thuaät ngöõ “80C51” (hoaëc "8051")

Vôùi söï keát noái linh hoaït 8 bit CPU vôùi flash treân chip, AT89C52 cuûa

Atmel laø moät micro-computer tuyeät vôøi vôùi ñoä linh hoaït cao vaø giaûi quyeáthieäu quaû nhieàu chöông trình ñieàu khieån ghi vaøo noù .

Page 26: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 26/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 28 SVTH: Chaâu Thò Bích Nga 

1  Nhöõng ñaëc tröng cuûa AT89C52.+ Töông thích vôùi caùc saûn phaåm MCS-51

Sô ñoà khoái cuûa AT89C51

Page 27: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 27/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 29 SVTH: Chaâu Thò Bích Nga 

+ 8KByte boä nhôù Flash coù theå laäp trình laïi vôùi 1000 chu kyøñoïc/xoaù

+ Hoaït ñoäng tónh ñaày ñuû: 0Hz ñeán 24MHz

+ Khoaù boä nhôù chöông trình ba caáp+ 256 x 8 bit RAM noäi

+ 32 ñöôøng xuaát-nhaäp laäp trình ñöôïc (töông öùng 4 port)

+ Ba timer/counter 16 bit

+ Moät caáu truùc ngaét 6-vector 2 möùc

+ Moät port noái tieáp song coâng laäp trình ñöôïc daïng full

+ Maïch ñoàng hoà vaø boä dao ñoäng treân chip

2  Caáu hình chaân cuûa AT89C52 nhö sau: 

Nhö vaäy AT89C52 coù taát caû 40 chaân. Moãi chaân coù chöùc naêng nhö caùcñöôøng I/O (xuaát/nhaäp), trong ñoù 24 chaân coù coâng duïng keùp: moãi ñöôøng coù

theå hoaït ñoäng nhö moät ñöôøng I/O hoaëc nhö moät ñöôøng ñieàu khieån hoaëcnhö thaønh phaàn cuûa bus ñòa chæ vaø bus ñöõ lieäu.

 Moâ taû chaân

 VCC  (chaân 40)

Chaân caáp nguoàn.

Page 28: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 28/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 30 SVTH: Chaâu Thò Bích Nga 

 GND (chaân 20) 

Chaân noái ñaát.

   Port 0 

Port 0 laø moät port xuaát/nhaäp song höôùng cöïc maùng hôû 8 bit.Neáu ñöôïc söû duïng nhö laø moät ngoõ xuaát thì moãi chaân coù theå keùo 8 ngoõvaøo TTL. Khi möùc 1 ñöôïc vieát vaøo caùc chaân cuûa port 0, caùc chaân naøy coùtheå ñöôïc duøng nhö laø caùc ngoõ nhaäp toång trôû cao.

Port 0 coù theå ñöôïc ñònh caáu hình ñeå hôïp keânh giöõa bus ñòa chævaø bus döõ lieäu (phaàn byte thaáp) khi truy caäp ñeán boä nhôù döõ lieäu vaø boänhôù chöông trình ngoaøi. ÔÛ cheá ñoä naøy, P0 coù caùc ñieän trôû pullup beân

trong.

Port 0 cuõng nhaän caùc byte code (byte maõ chöông trình) khi laäptrình Flash, vaø xuaát ra caùc byte code khi kieåm tra chöông trình. Caàn coùcaùc ñieän trôû pullup beân ngoaøi khi thöïc hieän vieäc kieåm tra chöông trình.

  Port 1 

Port 1 laø moät port xuaát/nhaäp song höôùng 8 bit coù caùc ñieän trôûpullup beân trong. Caùc boä ñeäm ngoõ ra cuûa port 1 coù theå keùo hoaëc cung caáp4 ngoõ nhaäp TTL. Khi möùc 1 ñöôïc vieát vaøo caùc chaân cuûa port 1, chuùngñöôïc keùo leân cao bôûi caùc ñieän trôû pullup noäi vaø coù theå ñöôïc duøng nhö laøcaùc ngoõ nhaäp. Neáu ñoùng vai troø laø caùc ngoõ nhaäp, caùc chaân cuûa port 1(ñöôïc keùo xuoáng thaáp qua caùc ñieän trôû beân ngoaøi) seõ caáp doøng IIL do caùcñieän trôû pullup beân trong.

  Port 2

Port 2 la  ø moät port xuaát/nhaäp song höôùng 8 bit coù caùc ñieän trôûpullup beân trong.

Caùc boä ñeäm ngoõ ra cuûa port 2 coù theå keùo hoaëc cung caáp 4 ngoõ

vaøo TTL. Khi caùc möùc 1 ñöôïc vieát vaøo caùc chaân cuûa port 2 thì chuùngñöôïc keùo leân cao bôûi caùc ñieän trôû pullup noäi vaø coù theå ñöôïc duøng nhö caùcngoõ vaøo. Khi ñöôïc duøng nhö caùc ngoõ vaøo, caùc chaân cuûa port 2 (ñöôïc keùoxuoáng qua caùc ñieän trôû beân ngoaøi) seõ caáp doøng IIL do coù caùc ñieän trôû keùoleân beân trong.

Page 29: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 29/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 31 SVTH: Chaâu Thò Bích Nga 

Port 2 phaùt ra byte cao cuûa ñòa chæ khi ñoïc töø boä nhôù chöông trìnhngoaøi vaø khi truy caäp boä nhôù döõ lieäu ngoaøi duøng caùc ñòa chæ 16 bit(MOVX @DPTR). Trong öùng duïng naøy, noù duøng caùc ñieän trôû pullup noäi"maïnh" khi phaùt ra caùc möùc 1. Khi truy caäp boä nhôù döõ lieäu ngoaøi duøng

caùc ñòa chæ 8 bit (MOVX @RI), port 2 phaùt ra caùc noäi dung cuûa thanh ghichöùc naêng ñaëc bieät P2.

Port 2 cuõng nhaän caùc bit cao cuûa ñòa chæ vaø moät vaøi tín hieäu ñieàukhieån khi laäp trình vaø kieåm tra Flash.

   Port 3 

Port 3 laø moät port xuaát-nhaäp song höôùng 8 bit coù ñieän trôû pullupnoäi beân trong.

Caùc boä ñeäm ngoõ ra cuûa port 3 coù theå keùo hoaëc cung caáp 4 ngoõvaøo TTL. Khi caùc möùc 1 ñöôïc vieát vaøo caùc chaân cuûa port 3 thì chuùngñöôïc keùo leân cao bôûi caùc ñieän trôû pullup noäi vaø coù theå ñöôïc duøng nhö caùcngoõ vaøo. Khi ñöôïc duøng nhö caùc ngoõ vaøo, caùc chaân cuûa port 3 (ñöôïc keùoxuoáng qua caùc ñieän trôû beân ngoaøi) seõ caáp doøng I IL  do coù caùc ñieän trôûpullup beân trong.

Port 3 cuõng cung caáp caùc chöùc naêng cuûa caùc ñaëc tröng ñaëc bieätnhö ñöôïc lieät keâ döôùi ñaây:

Chaân Teân Caùc chöùc naêng chuyeån ñoåi

P3.0

P3.1

P3.2

P3.3

P3.4

P3.5

P3.6

P3.7

RXD

TXD

INT0  

INT1  

T0

T1

WR  

RD  

Port nhaäp noái tieáp

Port xuaát noái tieáp

Ngaét 0 beân ngoaøi

Ngaét 1 beân ngoaøi

Ngoõ vaøo Timer/Counter 0

Ngoõ vaøo Timer/Counter 1

Xung ghi boä nhôù döõ lieäu ngoaøi

Xung ñoïc boä nhôù döõ lieäu ngoaøi

Caùc chöùc naêng chuyeån ñoåi treân Port 3

Page 30: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 30/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 32 SVTH: Chaâu Thò Bích Nga 

  RST  (chaân 9) 

Ngoõ vaøo reset. Moät möùc cao treân chaân naøy khoaûng hai chu kyø

maùy trong khi boä dao ñoäng ñang chaïy seõ reset thieát bò.  ALE/ PROG  

ALE laø moät xung ngoõ ra ñeå choát byte thaáp cuûa ñòa chæ trong khitruy caäp boä nhôù ngoaøi. Chaân naøy cuõng laø ngoõ nhaäp xung laäp trình(PROG ) khi laäp trình Flash.

Khi hoaït ñoäng bình thöôøng, ALE ñöôïc phaùt vôùi moät tyû leä khoângñoåi laø 1/6 taàn soá boä dao ñoäng vaø coù theå ñöôïc duøng cho caùc muïc ñíchtiming vaø clocking beân ngoaøi. Tuy nhieân, löu yù raèng moät xung ALE seõ bò

boû qua moãi khi truy caäp boä nhôù döõ lieäu ngoaøi.Neáu muoán, hoaït ñoäng ALE coù theå caám ñöôïc baèng caùch set bit 0cuûa SFR taïi ñòa chæ 8Eh. Neáu bit naøy ñöôïc set, ALE chæ döôïc hoaït ñoängkhi coù moät leänh MOVX hoaëc MOVC. Ngöôïc laïi, chaân naøy ñöôïc keùo leâncao bôûi caùc ñieän trôû pullup "nheï". Vieäc set bit caám-ALE khoâng coù taùcduïng khi boä vi ñieàu khieån ñang ôû cheá ñoä thi haønh ngoaøi.

  PSEN  PSEN (Program Store Enable) laø xung ñoïc boä nhôù chöông trình

ngoaøi. Khi AT89C52 ñang thi haønh maõ (code) töø boä nhôù chöông trìnhngoaøi, PSEN ñöôïc kích hoaït hai laàn moãi chu kyø maùy, nhöng hai hoaïtñoäng PSEN  seõ bò boû qua moãi khi truy caäp boä nhôù döõ lieäu ngoaøi.

  EA / Vpp 

EA (External Access Enable) phaûi ñöôïc noái vôùi GND ñeå chopheùp thieát bò ñoïc code töø boä nhôù chöông trình ngoaøi coù ñòa chæ töø 0000Hñeán FFFFH. Tuy nhieân, löu yù raèng neáu bit khoaù 1 (lock-bit 1) ñöôïc laäptrình, EA seõ ñöôïc choát beân trong khi reset.

EA phaûi ñöôïc noái vôùi Vcc khi thi haønh chöông trình beân trong.Chaân naøy cuõng nhaän ñieän aùp cho pheùp laäp trình Vpp=12V khi laäp trìnhFlash (khi ñoù aùp laäp trình 12V ñöôïc choïn).

  XTAL1 vaø XTAL2

Page 31: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 31/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 33 SVTH: Chaâu Thò Bích Nga 

XTAL1 vaø XTAL2 laø hai ngoõ vaøo vaø ra cuûa moät boä khueách ñaïidao ñoäng nghòch ñöôïc caáu hình ñeå duøng nhö moät boä dao ñoäng treân chip.

 Hình. Caùc keát noái cuûa boä dao ñoäng

Khoâng coù yeâu caàu naøo veà duty cycle cuûa tín hieäu xung ngoaøi,vì ngoõnhaäp noái vôùi maïch taïo xung noäi laø moät flip-flop chia ñoâi, nhöng caùc chæñònh veà thôøi gian high vaø low, caùc möùc aùp toái ña vaø toái thieåu phaûi ñöôïctuaân theo.

Caùc ñaëc tröng khaùc seõ ñöôïc trình baøy moät caùch chi tieát hôn ôû nhöõngphaàn tieáp theo sau ñaây.

 III.   TOÅ CHÖÙC BOÄ NHÔÙ:8051/8031 coù boä nhôù theo caáu truùc Harvard: coù nhöõng vuøng boä nhôù

rieâng bieät cho chöông trình vaø döõ lieäu. Nhö ñaõ noùi ôû treân, caû chöông trình

Page 32: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 32/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 34 SVTH: Chaâu Thò Bích Nga 

vaø döõ lieäu coù theå ôû beân trong; duø vaäy chuùng coù theå ñöôïc môû roäng baèng caùcthaønh phaàn ngoaøi leân ñeán toái ña 64 Kbytes boä nhôù chöông trình vaø 64

Kbytes boä nhôù döõ lieäu.

Boä nhôù beân trong bao goàm ROM vaø RAM treân chip, RAM treân chipbao goàm nhieàu phaàn : phaàn löu tröõ ña duïng, phaàn löu tröõ ñòa chæ hoùa töøng

bit, caùc bank thanh ghi vaø caùc thanh ghi chöùc naêng ñaëc bieät.

Hai ñaëc tính caàn löu yù laø :

 Caùc thanh ghi vaø caùc port xuaát nhaäp ñaõ ñöôïc xeáp trong boä nhôù vaøcoù theå ñöôïc truy xuaát tröïc tieáp gioáng nhö caùc ñòa chæ boä nhôù khaùc.

 Ngaên xeáp beân trong RAM noäi nhoû hôn so vôùi RAM ngoaøi nhötrong caùc boä vi xöû lyù khaùc.

Chi tieát veà boä nhôù RAM treân chip:

Theo hình veõ sau, RAM beân trong 8051/8031 ñöôïc phaân chia giöõacaùc bank thanh ghi (00H–1FH), RAM ñòa chæ hoùa töøng bit (20H–2FH),RAM ña duïng (30H–7FH) vaø caùc thanh ghi chöùc naêng ñaëc bieät (80H–FFH).

1  RAM ña duïng:Maëc duø treân hình cho thaáy 80 byte RAM ña duïng chieám caùc ñòa chæ

töø 30H–7FH, 32 byte döôùi cuøng töø 00H ñeán 1FH cuõng coù theå ñöôïc duøngvôùi muïc ñích töông töï (maëc duø caùc ñòa chæ naøy ñaõ coù muïc ñích khaùc).

Moïi ñòa chæ trong vuøng RAM ña duïng ñeàu coù theå ñöôïc truy xuaát töï doduøng caùch ñaùnh ñòa chæ tröïc tieáp hoaëc giaùn tieáp. Ví duï, ñeå ñoïc noäi dung ôûñòa chæ 5FH cuûa RAM noäi vaøo thanh ghi tích luõy, leänh sau seõ ñöôïc duøng :

MOV A, 5FH

Leänh naøy di chuyeån 1 byte döõ lieäu duøng caùch ñaùnh ñòa chæ tröïc tieáp ñeå xaùcñònh “ñòa chæ nguoàn” (5FH). Ñích nhaän döõ lieäu ñöôïc ngaàm xaùc ñònh trongmaõ leänh laø thanh ghi tích luõy A.

RAM beân trong cuõng coù theå ñöôïc truy xuaát duøng caùch ñaùnh ñòa chæ giaùntieáp qua R0 hay R1. Ví duï, hai leänh sau thi haønh cuøng nhieäm vuï nhö leänhñôn ôû treân :

Page 33: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 33/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 35 SVTH: Chaâu Thò Bích Nga 

MOV R0, #5FH

MOV A, @R0

Leänh ñaàu duøng ñòa chæ töùc thôøi ñeå di chuyeån giaù trò 5FH vaøo thanh ghi R0,

vaø leänh thöù hai duøng ñòa chæ tröïc tieá p ñeå di chuyeån döõ lieäu “ñöôïc troû bôûiR0” vaøo thanh ghi tích luõy. 

Boä nhôùchöông

trìnhñöôïc choïnqua PSEN

FFFF 

0000 

Boä nhôùdöõ lieäu

ñöôïc choïnqua WRvaø RD

FFFF 

0000 

00 

Boä nhôù treân Boä nhôù môû roäng

Toùm taét caùc vuøng boä nhôù cuûa 8031/8051

RAM ña duïng

7F 

Ñ a chæ bit Ñòa chæb te 

E7

 E6

 E5

 E4

 E3

 E2

 E1

 E0

 E ACC

 D D D D D D –  DD PSW 

F7 F6 F5 F4 F3 F2 F1 F0 F0  B 

Ñòa chæb te  Ñ a chæ bit 

Page 34: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 34/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 36 SVTH: Chaâu Thò Bích Nga 

2  RAM ñòa chæ hoùa töøng bit :8051/8031 chöùa 210 bit ñöôïc ñòa chæ hoùa, trong ñoù 128 bit laø ôû caùc ñòa chæbyte 20H ñeán 2FH, vaø phaàn coøn laïi laø trong caùc thanh ghi chöùc naêng ñaëcbieät.

Page 35: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 35/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 37 SVTH: Chaâu Thò Bích Nga 

YÙ töôûng truy xuaát töøng bit rieâng reõ baèng phaàn meàm laø moät ñaëc tính tieänlôïi cuûa vi ñieàu khieån noùi chung. Caùc bit coù theå ñöôïc ñaët, xoùa, AND, OR,... vôùi moät leänh ñôn. Ña soá caùc vi xöû lyù ñoøi hoûi moät chuoãi leänh ñoïc-söûa-ghi ñeå ñaït ñöôïc hieäu quaû töông töï. Hôn nöõa, caùc port I/O cuõng ñöôïc ñòa

chæ hoùa töøng bit laøm ñôn giaûn phaàn meàm xuaát nhaäp töøng bit.Coù 128 bit ñöôïc ñòa chæ hoùa ña duïng ôû caùc byte 20H ñeán 2FH. Caùc ñòa chænaøy ñöôïc truy xuaát nhö caùc byte hoaëc nhö caùc bit phuï thuoäc vaøo leänh ñöôïcduøng. Ví duï, ñeå ñaët bit 67H, ta duøng leänh sau :

SETB 67H

Chuù yù raèng “ñòa chæ bit 67H” laø bit coù troïng soá lôùn nhaát (MSB) ôû “ñòa chæbyte 2CH”. Leänh treân seõ khoâng taùc ñoäng ñeán caùc bit khaùc ôû ñòa chæ naøy.

Caùc vi xöû lyù seõ phaûi thi haønh nhieäm vuï töông töï nhö sau :MOV A, 2CH ; ñoïc caû byte

ORL A, #10000000B ; set MSB

MOV 2CH,A ; ghi laïi caû byte

3  Caùc bank thanh ghi :32 byte thaáp nhaát cuûa boä nhôù noäi laø daønh cho caùc bank thanh ghi. Boä

leänh cuûa 8051/8031 hoã trôï 8 thanh ghi (R0 ñeán R7) vaø theo maëc ñònh (saukhi reset heä thoáng) caùc thanh ghi naøy ôû caùc ñòa chæ 00H–07H. Leänh sau

ñaây seõ ñoïc noäi dung ôû ñòa chæ 05H vaøo thanh ghi tích luõy :

MOV A, R5

Ñaây laø leänh 1 byte duøng ñòa chæ thanh ghi. Taát nhieân, thao taùc töôngtöï coù theå ñöôïc thi haønh baèng leänh 2 byte duøng ñòa chæ tröïc tieáp naèm trongbyte thöù hai :

MOV A, 05HCaùc leänh duøng caùc thanh ghi R0 ñeán R7 thì seõ ngaén hôn vaø nhanh hôn

caùc leänh töông öùng nhöng duøng ñòa chæ tröïc tieáp. Caùc giaù trò döõ lieäu ñöôïcduøng thöôøng xuyeân neân duøng moät trong caùc thanh ghi naøy.

Bank thanh ghi tích cöïc coù theå chuyeån ñoåi baèng caùch thay ñoåi caùc bitchoïn bank thanh ghi trong töø traïng thaùi chöông trình (PSW). Giaû söû raèng

Page 36: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 36/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 38 SVTH: Chaâu Thò Bích Nga 

bank thanh ghi 3 ñöôïc tích cöïc, leänh sau seõ ghi noäi dung cuûa thanh ghi tíchluõy vaøo ñòa chæ 18H :

MOV R0, A

YÙ töôûng duøng “caùc bank thanh ghi” cho pheùp “chuyeån höôùng” chöôngtrình nhanh vaø hieäu quaû (töøng phaàn rieâng reõ cuûa phaàn meàm seõ coù moät boäthanh ghi rieâng khoâng phuï thuoäc vaøo caùc phaàn khaùc).

 IV.   CAÙC THANH GHI CHÖÙC NAÊNG ÑAËC BIEÄT:Moät baûn ñoà vuøng boä nhôù treân chip ñöôïc goïi laø khoâng gian thanh ghi

chöùc naêng ñaëc bieät (SFR) nhö ñöôïc trình baøy trong baûng.

Löu yù raèng khoâng phaûi taát caû caùc ñòa chæ ñeàu ñöôïc söû duïng, vaø caùc

ñòa chæ khoâng ñöôïc söû duïng coù theå khoâng ñöôïc cung caáp treân con chip. Caùchaønh ñoäng ñoïc ñeán caùc ñòa chæ naøy noùi chung seõ traû veà caùc döõ lieäu ngaãunhieân, vaø caùc haønh ñoäng vieát seõ coù moät hieäu öùng khoâng xaùc ñònh.

Caùc phaàn meàm ngöôøi duøng khoâng neân vieát caùc möùc 1 ñeán nhöõng vò tríkhoâng ñöôïc lieät keâ naøy, vì chuùng coù theå ñöôïc duøng trong caùc saûn phaåm

töông lai khi theâm vaøo caùc ñaëc tröng môùi. Trong tröôøng hôïp naøy, caùc giaùtrò reset hoaëc khoâng tích cöïc cuûa caùc bit môùi seõ luoân laø 0.

Caùc thanh ghi noäi cuûa 8051/8031 ñöôïc truy xuaát ngaàm ñònh bôûi boä

leänh. Ví duï leänh “INC A” seõ taêng noäi dung cuûa thanh ghi tích luõy A leân 1.Taùc ñoäng naøy ñöôïc ngaàm ñònh trong maõ leänh.

Caùc thanh ghi trong 8051/8031 ñöôïc ñònh daïng nhö moät phaàn cuûaRAM treân chip. Vì vaäy moãi thanh ghi seõ coù moät ñòa chæ (ngoaïi tröø thanhghi ñeám chöông trình vaø thanh ghi leänh vì caùc thanh ghi naøy hieám khi bò

taùc ñoäng tröïc tieáp, neân khoâng lôïi loäc gì khi ñaët chuùng vaøo trong RAM treânchip).

Ñoù laø lyù do ñeå 8051/8031 coù nhieàu thanh ghi nhö vaäy. Cuõng nhö R0

ñeán R7, coù 21 thanh ghi chöùc naêng ñaëc bieät (SFR : Special FunctionRegister) ôû vuøng treân cuûa RAM noäi, töø ñòa chæ 80H ñeán FFH. Chuù yù raènghaàu heát 128 ñòa chæ töø 80H ñeán FFH khoâng ñöôïc ñònh nghóa. Chæ coù 21 ñòa

chæ SFR laø ñöôïc ñònh nghóa.

Ngoaïi tröø tích luõy (A) coù theå ñöôïc truy xuaát ngaàm nhö ñaõ noùi, ña soácaùc SFR ñöôïc truy xuaát duøng ñòa chæ tröïc tieáp. Chuù yù raèng moät vaøi SFR coù

Page 37: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 37/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 39 SVTH: Chaâu Thò Bích Nga 

theå ñöôïc ñòa chæ hoùa bit hoaëc byte. Ngöôøi thieát keá phaûi thaän troïng khi truyxuaát bit vaø byte. Ví duï leänh sau : SETB 0E0H seõ set bit 0 trong thanh ghi

tích luõy, caùc bit khaùc khoâng ñoåi. Ta thaáy raèng E0H ñoàng thôøi laø ñòa chæbyte cuûa caû thanh ghi tích luõy vaø laø ñòa chæ bit cuûa bit coù troïng soá nhoû nhaát

trong thanh ghi tích luõy. Vì leänh SETB chæ taùc ñoäng treân bit, neân chæ coù ñòachæ bit laø coù hieäu quaû.

1  Töø traïng thaùi chöông trình :Töø traïng thaùi chöông trình (PSW : Program Status Word) ôû ñòa chæ

D0H chöùa caùc bit traïng thaùi nhö baûng toùm taét sau :

* Côø nhôù Côø nhôù (CY) coù coâng duïng keùp. Thoâng thöôøng noù ñöôïc duøng cho

caùc leänh toaùn hoïc : noù seõ ñöôïc set neáu coù moät soá nhôù sinh ra bôûi pheùpcoäng hoaëc coù moät soá möôïn bôûi pheùp tröø. Ví duï, neáu thanh ghi tích luõy chöùaFFH, thì leänh ADD A, #1 seõ traû veà thanh ghi tích luõy keát quaû 00H vaø setcôø nhôù trong PSW.

Bit Kyù hieäu Ñòa chæ YÙ nghóa

PSW.7 CY D7H Côø nhôùPSW.6 AC D6H Côø nhôù phuïPSW.5 F0 D5H Côø 0PSW.4 RS1 D4H Bit 1 choïn bank thanh ghiPSW.3 RS0 D3H Bit 0 choïn bank thanh ghi

00 = bank 0 : ñòa chæ 00H–07H01 = bank 1 : ñòa chæ 08H–0FH10 = bank 2 : ñòa chæ 10H–17H11 = bank 3 : ñòa chæ 18H–1FH

PSW.2 OV D2H Côø traønPSW.1 –  D1H Döï tröõPSW.0 P D0H Côø parity chaün

Page 38: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 38/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 40 SVTH: Chaâu Thò Bích Nga 

Côø nhôù cuõng coù theå xem nhö moät thanh ghi 1 bit cho caùc leänh luaän lyùthi haønh treân bit. Ví duï, leänh sau seõ AND bit 25H vôùi côø nhôù vaø ñaët keát

quaû trôû vaøo côø nhôù : ANL C, 25H

* Côø nhôù phuï

Khi coäng caùc soá BCD, côø nhôù phuï (AC) ñöôïc set neáu keát quaû cuûa 4bit thaáp trong khoaûng 0AH ñeán 0FH. Neáu caùc giaù trò ñöôïc coäng laø soá BCD,

thì sau leänh coäng caàn coù DA A (hieäu chænh thaäp phaân thanh ghi tích luõy)ñeå mang keát quaû lôùn hôn 9 vaøo nibble cao.

* Côø 0

Côø 0 (F0) laø 1 bit côø ña duïng daønh cho caùc öùng duïng cuûa ngöôøi duøng.

* Caùc bit choïn bank thanh ghi

Caùc bit choïn bank thanh ghi (RS0 vaø RS1) xaùc ñònh bank thanh ghiñöôïc tích cöïc. Chuùng ñöôïc xoùa sau khi reset heä thoáng vaø ñöôïc thay ñoåi

baèng phaàn meàm neáu caàn. Ví duï, ba leänh sau cho pheùp bank thanh ghi 3 vaødi chuyeån noäi dung cuûa thanh ghi R7 (ñòa chæ byte 1FH) ñeán thanh ghi tích

luõy :

SETB RS1

SETB RS0

MOV A, R7Khi chöông trình ñöôïc hôïp dòch, caùc ñaïi chæ bit ñuùng ñöôïc thay theá

cho caùc kyù hieäu “RS1” vaø “RS0”. Vaäy, leänh SETB RS1 seõ gioáng nhö leänhSETB 0D4H.

* Côø traøn 

Côø traøn (OV) ñöôïc set sau moät leänh coäng hoaëc tröø neáu coù moät pheùptoaùn bò traøn. Khi caùc soá coù daáu ñöôïc coâng hoaëc tröø vôùi nhau, phaàn meàm coù

theå kieåm tra bit naøy ñeå xaùc ñònh xem keát quaû coù naèm trong taàm xaùc ñònhkhoâng. Khi caùc soá khoâng daáu ñöôïc coäng, bit OV coù theå ñöôïc boû qua. Caùckeát quaû lôùn hôn +127 hoaëc nhoû hôn -128 seõ set bit OV.

Keát quaû laø moät soá coù daáu 8EH ñöôïc xem nhö -116, khoâng phaûi laø keát quaûñuùng (142), vì vaäy, bit OV ñöôïc set.

Page 39: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 39/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 41 SVTH: Chaâu Thò Bích Nga 

2  Thanh ghi B.Thanh ghi B ôû ñòa chæ F0H ñöôïc duøng cuøng vôùi thanh ghi tích luõy A

cho caùc pheùp toaùn nhaân vaø chia. Leänh MUL AB seõ nhaân caùc giaù trò khoâng

daáu 8 bit trong A vaø B roài traû veà keát quaû 16 bit trong A (byte thaáp) vaø B(byte cao). Leänh DIV AB seõ chia A cho B roài traû veà keát quaû nguyeân trongA vaø phaàn dö trong B. Thanh ghi B cuõng coù theå ñöôïc xem nhö thanh ghiñeäm ña duïng. Noù ñöôïc ñòa chæ hoùa töøng bit baèng caùc ñòa chi bit F0H ñeánF7H.

3  Con troû ngaên xeáp .Con troû ngaên xeáp (SP) laø moät thanh ghi 8 bit ôû ñòa chæ 81H. Noù

chöùa ñòa chæ cuûa byte döõ lieäu hieän haønh treân ñænh cuûa ngaên xeáp. Caùc leänh

treân ngaên xeáp bao goàm caùc thao taùc caát döõ lieäu vaøo ngaên xeáp vaø laáy döõlieäu ra khoûi ngaên xeáp. Leänh caát döõ lieäu vaøo ngaên xeáp seõ laøm taêng SPtröôùc khi ghi döõ lieäu, vaø leänh laáy döõ lieäu ra khoûi ngaên xeáp seõ ñoïc döõ lieäuvaø giaûm SP. Ngaên xeáp cuûa 8051/8031 ñöôïc giöõ trong RAM noäi vaø ñöôïcgiôùi haïn caùc ñòa chæ coù theå truy xuaát baèng ñòa chæ giaùn tieáp. Chuùng laø 128byte ñaàu cuûa 8051/8031.

Ñeå khôûi ñoäng laïi SP vôùi ngaên xeáp baét ñaàu taïi 60H,caùc leänh sau ñaâyñöôïc duøng:

MOV SP, #5FHTreân 8051/8031 ngaên xeáp bò giôùi haïn 32 byte vì ñòa chæ cao nhaát cuûa

RAM treân chip laø 7FH. Sôû dó duøng giaù trò 5FH vì SP seõ taêng leân 60H tröôùckhi caát byte döõ lieäu ñaàu tieân.

Ngöôøi thieát keá coù theå choïn khoâng phaûi khôûi ñoäng laïi con troû ngaên xeápmaø ñeå noù laáy giaù trò maëc ñònh khi reset heä thoáng. Giaù trò maëc ñònh ñoù laø07H vaø keát quaû laø ngaên ñaàu tieân ñeå caát döõ lieäu coù ñòa chæ laø 08H. Neáu

phaàn meàm öùng duïng khoâng khôûi ñoäng laïi SP, bank thanh ghi 1 (coù theå caû 2vaø 3) seõ khoâng duøng ñöôïc vì vuøng RAM naøy ñaõ ñöôïc duøng laøm ngaên xeáp.

Ngaên xeáp ñöôïc truy xuaát tröïc tieáp baèng caùc leänh PUSH vaø POP ñeålöu tröõ taïm thôøi vaø laáy laïi döõ lieäu, hoaëc ñöôïc truy xuaát ngaàm baèng caùcleänh goïi chöông trình con (ACALL, LCALL) vaø caùc leänh trôû veà (RET,

RETI) ñeå caát vaø laáy laïi boä ñeám chöông trình.

Page 40: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 40/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 42 SVTH: Chaâu Thò Bích Nga 

4  Con troû döõ lieäuCon troû döõ lieäu (DPTR) ñöôïc duøng ñeå truy xuaát boä nhôù ngoaøi laø moät

thanh ghi 16 bit ôû ñòa chæ 82H (DPL : byte thaáp) vaø 83H (DPH : byte cao).

Ba leänh sau seõ ghi 55H vaøo RAM ngoaøi ôû ñòa chæ 1000H :MOV A, #55H

MOV DPTR, #1000H

MOVX @DPTR, A

Leänh ñaàu tieân duøng ñòa chæ töùc thôøi ñeå taûi döõ lieäu 55H vaøo thanh ghitích luõy. Leänh thöù hai cuõng duøng ñòa chæ töùc thôøi, laàn naøy ñeå taûi döõ lieäu 16

bit 1000H vaøo con troû döõ lieäu. Leänh thöù ba duøng ñòa chæ giaùn tieáp ñeå dichuyeån döõ lieäu trong A (55H) ñeán RAM ngoaøi ôû ñòa chæ ñöôïc chöùa trong

DPTR (1000H).

5  Caùc thanh ghi port xuaát nhaäp :Caùc port cuûa 8051/8031 bao goàm Port 0 ôû ñòa chæ 80H, Port 1 ôû ñòa chæ90H, Port 2 ôû ñòa chæ A0H vaø Port 3 ôû ñòa chæ B0H. Taát caû caùc port ñeàuñöôïc ñòa chæ hoùa töøng bit. Ñieàu ñoù cung caáp moät khaû naêng giao tieáp thuaänlôïi. Ví duï, neáu moät motor ñöôïc noái qua moät cuoän daây coù transistor laùi ñeánbit 7 cuûa Port 1, noù coù theå ñöôïc baät vaø taét baèng moät leänh ñôn :

SETB P1.7 ; baät motorCLR P1.7 ; taét motor

Caùc leänh treân duøng daáu chaám ñeå xaùc ñònh moät bit trong moät byte.Trình hôïp dòch seõ thi haønh söï chuyeån ñoåi caàn thieát, vì vaäy hai leänh sau ñaâylaø nhö nhau :

CLR P1.7

CLR 97H

Trong moät ví duï khaùc, xem xeùt giao tieáp ñeán moät thieát bò vôùi moät bittraïng thaùi goïi laø BUSY, ñöôïc set khi thieát bò ñang baän vaø ñöôïc xoùa khithieát bò ñaõ saün saøng. Neáu BUSY ñöôïc noái tôùi P1.5, voøng laëp sau seõ ñöôïcduøng ñeå chôø thieát bò trôû laïi traïng thaùi saün saøng :

WAIT : JB P1.5, WAIT

Page 41: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 41/93

Page 42: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 42/93

Page 43: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 43/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 45 SVTH: Chaâu Thò Bích Nga 

cho pheùp ngaét (IE) ôû ñòa chæ A8H. Caû hai thanh ghi ñöôïc ñòa chæ hoùa töøngbit.

9  Thanh ghi ñieàu khieån coâng suaát.

Thanh ghi ñieàu khieån coâng suaát (PCON) ôû ñòa chæ 87H chöùa nhieàubit ñieàu khieån. Chuùng ñöôïc toùm taét trong baûng sau :

 V.   BAÛO VEÄ BOÄ NHÔÙ :Caùc bit khoaù boä nhôù chöông trình. Vi ñieàu khieån AT89C52 coù 3 bit

khoaù coù theå boû khoâng laäp trình (U) hoaëc ñöôïc laäp trình (P) ñeå nhaän caùcñaëc tröng theâm vaøo ñöôïc lieät keâ trong baûng döôùi ñaây (vôùi LB1, LB2, LB3laø caùc bit khoùa töông öùng).

Cheá

ñoä

LB

1

LB

2

LB Kieåu baûo veä

1 U U U Khoâng khoaù chöông trình

2 P U U Caùc leänh MOVC ñöôïc thi haønh töø boä nhôùchöông trình ngoaøi bò caám khi laáy caùc byte maõtöø boä nhôù noäi, /EA ñöôïc laáy maãu vaø ñöôïc choát

4 –  Khoâng ñònh nghóa.3 GF1 Bit côø ña duïng 1.2 GF0 Bit côø ña duïng 0.1 PD Giaûm coâng suaát, ñöôïc set ñeå kích hoaït

mode giaûm coâng suaát, chæ thoaùt khi reset0 IDL Mode chôø, set ñeå kích hoaït mode chôø, chæ

thoaùt khi coù ngaét hoaëc reset heä thoáng. 

Bit Kyù hieäu YÙ nghóa 

7 SMOD Bit gaáp ñoâi toác ñoï baud, neáu ñöôïc set thìtoác ñoä baud seõ taêng gaáp ñoâi trong caùc mode1,2 vaø 3 cuûa port noái tieáp.

6 –  Khoâng ñònh nghóa.5 –  Khoâng ñònh nghóa.

Page 44: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 44/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 46 SVTH: Chaâu Thò Bích Nga 

laïi khi reset vaø hôn nöõa, vieäc laäp trình boä nhôùFlash laø bò caám.

3 Nhö cheá ñoä 2 nhöng vieäc kieåm tra cuõng bò caám

4 Nhö cheá ñoä 3 nhöng vieäc thi haønh ngoaøi cuõngbò caám.

Khi bit khoaù 1 ñöôïc laäp trình, möùc logic taïi chaân EA  ñöôïc laáy maãuvaø choát laïi khi reset. Neáu thieát bò ñöôïc baät nguoàn maø khoâng coù reset, vieäcchoát seõ ñöôïc khôûi taïo vôùi moät giaù trò ngaãu nhieân cho ñeán khi ñöôïc reset.Giaù trò ñöôïc choát cuûa EA  phaûi baèng vôùi möùc logic hieän taïi ôû chaân ñoù ñeåcho thieát bò laøm vieäc moät caùch chính xaùc.

 VI.  HOAÏT ÑOÄNG CUÛA PORT NOÁI TIEÁP:

1  Giôùi thieäu:8051/8031 coù moät port noái tieáp trong chip coù theå hoaït ñoäng ôû nhieàu

cheá ñoä treân moät daõi taàn soá roäng. Chöùc naêng chuû yeáu cuûa port noái tieáp laøthöïc hieän chuyeån ñoåi song song sang noái tieáp ñoái vôùi döõ lieäu xuaát, vaøchuyeån ñoåi noái tieáp sang song song vôùi döõ lieäu nhaäp.

Truy xuaát phaàn cöùng ñeán port noái tieáp qua caùc chaân TXD vaø RXD.Caùc chaân naøy coù caùc chöùc naêng khaùc vôùi hai bit cuûa Port 3, P3.1 ôû chaân 11

(TXD) vaø P3.0 ôû chaân 10 (RXD).Port noái tieáp cho hoaït ñoäng song coâng (full duplex : thu vaø phaùt

ñoàng thôøi), vaø ñeäm luùc thu (receiver buffering) cho pheùp moät kyù töï seõñöôïc thu vaø ñöôïc giöõ trong khi kyù töï thöù hai ñöôïc nhaän. Neáu CPU ñoïc kyùtöï thöù nhaát tröôùc khi kyù töï thöù hai ñöôïc thu ñöôïc thu ñaày ñuû thì döõ lieäu seõkhoâng bò maát.

Hai thanh ghi chöùc naêng ñaëc bieät cho pheùp phaàn meàm truy xuaát ñeánport noái tieáp laø : SBUF vaø SCON. Boä ñeäm port noái tieáp (SBUF) ôû ñòa chæ99H thaät söï laø hai boä ñeäm. Vieát vaøo SBUF ñeå naïp döõ lieäu seõ ñöôïc phaùt, vaøñoïc SBUF ñeå truy xuaát döõ lieäu thu ñöôïc. Ñaây laø hai thanh ghi rieâng bieät :thanh ghi chæ ghi ñeå phaùt vaø thanh ghi chæ ñoïc ñeå thu.

Page 45: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 45/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 47 SVTH: Chaâu Thò Bích Nga 

Thanh ghi ñieàu khieån port noái tieáp (SCON) ôû ñòa chæ 98H laø thanhghi coù ñòa chæ bit chöùa caùc bit traïng thaùi vaø caùc bit ñieàu khieån. Caùc bit ñieàukhieån ñaët cheá ñoä hoaït ñoäng cho port noái tieáp, vaø caùc bit traïng thaùi baùo keátthuùc vieäc phaùt hoaëc thu kyù töï. Caùc bit traïng thaùi coù theå ñöôïc kieåm tra baèngphaàn meàm hoaëc coù theå ñöôïc laäp trình ñeå taïo ngaét.

Taàn soá laøm vieäc cuûa port noái tieáp, coøn goïi laø toác ñoä baud coù theå coáñònh (laáy töø boä dao ñoäng treân chip). Neáu söû duïng toác ñoä baud thay ñoåi,

Timer 1 seõ cung caáp xung nhòp toác ñoä baud vaø phaûi ñöôïc laäp trình.2  Thanh ghi ñieàu khieån port noái tieáp:

Cheá ñoä hoaït ñoäng cuûa port noái tieáp ñöôïc ñaët baèng caùch ghi vaøothanh ghi cheá ñoä port noái tieáp (SCON) ôû ñòa chæ 98H. Sau ñaây laø caùc baûng

toùm taét thanh ghi SCON vaø caùc cheá ñoä cuûa port noái tieáp :

CLK  SBUFQ 

TXD(P3.1) 

Thanh ghi dòch D CLK 

Xung nhòptoác ñoä baud

(phaùt) 

Xung nhòptoác ñoä baud

(thu) 

RXD(P3.0) 

SBUF(chæ ñoïc) 

Bus noäi 8051/8031 

Bit Kyù hieäu Ñòa chæ Moâ taû

SCON.7 SM0 9FH Bit 0 cuûa cheá ñoä port noái tieáp.SCON.6 SM1 9EH Bit 1 cuûa cheá ñoä port noái tieáp.SCON.5 SM2 9DH Bit 2 cuûa cheá ñoä port noái tieáp. Cho pheùp truyeàn

thoâng ña xöû lyù trong caùc cheá ñoï 2 vaø 3; RI seõkhoâng bò taùc ñoäng neáu bit thöù 9 thu ñöôïc laø 0.

SCON.4 REN 9CH Cho pheùp boä thu phaûi ñöôïc ñaët leân 1 ñeå thu (nhaän)caùc kyù töï.

SCON.3 TB8 9BH Bit 8 phaùt, bit thöù 9 ñöôïc phaùt trong caùc cheá ñoä 2vaø 3; ñöôïc ñaët vaø xoùa baèng phaàn meàm.

SCON.2 RB8 9AH Bit 8 thu, bit thöù 9 thu ñöôïc.SCON.1 TI 99H Côø ngaét phaùt. Ñaët leân 1 khi keát thuùc phaùt kyù töï;

ñöôc xoùa baèn haàn meàm.

Page 46: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 46/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 48 SVTH: Chaâu Thò Bích Nga 

Toùm taét thanh ghi cheá ñoä port noái tieáp SCON. 

Caùc cheá ñoä port noái tieáp. 

Tröôùc khi söû duïng port noái tieáp, phaûi khôûi ñoäng SCON cho ñuùng cheá

ñoä. Ví duï, leänh MOV SCON, #01010010B khôûi ñoäng port noái tieáp chocheá ñoä 1 (SM0/SM1 = 0/1), cho pheùp boä thu (REN = 1) vaø ñaët côø ngaét phaùt(T1 = 1) ñeå chæ boä phaùt saün saøng hoaït ñoäng.

3  Caùc cheá ñoä hoaït ñoäng:Port noái tieáp coù 4 cheá ñoä hoat ñoäng, coù theå choïn ñöôïc baèng caùch vieát caùcsoá 1 hay 0 vaøo caùc bit SM0 vaø SM1 trong SCON. Coù ba cheá ñoä cho pheùp

truyeàn thoâng baát ñoàng boä, vôùi moãi kyù töï ñöôïc thu (nhaän) hoaëc phaùt ñeàuñöôïc ñoùng khung baèng moät bit start vaø 1 bit stop. ÔÛ cheá ñoä thöù tö, port noáitieáp hoaït ñoäng nhö moät thanh ghi dòch ñôn giaûn.

a)  Thanh ghi dòch 8 bit (cheá ñoä 0):

Cheá ñoä 0 ñöôïc choïn baèng caùch ghi caùc bit 0 vaøo SM1 vaø SM0 cuûaSCON, ñöa port noái tieáp vaøo cheá ñoä thanh ghi dòch 8 bit. Döõ lieäu noái tieáp

SM0 SM1 Cheá ñoä Moâ taû Toác ñoä baud

0 0 0 Thanh ghi dòch Coá ñònh (FOSC /12).0 1 1 UART 8 bit Thay ñoåi (ñaët baèng timer).1 0 2 UART 9 bit Coá ñònh (FOSC chia cho 12 hoaëc 64).1 1 3 UART 9 bit Thay ñoåi (ñaët baèng timer).

Page 47: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 47/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 49 SVTH: Chaâu Thò Bích Nga 

vaøo vaø ra qua RXD vaø TXD xuaát xung nhòp dòch. 8 bit ñöôïc phaùt hoaëc thuvôùi bit ñaàu tieân laø LSB. Toác ñoä baud coá ñònh ôû 1/12 taàn soá dao ñoäng treânchip.

Vieäc phaùt ñi ñöôïc khôûi ñoäng baèng baát cöù leänh naøo ghi döõ lieäu vaøoSBUF. Döõ lieäu ñöôïc dòch ra ngoaøi treân ñöôøng RXD (P3.0) vôùi caùc xungnhòp ñöôïc göûi ra ñöôøng TXD (P3.1). Moãi bit phaùt ñi hôïp leä (treân RXD)

trong moät chu kyø maùy. Trong moãi chu kyø maùy, tín hieäu xung nhaäp xuoángthaáp ôû S3P1 vaø trôû veà möùc cao ôû S6P1.

S1 P1  P2 

S2 P1  P2 

S3 P1  P2 

S4 P1  P2 

S5 P1  P2 

S6 P1  P2 

Moät chu kyø maùy 

OS

 AL

 Bit döõ lieäu hôïp leä Döõ lieäu

  áClock

D0  D1  D2  D3  D4  D5  D6  D7 Döõ lieäu xuaát 

ALE 

Phoùn to

Page 48: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 48/93

Page 49: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 49/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 51 SVTH: Chaâu Thò Bích Nga 

Cheá ñoä thanh ghi dòch cuûa port noái tieáp.

b)  UART 8 bit vôùi toác ñoä baud thay ñoåi ñöôïc (cheá ñoä 1).

ÔÛ cheá ñoä 1, port noái tieáp cuûa 8051/8031 laøm vieäc nhö moät UART 8

bit vôùi toác ñoä baud thay ñoåi ñöôïc. Moät UART (Universal AsynchronousReceiver/Transmitter : Boä thu/phaùt baát ñoàng boä vaïn naêng) laø moät duïng cuïthu vaø phaùt döõ lieäu noái tieáp vôùi moãi kyù töï döõ lieäu ñi tröôùc laø bit start ôû möùcthaáp vaø theo sau laø bit stop ôû möùc cao. Ñoâi khi xen theâm bit kieåm tra chaünleû giöõa bit döõ lieäu cuoái cuøng vaø bit stop. Hoaït ñoäng chuû yeáu cuûa UART laøchuyeån ñoåi song song sang noái tieáp vôùi döõ lieäu xuaát vaø chuyeån ñoåi noái tieáp

sang song song vôùi döõ lieäu nhaäp.

ÔÛ cheá ñoä 1, 10 bit ñöôïc phaùt treân TXD hoaëc thu treân RXD. Nhöõng

bit ñoù laø : 1 bit start (luoân luoân laø 0), 8 bit döõ lieäu (LSB ñaàu tieân) vaø 1 bitstop (luoân luoân laø 1) . Vôùi hoaït ñoäng thu, bit stop ñöôïc ñöa vaøo RB8trong SCON. Trong 8051/8031 cheá doä baud ñöôïc ñaët baèng toác ñoä baùo traøn

cuûa Timer 1.

Taïo xung nhòp vaø ñoàng boä hoùa caùc thanh ghi dòch cuûa port noái tieáptrong caùc cheá ñoä 1, 2 vaø 3 ñöôïc thieát laäp baèng boä ñeám 4 bit chia cho 16,

ngoõ ra laø xung nhòp toác ñoä baud. Ngoõ vaøo cuûa boä ñeám naøy ñöôïc choïn quaphaàn meàm

Taïo xung nhòp port noái tieáp.

Truyeàn döõ lieäu (phaùt) ñöôïc khôûi ñoäng baèng caùch ghi vaøo SBUF,

Xung nhòp toác ñoä baudThanh ghi dòch port noái tieáp 

 1616  toác ñoäbaud

Page 50: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 50/93

Page 51: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 51/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 53 SVTH: Chaâu Thò Bích Nga 

1. RI = 0

2. SM2 = 1 vaø bit stop thu ñöôïc laø 1, hoaëc SM2 = 0.

Ñoøi hoûi RI = 0 ñeå baûo ñaûm laø phaàn meàm ñaõ ñoïc kyù töï tröôùc (vaø RI

ñöôïc xoùa). Ñieàu kieän thöù hai hôi phöùc taïp nhöng chæ aùp duïng trong cheá ñoätruyeàn thoâng ña xöû lyù. Ñieàu ñoù haøm yù laø “khoâng ñaët RI leân 1 trong cheá ñoätruyeàn thoâng ña xöû lyù khi bit döõ lieäu thöù 9 laø 0).

c)  UART 9 bit vôùi toác ñoä baud coá ñònh (cheá ñoä 2):

Khi SM1 = 1 vaø SM0 = 0, coång noái tieáp laøm vieäc ôû cheá ñoä 2, nhömoät UART 9 bit coù toác ñoä baud coá ñònh. 11 bit seõ ñöôïc phaùt hoaëc thu : 1bit start, 8 bit döõ lieäu, bit döõ lieäu thöù 9 coù theå laäp trình ñöôïc vaø 1 bit stop.Khi phaùt, bit thöù 9 laø baát cöù gì ñaõ ñöôïc ñöa vaøo TB8 trong SCON (coù theå

laø bit parity). Khi thu, bit thöù 9 thu ñöôïc seõ ôû trong RB8. Toác ñoä baud ôûcheá ñoä 2 laø 1/32 hoaëc 1/16 taàn soá dao ñoäng treân chip.

d)  UART 9 bit vôùi toác ñoä baud thay ñoåi ñöôïc.

Cheá ñoä naøy gioáng nhö cheá ñoä 2 ngoaïi tröø toác ñoä baud coù theå laäptrình ñöôïc vaø ñöôïc cung caáp bôûi timer. Thaät ra, caùc cheá ñoä 1,2 vaø 3 raátgioáng nhau. Caùc khaùc bieät laø ôû toác ñoä baud (coù ñònh trong cheá ñoä 2, thayñoåi trong caùc cheá ñoä 1 vaø 3) vaø ôû soá bit döõ lieäu (8 trong cheá ñoä 1, 9 trongcaùc cheá ñoä 2 vaø 3).

4  Khôûi ñoäng vaø truy xuaát caùc thanh ghi coång noái tieáp: 

a)  Cho pheùp thu:

Bit cho pheùp boä thu (REN = Receiver Enable) trong SCON phaûi ñöôïc ñaëtleân 1 baèng phaàn meàm ñeå cho pheùp thu caùc kyù töï. Thoâng thöôøng thöïc hieänvieäc naøy ôû ñaàu chöông trình khi khôûi ñoäng coång noái tieáp, timer, ... Coù theåthöïc hieän vieäc naøy theo hai caùch. Leänh SETB REN seõ ñaët REN leân 1,hoaëc leänh MOV SCON, #xxx1xxxxB seõ ñaët REN leân 1 vaø ñaët hoaëc xoùa

caùc bit khaùc trong SCON khi caàn (Caùc x phaûi laø 0 hoaëc 2 ñeå ñaët cheá ñoälaøm vieäc).

b)  Bit döõ lieäu thöù 9:

Bit döõ lieäu thöù 9 caàn phaùt trong caùc cheá ñoä 2 vaø 3 phaûi ñöôïc naïpvaøo trong TB8 baèng phaàn meàm. Bit döõ lieäu döõ lieäu thöù 9 thu ñöôïc ñaët ôû

Page 52: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 52/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 54 SVTH: Chaâu Thò Bích Nga 

RB8. Phaàn meàm coù theå caàn hoaëc khoâng caàn bit döõ lieäu thöù 9, phuï thuoäcvaøo ñaëc tính kyõ thuaät cuûa thieát bò noái tieáp söû duïng. (Bit döõ lieäu thöù 9 cuõngñoùng moät vai troø quan troïng trong truyeàn thoâng ña xöû lyù).

c)  Theâm 1 bit parity:

Thöôøng söû duïng bit döõ lieäu thöù 9 ñeå theâm parity vaøo kyù töï. Nhö ñaõxeùt ôû caùc chöông tröôùc, bit P trong töø traïng thaùi chöông trình (PSW) ñöôïcñaët leân 1 hoaëc bò xoùa moãi chu kyø maùy ñeå thieát laäp kieåm tra chaün vôùi 8 bit

trong thanh ghi tích luõy. Ví duï, neáu truyeàn thoâng caàn 8 bit döõ lieäu coängtheâm kieåm tra chaün, coù theå söû duïng caùc leänh sau ñeå phaùt 8 bit trong thanh

ghi tích luõy vôùi kieåm tra chaün theâm vaøo bit thöù 9 :

MOV C, P ; Ñaët bit parity chaün vaøo TB8

MOV TB8, C ; noù trôû thaønh bit döõ lieäu thöù 9MOV SBUF, A ; Chuyeån 8 bit töø ACC vaøo SBUF.

Neáu caàn parity leû thì söûa caùc leänh laïi nhö sau :

MOV C, P ; Ñaët bit parity chaün vaøo côø C

CPL C ; Ñoåi sang parity leû

MOV TB8, C

MOV SBUF, A

Dó nhieân, vieäc söû duïng parity khoâng bò giôùi haïn ôû caùc cheá ñoä 2 vaø 3.ÔÛ cheá ñoä 1, 8 bit döõ lieäu ñöôïc truyeàn ñi coù theå bao goàm 7 bit döõ lieäu coängtheâm bit parity. Ñeå truyeàn maõ ASCII 7 bit vôùi parity chaün ôû bit 8, coù theå söûduïng caùc leänh sau :

CLR ACC.7 ; baûo ñaûm MSB ñöôïc xoùa

PMOV C, P ; parity chaün ôû trong

MOV ACC.7, C ; Ñaët parity chaün vaøo MSB

MOV SBUF, A ; Gôûi kyù töï ñi 7 bit döõ lieäu coäng prity chaün.

d)  Caùc côø ngaét:

Hai côø ngaét thu vaø phaùt (RI vaø TI) trong SCON ñoùng moät vai troøquan troïng trong truyeàn thoâng noái tieáp duøng 8051/8031. Caû hai bit ñöôïc

ñaët leân 1 baèng phaàn cöùng, nhöng phaûi ñöôïc xoùa baèng phaàn meàm.

Page 53: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 53/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 55 SVTH: Chaâu Thò Bích Nga 

Ví duï, thöôøng RI ñöôïc ñaët leân 1 khi keát thuùc vieäc thu kyù töï vaø baùo“boä ñeäm thu traøn”. Ñieàu kieän naøy coù theå ñöôïc kieåm tra trong phaàn meàmhoaëc coù theå ñöôïc laäp trình ñeå gaây ra moät ngaét. Neáu phaàn meàm muoán nhaäpmoät kyù töï töø thieát bò ñöôïc noái vaøo coång noái tieáp (coù theå laø thieát bò ñaàu cuoái

hieån thò video), noù phaûi ñôïi cho ñeán khi RI ñöôïc ñaët leân 1, roài xoùa RI vaøñoïc kyù töï töø SBUF. Chöông trình nhö sau :

WAIT : JNB RI, WAIT ; Kieåm tra RI cho ñeán khi noù = 1

CLR RI ; Xoùa RI

MOV A, SBUF ; Ñoïc kyù töï

TI ñöôïc ñaët leân 1 ôû cuoái luùc phaùt kyù töï vaø baùo “ boä ñeäm phaùt troáng”.Neáu phaàn meàm muoán göûi moät kyù töï ñeán moät thieát bò ñöôïc noái vaøo coång

noái tieáp, tröôùc heát noù phaûi kieåm tra xem coång noái tieáp saün saøng chöa. Noùicaùch khaùc, neáu kyù töï tröôùc ñaõ ñöôïc gôûi ñi, ñôïi cho ñeán khi vieäc truyeàn döõlieäu hoaøn taát tröôùc khi göûi kyù töï keá. Caùc leänh sau seõ truyeàn kyù töï trongthanh ghi tích luõy:

WAIT : JNB TI, WAIT ; Kieåm tra TI cho ñeán khi noù baèng 1

CLR TI ; Xoùa TI

MOV SBUF, A ; Gôûi kyù töï ñi.

Caùc ñoaïn chöông trình treân laø moät phaàn cuûa caùc haøm nhaäp vaø xuaátkyù töï chuaån.

5  Toác ñoä baud port noái tieáp:Nhö ñaõ noùi, toác ñoä baud coá ñònh ôû caùc cheá ñoä 0 vaø 2. Trong cheá ñoä

0, noù luoân luoân laø taàn soá dao ñoäng treân chip ñöôïc chia cho 12. Thoângthöôøng thaïch anh aán ñònh taàn soá dao ñoäng treân chip cuûa 8051/8031, nhöng

cuõng coù theå söû duïng nguoàn xung nhòp khaùc. Giaû söû vôùi taàn soá dao ñoängdanh ñònh laø 12 MHz, thì toác ñoä baud cheá ñoä 0 laø 1 MHz.

 12 xung nhòp toácñoä baud 

dao ñoängtreân chip 

a) cheá ñoä 0

Page 54: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 54/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 56 SVTH: Chaâu Thò Bích Nga 

Caùc nguoàn taïo xung nhòp cho port noái tieáp. 

Maëc nhieân sau khi reset heä thoáng, toác ñoä baud cheá ñoä 2 laø taàn soá boädao ñoäng chia cho 64. Toác ñoä baud cuõng bò aûnh höôûng bôûi moät bit trong

thanh ghi ñieàu khieån nguoàn cung caáp (PCON). Bit 7 cuûa PCON laø bitSMOD. Ñaët bit SMOD leân 1 laøm gaáp ñoâi toác ñoä baud trong caùc cheá ñoä 1, 2vaø 3. Trong cheá ñoä 2, toác ñoä baud coù theå bò gaáp ñoâi töø giaù trò maëc nhieâncuûa 1/64 taàn soá dao ñoäng (SMOD = 0) ñeán 1/32 taàn soá dao ñoäng (SMOD =1).

Vì PCON khoâng ñöôïc ñònh ñòa chæ theo bit, neân ñeå ñaët bit SMOD leân 1 caànphaûi theo caùc leänh sau :

MOV A, PCON ; Laáy giaù trò hieän thôøi cuûa PCON

SETB ACC.7 ; Ñaët bit 7 (SMOD) leân 1MOV PCON, A ; Ghi giaù trò ngöôïc veà PCON.

Caùc toác ñoä baud trong caùc cheá ñoä 1 vaø 3 ñöôïc xaùc ñònh baèng toác ñoätraøn cuûa Timer 1. Vì timer hoaït ñoäng ôû taàn soá töông ñoái cao, traøn timerñöôïc chia theâm cho 32 (16 neáu SMOD = 1) tröôùc khi cung caáp xung nhòp

 32xung nhòp toác

ñoä baud 

dao ñoäng

treân chip 

c) caùc cheá ñoä 1 vaø 3.

 16

SMOD = 0 

SMOD = 1 

 64xung nhòp toác

ñoä baud dao ñoängtreân chip 

b) cheá ñoä 2

 32

SMOD = 0 SMOD = 1 

Page 55: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 55/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 57 SVTH: Chaâu Thò Bích Nga 

toác ñoä baudcho port noái tieáp.

* Söû duïng Timer 1 laøm xung nhòp toác ñoä baud

Xeùt 8051, caùch thoâng duïng ñeå taïo toác ñoä baud laø khôûi ñoäng TMOD

cho cheá ñoä 8 bit töï ñoäng naïp laïi (cheá ñoä 2) vaø ñaët giaù trò naïp laïi ñuùng vaøoTH1 ñeå cho toác ñoä traøn ñuùng vôùi toác ñoä baud. TMOD ñöôïc khôûi ñoäng nhösau :

MOV TMOD, #0010xxxxB

Caùc x laø caùc bit 1 hoaëc 0 caàn cho timer.

Cuõng coù theå ñaït ñöôïc caùc toác ñoä baud thaáp baèng caùch söû duïng timercheá ñoä 1 vôùi TMOD = 0001xxxxB. Tuy nhieân, toán theâm phaàn meàm vì caùcthanh ghi TH1/TL1 phaûi ñöôïc khôûi ñoäng laïi sau moãi laàn traøn. Vieäc naøy seõñöôïc thöïc hieän trong chöông trình phuïc vuï ngaét. Moät choïn löïa khaùc laø caápxung nhòp cho Timer 1 töø ngoaøi duøng T1(P3.5). Vaø luoân luoân toác ñoä baudlaø toác ñoä traøn cuûa Timer 1 ñöôïc chia cho 32 (hoaëc cho 16, neáu SMOD = 1).

Coâng thöùc toång quaùt ñeå xaùc ñònh toác ñoä baud trong caùc cheá ñoä 1 vaø 3laø :

Toác ñoä baud = Toác ñoä traøn cuûa Timer 1  32.

Ví duï, muoán laøm vieäc vôùi toác ñoä baud laø 1200 baud, thì toác ñoä traøn

cuûa Timer 1 phaûi laø :1200  32 = 38.4 KHz.

Neáu duøng thaïch anh 12 MHz, Timer 1 ñöôïc caáp xung nhòp 1 MHz hay1000 KHz. Vì toác ñoä traøn cuûa Timer 1 laø 38.4 KHz vaø timer ñöôïc caáp xunghòp 1000 KHz, thì caàn traøn sau 1000  38.4 = 26.04 xung nhòp (laøm troøn laø26). Vì timer ñeám leân vaø traøn xaûy ra khi coù söï thay ñoåi töø FFH xuoáng 00Hôû soá ñeám. Nhö vaäy giaù trò ñuùng caàn naïp vaøo TH1 laø –26. Caùch deã nhaát ñeåñaët giaù trò naïp laïi vaøo TH1 laø :

MOV TH1, # –26Trình hôïp dòch seõ thöïc hieän chuyeån ñoåi caàn thieát. Trong tröôøng hôïp naøy –26 ñöôïc chuyeån thaønh 0E6H. Nhö vaäy, leänh treân hoaøn toaøn gioáng vôùi leänh:

MOV TH1, # 0E6H

Page 56: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 56/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 58 SVTH: Chaâu Thò Bích Nga 

Do vieäc laøm troøn neân coù sai soá nhoû trong toác ñoä baud. Toång quaùt thìcho pheùp dung sai 5% trong truyeàn thoâng baát ñoàng boä (start/stop). Coù theåcoù ñöôïc toác ñoä baud chính xaùc neáu duøng thaïch anh 11.059 MHz. Baûng sauñaây toùm taét caùc giaù trò naïp laïi cho caùc toác ñoä baud thoâng duïng nhaát, duøng

thaïch anh 12 MHZ hoaëc 11.059 MHz :

 Baûng toùm taét toác ñoä baud.

Toác ñoä

9600 12.000 MHz 1 –7 (F9H) 8923 7%2400 12.000 MHz 0 –13 (F3H) 2404 0.16%1200 12.000 MHz 0 –26 (E6H) 1202 0.16%

19200 11.059 MHz 1 –3 (FDH) 19200 0

9600 11.059 MHz 0 –3 (FDH) 9600 02400 11.059 MHz 0 –12 (F4H) 2400 01200 11.059 MHz 0 –24 (E8H) 1200 0

Taàn soáthaïch anh 

SMOD Giaù trò naïp laïi  ø

Toác ñoä Sai soá

Page 57: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 57/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 59 SVTH: Chaâu Thò Bích Nga 

 Chöông 3: 

 III.   RTX51 TINYGIÔI THIEU:

Ñeå taêng hieäu quaû laøm vieäc cuõng nhö yeâu caàu nhaát thieát cuûa chöôngtrình laø phaûi thöïc hieän ñoàng thôøi nhieàu coâng vieäc hoaëc nhieàu taùc vuï. Vì theáchöông trình naøy ñöôïc vieát theo heä ñieàu haønh thôøi gian thöïc (real_timeoperating system) cho pheùp saép xeáp danh muïc ñoàng thôøi nhieàu taùc vuï

trong heä thoáng nguoàn söû duïng chöông trình RTX-Tiny(RTX51) cuûa phaànmeàm Keil.

Öu ñieåm cuûa vieäc xaây döïng chöông trình theo kieåu naøy laø hoaït ñoängcuûa caùc coâng vieäc khaùc nhau trong chöông trình coù theå hoaït ñoäng ñoäc laäp,khoâng gaây aûnh höôûng vôùi nhau veà maët thôøi gian xöû lyù. Neáu vì moät lyù dokhoâng mong muoán naøo ñoù maø moät taùc vuï trong heä thoáng chöông trìnhkhoâng thöïc hieän ñöôïc hoaëc thôøi gian thöïc hieän quaù lôùn, hoaëc coù moät vaøivoøng laëp voâ taän trong chöông trình thì heä thoáng khoâng bò “treo” maø caùc taùc

vuï khaùc vaãn coù theå hoaït ñoäng bình thöôøng.1  Giôùi thieäu phaàn meàm Keil:Khoâng nhö caùc chöông trình vieát cho vi xöû lyù tröôùc ñaây, chöông trình

trong luaän vaên naøy khoâng duøng ngoân ngöõ hôïp ngöõ (assemler) maø ñöôïc vieátbaèng ngoân ngöõ laäp trình C vaø lieân keát vôùi chöông trình C51-compile cuûaphaàn meàm Keil ñeå dòch sang ngoân ngöõ maùy. Ñaây laø phaàn meàm chuyeânduøng söû duïng ngoân ngöõ laäp trình C ñeå laäp trình cho caùc loaïi vi xöû lyù ñöôïcsaûn xuaát bôûi nhieàu haõng khaùc nhau treân theá giôùi, chöông trình naøy chöùa taátcaû caùc haøm C môû roäng caàn thieát cho vi ñieàu khieån ñöôïc söû duïng. Tieän íchcuûa caùch vieát naøy laø ngoân ngöõ laäp trình C laø ngoân ngöõ laäp trình caáp caohôn vaø gaàn guûi vôùi ngöôøi söû duïng hôn ngoân ngöõ maùy tính assembler.Ngoaøi ra, caáu truùc chöông trình vieát baèng C cuõng goïn hôn vaø deã quaûn lyùhôn vôùi caùc caâu leänh vaø voøng laëp ñôn giaûn, ñieàu naøy thaät söï coù lôïi khi tamuoán naâng caáp hay môû roäng chöông trình.

Page 58: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 58/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 60 SVTH: Chaâu Thò Bích Nga 

Song song vôùi nhöõng tieän ích treân, chöông trình C51 cuûa phaàn meàmKeil coøn hoå trôï cho ta moät soá haøm cô baûn nhö caùc haøm vaøo/ ra (ví duï nhö:haøm xuaát nhaäp kyù töï ñôn getchar(),putchar(); haøm xuaát nhaäp chuoãi kyù töïgets(), puts()), caùc haøm thôøi gian thöïc cuûa chöông trình RTX51 Tiny … vaø

moät soá haøm khaùc giuùp heä thoáng hoaït ñoäng hoaøn haûo hôn.Beân caïnh ñoù, chöông trình bieân dòch vaø chöông trình chaïy moâ phoûng

treân maùy tính (chöông trình Debug) cuûa phaàn meàm Keil laø moät thuaän lôïiraát lôùn. Noù giuùp cho ngöôøi laäp trình coù theå quan saùt chöông trình moät caùchchính xaùc vôùi caùc böôùc thöïc hieän vaø töøng leänh chaïy trong chöông trình, coùcaû maõ chöông trình vieát baèng ngoân ngöõ C vaø chöông trình dòch sang maõAssembler töông öùng do chöông trình C51-compiler thöïc hieän. Ngoaøi ra,vôùi phaàn meàm naøy ta coøn coù theå theo doõi ñöôïc söï thay ñoåi giaù trò cuûa caùc

bieán caàn quan saùt, caùc haøm ngaét, caùc giaù trò vaøo/ra taïi caùc chaân Port, caùcgiaù trò döõ lieäu truyeàn qua SBUF vaø caû caùc giaù trò timer v.v..

2  Giôùi thieäu chöông trình tuaàn hoaøn theo thôøi gianbieåu cuûa TRX51 tiny:

RTX51 cuûa phaàn meàm Keil ñöôïc vieát theo heä ñieàu haønh thôøi gianthöïc giuùp chöông trình coù theå thöïc hieän ña nhieäm (multi-tasking), cho pheùpmoät vaøi taùc vuï hoaëc vaøi voøng laëp voâ taän ñöôïc thöïc hieän gaàn nhö song songnhau trong chöông trình .

Tuy nhieân caùc taùc vuï trong chöông trình naøy khoâng xaûy ra ñoàng thôøimaø do vieäc saép xeáp caùc taùc vuï theo caùc muùi thôøi gian ñöôïc chia nhoû, töùctaïi moät thôøi ñieåm chæ moät coâng vieäc ñöôïc thöïc hieän maø thoâi. Ñoàng hoà cuûaCPU coù theå ñöôïc chia thaønh nhieàu muùi thôøi gian vaø chöông trình seõ tuaàn töïsaép xeáp moãi muùi thôøi gian cho moät taùc vuï. Moãi taùc vuï ñöôïc pheùp thöïc hieäntrong khoaûng thôøi gian toái ña ñònh tröôùc vaø sau ñoù chöông trình seõ chuyeånsang moät taùc vuï khaùc ñaõ saün saøng thöïc hieän, chöông trình cöù theá laëp laïituaàn töï. Vì moãi muùi thôøi gian ñöôïc chia raát nhoû, thöôøng chæ vaøi mili giaâyhoaëc nhoû hôn neân chöông trình luoân ñöôïc queùt qua lieân tuïc vaø vì theá caùctaùc vuï döôøng nhö xaûy ra ñoàng thôøi. Neáu taïi moät thôøi ñieåm naøo ñoù maøkhoâng coù moät taùc vuï naøo thöïc hieän thì taùc vuï ñöôïc khôûi ñoäng keá tieáp seõ ôûtraïng thaùi saün saøng (ready) hoaëc trang thaùi nghæ (time-out).

Page 59: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 59/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 61 SVTH: Chaâu Thò Bích Nga 

RTX51 söû duïng caùc thuû tuïc thôøi gian ñöôïc ngaét bôûi phaàn cöùng cuûatimer 8051. Chu kyø ngaét ñöôïc xaây döïng vaø söû duïng theo ñoàng hoà cuûaRTX51.

RTX51 khoâng yeâu caàu coù moät haøm Main trong chöông trình. Noù seõtöï ñoäng goïi vaø thöïc hieän chöông trình baét ñaàu töø taùc vuï 0. Neáu ta söû duïnghaøm Main trong chöông trình, ta phaûi khôûi ñoäng RTX51 söû duïng haømos_create_task vaø haøm os_start_system trong RTX51.

Khi rôi vaøo traïng thaùi nghæ (timer out), thay vì taïm döøng thöïc hieänmoät taùc vuï vaø ñöùng chôø moät laàn queùt khaùc, ta coù theå söû duïng haøm os_waitñeå tín hieäu RTX51coù theå baét ñaàu chuyeån sang thöïc hieän moät taùc vuï khaùc.Haøm naøy thöïc hieän vieäc trì hoaõn taùc vuï hieän haønh vaø ñôïi cho ñeán khi coùmoät söï kieän ñöôïc ñònh tröôùc xaûy ñeán. Trong khoaûng thôøi gian nghæ naøy baát

cöù moät taùc vuï naøo khaùc cuõng coù theå ñöôïc thöïc hieän.  Söû duïng thôøi gian nghæ (time-out) vôùi RTX51:

Moät söï kieän ñôn giaûn nhaát maø ta coù theå ñôïi vôùi haøm os_wait laøkhoaûng thôøi gian nghæ theo nhòp ñoàng hoà cuûa RTX51. Söï kieän naøycoù theå ñöôïc söû duïng trong nhöõng taùc vuï maø coù yeâu caàu delay. Trongvaøi tröôøng hôïp noù ñöôïc söû duïng nhö moät switch, maø switch naøy chæcaàn ñöôïc kieåm tra sau nhöõng khoaûng thôøi gian nhaát ñònh. Ñieàu ñöôïcminh hoïa trong ví duï sau:

#include <rtx51tny.h>

int counter0;

int counter1;

void job0 (void) _task_ 0

{ os_create ( 1 ) ;

while ( 1 )

{ counter0 ++;os_wait (K_TMO, 3,0);

}

}

Page 60: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 60/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 62 SVTH: Chaâu Thò Bích Nga 

void job1 (void) _task_ 1

{ while (1)

{ counter1++;

os_wait (K_TMO, 5, 0);}

}

trong ví duï treân, job0 coù theå thöïc hieän tröôùc job1. Nhöng hieän taïi,sau khi taêng counter0, job0 goïi haøm os_wait ñeå taïm döøng 3khoaûng chiathôøi gian. Ngay luùc naøy, RTX51 chuyeån sang taùc vuï keá tieáp, cuï theå laø

 job1,sau khi job1 taêng counter1, noù cuõng goïi haøm os_wait ñeå taïm döøng 5

khoaûng chia thôøi gian. Luùc naøy, RTX51 khoâng coù taùc vuï naøo khaùc ñeå thöïchieän, vì theá noù rôi vaøo traïng thaùi khoâng laøm gì caû vaø ñôïi heát 3 khoaûng chiathôøi gian troâi qua tröôùc khi tieáp tuïc thöïc hieän job1.

Keát quaû cuûa ví duï naøy laø counter0 cöù taêng sau moãi 3 khoaûng thôøigian vaø counter1 cöù taêng sau moãi 5 khoaûng chia thôøi gian.

  Söû duïng tín hieäu vôùi RTX51:

Ta coù theå duøng haøm os-wait ñeå taïm döøng moät taùc vuï trong khiñôïi moät tín hieäu töø moät taùc vuï khaùc. Ñieàu naøy coù theå söû duïng cho

hai hay nhieàu taùc vuï ngang baèng nhau. Ñôïi moät tín hieäu laøm vieäc coùnghóa laø: Neáu moät taùc vuï ñang ñôïi moät tín hieäu ,vaø côø tín hieäu laø 0,taùc vuï naøy seõ ñöôïc trì hoaõn cho ñeán khi coù tín hieäu gôûi ñeán. Neáu côøtín hieäu ñaõ leân 1 khi 1 taùc vuï hoûi, côø naøy seõ ñöôïc xoaù, vaø taùc vuï ñoùlaïi tieáp tuïc thöïc hieän. Ñieàu naøy ñöôïc minh hoaï trong ví duï sau:

#include <rtx51tny.h>

int counter0;

int counter1;void job0 (void) _task_ 0

{ os_create ( 1 ) ;

while ( 1 )

{ if ( ++counter0 == 0 )

Page 61: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 61/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 63 SVTH: Chaâu Thò Bích Nga 

os_send_signal ( 1 ) ;

}

}

void job1 (void) _task_ 1{ while (1)

{ os_wait (K_SIG, 0, 0);

counter1++;

}

}

Trong ví duï treân, job1 seõ ñôïi cho ñeán khi noù nhaän ñöôïc tín hieäu töømoät hoaëc vaøi taùc vuï khaùc gôûi ñeán. Khi nhaän ñöôïc tín hieäu, noù seõ taêngcounter1 vaø laïi ñôïi moät tín hieäu khaùc. job0 lieân tuïc taêng counter0 noù traønñeán 0. Khi ñieàu ñoù xaûy ra, job 0 gôûi moät tín hieäu ñeán job1 vaø chöông trìnhRTX51 ñaùnh daáu job1 laø saün saøng thöïc hieän. Tuy nhieân, job1 seõ khoângñöôïc thöïc hieän trong suoát thôøi gian RTX51 nhaän noù cho ñeán khi chuyeånsang moät muùi thôøi gian keá tieáp.

  Söï öu tieân vaø quyeàn öu tieân:

Moät baát lôïi cuûa chöông trình ví duï treân laø job1 khoâng ñöôïc baét ñaàungay khi nhaän ñöôïc tín hieäu töø job0 . Trong moät soá tröôøng hôïp ñieàu naøykhoâng ñöôïc chaáp nhaän vì lí do thôøi gian . RTX51 cho pheùp ta xaùc ñònh möùcöu tieân cho töøng taùc vuï . Moät taùc vuï vôùi möùc öu tieân cao hôn seõ ñöôïc ngaéthoaëc ñöôïc quyeàn öu tieân hôn ñoái vôùi moät taùc vuï coù möùc öu tieân thaáp hônbaát cöù khi naøo noù caàn ñöôïc thöïc hieän.

Trong ví duï treân, ta coù theå thay ñoåi caùch khai baùo cho job1 nhaänmöùc öu tieân cao hôn job0. Theo maëc ñònh, taát caû caùc taùc vuï ñöôïc ñònh möùc

öu tieân laø 0, laø möùc öu tieân thaáp nhaát. Caùc möùc öu tieân cho pheùp laø töø 0ñeán 3. Trong ví duï treân ta, coù theå ñònh nghóa job1 vôùi möùc öu tieân caáp 1nhö sau:

Void job1 (void) _ task_ 1 _priority_ 1

{While (1)

Page 62: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 62/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 64 SVTH: Chaâu Thò Bích Nga 

{ Os_wait (K_SIG, 0, 0 );

Counter1++;

}

}Vôùi caùch khai baùo naøy, baát cöù khi naøo job0 gôûi tín hieäu ñeán job1,

 job1 seõ baét ñaàu thöïc hieän ngay.

3  Moät soá yeâu caàu vaø ñònh nghóa ñoái vôùi chöông trìnhRTX51 Tiny:

  Ñieàu khieån ngaét:

RTX51 Tiny coù theå hoaït ñoäng song song vôùi caùc haøm ngaét. Töông töïnhö caùc öùng duïng khaùc cuûa 8051, nguoàn ngaét phaûi ñöôïc cho pheùp bôûi caùcthanh ghi phaàn cöùng cuûa 8051 ñeå taïo ra moät ngaét. RTX51 Tiny khoâng chöùabaát cöù moät söï ñieàu khieån naøo cho caùc ngaét; vì lyù do ñoù, moät cho pheùp ngaétcuï theå laø ñuû ñeå xöû lyù ngaét.RTX51 Tiny söû duïng timer 0 vaø ngaét timer0 cuûa8051 cho heä thôøi gian thöïc. Ngoaïi tröø caùc caáu truùc khaùc cuûa 8051, ñeå traùnhsöï truøng laëp trong xöû lyù ngaét timer0 khoâng neân ñöôïc söû duïng trong chöôngtrình.

  Registerbanks:

RTX51 tiny qui taát caû caùc taùc vuï vaøo registerbank 0. Vì lyù do ñoù, taát caûcaùc haøm taùc vuï phaûi ñöôïc chuyeån töø ngoân ngöõ caáp cao sang ngoân ngöõ caápthaáp theo ñònh nghóa cuûa chöông trình C51. Caùc haøm ngaét coù theå söû duïngcaùc registerbank coøn laïi. Tuy nhieân, RTX51 yeâu caàu 6 byte coá ñònh trongkhoâng gian registerbank. Caùc registerbank ñöôïc söû duïng bôûi RTX51 Tinycoù theå ñöôïc ñònh nghóa theo bieán caáu hình INT_REGBANK trong thö vieänhaøm cuûa chöông trình C51.

  Ñònh nghóa taùc vuï:

Chöông trình thôøi gian thöïc hay ña nhieäm (multitasking) ñöôïc bieânsoaïn vôùi moät hoaëc vaøi taùc vuï thöïc hieän rieâng bieät. RTX51 cho pheùp thöïchieän leân ñeán 16 taùc vuï. Caùc taùc vuï laø nhöõng haøm ñôn cuûa chöông trình Ccoù giaù trò traû veà daïng void vaø danh saùch caùc ñoái soá daïng void ñöôïc khaibaùo thuoäc tính haøm nhö sau:

Page 63: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 63/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 65 SVTH: Chaâu Thò Bích Nga 

void func (void) _task_ num

{…} 

vôùi num laø soá ID cuûa taùc vuï ñöôïc ñaùnh soá lieân tuïc töø 0 ñeán 15.

4  Caùc haøm thö vieän cuûa RTX51-tiny :

Haøm Moâ taû

Os-create-task Ghi moät taùc vuï vaøo danh saùch thöïc hieän

Os-delete_task Xoùa moät taùc vuï khoûi danh saùch thöïc hieän

Os_send_signal Gôûi tín hieäu ñeán moät taùc vuï khaùc töø moät ngaét

Os- clear_signal Xoùa tín hieäu ñaõ ñuôïc gôûiOs_running_task_id Trôû veà taùc vuï thöù ID töø taùc vuï hieän haønh

Os-wait Taïm döøng taùc vuï hieän haønh vaø ñôïi moät hoaëcvaøi söï kieän nhö: 1 khoaûng thôøi gian qui ñònh,khoaûng thôøi gian nghæ hoaëc tín hieäu töø moät taùcvuï khaùc hay moät ngaét.

Os-wait1 Taïm döøng taùc vuï hieän haønh vaø ñôïi moät söï

kieän laø tín hieäu töø moät taùc vuï khaùc.Os-wait2 Taïm döøng taùc vuï hieän haønh vaø ñôïi moät hoaëcvaøi söï kieän nhö : 1khoaûng thôøi gian qui ñònh,khoaûng thôøi gian nghæ hoaëc tín hieäu töø moät taùcvuï khaùc hay moät ngaét.

Caùc thoâng soá haøm:

Haøm os_create_task:#include<rtx51tny.h>

char os_create_task (unsigned char task_id) /*taùc vuï thöù id*/

Haøm Os-delete_task:#include<rtx51tny.h>

Page 64: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 64/93

Page 65: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 65/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 67 SVTH: Chaâu Thò Bích Nga 

unsigned char ticks); /*khoaûng thôøi gian chôø*/

caùc haèng soá söï kieân laø:

K_IVL ñôïi moät khoaûng thôøi gian qui ñònh

K_SIG ñôïi moät tín hieäuK_TMO ñôïi moät khoaûng thôøi gian nghæ

Page 66: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 66/93

Page 67: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 67/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 69 SVTH: Chaâu Thò Bích Nga 

 I.   KHOÁI HIEÅN THÒ:

Khoái hieån thò bao goàm 9 led 7ñoaïn ( loaïi catod chung ) xeáp thaønh 3daõy (moät daõy 3 con) ñeå hieån thò caùc thoâng soá caàn quan saùt.

+5V

+5V

+5V

+5V

+5V

D0

D5

D1

D0

E

EA

F

D6

D7

D3

D4

D6

D4

STROBE

 A

D2

D7

D1

CB

D3D2

CLOCK

D

G

D7

DB

D5

EA

IC7

4094

4

5

6

7

14

13

12

11

9

10

16

8

1

2

3

15

Q1

Q2

Q3

Q4

Q5

Q6

Q7

Q8

QS1QS2

VCC

GND

STR

D

CLK

OE

RN1

10K

12

3

4

5

6

7

8

9

10

LED2

CK

 A

BC

D

E

F

G

DB

76

4

2

1

9

10

5

8

3

Q2

D468

LED7

CK

 A

BC

D

E

F

G

DB

76

4

2

1

9

10

5

8

3

R15

10K

IC19

 AT89C52

9

18

19

29

30

31

40

5

6

7

8

4

3

2

1

23

24

2513

14

28

22

12

10

11

17

15

16

26

27

21

32

33

34

35

3637

38

39

RST

XTAL2

XTAL1

PSEN

 ALE/PROG

EA/VPP

VCC

P1.4

P1.5

P1.6

P1.7

P1.3

P1.2

P1.1

P1.0

P2.2/A10

P2.3/A11

P2.4/A12

P3.3/INT1

P3.4/T0

P2.7/A15

P2.1/A9

P3.2/INT0

P3.0/RXD

P3.1/TXD

P3.7/RD

P3.5/T1

P3.6/WR

P2.5/A13

P2.6/A14

P2.0/A8

P0.7/AD7

P0.6/AD6

P0.5/AD5

P0.4/AD4

P0.3/AD3

P0.2/AD2P0.1/AD1

P0.0/AD0

LED6

CK

 A

BC

D

E

F

G

DB

76

4

2

1

9

10

5

8

3

LED5

CK

 A

BC

D

E

F

G

DB

76

4

2

1

9

10

5

8

3

IC4

2

3

45

6

7

8

9

11 1

19

18

1716

15

14

13

12

D1

D2D3

D4

D5

D6

D7

D8

CLK OE

Q1

Q2Q3

Q4

Q5

Q6

Q7

Q8

R3-R10

IC8

ULN2803

10 9

1

2

3

4

5

6

7

8

18

17

16

15

14

13

12

11

COM GND

I1

I2

I3

I4

I5

I6

I7

I8

Q1

Q2

Q3

Q4

Q5

Q6

Q7

Q8

LED1

CK

 A

B

C

D

E

F

G

DB

7

6

4

2

1

9

10

5

8

3

LED9

CK

 A

B

C

D

E

F

G

DB

7

6

4

2

1

9

10

5

8

3

R16

150K

LED3

CK

 A

B

C

D

E

F

G

DB

7

6

4

2

1

9

10

5

8

3

LED4

CK

 A

B

C

D

E

F

G

DB

7

6

4

2

1

9

10

5

8

3

LED8

CK

 A

B

C

D

E

F

G

DB

7

6

4

2

1

9

10

5

8

3

Page 68: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 68/93

Page 69: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 69/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 71 SVTH: Chaâu Thò Bích Nga 

KHOÁI A/D:

Page 70: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 70/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 72 SVTH: Chaâu Thò Bích Nga 

Khoái giao tieáp A/D coù nhieäm vuï ñoïc veà töø ngoõ input caùc giaù tròanalog ño ñaït ñöôïc töø caùc ñoái töôïng ñieàu khieån beân ngoaøi (tín hieäu töø caûmbieán, giaù trò ñieän aùp...) ñöôïc chuyeån ñoåi thaønh soá digital ñeå ñöa vaøo caùcthanh ghi cuûa vi xöû lyù.

Giôùi thieäu ADC0809 : 

ADC 0809 laø thieát bò chuyeån ñoåi analog sang digital 8 bit, multiplex8 keânh vaø töông thích vôùi boä vi xöû lyù. ADC0809 söû duïng kyõ thuaät chuyeånñoåi A/D xaáp xæ lieân tieáp.

  Khaû naêng

-  Giao tieáp deã daøng vôùi taát caû caùc boä vi xöû lyù .

-  Hoaït ñoäng vôùi thang ño tyû leä vôùi 5VDC hoaëc ñieän aùp chuaån coùtheå ñieàu chænh .

-  Khoâng caàn chænh khoâng hay toaøn thang .

-  Multiplex 8 keânh vôùi ñòa chæ logic .

-  Taàm ñieän aùp vaøo 0-5V vôùi nguoàn cung caáp ñôn 5V.

-  Ngoõ ra phuø hôïp voùi möùc ñieän aùp TTL.

-  Ñoä phaân giaûi : 8 bit.-  Sai soá khoâng ñieàu chænh ñöôïc toång coäng : ± 1 LSB

-  Nguoàn cung caáp ñôn : 5VDC.

-  Coâng suaát thaáp : 15mW.

-  Thôøi gian chuyeån ñoåi : 100s

  Ñaëc tính kyõ thuaät:

Page 71: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 71/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 73 SVTH: Chaâu Thò Bích Nga 

Kyùhieäu

Thoâng soá Ñieàu kieän Toáithieåu

Ñieånhình

Toái ña Ñôn vò

VREF+  Ñieän aùp cao nhaátcuûa thang ño

VCC  VCC+0.1 V

VREF-  Ñieän aùp thaáp nhaátcuûa thang ño

-0.1 0 V

IIN  Doøng vaøo f CLK=640KHz -2 ±0.5 2 A 

VIN(1)  Ñieän aùp vaøo logic1

VCC -1.5 V

VIN(0)  Ñieän aùp vaøo logic0

1.5 V

VOUT(

1) Ñieän aùp ra logic 1 IOUT=-360uA VCC -0.4 V

VOUT(

0) Ñieän aùp ra logic 0 IOUT= 1.6mA 0.45 V

f CLK  Taàn soá xung clock 10 640 1280 KHz

tEOC  Thôøi gian delayEOC

(Xem giaûn ñoàxung)

0 8 +2s  Chu kyøclock

tC  Thôøi gian bieán ñoåi FCLK=640KHz 90 100 116 s 

tWS  Ñoä roäng xungStart toái thieåu

(Xem giaûn ñoàthôøi gian)

100 200 Ns

tALE  Ñoä roäng xungALE toái thieåu

(Xem giaûn ñoàthôøi gian)

100 200 ns

  Moâ taû chöùc naêng

Maïch choïn keânh(multiplexer)Moãi keânh ngoõ vaøo rieâng bieät ñöôïc choïn baèng caùch giaûi maõ ñòa

chæ theo baûng sau:

Keânh analog ñöôïc Ñòa chæ

Page 72: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 72/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 74 SVTH: Chaâu Thò Bích Nga 

choïn A2 A1 A0

IN0 0 0 0

IN1 0 0 1

 … 

IN7 1 1 1

Ñòa chæ ñöôïc choát vaøo boä giaûi maõ beân trong taïi caïnh leân cuûa xungchoát ñòa chæ (ALE).

Ñaëc tính chuyeån ñoåi:

Thanh ghi xaáp xæ lieân tieáp cuûa boä bieán ñoåi A/D ñöôïc reset taïi caïnh leâncuûa xung start (baét ñaàu chuyeån ñoåi). Söï cguyeån ñoåi ñöôïc baét ñaàu taïi caïnh xuoángcuûa xung start. Quaù trình chuyeån ñoåi seõ bò ngaét neáu nhaän moät xung start môùi. Söïchuyeån ñoåi lieân tieáp coù theå ñöôïc thöïc hieän baèng caùch noái ngoõ ra EOC (End OfConvert – Keát thuùc chuyeån ñoåi) vaøo ngoõ start. Neáu söû duïng cheá ñoä naøy, moätxung start beân ngoaøi phaûi ñöôïc cung caáp sau khi baät nguoàn. Xung EOC seõ xuoángmöùc thaáp sau khi caïnh leân cuûa xung start töø 0 ñeán 8 xung clock vaø leân möùc caokhi vieäc chuyeån ñoåi ñaõ xong.

Bieåu thöùc chuyeån ñoåi:

Data ngoõ ra laø moät soá nguyeân N naèm trong taàm:

Maïch taïo dao ñoäng cho ADC0809:

Bieát taàn soá xung clock cuûa ADC0809 naèm trong khoaûng töø 10KHzñeán 1280 KHz, neân taàn soá xung clock trong maïch ñöôïc laáy töø taàn soá dao

VIN - VREF (-) 

VREF(+) - VREF (-) N= x 256  ñoä chính xaùc tuyeät ñoái

Page 73: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 73/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 75 SVTH: Chaâu Thò Bích Nga 

ñoäng chuaån cuûa thaïch anh, ñöa qua IC ñeám 74393 vôùi coâng duïng laø ICchia taàn soá. Caùc ngoõ ra QA, QB, QC, QD laàn löôït chia taàn soá xung clockvaøo vôùi 2, 4, 8, 16. Vaäy taàn soá ra 74393 (vaøo xung clock ADC 0809) laø:

KHOÁI D/A:

Khoái D/A giao tieáp vôùi vi xöû lyù vôùi nhieäm vuï chuyeån ñoåi caùc giaù tròdigital trong caùc thanh ghi cuûa vi xöû lyù thaønh caùc giaù trò analog vaø xuaát racaùc ñoái töôïng ñieàu khieån beân ngoaøi. Hoï DAC0808 (DAC0808/ DAC0807/

DAC0806) laø boä bieán ñoåi digital sang analog 8 bit, coù thôøi gian xöû lyù doøngra toaøn thang laø 150ns, coâng thöùc tieâu thuï chæ 33mw vôùi nguoàn 5V.

Hoï DAC0808 giao tieáp tröïc tieáp vôùi caùc möùc logic thoâng duïng nhöTTL, DTL hoaëc CMOS. 

 Khaû naêng-  Ñoä chính xaùc töông ñoái :0.19% (8 bit) vôùi DAC0808

-  Ñoä chính xaùc 6-bit vaø 7-bit vôùi DAC0806 vaø DAC0807

-  Thôøi gian xöû lyù nhanh : 150 ns

-  Ngoõ vaøo digital khoâng ñaûo töông thích TTL vaø CMOS

-  Toác ñoä queùt cao : 8 mA/ s

-  Taàm ñieän aùp cung caáp :  4.5V ñeán  18V

-  Coâng suaát tieâu thuï thaáp : 33 mW vôùi nguoàn  5V

IV. Trò soá toái ña

-  Nguoàn cung caáp : VCC=+ 18 VDC 

VEE =- 18 VDC

-  Ñieän aùp ngoõ vaøo digital (V5-V12):-10VDC ñeán +18VDC

691.2KHz11.0592MHz16

=

Page 74: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 74/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 76 SVTH: Chaâu Thò Bích Nga 

-  Ñieän aùp ngoõ ra ñöôïc duøng (V0):-11 VDC ñeán +18 VDC 

-  Doøng chuaån (I14): 5 mA

-  Ñieän aùp vaøo chuaån (V14,V15) : VCC,VEE 

 V. Hoaït ñoäng cô baûn:  Doøng ñieän chuaån ñöôïc taïo ra baèng moät trong hai caùch : chuaån döông

hoaëc chuaån aâm.

Doøng ñieän vaøo chuaån I14, phaûi luoân luoân chaïy vaøo chaân 14, baát chaápcaùch boá trí hoaëc cöïc tính nguoàn aùp chuaån . Caùch keát noái vôùi aùp döông nhötreân hình a. Vôùi tín hieäu chuaån luôõng cöïc, R15 coù theå ñöôïc noái vôùi nguoànaâm . Trò soá cuûa tuï buø phaûi taêng khi R14 taêng ñeå duy trì leà pha thích hôïp .Ví duï vôùi R15 laø 1,2.5 vaø 5K thì trò toái thieåu cuûa tuï laø 15,37 vaø 75pF. Tuïcoù theå noái ñeán VEE  hoaëc ñaát .

Aùp chuaån aâm coù theå ñöôïc söû duïng neáu R14 ñöôïc noái ñaát vaø chuaån

ñöôïc noái ñeán R15 nhö hình b . Phöông phaùp naøy coù thuaän lôïi chính laø toångtrôû vaøo cao (taïi chaân 15).

DAC0808 laø boä bieán ñoåi A/D taïo ra doøng ñieän coù trò soá tuyø theo giaùtrò digital vaø doøng ñieän chuaån ngoõ vaøo . Doøng ñieän chuaån coù theå coù trò soácoá ñònh hoaëc thay ñoåi töø gaàn 0 ñeán 4 mA .Doøng ngoõ ra toaøn thang (IFS – Full scale) laø moät haøm tuyeán tính cuûa doøng chuaån vaø cho bôûi :

RL

R15

R14

-5V

+5V

+Vref 

C1

0.01uF

IC2

1

13

3

16

15

2

4

14

5

6

7

8

9

10

11

12

NC

VCC

VEE

COM

VREF-

GND

Io

VREF+

 A1

 A2

 A3

 A4

 A5

 A6

 A7 A8

Vref döông 

RL

R15

R14

-5V

+5V

-Vref 

C1

0.01uF

IC2

1

13

3

16

15

2

4

14

5

6

7

8

9

10

11

12

NC

VCC

VEE

COM

VREF-

GND

Io

VREF+

 A1

 A2

 A3

 A4

 A5

 A6

 A7

 A8

Vref aâm DAC0808

DAC0808

 Hình a:  Hình b:

Page 75: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 75/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 77 SVTH: Chaâu Thò Bích Nga 

Doøng ñieän ra:

R15 (thoâng thöôøng baèng R14) ñöôïc söû duïng ñeå loaïi boû sai soá doøngphaân cöïc. R15 coù theå boû ñi, khi ñoù chæ taêng sai soá moät ít.

Khi duøng ñieän aùp chuaån DC thì neân söû duïng tuï bypasss xuoáng ñaát.

 III.   KHOÁI RS-232:

Khoái naøy thöïc hieän vieäc giao tieáp döõ lieäu giöõa maùy tính PC vaø vi xöûlyù söû duïng IC MAX 232 qua coång noái tieáp cuûa maùy tính treân hai ñöôøngTXD vaø RXD. Ta thaáy raèng MAX232 caàn coù 4 tuï ngoaøi (maéc vaøo giöõaC1+ vaø C1-, C2+ vaø C2-, V+ vaøo nguoàn döông, V- vaøo ñaát)ñeå bieán ñoåiñieän aùp töø 0V ñeán 5V thaønh ñieän aùp -12V ñeán +12V phuø hôïp cho truyeànthoâng theo chuaån RS-232. Ngoaøi ra, beân trong MAX 232 coù 4 boä khueáchñaïi ñaûo nhaèm chuyeån töø möùc logic TTL ra chuaån RS-232 vaø ngöôïc laïi.

IFS=  x256

255 IREF  vôùi I14= I14=14 R

VREF

256IOUT= IREF

x giaù trò digital ngoõ vaøo

+5V+5V

P3.1/TXD

P3.0/RXD

C6 10uF/16VC5 10uF/16V

DB1

5

9

4

8

3

7

2

6

1

IC5

MAX232

1

3

4

5

16

15

2

6

12

9

11

10

13

8

14

7

C1+

C1-

C2+

C2-

VCC

GND

V+

V-

R1OUT

R2OUT

T1IN

T2IN

R1IN

R2IN

T1OUT

T2OUT

C410uF/16V

C7

10uF/16V

Page 76: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 76/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 78 SVTH: Chaâu Thò Bích Nga 

Sô ñoà sau ñaây cho thaáy caùc khoái beân trong MAX232 vaø caùc linh kieänmaéc beân ngoaøi theo daïng chuaån :

+5V

+5V

+5V

+5V

400K

400K

5K

5K

+10uF

+10uF

       +

10uF

       +

10uF

T1

T2

R1

R2

GND15

R2IN

R1IN

T1OUT

T2OUT

T1IN

T2IN

R1OUT

R2OUT

C1+

C1-C2+

C2-

VCCV+

V-

16

1

3

4

5

2

6

TTL/CMOS  INPUT

TTL/CMOS  OUTPUT

11

10

12

9

14

13

7

8

RS-232INPUT

RS-232OUTP

BIEÁN ÑOÅI ÑIEÄN AÙP-12V ñeán +12V

RS-232OUTPUT

Sô ñoà beân trong IC MAX-232 

Page 77: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 77/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 79 SVTH: Chaâu Thò Bích Nga 

 IV.   KHOÁI RÔLE:Caùc ngoõ ra output cuûa kit vi xöû lyù ñöôïc noái vôùi caùc Rôle ñeå ñieàu khieån

ñoùng ngaét caùc thieát bò ñieän. Trong töøng öùng duïng cuï theå caùc rôle seõ ñöôïckeát noái ñeán caùc ñoái töôïng caàn ñieàu khieån. Cuõng nhö khoái hieån thò, ñeå tieátkieäm caùc chaân vi xöû lyù caùc tín hieäu ñieàu khieån rôle ñöôïc laáy töø 1 chaân portcuûa vi xöû lyù vaø dòch vaøo caùc rôle qua thanh ghi dòch 8 bit 4094 (chuyeån döõlieäu töø daïng noái tieáp sang song song) duøng IC ñeäm ULN2803.

+12V

+5V

+5V

+12V

+12V

COM

RL4

RL2

RL3

RL1

C1210uF/16V

R14

330K

TM2

1

2

3

4

5

6

7

8

RL3

12V

3

5

4

1

2

LED13

RL1

12V

3

5

4

1

2

RL2

12V

3

5

4

1

2

RL4

12V

3

5

4

1

2

LED14

IC11

ULN2803

1

2

3

4

5

6

7

8

9

18

17

16

15

14

13

12

11

10

IN1

IN2

IN3

IN4

IN5

IN6

IN7

IN8

GND

OU1

OUT2

OUT3

OUT4

OUT5

OUT6

OUT7

OUT8

COM

RN2

       1

       2       3       4       5       6       7       8       9

LED12

LED11

IC10

4094

4

5

6

7

14

13

12

11

9

10

16

8

1

2

3

15

Q1

Q2

Q3

Q4

Q5

Q6

Q7

Q8

QS1

QS2

VCC

GND

STR

D

CLK

OE

CLOCK

STROBE

D6

+12V  

-12V  

Page 78: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 78/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 80 SVTH: Chaâu Thò Bích Nga 

 V.   KHOÁI INPUT:Khoái input bao goàm 4 nuùt nhaán vaø 4 ñaàu vaøo töï do (laáy tín hieäu töø beân

ngoaøi vaøo coù caùch ly bôûi PC817 ). Ngöôïc vôùi khoái hieån thò vaø rôle, caùc ngoõvaøo input ñöôïc noái qua IC 4021 cuõng laø moät loaïi thanh ghi dòch 8 bit nhöngchuyeån döõ lieäu vaøo töø daïng song song sang noái tieáp. Caùc ngoõ vaøo inputñöôïc ñoïc veà töøng bit theo xung clock cuûa thanh ghi dòch 4021 vaø ñöôïcchuyeån vaøo chaân P3.2 cuûa vi xöû lyù.

+12V

+5V

+5V

+5V

+5V

+5V

+5V

LED16

LED

IC15

PC817

13

4 2

R19 R

C15

CAP NP

LED18

LED

R21 R

C18CAP NP

IC17

PC817

13

4 2

DZ4

5.1V

     C

RN1

RESISTOR SIP 5

12

3

4

5

R18 RLED15

LED

R20

R

IC16

PC817

13

4 2

DZ3

5.1VC17

CAP NP

LED17

LED

IC14

PC817

13

4 2

C16 CAP NP

DZ1

5.1V

TM2

1

2

3

4

5

6

DZ2

5.1V

SW1

R23

R

SW4

R25

R

SW3

SW2

R26 R

R27

R

R29

R

R22

R

IC12

11

7

6

5

4

15

14

13

1

10

9

16

8

2

12

3

SER

 A

B

C

D

G

F

E

H

CLK

P/S

VCC

GND

QF

QG

QH

R24

R

R28 R

CLOCK

DIN

CS-4021

Page 79: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 79/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 81 SVTH: Chaâu Thò Bích Nga 

 Chöông 5:

 CHÖÔNG TRÌNH

 PHAÀN 1: TAÄP LEÄNH I.   GIÔÙI THIEÄU TAÄP LEÄNH :

 Vieäc thu thaäp döõ lieäu vaø ñieàu khieån töø xa laø moät vaán ñeà ñaùng ñöôïc quantaâm trong lónh vöïc ñieàu khieån töï ñoäng. Tuy nhieân, thaät phieàn haø neáu nhö khoângcoù moät söï thoáng nhaát chung veà caâu leänh trong quaù trình trao ñoåi thoâng tin. Vìtheá, moät phaàn noäi dung chính cuûa ñeà taøi laø xaây döïng ñöôïc moät taäp leänh tronggiao tieáp döõ lieäu giöõa maùy tính vôùi vi xöû lyù vaø söû duïng ñöôïc noù. Vieäc xaây döïngtaäp leänh giao tieáp RS-232 naøy ñöôïc xem nhö moät mong muoán taïo ra moät caâu

leänh chung trong giao tieáp döõ lieäu giöõa maùy tính vaø vi xöû lyù veà maët ngoân ngöõ.Ñaây laø moät phöông tieän giao tieáp giöõa maùy tính vaø vi xöû lyù, nhaèm giuùp

cho ngöôøi söû duïng khoâng phaûi maát nhieàu thôøi gian laäp trình laïi töø ñaàu moãi khimuoán thöïc hieän vaán ñeà giao tieáp maø vieäc trao ñoåi thoâng tin vaãn coù theå xaûy ra deãdaøng thoâng qua vieäc söû duïng taäp leänh naøy.

Taäp leänh ñöôïc xaây döïng bao goàm caùc leänh xuaát nhaäp ñaày ñuû caùc daïng tínhieäu nhö: tín hieäu daïng möùc, tín hieäu daïng xung, tín hieäu daïng analog/digitalgiuùp vieäc trao ñoåi thoâng tin khoâng bò giôùi haïn vaø ñoái töôïng ñieàu khieån (töø kit vixöû lyù) cuõng ñöôïc phong phuù hôn. Ngoaøi ra, taäp leänh coøn coù moät soá leänh ñieàukhieån vaø quan saùt quaù trình hoaït ñoäng cuûa heä thoáng nhö: bieán caøi ñaët daïng soùngngoõ ra (Kx), counter (Cx), döõ lieäu (Dx), bieán traïng thaùi xaùc laäp cheá ñoä hoaït ñoängtöø PC hay töø KIT (Sx) vaø bieán thöïc thi hieån thò cheá ñoä hoaït ñoäng RUN/STOP(Mx) giuùp cho quaù trình hoaït ñoäng cuûa heä thoáng dieãn ra moät caùch chaët cheõ, deãquan saùt vaø deã quaûn lyù hôn.

 II.   NOÄI DUNG TAÄP LEÄNH:

Page 80: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 80/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 82 SVTH: Chaâu Thò Bích Nga 

Caùc leänh ñöôïc xaây döïng trong taäp leänh giao tieáp RS-232 naøy nhìn chungchæ bao goàm caùc leänh giao tieáp döõ lieäu laø xuaát vaø nhaäp. Ñoái vôùi caùc leänh gôûi döõlieäu veà maùy tính (PC): noäi dung döõ lieäu ñöôïc kit vi xöû lyù thu thaäp töø caùc ñoáitöôïng ñieàu khieån beân ngoaøi ví duï nhö giaù trò dieän aùp, xung ñieàu khieån hoaëc caùcgiaù trò ño ñöôïc töø caûm bieán v.v… vaø ñöa vaøo caùc vuøng ñòa chæ ñònh saün tuøy thuoäc

 vaøo daïng cuûa tín hieäu thu vaøo (daïng möùc, xung hay A/D) vaø gôûi ñeán PC moãi khicoù yeâu caàu. Ñoái vôùi caùc leänh gôûi döõ lieäu töø PC ñeán vi xöû lyù: noäi dung döõ lieäunhaän veà töø PC, ví duï nhö caùc thoâng soá ñieàu khieån ñöôïc caøi ñaët saün, cuõng ñöôïcñöa vaøo caùc vuøng ñòa chæ rieâng öùng vôùi caùc daïng döõ lieäu nhaän vaøo. Caùc giaù trò döõlieäu naøy coù theå ñöôïc duøng ñeå ñieàu khieån caùc ñoái töôïng beân ngoaøi khaùc tuøy thuoäc vaøo öùng duïng cuï theå cuûa chöông trình. Caùc leänh khoâng mang döõ lieäu ñöôïc PCgôûi ñeán vi xöû lyù laø caùc leänh yeâu caàu vi xöû lyù gôûi döõ lieäu, caùc leänh khoâng mangdöõ lieäu töø vi xöû lyù gôûi veà PC laø caùc leänh traû lôøi ñaõ nhaän ñöôïc noäi dung PC vöøagôûi vì vi xöû lyù khoâng coù chöùc naêng yeâu caàu döõ lieäu.

Stt Vuøng ñòachæ

Soá byte Daïng döõ lieäu Moâ taû

1 I0-I1 2x2 2 byte daïng ASCII Input möùc-16 ngoõ vaøo(bit)

2 N0-N1 2x5 5 byte daïng ASCII Input xung-2 ngoõ vaøo(99.999Hzmax)

3 Q0-Q1 2x5 5 byte daïng ASCII Ngoõ vaøo A/D –  2 ngoõ vaøo

(99.999max)

4 U0-U1 2x5 5 byte daïng ASCII Ngoõ vaøo A/D - 2 ngoõ vaøo(4.999max)

5 O0-O1 2x2 2 byte daïng ASCII Output möùc-16 ngoõ ra(bit)

6 P0-P1 2x5 5 byte daïng ASCII Output xung-2 ngoõ ra (99.99Hzmax)

7 A0-A1 2x5 5 byte daïng ASCII Ngoõ ra D/A-2 ngoû ra(99.999max)

8 K0-K7 8x2 2 byte daïng ASCII Bieán caøi ñaët

9 C0-C7 8x4 4 byte daïng ASCII Counter

10 D0-D7 8x2 2 byte daïng ASCII Döõ lieäu

11 S0-S7 8x1 1 byte daïng ASCII Bieán traïng thaùi

Page 81: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 81/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 83 SVTH: Chaâu Thò Bích Nga 

12 M0-M7 8x1 1 byte daïng ASCII Bieán thöïc thi

2  Baûng moâ taû caùc leänh chuaån:

Stt Leänh töø PC Phaûn hoài töø VXL Moâ taû(cho PC)

1 I 

Ix 

I0’B’I1’B’ 

Ix’B’ 

Ñoïc ngoõ vaøo caùc Digital input.x=0hay1(daïng ASCII)

2 N 

Nx 

N0’BBBBB’N1’BBBBB’ 

Nx’BBBBB’ 

Ñoïc ngoõ vaøo caùc puls Input.x=0hay1(daïng ASCII)

3 Q 

Qx 

Q0’BBBBB’Q1’BBBBB’ 

Qx’BBBBB’ 

Ñoïc ngoõ vaøo caùc A/D Input (ñôn

cöïc). x=0 hay 1 (daïngASCII)

4 U 

Ux 

U0’BBBBB’U1’BBBBB’ 

Ux’BBBBB’ 

Ñoïc ngoõ vaøo caùc A/D Input(löôõng cöïc). x=0 hay 1(daïngASCII)

5 Ox’B’  Ox  Xuaát ngoõ ra caùc Digital Output.x=0 hay 1 (daïng ASCII)

6 Px’BBBBB’  Px  Xuaát ngoõ ra caùc PWM. x=0 hay 1(daïng ASCII)

7  Ax’BBBBB’  Ax  Xuaát ngoõ ra caùc D/A. x=0 hay 1(daïng ASCII)

8 Kx  Kx’BB’  Ñoïc ngoõ vaøo bieán caøi ñaët.x=0ñeán 7 (daïng ASCII)

9 Cx  Cx’BBBB’  Ñoïc ngoõ vaøo giaù trò counter x=0ñeán 7 (daïng ASCII)

10 D’BB’x  Dx  Xuaát döõ lieäu ra.x=0 ñeán 7 (daïng ASCII)

11 Sx  Sx’B’  Ñoïc ngoõ vaøo bieán traïng thaùi. x=0ñeán 7 (daïng ASCII)

12 Mx’B’  Mx  Xuaát ngoõ ra bieán thöïc thi.x=0ñeán 7 (daïng ASCII)

Page 82: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 82/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 84 SVTH: Chaâu Thò Bích Nga 

Ghi chuù:

 PHAÀN 2: MOÂ TAÛ CHÖÔNG TRÌNH

 LÖU ÑOÀ CHÖÔNG TRÌNH TOÅNG QUAÙT

1: Döõ lieäu nhaän veà töø PC2: Döõ lieäu gôûi ñeán PC

3: Keát quaû xöû lyù4: Yeâu caàu xöû lyù

 Khoái giao tieáp RS-232:-  Nhaän chuoãi töø PC-  Kieåm tra.

Bufferuser

Giao tieápRS-232

Chöôngtrình xöû

lyù döõ lieäu

12 3

4

Page 83: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 83/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 85 SVTH: Chaâu Thò Bích Nga 

-  Ñoùng goùi döõ lieäu (truyeàn)-  Truyeàn döõ lieäu ñaõ ñoùng goùi ñeán PC

 Khoái buffer user: 

Ñaây laø vuøng ñeäm cho caùc chöông trình öùng duïng. Khoái naøy thöïc hieänlöu tröõ vaø truy xuaát döõ lieäu töø caùc vuøng döõ lieäu quy ñònh trong taäp leänh.Caùc chöông trình thöïc hieän trong khoái naøy laø:

-  Ghi giaù trò A/D vaøo vuøng ñòa chæ Q0.-  Ghi traïng thaùi hoaït ñoäng töø Kit hay PC ñoïc töø ngoõ vaøo input 1

ñöa vaøo oâ nhôù S0.-  Cheá ñoä Run/Stop nhaän töø PC ñöa vaøo oâ nhôù ñòa chæ M0.-  Caùc ngoõ vaøo input 2,3,4 caøi ñaët daïng soùng ra ñöa vaøo vuøng nhôù

ñòa chæ K0.-  Trò ñænh cuûa daïng soùng ra ñöa vaøo oâ nhôù döõ lieäu ñòa chæ D0.

  Khoái chöông trình xöû lyù döõ lieäu:Khoái naøy thöïc hieän caùc chöông trình öùng duïng cho heä thoáng. Tuøy

caùc yeâu caàu cuï theå ñaët ra maø noù thöïc hieän nhieàu hay ít chöùc naêng. Sô ñoàkhoái toång quaùt cho nhoùm chöông trình trtong öùng duïng naøy laø:

Hieån thò

Chöông trình xöû lyù

Taïo daïngsoùng ra

Ñoïc A/D

Xuaát D/A

Ñoïc input

Xuaát outputBuffer

Page 84: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 84/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 86 SVTH: Chaâu Thò Bích Nga 

Böôùc ñaàu trong giao tieáp döõ lieäu giöõa maùy tính vaø vi xöû lyù ñöôïc thöïchieän bôûiø vieäc gôûi chuoãi döõ lieäu töø maùy tính. Do ñoù, kit vi xöû lyù chæ thöïc

hieän vaø traû lôøi theo yeâu caàu cuûa maùy tính gôûi ñeán. CHÖÔNG TRÌNH NHAÄN CHUOÃI TÖØ PC:

Nhö ñaõ giôùi thieäu ôû chöông Protocol, frame döõ lieäu gôûi ñi luoân ñöôïcbaét ñaàu bôûi moät byte header cho caû hai höôùng truyeàn (töø PC vaø vi xöû lyù).Vì theá, ñeå traùnh maát thôøi gian neáu phaûi nhaän vaøo caû chuoãi maø ngay ôû byteñaàu tieân ñaõ khoâng ñuùng, neân tröôùc tieân ta chæ nhaän veà vaø kieåm tra byteheader. Vieäc nhaän döõ lieäu chæ ñöôïc tieáp tuïc thöïc hieän khi byte header laø

ñuùng. Ngoaøi ra cuõng coù moät soá raøng buoäc keøm theo cho quaù trình nhaänchuoãi, laø ôû laàn nhaän sau phaûi ñaûm baûo raèng döõ lieäu nhaän vaøo laàn tröôùc ñoùñaõ ñöôïc kieåm tra vaø xöû lyù. Ñieàu kieän naøy ñaët ra nhaèm muïc ñích baûo toaøncaùc giaù trò nhaän veà töø PC, vì neáu vieäc nhaän döõ lieäu vaøo cöù dieãn ra lieân tuïcmaø quaù trình kieåm tra vaø xöû lyù khoâng ñaùp öùng kòp, thì seõ xaûy ra tröôøng hôïpdöõ lieäu ôû laàn nhaän sau seõ ñeø leân döõ lieäu nhaän veà tröôùc ñoù. Nhö vaäy, quaùtrình thöïc hieän seõ boû soùt moät vaøi tröôøng hôïp xöû lyù töùc heä thoáng hoaït ñoängkhoâng toái öu. Ñieàu naøy chæ thaät söï caàn thieát ñoái vôùi heä thoáng thöïc hieäntheo heä thôøi gian thöïc (multitasking) vì caùc coâng vieäc trong chöông trình

ñöôïc thöïc hieän song song nhau.

Page 85: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 85/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 87 SVTH: Chaâu Thò Bích Nga 

Max=chieàu daøi toái ña cuûachuoãi cho pheùp nhaäp vaøo

Kieåm tra byte Header

Kieåm tra vuøngñeäm thu coù döõ lieäu khoâng

Côø nhaän=0 ?

Nhan vaøo 4 b te ñaàu cuûa chuoãi

N=x[3]+4(chieàu daøi cuûachuoãi döõ lieäu+4byte header&control fiels)

N<=max?

i=0nNhaän chuoãi x[i] vaøo vuøng

ñeäm thu

i=0maxNhaän chuoãi x[i] vaøo vuøng

ñeäm thu

END

Khoâng

coù

Sai

Ñuùng

N

Y

Chöông trình nhaän chuoãi töø PC

Page 86: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 86/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 88 SVTH: Chaâu Thò Bích Nga 

 CHÖÔNG TRÌNH KIEÅM TRA:Vieäc kieåm tra chuoãi döõ lieäu nhaän veà chuû yeáu laø kieåm tra caáu truùc frame coù phuø hôïpvôùi ñònh nghóa khoâng, vaø chuyeån caùc giaù trò döõ lieäu nhaän vaøo ñeán vuøng ñòa chæ khaùc,ñoàng thôøi cho pheùp heä thoáng tieáp tuïc nhaän döõ lieäu vaøo neáu coù. Taùc vuï naøy ñöôïc thöïc

hieän moãi khi coù chuoãi môùi ñöôïc nhaän vaøo.Cothu=1?

(hoaøn taát coâng vieäc nhaänchuoãi?)

Bit b0=bit thaáp nhaát cuûa byte bufin[2]

Bit b0=0?(chuoãi nhaän vaøo coù döõ lieäu?)

Soá bytedöõ lieäu (bufin[3])>1?

Keát quaû nhaän ñuùngKeát quaû nhaän sai 

Soá bytedöõ lieäu (bufin[3])>1? 

Cothu=0(ñöôïc pheùpnhaän chuoãi  môùi) 

RET

Chuoãi buffer[]=chuoãi bufin[]

Y

Y

Y

Y

N

N

NN

Page 87: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 87/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 89 SVTH: Chaâu Thò Bích Nga 

 CHÖÔNG TRÌNH XÖÛ LYÙ TAÄP LEÄNH: Chöông trình xöû lyù taäp leänh böôùc ñaàu thöïc hieän vieäc kieåm tra moät soá

byte control fiels ñöôïc nhaän veà töø PC nhaèm traùnh söï truøng laëp trong quaùtrình xöû lyù. Vì theo giao thöùc truyeàn thoâng ñaët ra (protocol), neáu trongkhoaûng thôøi gian vaø soá laàn nhaéc laïi qui ñònh, keå töø sau khi PC gôûi moät yeâucaàu ñeán maùy tính, maø PC vaãn khoâng nhaän ñöôïc keát quaû phaûn hoài theomong muoán ( loãi naøy coù theå xaûy ra khi kit vi xöû lyù khoâng nhaän ñaày ñuû döõlieäu gôûi ñeán töø PC, coù theå do caùc byte control fiel khoâng ñöôïc xaùc laäpñuùng qui ñònh … ) hoaëc keát quaû nhaän veà töø khoái vi xöû lyù baùo loãi thì noù gôûilaïi frame truyeàn môùi, maø frame gôûi laïi naøy mang ñaày ñuû thoâng tin vöøa roàicho khoái vi xöû lyù (xem chi tieát trong phaàn protocol). Tuy nhieân, khoâng phaûibaát cöù khi naøo PC khoâng nhaän ñöôïc frame truyeàn mang theo thoâng tin traû

lôøi töø vi xöû lyù ñeàu xem laø loãi maø coù theå do gaëp söï coá veà vaán ñeà thôøi gian.Trong tröôøng hôïp ñoù, chöông trình khoâng xöû lyù laïi töø ñaàu maø tieáp tuïc coângvieäc xöû lyù cuõ. Neân böôùc kieåm tra naøy giaûi ñaùp cho caâu hoûi khoái vi xöû lyù coùnhaän ñöôïc vaø coù xöû lyù yeâu caàu vöøa roài khoâng?

Tieáp theo quaù trình kieåm tra, vieäc xöû lyù taäp leänh seõ thöïc hieän döïa treâncaùc keát quaû cuûa quaù trình xöû lyù theo chöùc naêng cuï theå cho töøng heä thoángñöôïc ñöa vaøo caùc vuøng nhôù vaø söû duïng caùc leänh ñöôïc xaây döïng trong taäpleänh.

Page 88: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 88/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 90 SVTH: Chaâu Thò Bích Nga 

N   à

Bit b1=buffer[2]&0x02

Frame gôûi laàn ñaàu(b1=0)?

buffer[4] ≠ ñòachæ[0]?Vaø buffer[5] ≠ ñòachæ[1]?

Ñòachæ[0]=buffer[4]Ñòachæ[1]=buffer[5]

Goïi taäp leänh

Côø xöû lyù =1(xöû lyù xong)

RET

Y Y 

Keát quaû nhaän ñuùng ?

Frame nhaän vaøo coù döõ lieäu ? 

START

Page 89: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 89/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 91 SVTH: Chaâu Thò Bích Nga 

 CHÖÔNG TRÌNH ÑOÙNG GOÙI DÖÕ LIEÄU:Chöông trình ñoùng goùi döõ lieäu laø taïo ra moät frame truyeàn traû veà cho PC moãi khi nhaänyeâu caàu gôûi ñeán töø noù. Frame naøy cuõng tuaân theo qui ñònh cuûa caùc byte control fiel,vaø coù thoâng baùo keát quaû cuûa laàn nhaän vöøa roài. Ñoái vôùi frame gôûi veà töø vi xöû lyù, maõ ID

laø maõ cuûa frame nhaän töø PC. Ngoaøi ra, vieäc ñoùng goùi döõ lieäu coøn nhaèm muïc ñích laøñaûm baûo trong quaù trình gôûi 1 khung döõ lieäu töø Kit veà PC neáu coù söï giaùn ñoaïn naøoxaûy ra (1 chöông trình interrupt chaúng haïn ) thì söï thay ñoåi giaù trò cuûa moät bieán baát kyøcuõng khoâng gaây aûnh höôûng ñeán döõ lieäu truyeàn, tuy tröôøng hôïp naøy chæ xaûy ra vôùi xaùcsuaát thaáp vì toác ñoä truyeàn döõ lieäu raát cao nhöng noù cuõng laø moät khuyeát ñieåm ñaùng chuùyù cuûa chöông trình neáu khoâng ñöôïc quan taâm ñeán.Quaù trình ñoùng goùi döõ lieäu vaø traû lôøi cho PC khoâng phuï thuoäc vaøo chöông trình xöû lyùveà maët thôøi gian. Noù ñöôïc thöïc hieän sau khi hoaøn taát chöông trình kieåm tra framenhaän vaøo, keát quaû cuûa quaù trình xöû lyù seõ quyeát ñònh noäi dung gôûi veà cho PC, soá bytedöõ lieäu laø khoâng neáu chöông trình xöû lyù vaãn ñang thöïc hieän taïi thôøi ñieåm ñoùng goùi.

Page 90: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 90/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 92 SVTH: Chaâu Thò Bích Nga 

Bufout[0]=headerBufout[1]=bufin[1]

Khôûi taïo bufout[2]=0x80

Keát quaû nhaän ñuùng?

Bit b2=0(bufout[2]=. . . b2b1b0)

Xöû lyù xong?

Bit b0=0

Bufout[3]=chieàu daøichuoãi döõlieäu

Bufout[i+4]=dulieu[i]

Gôûi chuoãi bufout

Bit b2=1(bufout[2]=. . . b2b1b0)

Bufout[3]=0(chieàu daøichuoãi döõlieäu=0)

Bit b0=0

Bufout[3]=0(chieàu daøi

chuoãi döõlieäu=0) 

Page 91: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 91/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 93 SVTH: Chaâu Thò Bích Nga 

 CHÖÔNG TRÌNH DEMO-KIT:Chöông trình xöû lyù cho öùng duïng Demo-kit luoân phaûi caäp nhaät ngoõ

vaøo input 1 töø switch ñeå bieát cheá ñoä hoaït ñoäng cuûa heä thoáng laø Kit hay PC.

Chöông trình xöû lyù ñöôïc baét ñaàu khi nhaän ñöôïc tín hieäu RUN vaøkeát thuùc taïi STOP do PC gôûi ñeán.

Caùc ngoõ vaøo Input 2, 3, 4 ñöôïc ñoïc veà töø switch neân ñöôïc thöïchieän theo möùc öu tieân (töø 2 ñeán 4) neáu coù nhieàu ngoõ vaøo cuøng tích cöïc.

Neáu taïi moät thôøi ñieåm maø khoâng coù daïng soùng ra naøo ñöôïc choïnthì heä thoáng ôû cheá ñoä chôø vaø coù thoâng baùo ra PC.

Caùc daïng soùng ngoõ ra chæ nhaèm muïc ñích minh hoïa cho öùng duïngcuûa vieäc söû duïng taäp leänh neân noù ñöôïc xaây döïng raát ñôn giaûn vôùi caùc daïng

soùng ngoõ ra coù ñoä doác khoâng ñoåi .

 VI.   CAÙC DAÏNG SOÙNG NGOÕ RA

Ñoïc ngoõ vaøo input 1 töø kit ñeå choïn cheá ñoä hoaïtñoäng 

Traïng thaùi RUN? N

Page 92: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 92/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Luaän Vaên Toát Nghieäp 94 SVTH: Chaâu Thò Bích Nga 

Löu ñoà: Soùng ra daïng noùn

Page 93: Giao tiếp PC-VXL trong hệ thống SCADA

8/12/2019 Giao tiếp PC-VXL trong hệ thống SCADA

http://slidepdf.com/reader/full/giao-tiep-pc-vxl-trong-he-thong-scada 93/93

Chöông 1:Giao thöùc truyeàn thoâng GVHD: Thaày Huyønh Höõu Phöông

Soùng ra daïng raêng cöa xuoáng Soùng ra daïng raêng cöa leân

Caøi ñaët trò ñænh

Soùng ra =trò ñænh

Soùng ra 0?

Giaûm soùng ra

Y

Y

N

Timer = 100msN

Caøi ñaët trò ñænh

Soùng ra =0

Soùng ra < trò ñænh

Taêng soùng ra

Y

Y

N

Timer = 100msN