Việc thực hiện ở tầng giao thức tương ứng cũng giống như việc sử dụng các dịch vụ truyền thông theo các cấp cũng có sự phân chia giao thức theo từng cấp và sự hỗ trợ của các - Giao thirc
Trang 1BO GIAO DUC VA DAO TAO TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ TP.HCM
KHOA : ĐIỆN - ĐIỆN TỬ
Trang 2BO GIAO DUC VA DAO TAO TRUONG DAI HOC KY THUAT CONG NGHE TP.HCM
KHOA : DIEN - DIEN TU
BỘ MÔN : TỰ ĐỘNG HOÁ NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên sinh viên — : ĐÀO XUÂN HẢI
Giáo viên hướng dan : ThS.TRAN VIET THANG
Nhận xét của giáo viên hướng dân :
Trang 3LOI CAM TA
Em xin chân thành cảm ơn Thầy Cô của Trường Đại Học đã nhiệt tình giảng dạy em trong suốt thời gian học tại trường Đặc biệt là các Thầy Bộ môn Tự động hoá đã cung caáp cho em những kiến thức thật
cơ bản và tạo điều kiện thuận lợi để em hoàn thành tốt luận văn tốt nghiệp
Em xin đặc biệt cam on Thay TRAN VIET THANG đã tận tình giúp đỡ em trong quá trình thực hiện luận văn tốt nghiệp Nhờ sự giúp
đỡ của thầy mà e có thẻ tốt luận văn đúng thời gian quy định
Sinh viên thực hiện
ĐÀO XUÂN HẢI
Trang 4MUC LUC
Chương I : Các Chế Độ Truyén Taio ccceeeceseeeeeeee
I Truyền bit song song và truyền bit nối tiẾp -cccccecrerreee
IL Truyền đồng bộ và không đồng bộ 2-ccsecrceeee
II Truyền một chiều, hai chiều toàn phần va gián đoạn
IV Truyền tải dải cơ sở, truyền tải đải mang và truyền tải dai rộng
3 Truyền tải dải rộng HH
Chương II : Kiến Trúc Giao Thức - 2 2©cszzeccec:
Giiao thỨC - GG Q0 0011130531 ng vớ
I Các thành phần quy định trong một chuẩn giao thức
II.Giao thức UAIRT” 5 < nh HH Hee
IV Kiến trúc tiêu chuẩn OSI - ¿2-22 ce+evsvEerererrzrrs
V Phương pháp truy cập bus 5- -csccscescsrereces
VỊ Phương pháp truy cập Master/ SÏave -«+-
\MIiMdunio sa )600), V011
VIII Phương pháp Token Passing - sec
1.1 Đường truyền vật lý ¿- 5+ Scc tt creerxerkecreee
2 Đường truyền trên ¡50 PP
3 Chuẩn truyền dẫn RS — 485 -.ccccrcecrrrrcie
II Truyền thông nối tiếp qua cổng RS — 232 -
1 Vài nét cơ bản về công nối tiếp -ccscccsccee
2 Truyền thông nối tiếp 22-©22SseSE2zvExrrrerrrerree
Trang 5
II Truyền thông nối tiếp trên Vi Điều Khiển 89C51 5+ ©cceccceecrrecere 24
IC on nh 24
2 Thanh ghi điều khiển port nối tiẾp - + ©zeeExecrkecrxrrrxerkerrrrerrkee 25
3 Khởi động và truy xuất các thanh ghi port nối tiếp .- -+-s+- 25
khi9.0 in 25
kg an 26 3.3 Thém 1 Dit parity ố 26
3.4 Các cờ Nat ccesscsccsssssssssesseessesssesssssssessecssesssscssvssssesseesscesscssessseensecsscenesenseesess 26 3.5 Tốc độ baud port nối tiếp 2 +<©©se++ze+rxttrxerrreezrxrrrreerrree 27 Chương IV : Tìm Hiểu Visual Basic ©7275ccscccersecrevee 29
I Tổng quan về Visual Basic s-cá- 2z 2.2222 E211221271E1215 1141122111 Ex tre 29
II Truyền thông nói tiếp dùng Visual Basic 6.0 -22-22cccccxecrerrrxrerrerree 29
1 Điều khiển truyền thông - 2: %©©SeS249EEE9E330212213211E 152113 e 29
2 Thudc tinh (Property) 31
"“ÄïN ion 32 2.2 Thudc tinh COMMPOSt cccsccccesscesesccssscessecssecesseeceseccesnecesseeesseeeeeeeseeeeses 32
P.NÌo v00 06) 34 2.7 Thuộc tính CommEVefnt - - G2 2 2203112 30 19 ng ng ng ng rry 34
'Š Nà 0xyà/(./ vn 35 PÄ()N§ No) vài ¡(8410-00 n s”"-.ễ 35
4 Hỏi vòng cổng RS — 232 22t 2 x2 122402111110221 11111021111 12.crk 36
5 Các thông báo lỗi (Error Messages Code) .-. -s-csccrxererrrxerserkeree 37
Trang 61 Sơ lược về thiết kế - 2-22 +E++e+EE+EEEEEE9EE21312721111711417111117111217111011711e 38
II Thi công mô hình - 2 + +%++££S3E©EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEETEAerrkerrkkrree 38
1 Khái quát về thiết kế -s< +22 EELSE713115271.211211.121211.-E.cx 38
2 Phần cứng - se 222 EH.E.4 2 12711127112112171021110111111011121111511 1x 39
"cài 1n -ẽäăŸ/454 39
2.3 Mạch chuyên đổi RS232 — 485 sọc HH1 111E11111xerkcred 42
B.D AT89CS nn,›ỢỶỲẪn4 43 3.2 MAXABS o eecsecssesssesssessecssesssessecssscescsnscsssesscssseesecssecsusesseesecssessisesssesasssseessses 45 E5 .9.vXy;Haềa 46
EỄ 10)0)ý/2.0 E0 ni4 Ô 47 Chương VI : Các Chương Trình Điều Khiến .- 5© 555 ccSccecrsecee 48
II Chương trình nạp cho vi điều khiến -22-©22Sce2CA2SEEEEEAEEEeEEEEEErrerkree 48
IP on nnna£ À Ồ 48
P9 0y 49
.2.1 Các giá trị truyền nhận cho Kit VXL 1_ Khu vực I 2 -«2 49 2.2 Chương trình điều khiển cho Kit VXL 1_ Khu vực I - 50 2.3 Các giá trị truyền nhận cho Kit VXL 2_ Khu vực II - -+- 57 2.4 Chương trình điều khiển cho Kit VXL 2_Khu vực ÏI - 5s 58 III Chương trình điều khiển trên máy tính . - 2 2e e£+xz£ExetExZCEEerxrrrreere 65
2 Chương trình - ¿2+ ve EE211221112711 271312711211 re 67 2.1 Lưu đồ giải thuật 5-26 S2< SE 421131215111 01107 1111111571111 67 2.2 Các giá trị truyền nhận 2- 2© ©se©2.2+EE122E12EE12722E1221217AE22A.722 Lee 68 2.2a Đối với Kit VXL I_ Khu vực lL 2- 2222 ©22s222EkecEEEEeSEEkerrrkerrrecee 68 2.2b Đối với Kit VXL 2_Khu vực ÏI -2-:22 S22 EEEeCEEAEtEEEeerrkeerrrreree 69
KP 9i cò áïi 0n .' Ô 70
3.2 Giao diện thiết lập truyền thông -2 2£ ©©+.2c2vkeEEEErEEkkerrrkerrrked 78
Hướng phát triển đề tài -22s S22 EEE21211211111112121271212211211XEeE 2.2.e.E-ee 80
Trang 3
Trang 7CHUONG I CAC CHE DO TRUYEN TAI
CAC CHE DO TRUYEN TAI
I_ TRUYEN BIT SONG SONG VA TRUYEN BIT NÓI TIẾP :
1.Truyén bit song song :
- Phuong phap truyén bit song song được dùng phổ biến trong các bus máy tính, bus dữ liệu, bus địa chi, bus điều khiển Tốc độ truyền tải phụ thuộc vào số các kênh dẫn hay chính là độ rộng của bus song song
VD : 8 bit, 16 bit, 32 bit, 64 bit
- Phuong phap truyén này chỉ hạn chế ở khoảng cách nhỏ, có yêu cầu rất cao
về thời gian và tốc độ truyền
2 Truyền bit nỗi tiếp :
Với phương pháp này từng bít được truyền đi một cách tuần tự qua một đường truyền duy nhất, tốc độ bit vì thế hạn chế, nhưng cách thực hiện lại đơn giản,
độ tin cậy cao Tất cả các mạng truyền thông đều dùng phương pháp truyền này
H TRUYÊN ĐÔNG BỘ VÀ KHÔNG ĐÔNG BỘ :
- Sự phân biệt giữa chê độ truyền đồng bộ và không đồng bộ chỉ liên quan đến phương thức truyền bit song song, vấn đề đặt ra ở đây là đồng bộ hoá giữa bên gửi và bên nhận dữ liệu
- Trong chế độ truyền đồng bộ, các đối tác truyền thông làm việc theo cùng một nhịp, tức với cùng tần số và độ lệch pha cố định Có thê quy định một trạm có vai trò tạo nhịp và dùng một đường dây riêng mang nhịp đồng bộ cho các trạm khác
- Với chế độ truyền không đồng bộ bên gửi và bên nhận không làm việc theo một nhịp chung Dữ liệu được chuyển đi vào các thời điểm không đồng đều Vì vậy cần thêm 2 bit để đánh dấu khởi đầu và kết thúc cho mỗi ký tự
I TRUYEN MOT CHIEU, HAI CHIEU TOAN PHAN VA GIAN DOAN:
- Một đường truyền dữ liệu hoặc làm việc theo chế độ hai chiêu toàn phân hay hai chiều gián đoạn
- Trong chế độ truyền một chiều, thông tin chỉ truyền đi theo một chiều, một trạm chỉ có thê đóng vai trò hoặc bên phát hoặc bên nhận thông tin trong suốt quá trình giao tiếp
- Chế độ truyền hai chiều gián đoạn cho phép mỗi trạm có thể tham gia gửi
hoặc nhận thông tin nhưng không cùng một lúc, nhờ vậy mà thông tin được taro đổi theo cả hai chiều luân phiên trên cùng một đường truyền vật lý
-Với chế độ truyền hai chiều toàn phần, mỗi trạm đều có thể gửi và nhận thông tin cùng một lúc Phương pháp này sử dụng hai đường truyền riêng biệt cho thu
và phát
Trang 4
Trang 8IV TRUYEN TAI DAI CO SO, TRUYEN TAI DAI MANG VA DAI RONG :
- Một tín hiệu mang một nguồn thông tin có thể biểu diễn bằng tổng của nhiều dao động có tần số khác nhau năm trong một phạm vi hẹp được gọi là dải tần
cơ sở hay dải hẹp Tín hiệu được truyền đi cũng chính là tín hiệu được tạo ra sau khi
mã hoá bit, có tần số cố định hoặc năm trong khoảng hẹp nào đó tuỳ thuộc vào phương pháp mã hoá bịt
VD: Có thể quy định mức tín hiệu cao tương ứng với bit 0, mức tín hiệu thấp tương ứng với bịt I
2 Truyền tải dải mang :
Trong một số trường hợp, dải tần cơ sở không tương thích trong môi trường làm việc Ví dụ, tín hiệu có các tần số nay cé thé birc xa nhiéu anh hưởng tới hoạt động của các thiết bị điện tử khác Để khắc phục tình trạng này, người ta sử dụng một tín hiệu khác gọi là tín hiệu mang, có tần số nằm trong một dải tần thích hợp gọi là dải mang Dai mang nay thường lớn hơn nhiều so với tần số nhịp
- Một tín hiệu có thê chứa đựng nhiều nguồn thông tin khác nhau bằng cách
sử dụng kết hợp một cách thông minh nhiều thông số thông tin Ví dụ, một tín hiệu phức tạp có thé là tổng hợp bằng phương pháp xếp chồng từ nhiều tín hiệu thành phần
có tần số khác nhau mang các nguôn thông tin khác nhau
- Sau khi nhiều nguồn thông tin khác nhau đã được mã hoá bit, mỗi tín hiệu được tạo ra sẽ dùng điều biến một tín hiêu khác, thường có tần số lớn hơn nhiều, gọi
là tín hiệu mang Các tín hiệu mang đã được điều biến có tần số khác nhau, nên có thể
pha trộn, xếp chồng thành một tín hiệu duy nhất có phổ tần trải rộng Tín hiệu này cuối cùng lại được dùng để điều biến một tín hiệu mang khác Tín hiệu thu được từ
khâu này mới được truyền đi Đây chính là kỷ thuật dồn kênh phân tần truyền tải
thông tin
- Phuong thức truyền tải dải rộng và kỷ thuật dồn kênh được dùng rộng rãi trong các mạng viễn thông bởi tốc độ cao và khả năng truyền song song nhiều nguồn thông tỉn Tuy nhiên, vì đặc điểm phạm vi mạng, lý do giá thành thực hiện và tính năng thời gian, truyền tải bang rộng cũng như kỷ thuật dồn kênh hầu như không đóng vai trò gì trong các hệ thống truyền thông công nghiệp
Trang 5
Trang 9CHUONG II KIEN TRUC GIAO THUC
- Vậy trong kỹ thuật truyền thông công nghiệp cũng như một mạng máy tính rộng lớn để có sự giao tiếp như vậy thì yêu cầu đặt ra là bên cung cấp dịch vụ cũng như bên sử dụng dịch vụ phải tuân thủ những quy tắc, thủ tục nhất định Việc tuân thủ những quy tắc quy ước đó được gọi là giao thức Vậy giao thức là cơ sở cho việc sử dụng các dịch vụ truyền thông
I CAC THANH PHAN QUY DINH TRONG MOT CHUAN GIAO THUC :
dòng dữ liệu được sử dụng khi trao đối cho nhau trong đó chứa đựng đầy đủ các quy định để tạo thành một khối dữ liệu hợp lệ, chẳng hạn một gói dữ liêu phải có phần thông tin hữu ích gọi là thông tin đữ liệu, thông tin điểm đến gọi là địa chỉ, thông tin điều khiển, thông tin kiểm lỗi v.v
- Ngữ nghĩa (Semantic ) : Quy định ý nghĩa từng phần của một gói dữ liệu, như phương pháp định địa chỉ, phương pháp bảo toàn dữ liệu, thủ tục điều khiển thông tin, xử lý lỗi
- Định thời (Timing) : Quy định về trình tự thủ tục giao tiếp, chế độ truyền
đồng bộ hay bất đồng bộ v.v
- Việc thực hiện một dịch vụ truyền thông trên cơ sở của một giao thức tương ứng gọi là xử lý giao thức bên gởi, và giải mã xử lý giao thức bên nhận Việc thực hiện ở tầng giao thức tương ứng cũng giống như việc sử dụng các dịch vụ truyền thông theo các cấp cũng có sự phân chia giao thức theo từng cấp và sự hỗ trợ của các
- Giao thirc cap cao gần gũi với người sử dụng và thường được thực hiện bằng phần mềm, một số ví dụ giao thức cap cao la FTP ( File Transfer Protocol ) dùng trong trao đổi file từ xa, HTTP (Hypertext Transfer Protocol) dùng để trao đổi các trang HTML trong cac tmg dung Web, MMS (Manufactoring Message Specification) dùng trong tự động hoá công nghiệp
- Giao thức cấp thấp gần gũi với thiết bị phần cứng thường được thực hiện trực tiếp trên các mạch điện tử, một số ví dụ về giao thức cấp thấp như sau : TCP/IP (Transmission Control Protocol/ Internet Protocol ) được dùng phổ biến trong Internet, HART ( High Level Data-Link Control) lam co sé cho nhiều giao thức khác nhau và UART dùng trong đa số các giao diện vật lý của các hệ thống bus Hai giao thức nói sau HDLC và UART có vai trò quan trọng trong truyền thông công nghiệp
do đó được giới thiệu sơ lược ở đây :
+ Giao thức HDLC :
Trang 6
Trang 10HDLC cho phép chế độ truyền nói tiếp đồng bộ hoặc không đồng bộ Một bức điện
hay còn gọi là một khung ( Frame) có cầu trúc sau :
| Cờ | Địa chỉ | Diéu khién | Dữ liệu | FCS | Cờ |
+ Mỗi khung được mở đầu và kết thúc bằng một cờ hiệu (Flag) với dãy bit
01111110 Dãy bit này đựơc đảm bảo không bao giờ xuất hiện trong các phần thông tin khác thông qua phương pháp nhồi bit (Bit Stuffing), tirc cir sau mét day 5 bit cé gia tri 1 (11111) thi mot bit 0 dugc bô xung vảo
+ Ở địa chỉ tiếp theo chứa địa chỉ bên gởi và bên nhận tuỳ theo cách gán địa
chỉ 4 bịt hoặc 8 bịt tương ứng với 32 hoặc 256 địa chỉ khác nhau, ô này có chiều dài
la 8 hay 16 bit
+ Trong HDLC có 3 loại bức điện được phân biệt ở 6 thông tin điều khién 8
bit do la:
e Information Frames : Khung thông tin (I-Format)
e Supervisory Frames : Khung giám sát vận chuyên đữ liệu (S-Format) Unmubered Frames : Khung bỗ trợ kiếm soát các mối liên kết giữa các trạm
e Cấu trúc các ô thông tin điều khiển được quy định như sau :
Trong đó các ký hiệu viết tắt có ý nghĩa như sau :
e P/F : Bit chỉ định kết thúc quá trình truyền
II GIAO THỨC UART :
- UART ( Universal Asynchronus Reicever/Transmitter) là một vi mạch điện
tử rất rộng rãi cho việc truyền bit nối tiếp cũng như chuyền đôi song Song - nối tiếp giữa đường truyền - và bux máy tính UART cho phép lựa chọn giữa chế độ truyền một chiều, hai chiều đồng bộ hoặc hai chiều không đồng bộ Việc truyền tải được thực hiện theo từng ký tự 7 bít hoặc 8 bít, được bỗ xung 2 bit đánh dấu đầu cuối và một bit kiểm tra chẵn lẻ P (Parity Bit) Ví dụ với ký tự 8 bit được minh họa dứơi đây :
Trang 7
Trang 11
CHƯƠNG II KIEN TRUC GIAO THUC
- Bit khởi đầu ( Start bit) bao giờ cũng là 0 va bit Stop (Stop bit) bao giờ cũng
là 1 Các bit trong một ký tự bao giờ cũng được trưyền thứ tự từ bit thấp LSB tới bit cao MSB Giá trị của bít chẵn lẻ P phu thuộc vào cách chọn :
+ Nếu parity chẵn, thì P bằng 0 khi tổng số bit 1 chẵn
+ Nếu chọn parity lẻ, thì P băng 0 khi tông số bit lẻ
- Như tên của nó đã thể hiện, chế độ truyền không đồng bộ được sử dụng ở đây, từ không có một tín hiệu riêng phục vụ cho việc đồng bộ hoá giữa bên gởi và bên nhận Dựa vào các bit đầu cuối và tốc độ truyền thông đã được đặt trước cho cả 2 bên,
bên nhận thông tin phải tự chỉnh nhịp lấy mẫu của mình để đồng bộ với bên gởi
II MÔ HÌNH LỚP :
- Việc trao đôi thông tin trên mạng đòi hỏi có một giải pháp hợp lý, làm sao chúng có thể hiểu nhau bắt tay nhau trong giao tiếp và hiểu được ý nghĩa yêu cầu thông tin, do đó đòi hỏi phải có sự tương tác rất phức tạp giữa các thành viên trên mạng, một yêu cầu trừu tượng khá cao giữa các thiết bị phân cứng cũng như phần mềm, để đơn giản thay vì phải xử lý toàn bộ một nền tảng duy nhất, ta có thé chia nhỏ công việc thành những lớp và xử lý độc lập trên những lớp đó thì gọi là mô hình lớp
- Để thực hiện một dịch vụ truyền thông của một gói dữ liệu được gởi đi, được xử lý qua nhiều lớp ở bên gởi và bên nhận trên cơ sở các giao thức quy định được gọi là xử lý giao thức theo mô hình lớp, mỗi lớp ở đây có thể thực hiện bằng các chức năng của phân cứng hay phần mềm Mỗi một trạm được xem như một hệ thống
đa tầng, trong đó mỗi tầng được xây dựng trên cơ sở tầng trước nó, số lượng các tầng cũng như tên và chức năng đều phụ thuộc vào nhà thiết kế và mục đích của mỗi tầng
là cung cấp dịch vụ cho tầng cao hơn từ phía bên gởi cũng như bên nhận, dữ liệu sẽ được thêm vào những thông tin bố trợ khi đi qua xử lý của tầng đó đối với bên BỞI, Ở bên nhận sẽ thực hiện ngược lại dữ liệu được xác lập và tách ra khi đi qua các tầng xử
lý tương ứng, hình vẽ dưới đây mô tả quá trình thực hiện ở các lớp bên gởi và bên nhận
Trang 12
- Nguyên tác của kiến trúc phân lớp trong mạng là : Mỗi một hệ thống trong một mạng đều phải có một cấu trúc lớp, tức là số lượng lớp cũng như chức năng của mỗi lớp là như nhau vì lý do để thực hiện một thông tin trên mạng đòi hỏi phải có hai hay nhiều đối tác tham gia, vậy việc tạo lập một thông tin chỉ được thực hiện khi các đối tác thực hiện truyền thông trong các lớp tương ứng, sử dụng chung một ngôn ngữ, chung một giao thức thì có thê trao đổi thông tin cho nhau Nếu sự truyền thông có sự khác biệt về giao thức, chẳng hạn như giữa hai mạng khác nhau thì điều cần thiết ở đây là dùng một bộ chuyển đối hiểu cả hai giao thức như Bridge hay Getway Vấn đề
truyền thông, xuất phát từ yêu cầu này đã ra đời các kiến trúc giao tiếp chuẩn
IV KIEN THUC TIEU CHUAN OSI :
- Nhiéu nha san xuất đã theo mé hinh OSI (International Standards Organization) la tổ chức tiêu chuẩn quốc tế cho OSI (Open Systems Interconnection)
là kết nội các hệ thống mở Mô hình này đã được định nghĩa vào năm 1979 dé giai quyết việc truyền thông giữa các hệ thống mạng không giống nhau
Môi trường truyền
Hinh Mô hình ISO
- = Mô hình tiêu chuẩn ISO như sau : nếu đữ liệu được truyền giữa hai thiết bị
qua một mạng chung thì ta cần phải định nghĩa giao thức và kỷ thuật truy cập Các thông tin liên quan ví dụ như thiết lập Link cũng phải được xác định Do đó tô chức chuẩn hoá ISO định nghĩa mô hình 7 lớp như sau :
Trang 9
Trang 13CHUONG II KIEN TRUC GIAO THUC
- Các lớp 1,2 va 4 tuyệt đối cần thiết cho việc truyền thông tin cậy, đầy đủ Lớp 1 định nghĩa các điều kiện vât lý như các mức dòng điện và điện áp Trong lớp 2 được định nghĩa cơ chế truy cập và địa chỉ của trạm Điều này bảo đảm chỉ có một trạm có thể gởi dữ liệu qua mạng ở bất cứ thời điểm nào
- Độ tin cậy và sự tương thích dữ liệu chỉ được đảm bảo bằng các chức năng của lớp 4_ lớp vận chuyên Xuất phát từ điều khiển vận chuyên, lớp vận chuyên cũng
thực hiện các chức năng điều khiến luồng dữ liệu, cắm và ghi nhận
- Các Link được thiết lập nhằm để có được chức năng này
- Lớp thứ 7 là lớp ứng dụng chứa các dịch vụ truyền thông ví dụ được mô tả
ở hình dưới đây
- Mô hình chuẩn định nghĩa ở các lớp mà trong đó người ta định nghĩa đáp ứng của các cộng sự truyền thông Các lớp này được sắp xếp theo lớp này trên lớp kia
và lớp thứ 7 là lớp cao nhất và chỉ những đồng dạng nhau truyền thông với nhau
- Cách cài đặt các lớp riêng trong trường hợp thực thi không xác định theo
mô hình chuẩn mà phụ thuộc vào cài đặt cụ thể Trong những trường hợp như PROFIBUS thì không sử dụng các lớp 3 và 6 để có được sự truyền thông với tốc độ cao với khả năng thời gian thực và các chức năng thiết yếu được tích hợp lớp 1,2 và
lớp 7
- Ý nghĩa của các lớp như bản sau :
7 Lớp ứng dụng Các chức năng ứng dụng cung | Các dịch vụ truyền
chuyên dụng : Ví dụ :Read/Write
6 Lớp giới thiệu Giới thiệu dữ liệu chuyên đôi |Ngôn ngữ thông
thống truyền thông sang dạng phụ thuộc thiết bị
5 Lớp kiêm soát lỗi Đông bộ hoá mở đóng và giám | Điêu phỗi phiên
(Transport layer) lập lại các packet, sắp xếp thứ tự | có lỗi các gói dữ
các packet, đóng gói liệu
3 Lớp mạng Định ra địa chỉ của mạng khác | Truyền thông giữa
2 Lớp liên kết dữ liệu | Các kỷ thuật truy cập các biên |Kiếm tra CRC,
(Data link layer) giới dữ liệu, vận chuyển đữ liệu | taken passing
không lỗi, phát hiện lỗi xử lý lỗi
1 [Lớp vật lý Các khía cạnh vật lý của chuyên | Cáp dẫn
độ baud, quy cách kỷ thuật về
các tham số điện cơ,và chức năng của bus
Trang 14* Lop vat ly (Physical layer) :
- Lớp này đảm bảo các bit được truyền qua môi trường vật lý theo thứ tự mà lớp này nhận được từ lớp liên kết dữ liệu Các đặc tính điện và cơ cũng như kiểu cách truyền thông cũng được định nghĩa ở đây
+ Cac chi tiết về cấu trúc mạng như bus, cây, sao
+ Chuẩn truyền dẫn RS232, RS485
+ Phương pháp mã hoá
+ Chế độ truyền tải
+ Các tốc độ truyền cho phép
+ Giao điện cơ học như phích cắm
+ Lớp liên kết dữ liệu (Data link layer)
- Trách nhiệm của lớp này là truyền các chuỗi bit giữa hai hệ thống Việc này cũng bao gồm việc điều khiến, việc truy cập môi trường truyền dẫn, bảo toàn dữ liệu, lớp liên kết đữ liệu cũng bảo đảm truy cập độc quyền môi trường truyền Do đó lớp này được chia làm hai lớp nhỏ là lớp điều khiển truy cập môi trường MAC (Medium Access Control) Trong một hệ thống, lớp liên kết đữ liệu có thể đảm nhiệm thêm các chức năng khác như việc kiểm soát lưu thông và đồng bộ hoá việc chuyên giao các khung dữ liệu
- Đề thực hiện chức năng bảo toàn dữ liệu, thông tin nhận được từ lớp phía trên được đóng gói có chiều dài hợp lý (frame) Các khung dữ liệu này chứa các thông tin bỗ sung phục vụ mục đích kiểm lỗi, kiểm soát lưu thông và đồng bộ hoá Lớp liên kết đữ liệu phía nhận thông tin sẽ dựa vào các thông tin này để xác định tính chính xác của dữ liệu, sắp xếp các khung lại theo đúng trình tự và khôi phục lại thông tin dé chuyến tiếp lên lớp trên nó
* Lớp mạng (Network layer)
- Lớp này có trách nhiệm truyền dữ liệu giữa hai thiết bị đầu cuối đữ liệu (Data Terminal) Các data terminal là các máy gởi (phát) và máy nhận (thu) dữ liệu
mà có thể đi qua nhiều hệ thông chuyến tiếp
- Hệ thống truyền thông dạng rộng như mạng Internet hay mạng viễn thông,
là sự liên kết giữa các mạng hoàn toàn độc lập, mỗi mạng đều có một không gian địa
lý riêng và cách xác lập địa chỉ khác nhau, sử dụng công nghệ truyền thông khác nhau Vậy một gói dữ liệu có thể qua nhiều đường khác nhau, thời gian khác nhau, quãng đường vận chuyên và chất lượng đường truyền cũng khác nhau thì lớp mạng này có trách nhiệm tìm đường đi tối ưu nhất, giải phóng sự phụ thuộc của các lớp bên trên vào phương thức chuyên giao dữ liệu và công nghệ chuyên mạch dùng đề kết nối các hệ thông khác nhau
- Có thê nhận thấy đối với lớp này không có ý nghĩa trong một hệ thống mạng công nghiệp sản xuất, bởi ở đây không có nhu câu trao đổi dữ liệu giữa hai mạng khác nhau
* Lớp vận chuyên (Transport Layer) :
- Lớp này có trách nhiệm cung câp cho người sử dụng một liên kết tin cậy từ đầu này đến đầu kia Khi một gói dữ liệu được chuyển đi thành từng gói thi cần đảm bảo các gói đến đích và đúng thứ tự ban đầu Vậy chức năng của lớp vận chuyển là cung cấp dịch vụ cho việc vận chuyên một cách tin cậy bao gồm cả khắc phục lỗi và
Trang 11
Trang 15CHƯƠNG II KIỀN TRÚC GIAO THỨC
- Do đặc tính riêng của mạng trong lĩnh vực công nghiệp nên một số nhiệm
vụ cụ thê của lớp vận chuyển trở nên không cần thiết, ví dụ như việc dồn kênh hay kiểm soát lưu thông Một sô các ứng dụng còn lại của lớp này kết hợp với lớp ứng dụng dé tiện việc thực hiện cho người sử dụng chọn phương pháp tối ưu nâng cao hiệu suất truyền thông
- Một quá trình truyền thông giữa hai nút mạng, chang hạn như việc trao đổi chương trình thì được tiến hành qua nhiều giai đoạn Cũng, giống như sự giao tiếp giữa hai người thì cũng có sự xếp đặt trước Vậy giữa hai đối tác truyền thông cũng cần có sự hỗ trợ tổ chức liên kết
- Lớp này có chức năng kiểm soát mối liên kết truyền thông giữa các chương trình ứng dụng, bao gồm các việc tạo lâp, quản lý và kết thúc các đường nối giữa các ứng dụng đối tác Và mối liên kết giữa các chương trình ứng dụng mang tính chất logic, thông qua một liên kết vật lý giữa hai trạm, giữa hai nút mạng có thé tồn tại song song nhiều mối liên kết logic Thông thường kiểm soát nối thuộc chức năng hệ điều hành
- Để thực hiện đường nối giữa hai ứng dụng đối tác, hệ điều hành có thê tạo các quá trình tính toán song song Như vậy, nhiệm vị đồng bộ hoá các quá trình tính toán này đối với việc sử dụng chung một giao diện mạng cũng thuộc chức năng của lớp kiểm soát nối
- Trong các hệ thống mạng có kiểu khác nhau, thường sử dung các ngôn ngữ khác nhau, như sử dụng hệ điều hành khác nhau do đó cách biểu diễn dữ liệu của chúng củng rất khác nhau, hoặc cách sắp xếp các byte khác nhau trong một kiểu byte, hoặc sử dụng bảng mã khác nhau Lớp giới thiệu sẽ đảm nhiệm chức năng này dịch ngôn ngữ khác nhau này sang một ngôn ngữ chung có cú pháp trừu tượng
- Vậy chức năng chính của lớp giới thiệu là chuyên đổi các dạng dữ liêu khác nhau về cú pháp thành một dạng chuẩn, nhằm tạo điều kiện cho các đối tác tham gia truyền thông có thê hiểu được nhau mặc dù chúng có thể sử dụng ngôn ngữ hoàn toàn khác nhau Nói một cách khác lớp giới thiệu giải phóng sự phụ thuộc của lớp Ứng dụng vào các phương pháp biểu diễn đữ liệu khác nhau
* Lớp ứng dụng ( Application Layer) :
- Lớp ứng dụng là lớp trên cùng của mô hình OSI ,có chức năng cung cấp dich vu cap cao trên cơ sở của giao thức cấp cao cho người sử dụng và các chương trình ứng dụng Chuẩn quan trọng nhất trong tự động hoá là MMS (Manufacturing Message Specification ) hay gọi là đặc tả thông điệp sản xuất
- Các dịch vụ của lớp ứng dụng được thực hiện hầu hết bằng phan mém Thành phần phần mềm này có thê được tích hợp sẵn trong các linh kiện giao diện mạng, hoặc dưới dạng phần mềm điều khiển có thể nạp lên khi cần thiết, hoặc một thư viện ngôn ngữ lập trình sử dụng cho một chương trình ứng dụng, chăng hạn như
Trang 12
Trang 16điều khiển cơ sở hay điều khiến giám sát, nhiều hệ thống cung cấp dịch vụ này thông qua một các khối hàm đối với các thiết bị trường thông minh, các khối hàm này không đơn giản thuần mang tính chất dịch vụ truyền thông, mà còn tích hợp cả chức năng xử lý thông tin thậm chí cả điều khiển tại chỗ Đây cũng chính là xu hướng mới trong việc chuẩn hoá lớp ứng dụng cho các hệ thống bus trường, hướng tới kiến trúc điều khiển phân tán triệt đẻ
V PHƯƠNG PHÁP TRUY CẬP BUS :
- Trong tất cả các hệ thông mạng như mạng máy tính rộng lớn, hay một mạng trong phạm vi hẹp như mạng điều khiển trong công nghiệp, thì bất cứ hệ thống nào cũng có thê sử dụng cấu trúc mạng bus, nhưng đặc biệt là hệ thống cấu trúc dạng mạng bus và mạng mạch vòng đóng vai trò quan trọng và thường được sử dụng trong
hệ thống mạng công nghiệp sản xuất, bởi những ưu điểm của nó trong tự động hoá công nghiệp ở chỗ là: đơn giản về cầu trúc ,thích ứng cho một mạng nhỏ và vừa chi phí cho dây dẫn, dé lắp đặt và rất linh hoạt trong sản xuất
- Đối với cấu trúc bus về mặt kỹ thuật phân chia thới gian cho kênh truyền là một yêu cầu cao, vì trong một khoảng thời gian nào đó nhất định chỉ có một trạm duy nhất trên mạng được phép tham gia truy cập bus không thể có hai tram cùng tham gia một lúc , đối với tất cả các trạm còn lại phải chờ cho đến khi tới lượt mình ,vì vậy đòi hỏi phải có sự phân chia đường truyền một cách hợp lý đề tránh lãng phí thời gian cũng như khả năng đáp ứng về mặt xử lý điều khiển của cả hệ thống Trong một mạng
có cầu trúc bus các trạm đòi hỏi phải có sự phân chia nhau thời gian truy cập bus đề tránh hiện tượng xung đột tín hiệu xảy ra trên đường dẫn dẫn đến sai lêch thông tin, tại mỗi thời điểm chỉ được phép duy nhất một dòng dữ liệu gởi di tương ứng với điều này cũng có nghĩa là có một trạm được phép gởi thông tin, còn sô lượng các trạm muốn nhận thêm thì không hạn chế, đây là một trong những vấn đề ảnh hưởng đến năng suất của hệ thống
- Đối với những cầu trúc dạng khác như dạng mạch vòng ,mạch sao không phải không có sự xung đột mà vấn đề là xung đột này cũng có thê xảy ra tuy không như ở cấu trúc bus, ví dụ một cấu trúc vòng mỗi trạm không phải bao giờ cũng khống chế được dòng dữ liệu đi qua nó hoàn toàn ,hay ở cấu trúc sao phần tử xủ lý trung tâm không đóng vai trò chủ động mà có nhiệm vụ như một bộ chia tín hiệu thì vẫn đề xung đột vẫn có thể xảy ra, do đó những cấu trúc này cũng được dùng phương pháp phân chia quyền truy cập nhưng có phần đơn gian hơn so với một câu trúc dạng bus
- Phương pháp truy cập bus là một vân đề của một hệ thông dạng bus mà đòi hỏi phải có sự hợp lý ở đây, và mỗi phương pháp kỹ thuật của mỗi câu trúc hệ thống khác nhau đều được quan tâm đến, đó là một đặc tính của khả năng hoàn thiện hệ thống Vì vậy đối với câu trúc dạng bus để hệ thống có tính năng hoàn thiện thì các đặc điểm sau đây cần được đáp ứng khi xử lý phương pháp truy cập Đó là độ tin cậy của dữ liệu, tính năng thời gian thực và hiệu suất sử dụng đường truyền Tính năng thời gian thực có nghĩa là khả năng đáp ứng và xử lý thông tin một cách kịp thời không có sự trì hoãn vì một lý do nào khác, ví dụ như sự chậm trễ vì đảm đương nhiều công việc cùng một lúc thì gọi là thời gian không thực ,chẳng hạn như một máy tính (PC) đang xử lý đang xử lý một lệnh hay đang chạy một chương trình mà phải dừng lại khi có một tình huống mới phát sinh như sự phát hiện tín hiệu di chuyên của
Trang 13
Trang 17CHƯƠNG II KIEN TRUC GIAO THỨC
chuột hay sự tác động của bàn phím dẫn đến thời gian xử lý lệnh hay chương trình nói trên bị gián đoạn vì lúc này máy tính phải đảm đương công việc bởi những sự tác động này dẫn đến thời gian bị trì hoãn không đáp ứng kịp thời và được xem là thời gian không thực
- Hiệu suất của đường truyền là một yếu tố có khả năng làm tăng hoặc giảm tốc độ đáp ứng của mạng Nó là một đại lượng phụ thuộc vào sự lưu thông và phương pháp truy cập Nếu mật độ lưu thông thấp dẫn đến hiêu xuất thấp ,ngược lại mật độ lưu thông cao không có sự kiểm soát cũng dẫn đến ùn tắt gây ra sự gián đoạn làm giảm hiệu suất đường truyền, để khai thác hiệu suất tối đa ta phải có những phương pháp thích hợp để tìm ra những giải pháp nâng cao hiệu suất đường truyền trên cơ sở truy cập bus Ta co thé dua ra hai phương pháp truy cập đó là phương pháp tiền định
và ngẫu nhiên như sau :
+ Phương pháp tiền định : trình tự truy cập bus được quy định trước một cách chặt chẽ theo một trình tự được giám sát như phương pháp truy cập Master/Slave, hay theo sự quy định trước về thời gian TDMA hoặc phương pháp phân tán bởi các thành viên Taken Passing
+ Phương pháp ngẫu nhiên : trong phương pháp này trình tự truy cập bus không có sự quy định trước mà hoàn toản xảy ra một cách tự phát theo tính chât nhu cầu riêng Khi xảy ra tỉnh huống yêu cầu của từng trạm, mỗi thành viên tự giám sát đường truyền nếu thấy đường truyền rảnh lập tức chiếm lấy để truy cập Trong phương pháp này có khả năng xảy ra xung đột, vì vay dé loại trừ xung đột có thé Sử dụng phương pháp nhận biết xung đột như CSMA/CD hoặc CSMA/CA Nguyên tắc hoạt động của các phương pháp này là khi nhận biết có xung đột xảy ra thì ít nhất có một trạm ngưng gởi tín hiệu Sau đây là các phương pháp truy cập bus
VI PHƯƠNG PHÁP TRUY CẬP MASTER/SLAYVE :
- Phương pháp truy cập Master/Slave hay còn gọi là phương pháp Chủ/Tớ , ở đây trạm chủ có vai trò chủ động tích cực còn các trạm khác là các phan tử tiêu cực bị động, tất cả các trạm tớ ở đây đều chịu sự chi phối bởi trạm chủ Trạm chủ được xem như trái tim mạch máu của hệ thống trạm chủ (Master) có trách nhiệm chủ động phân chia quyền truy cập bus cho các trạm tớ (Slave),các trạm tớ thụ động chỉ có quyên truy cập bus dé nhận hay gởi dữ liệu đi khi nhận được sự yêu cầu từ phía trạm chủ, ngược lại chúng phải đợi sự yêu cầu từ trạm chủ hay thực hiện một công việc nào đó của riêng chúng Vậy đối với trạm chủ có thê dùng phương pháp để kiểm soát toàn bộ hoạt động mạng của mình như phương pháp hỏi tuần tự (Polling) theo chu kỳ, nhờ vậy mà đữ liệu từ trạm chủ có thê gởi đến tất cả các trạm tớ theo một thủ tục tuần tự một vòng luân phiên trên mạng, đê yêu cầu trả lời các thông tin kỹ thuật từ phía trạm
tớ hay nhận những thông tin điều khiển từ phía trạm chủ gởi đến
- Để đảm bảo cho một hệ thống hoạt động tot Trong một số hệ thống các trạm tớ hoàn toàn chịu sự giám sát chặt chẽ từ phía trạm chủ, tất cả mọi hoạt động nảy sinh từ phía các trạm tớ với nhau đều phải thông qua trạm chủ, chăng hạn sự trao đôi
dữ liệu cần thiết của hai trạm tớ không được thực hiện bởi chúng mà nhất thiết phải
có sự phân bố của trạm chủ Do đó nêu hoạt động giao tiếp theo phương pháp hỏi tuần tự chu kỳ, thì nếu một yêu cầu được gởi dữ liệu của trạm tớ đến cho trạm tớ khác thì trạm chủ yêu cầu đữ liệu từ phía trạm tớ gởi sau đó trạm chủ gởi cho trạm tớ nhận,
Trang 14
Trang 18_ như vậy trạm chủ đóng vai trò trung gian trong việc giao tiếp giữa hai trạm tớ với nhau Do đó khi có yêu cầu trao đôi dữ liệu bất thường của trạm tớ này với trạm tớ khác thì trước hết trạm tớ muốn gởi phải thông báo yêu cầu của mình khi trạm chủ hỏi đến và sau đó chờ cho đến khi được phục vụ
- Trình tự thủ tục truy cập bus của hệ thống mạng nào đó với mô hình Chủ/Tớ Phương pháp truy cập cũng như cách thức truyền dữ liệu giữa các trạm đều được xây dựng một cách có quy định được gọi là tiền định định trước do người tạo lập mạng tạo ra bằng các công cụ để tạo lập một cầu hình của một mạng có mô hình trạm một trạm chủ duy nhất và nhiều trạm tớ Thời gian cần thiết để trạm chủ hoàn thành công việc hỏi tuân tự một vòng cũng chính là thời gian tối thiểu của một chu ky bus Như vậy ta cũng có thể tính toán được một cách tương đối chắc chắn của một chu kỳ bus, vì tất cả những thành viên tham gia về mặt số lượng ta có thê biết trước cũng như chiều dài tối đa của một khung dữ liệu, tốc độ đường truyên (Baud), do đó
ta có thê xác định được chu kỳ bus Tốc độ đáp ứng của chu kỳ bus chính là một tính năng thời gian thực của hệ thông, mà tính năng này đóng vai trò quan trọng trong hệ thống điều khiển công nghiệp Ta có thể mô tả hình Chủ/Tớ (Master/Slave) như sau :
- Một nhược điểm của phương pháp Chủ/Tớ là phương pháp kiểm soát tập trung bởi trạm chủ, điều này là một nhược điểm làm giảm hiệu suất thông tin, khi một yêu cầu trao đối dữ liêu giữa hai tớ phát sinh sẽ không được thực hiện nêu không qua trung gian trạm chủ Chính vì lý do này khi xuất hiện một nhu cầu trao đổi dữ liệu giữa hai phần tử tớ với nhau như các VÌ xử lý hay PLUC nhất định phải được thực hiện với thời gian tối thiều dài hơn một chu kỳ bus
Trang 19CHƯƠNG II KIEN TRUC GIAO THUC
Jend-Data
Hinh : M6 ta su trao đổi đữ liệu giữa hai trạm tớ
- Vậy khi có một yêu cầu trao déi dit liệu giữa trạm tớ B cho trạm tớ A, trong khi đó một yêu cầu từ phía trạm chủ yêu cầu trạm tớ A nhận dữ liệu (Receive- Request) và trạm tớ B gởi dir ligu (Send-Request) thì trạm B gởi trực tiếp cho trạm A (Send-Data), sau khi nhận được sự kết thúc (Send-Complete) từ phía tram B thì trạm
A có trách nhiệm thông báo lại (Receive-Complete) cho trạm chủ như hình minh hoa Như vậy việc truy cập đường truyền cũng không chồng chéo nhau mà hai trạm tớ vẫn thực hiện việc trao đôi dữ liệu được với nhau trong một chu kỳ bus
- Một nhược điểm thứ hai là : đối với phương pháp này độ tin cậy của hệ thống hoàn toàn phụ thuộc vào trạm chủ, nếu trong một trường hợp nào đó gây sự cố
ở trạm chủ thì toàn bộ hệ thông mạng ngưng hoạt động dẫn đến ảnh hưởng tiến độ sản xuất trong phạm vi tự động hoá công nghiệp Vậy ta cần có biện pháp khắc phục trong trường hợp này đó là phương pháp sử dụng một trạm tớ có vai trò đóng một trạm chú khi cần thiết, ví dụ như nếu có sự cố xảy ra thì trạm tớ này có khả năng thay thế trạm chủ tạm thời
VII PHƯƠNG PHÁP TDMA :
- Phương pháp TDMA hay còn gọi là phương pháp đa truy cập phân chia theo thời gian (Time Division Multiple Access), môi trạm được phân chia một khoảng thời gian truy cập bus nhất định Tắt cả các trạm trao đôi thông tin cho nhau trong một khoảng thời gian luân phiên được cho phép của mình, theo một quy ước đã phân chia trước, việc phân chia này được xây dựng trên một hệ thống mạng mà người xây dựng mạng tạo lâp ra nó gọi là cơ chế tiền định, nghĩa là có sự sắp xếp quy định trước Ở đây nó có đặc điểm khác với mô hình chủ tớ ở chỗ là có thể có trạm chủ hoặc không
có trạm chủ nào, nếu có trạm chủ thì trạm chủ này chỉ có một vai trò hạn chế đó là mức độ kiểm soát các trạm tuân thủ đúng vai trò phân chia thời gian của mình không làm ảnh hưởng khoảng thời gian của các thành viên khác trên mạng, và mỗi trạm chủ động trong vai trò giao tiếp với các trạm khác
- Dưới đây minh hoạ cho phương pháp phân chia theo thời gian TDMA cho một chu kỳ bus:
Trang 16
Trang 20Hinh : Chu ky bus TDMA
lo
Một chu kỳ bus
- Như hình vẽ mỗi khoảng thời này tương ứng dành riêng cho một trạm và mỗi trạm chỉ có quyền trao đối thông tin cho nhau trong khoảng thời gian tương ứng của mình được đánh dấu từ 1 đến N, các trạm sẽ trao đôi thông tin luân phiên sau mỗi thời gian N lần, không có sự ưu tiên dành riêng cho trạm nào Ngoài những khoảng thời gian phân chia từ l đến N còn có một khoảng thời gian dành cho các thông tin riêng vì một lý do nào đó xảy ra Ví dụ như thông tin cảnh báo, yêu cầu thay đôi cầu hình
- Đối với nguyên tắc chung phân chia thời gian từng khoảng từ 1 đến N của TDMA thì có những cách truy cập khác nhau như sau : chăng hạn có thê phân chia theo thứ tự truy cập bus hay phân chia theo địa chỉ hay theo chức năng của từng trạm,
và cũng có thể dùng phương pháp kết hợp giữa TDMA và phương pháp Chủ/Tớ
(Master/Slave) nhưng ở đây có sự cho phép các trạm tớ liên lạc với nhau, trạm chủ chỉ có vai trò giám sát khoảng thời gian cho từng trạm thích hợp
VIII PHƯƠNG PHÁP TOKEN PASSING :
- Token (thẻ bài) : là một thông điệp không chứa dữ liệu có cầu trúc đặt biệt khác với một khung đữ liệu thông thường, nó được xem như một chìa khoá luân chuyền từ trạm này đến trạm khác trên mạng, Token cho phép một trạm có quyền truy cập bus trao đổi thông tin đữ liệu trong thời gian trạm đó nhận Token, vậy Token là một bức thông điệp đóng vai trò phân chia quyền truy cập bus cho các trạm Nếu một trạm nào đó nhận được Token nhưng không có nhu câu truy cập bus thì trạm đó nhường Token lại cho trạm khác theo một trình tự nhất định Nếu trình tự này đúng với trình tự sắp xếp vật lý trong một mạch vòng (tích cực hoặc không tích cực) ta dùng khái niệm Token Ring Còn nếu trình tự được quy định chỉ có tính chất logic
mỗi trường hợp đều hình thành một mạch vòng logic
- Một trạm đang giữ Token chẳng những có quyền truy cập bus và gởi thông tin dữ liệu mà còn đóng vai trò đặc biệt đó là kiểm soát các trạm khác, chăng hạn như nếu một trạm nào đó có sự có, đối với các trạm còn lại không giữ Token cũng có khả năng tham gia kiểm soát, chẳng hạn sau một thời gian nhất định không nhận được Token có thể là mất hay một sự cô bởi trạm nào đó đang giữ Token, thì lúc này một trạm đảm nhiệm chức năng tạo ra Token mới và tiếp tục luân chuyền trên mạng thay thế Token cũ Chính vì vậy Token Passing được xếp vào phương pháp kiểm soát phân tán Do thời gian được quyền giữ Token hạn chế dẫn đến việc tính toán được thời gian phản ứng cũng như chu kỳ bus tối đa Các hệ thống sử dụng phương pháp truy cập này cũng có khả năng thời gian thực
- Trong thời gian xác lập cấu hình, các trạm có thể dự tính về thời gian dùng Token của mình, từ đó đi tới thoả thuận một chu kỳ bus thích hợp để tất cả các trạm đều có quyền tham gia gởi thông tin và kiểm soát hoạt động truyền thông của mạng Việc kiểm soát bao gồm các việc sau :
Trang 17
Trang 21CHUONG II KIEN TRUC GIAO THUC
thay thế hoặc được đưa trở lại sử dụng phải bổ sung vào mạch vòng logic để có quyền nhận Token
+ Token Passing cũng có thể sử dụng kết hợp với phương pháp Chủ/Tớ, trong đó mỗi trạm có quyền giữ Token là một trạm chủ, hay còn gọi là trạm tích cực Phương pháp kết hợp này còn gọi là Multi -Master Các trạm chủ này có thê là các bộ điều khiển (PLC, PC), còn các trạm tớ (trạm không tích cực) là các vào/ra phân tán, các thiết bị trường thông minh
Trang 18
Trang 22CHƯƠNG IIL:
MẠNG RS - 485
I TONG QUAN VE MANG MAY TINH:
Mạng máy tính là một tập hợp các máy tính được nối vào với nhau bởi các đường truyền vật lý theo một kiến trúc nào đó Và ngày nay mạng máy tính đã trở thành một lĩnh vực nghiên cứu phát triển và ứng dụng cốt lõi của công nghệ thông tin
1.1 Đường truyền vật lý :
- Đường truyền vật lý dùng để chuyển các tín hiệu điện tử giữa các máy tính, các tín hiệu đó biểu thị các giá trị dữ liệu dưới dạng các xung nhị phân (ÔN - OFE) Tất cả các tín hiệu được truyền giữa các máy tính đều thuộc một dạng sóng điện từ nào đó, trải từ các tần số radio tới các sóng cực ngắn viba và tia hồng ngoại Tuỳ theo tần số của sóng điện từ có thể dùng các đường truyền vật lý khác nhau đề truyền tín hiệu
- Các tần số radio co thé truyén bang cáp điện (dây xoắn đôi hoặc đồng trục)
- Sóng cực ngắn viba thường được truyền giữa các trạm mặt đất và vệ tinh
- Tia hong ngoại và các tan số cao hơn của ánh sáng có thể được truyền qua các loại cáp sợi quang
Khi xem xét lựa chọn đường truyền vật lý ta cần chú ý tới các đặc trưng cơ bản của chúng là dái thông, độ suy hao và độ nhiễu điện từ
- Kiến trúc mạng máy tính thé hiện qua cách nối các máy tính với nhau ra sao
và tập hợp các quy tắc, quy ước mà tất cả các thực thể tham gia truyền thông trên mạng phải tuân theo để đảm bảo cho mạng hoạt động tốt Cách nối các máy tính được gọi là hình dạng (Topology), còn tập hợp các quy tắc ,quy ước truyền thông được gọi
là giao thức (Protocol) của mạng
điểm (point to multipoint)
+ Theo kiểu point to point : các đường truyền nối thành từng cặp nút với nhau
và mỗi nút đều có trách nhiệm lưu trữ tạm thời sau đó chuyển tiếp đữ liệu đi cho tới
đích
+ Theo kiểu point to multipoint : tat cả các nút phân chia chung một đường truyền vật lý Dữ liệu được gởi đi từ một nút nào đó có thể được tiếp nhận bởi tất cả các nút còn lại Nơi nhận sẽ kiểm tra địa chỉ đích gởi đến có phải cho mình hay không
để có thể tiếp tục thực hiện việc giao tiếp hay bỏ qua
- Giao thức mạng :
Việc truyền tín hiệu trên mạng cần phải tuân theo các quy tắc, quy ước về
quả và chất lượng truyền tin cũng như xử lý các lỗi sự cố Tập hợp tất cả các quy tắc, quy ước đó được gọi là giao thức của mạng
Trang I9
Trang 23CHUONG III MANG RS - 485
2 Đường truyền trên mạng :
2.1 Phương tiện hữu tuyến :
và một dây dẫn tạo thành một ống bao quanh dây dẫn trung tâm, dây dẫn này có thê bện hoặc bằng lá kim loại Giữa hai dây dẫn có một lớp cách ly và bên ngoài cùng là một lớp vỏ bọc plastic để bảo vệ cáp
- Cáp xoăn đôi : cáp này gồm hai đường dây dẫn đồng trục được xoắn vào nhau Mục đích của việc xoăn này là nhằm giảm nhiễu điện từ gây ra bởi môi trường xung quanh và tự bản thân chúng với nhau Có 2 loại cáp xoắn đôi được dùng hiện nay là cáp có bọc kim STP và cáp không bọc kim UTP STP có khả năng chống nhiễu tốt nhờ có vỏ bọc kim, thích hợp với tốc độ truyền dưới 500Mbps Còn UTP cé kha năng chống nhiễu thấp hơn, tốc độ truyền có thể dat 100Mbps
- Cap soi quang : loại này không truyền dẫn tín hiệu điện mà chỉ truyền dẫn tín hiệu quang Cáp sợi quang bao gôm một dây dẫn trung tâm (là một bó sợi thuỷ tỉnh hay plastic có thể truyền dẫn tín hiệu quang) được bọc một lớp áo có tác dụng phản xạ trở lại dé giảm sự mất mát tín hiệu Bên ngoài cùng là lớp vỏ cho phép khoảng cách truyền khá xa do độ suy hao tín hiệu trên cáp rất L thấp Ngoài ra do tín hiệu truyền là dạng quang nên nó không bị ảnh hưởng bởi nhiễu điện từ và các hiệu ứng điện khác Hơn nữa, tín hiệu truyền trên cáp sợi quang có độ bảo mật rất cao Tuy nhiên cáp sợi quang có nhược điểm là khó lắp đặt và giá thành tương đối cao
2.2 Phương tiện vô tuyến :
thuộc như : sóng ngan, VHF (dùng cho truyền hình và FM radio); UHF (ding cho truyền hinh)
- Viba (Microwave) :có hai dạng truyền thông mặt đất và vệ tinh Các hệ thống viba mặt đất thường hoạt động ở băng tan 4-6GHz va 21- 23GHz; tốc độ truyền tir 1 — 10Mbps
- Các hệ thống tia hồng ngoại : các mạng điểm - điểm hoạt động bằng cách chuyển các tín hiệu hong ngoại từ một thiết bị tới một thiết bị kế tiếp, dải tần hoạt
động là 100GHz đến 1000GHz
3 Chuẩn truyền dẫn RS — 485 :
- Khi một ứng dụng mạng cần truyền những khối dữ liệu nhỏ với khoảng
cách xa thì người ta thường sử dụng chuẩn RS — 485
- Những nút mạng dùng chuẩn RS — 485 có thể là máy tính (PCs), vi điều
khiển hoặc một số thiết bị có khả năng truyền thông nối tiếp bất đồng bộ So với
Ethernet va các giao diện mạng khác thì phần cứng và giao thức của mạng RS - 485 đơn giản hơn và rẻ tiền hơn
- Chuân RS - 232 dùng đường truyền không cân bằng vì các tín hiệu lay diém chuẩn là đường mass chung, do đó tốc độ truyền và khoảng cách truyền bị giới hạn Khi cần tăng khoảng cách và tốc độ truyền, chuẩn RS — 485 trở nên hữu hiệu hơn
vì chuẩn này truyền tín hiệu trên hai dây có đặc tính giống nhau, tín hiệu truyền đi là hiệu số điện áp giữa hai dây, do đó loại trừ được nhiễu chung Tín hiệu từ máy tính theo chuân RS - 232 có mức điện áp + 12V phải đổi sang mức TTL 0 — 5V dùng vi mach MAX - 232 Sau đó tín hiệu đơn cực được đổi sang tín hiệu vi sai dùng vi mạch
Trang 20
Trang 24MAX - 485 Điện áp vi sai phải lớn hơn 200mV, Nếu Vab>200mV logic I được truyền, nếu Vab<200mV logic 0 được truyền
- Chuẩn RS - 485 cũng giống như chuẩn RS — 422, nhưng chuẩn RS — 422 chỉ cho phép một bộ lái và nhiều bộ nhận, còn chuẩn RS - 485 cho phép nhiều bộ lái
và nhiều bộ nhận
Với chuẩn RS — 485 tốc độ truyền có thê đạt đến 10Mbps và chiều dài cáp có thể lên đến 1200m Điện áp vi sai ngõ ra từ +1.5V đến +5V nếu là logic mức 0, và từ -1.5V dén -5V la logic mirc 1 Với chuan RS — 485 ta co thể cung cấp đến 32 trạm kết nối Để tăng chiều dài cáp truyền ta có thể dùng bộ tiếp sức (Repeater) Nó có chức năng làm khếch đại tín hiệu trên cáp, sẽ cho phớp kết nối thêm nhiều trạm hơn và chiều dài của đường truyền sẽ xa hơn Ta có thê kết nối tối đa 9 Repeater vào mạng
Sơ đồ kết nối mang 485
Il TRUYEN THONG NOI TIEP QUA CONG RS - 232:
re" 1 Vài nét cơ bản về công nồi tiệp re max" :
- Cổng nối tiếp RS — 232 là một loại giao diện phô biến rộng rãi nhất, ta còn gọi là công COMI, COM2 để tự do cho các ứng dụng khác nhau
- Giống như cổng máy in, công nối tiép RS — 232 cling được sử dụng rất thuận tiện trong việc ghép nôi máy tính VỚI Các thiết bị ngoại vị Việc truyền dữ liệu qua cong RS — 232 duge tiến hành theo cách nối tiếp, nghĩa là các bit đữ liệu được gởi đi nỗi tiếp với nhau trên một đường dẫn
- Trước hết loại truyền này có khả năng dùng cho những khoảng cách lớn hơn, bởi vì khả năng gây nhiễu là nhỏ đáng kê hơn là khi dùng một công song song
- Việc dùng công song song có một nhược điểm đáng kể là cáp truyền nhiều sợi và vì vậy rất đắt tiền, hơn nữa mức tín hiệu nằm trong khoảng 0 — 5V đã tỏ ra không thích ứng với khoảng cách lớn
Trang 25CHUONG III MANG RS - 485
- Hình dưới là sự bố trí chân của phích cắm RS — 232 của máy tính :
6 77 7g ~9,
CONNECTOR DB9 (eed edd edd ded 050209)
1 8 DCR Phát giác có tín hiệu trên đường dây
2 3 RxD Nhập dữ liệu nối tiếp
3 2 TxD Xuất dữ liệu noi tiếp
4 20 DTR DTE sẵn sàng trao đổi dữ liệu
9 22 RI Modem phát giác có tín hiệu chuông
- Việc truyền dữ liệu xảy ra trên hai đường dẫn qua chân cam TxD, gửi dữ liệu của nó đến thiết bị khác Trong khi đó dữ liệu mà máy tính nhận được dẫn đến chân RxD Các tín hiệu khác đóng vai trò tín hiệu hỗ trợ khi trao đổi thông tin và vì thế trong mọi ứng dụng đều dùng đến
- Mức tín hiệu trên chân ra RxD tùy thuộc vào đường dânTxD và thông tin thường nằm trong khoảng —12V +12V các bít dữ liệu được trao đối ngược lại Mức điện áp ở mức cao năm trong khoảng —3V và —12V và mức thấp nằm trong khoáng từ
- Bằng tốc độ Baud ta thiết lập được tốc độ truyền dữ liệu các giá trị thông thường 1a 300, 600, 2400, 4800, 9600, 19200 Baud Ky hiéu Baud 1a so lượng bit truyền trong 1 giây
- Còn một vấn đề quan trọng nữa là khuôn mẫu (Format) truyén dữ liệu cần phải thiết lập như nhau cả bên gởi cũng như bên nhận các thông sô truyền có thể được thiết lập trên máy tính (PC) bằng các câu lệnh trên DOS Ngày nay Windows cũng có
Baud, số bit đữ liệu, số bit dừng, bit chẵn lẻ (parity) có thể được thiết lập một cách rất đơn giản
- Việc truyền thông tin giữa các bộ phận nằm gần nhau trong hệ vi xử lý có thê được thực hiện thông qua bus song song mở rộng hoặc các mạch phối ghép song song Trong đó các byte hoặc các từ được chuyên từ bộ phận này sang bộ phận khác
Trang 22
Trang 26trên một tập các đường mạch in hoặc dây cáp Trong trường hợp cần phải truyền thông tin ở các thiết bị cách xa nhau làm sao tiết kiệm được số đường dây dẫn cần thiết cho việc truyền Từ yêu cầu trên đã ra đời phương pháp truyền thông tin nỗi tiếp
Ở đầu phát dữ liệu song song đầu tiên được chuyển thành dữ liệu dạng nôi tiếp sau đó được truyền đi liên tiếp trên một đường dây Ở đầu thu ,tín hiệu nối tiếp sẽ được biến đối ngược lai dé tai tạo tín hiệu dạng song song thích hợp cho việc xử lý tiếp theo
- Trong thực tế có hai phương pháp truyền thông tin kiểu nối tiếp : truyền đồng bộ và không đồng bộ
- Trong phương pháp truyền đồng bộ, dữ liệu được truyền theo tưng mảng
ở cuối mảng các byte hoặc một nhóm bit định dấu đặc biệt
- Hinh dưới biểu diễn một bản tin để truyền đồng bộ theo giao thức BISYNC (giao thức truyền thông tin hệ 2 đồng bộ, binary synchronous communication protocol) đây thực chất là giao thức điều khiển theo byte, vì các byte (ký tự) đặc biệt được đánh dấu các phần khác nhau của bản tin
|SYN |SYN |SOH | HEADER |STX |TEXT | ETX hay ETB [Bcc |
Header : phần mào đầu
Stx : ký tự bắt đầu văn bản
Text : thân văn bản
Etx : ký tự kết thúc văn bản
- Trong cách truyền không đồng bộ, dữ liệu được truyền đi theo từng ký tự
Ký tự cần truyền đi được gắn thêm một bit đánh dấu ở đầu để báo bắt đầu ký tự (Start) và một hoặc hai bit đánh dấu ở cuối để báo kết thúc ký tự (Stop) Vì cuối ký tự được nhận dạng riêng biệt nên nó có thể được truyền đi theo phương pháp không đông bộ
Chiêu của dòng ký tự 4————= a
Luôn ở mức cao Luôn ở mức tháp | |
Ma cua ky tu can truyén
Khung của một ký tự dé truyền không đông bộ
Trang 23
Trang 27CHUONG III MANG RS - 485
- Tuy theo loại mã được chọn dùng trong khi truyền (Baudot, Ascii ) độ dai cho mã ký tự có thể là 5, 6, 7, 8 bit Tuỳ theo hệ thống truyền tin, bên cạnh các bit truyền dữ liệu còn có thể tuỳ chọn có hay không có 1 bit parity dé kiém tra 16i khi truyén, có thể tuỳ chọn 1 hay 2 bit Stop nhưng bắt buộc phải co 1 bit Start Như vậy
dé truyén một ký tự theo phương pháp không đồng bộ, ngoài ký tự mang tin ta buộc phải truyền thêm ít nhất 2 và nhiều nhất là 4 bit phụ để tạo ra khung cho ký tự đó, vì thế phương pháp này tuy đơn giản nhưng có hiệu suất không cao
- Tốc độ truyền dữ liệu theo phương pháp nối tiếp được đo bằng bit⁄s Ngoài
ra người ta cũng hay dùng đơn vị Baud, đó là giá trị nghịch đảo của thời gian giữa các lần thay đổi mức tín hiệu, với đữ liệu chỉ có 2 mức (0 và 1) và mỗi thay đổi mức tín hiệu chỉ mã hoá một bịt thì có thé hiéu Baud = bit/s, các tốc độ truyền thường gặp trong thực tế là 11, 300, 600, 1200, 2400, 4800, 9600, 19200 Baud
Ill TRUYEN THONG NOI TIEP TREN VI DIEU KHIEN 89CS1 :
- 8051/8031 có một port nối tiếp trong chip co thé hoạt động ở nhiều chế độ trên một dải tần số rong Chức năng chủ yêu của port noi tiếp là thực hiện chuyển đôi Song song sang nối tiếp đối với dữ liệu xuất, và chuyển đổi nối tiếp sang song song với dữ liệu nhập
- Truy xuất phần cứng đến port nối tiếp qua chân TxD và RxD Các chân này
có các chức năng khác hai bít của Port 3, P3.1 ở chân 11 (TxD) và P3.0 ở chân 10 (RxD)
và đệm lúc thu (receiver buffering) cho phép một ký tự sẽ được thu và được giữ trong khi ký tự thứ hai được nhận Nếu CPU đọc một ký tự thứ nhất trước khi ký tự thứ hai được thu đầy đủ thì đữ liệu sẽ không bị mắt
- Hai thanh ghi chức năng đặc biệt cho phép phần mềm truy xuất đến port nối tiếp là SBUF và SCON Bộ đệm port nối tiếp (SBUF) ở địa chỉ 99H thật sự là hai bộ đệm Viết vào SBUF để nạp dữ liệu sẽ được phát, và đọc vào SBUF để truy xuất dữ liệu thu được Đây là hai thanh ghi riêng biệt : thanh ghi chỉ ghi dé phat và thanh ghi chỉ đọc để thu
Trang 28
- Thanh ghi diéu khién port nối tiếp (SCON) ở địa chỉ 99H là thanh ghi có địa chỉ bit chứa các bit trang thái và các bịt điều khiển Các bit điều khiển đặt chế độ hoạt động cho port nối tiếp, và các bit trạng thái báo kết thúc việc phát hoặc thu ký tự Cac bit trang thái có thể được kiểm tra bằng phần mềm hoặc có thể được lập trình để tạo ngắt
- Tần số làm việc của port nỗi tiếp, còn gọi là tốc độ baud có thé cố định (lay
từ bộ dao động trên chip) Nếu sử dụng tốc độ baud thay đổi, Timer 1 sẽ cung cấp xung nhịp tốc độ baud và i phai được lập trình
2 Thanh ghi điều khiển port nỗi tiếp :
- Chế độ hoạt động của port nối tiếp được đặt bằng cách ghi vào thanh ghi chế độ port nối tiếp (SCON) ở địa chỉ 28H Sau đây là các bảng tóm tắt thanh ghi
SCON.7 | SMO 9FH Bit 0 của chê độ port nội tiệp
SCON.6 | SMI 9EH Bit 1 của chế độ port nỗi tiếp
SCON.5 | SM2 9DH Bit 2 cua ché d6 port ndi tiép Cho phép truyén
thông đa xử lý trong các chế độ 2 và 3; RI sẽ không
bị tác động nếu bit thứ 9 thu được là 0
các ký tự
và 3; được đặt và xoá bằng phần mềm SCON.2 | RD8 9AH Bit 8 thu, bit thứ 9 thu được
được xoá bằng phần mềm
xoá bằng phần mềm
Tóm tắt thanh ghi chế độ port nỗi tiệp SCON
SM0 | SMI | Chế độ | Mô tả Tốc độ baud
0 0 0 Thanh ghi dịch | Cô định (FOSC/12)
0 1 1 UART 8 bit Thay đôi (đặt băng timer)
Các chế độ port nối tiếp
- Trước khi sử dụng port nối tiếp, phải khởi động SCON cho đúng chế độ Ví
Trang 29CHUONG III MANG RS - 485
Bit cho phép b6 thu (REN = Receiver Enable) trong SCON phai duge dat lên
1 bang phan mém dé cho phep thu các ký tự Thông thường thực hiện việc này ở đầu chương trình khi khởi động công nối tiếp, timer, Có thể thực hiện việc này theo hai cách Lệnh SETB REN sẽ đặt REN lên 1, MOV SCON,#xxx1xxxxB sẽ đặt REN
lên 1 và đặt hoặc xoá các bit khác trong SCON khi cần (các x phải là 0 hoặc 2 dé dat
chế độ làm việc)
3.2 Bit dữ liệu thứ 9 :
Bit dữ liệu thứ 9 cần phát trong các chế độ 2 và 3 phải được nạp vào trong TB8 bang phan mềm Bit đữ liệu thứ 9 thu được đặt ở RB8 Phần mềm có thể cần hoặc không cân bít dữ liệu thứ 9, phụ thuộc vào đặt tính kỷ thuật của thiết bị nối tiếp
sử dung Bit dữ liệu thứ 9 cũng đóng một vai trò quan trong trong truyền thông đa xử
lý
- Thường sử dụng bít dữ liệu thứ 9 để thêm parity vào ký tự Bít P trong từ trạng thái chương trình (PSW) được đặt lên l hoặc xoá môi chu kỳ máy dé thiét lap kiém tra chan lẻ với 8 bit trong thanh ghi tich luy Vi du, néu truyén thông cần 8 bit
đữ liệu cộng thêm kiểm tra chẵn, có thê sử dụng các lệnh sau dé phat 8 bit trong thanh ghi tích lũy với kiểm tra chan thêm vào bit thứ 9 :
MOV C,P ; Dat bit parity chin vao TB8
MOV TB8,C ; nó trở thành bit dữ Hiệu thứ 9
MOV SBUF,A ; chuyến § bit từ ACC vào SBUF
Nếu cần parity lẻ thì sửa các lệnh sau :
CPL C , đối sang parity lẻ
MOV TB8,C
MOV SBUF,A
- Dĩ nhiên việc sử dụng parity không bị giới hạn ở các chế độ 2 và 3 Ở chế
độ 1, 8 bít đữ liệu truyền đi có thể bao gồm 7 bit đữ liệu cộng thêm bit parity Để
MOV C,P ; parity chan 6 trong
MOV ACC.7,C_ ; đặt parity chẵn vào MSB
3.4 Các cờ ngắt :
- Hai cờ ngắt thu va phat (RI va TI) trong SCON dong một vai trò quan trọng trong truyền thông nối tiếp dùng 8051/8031 Cả hai bít được đặt lên 1 bằng phần cứng, nhưng phải được xoá bằng phần mềm
thu tràn” Điều kiện này có thê được kiểm tra trong phần mềm hoặc có thể được lập trình để gây ra ngắt Nếu phần mềm muốn nhập một ký tự từ thiết bị được nối vào
công nối tiếp (có thé là thiết bị đầu cuối hiển thị video), nó phải đợi cho đến khi RI được đặt lên 1, rồi xóa RI và đọc ký tự từ SBUF Chương trình như sau :
Trang 30MOV A,SBUF _ ; doc ky tự
- TI được đặt lên l ở cuối lúc phát ký tự và báo “ bộ đệm phát trồng” Nếu
phân mềm muốn gởi một ký tự đến một thiết bị được nối vào công noi tiép, trudc hét
no phai kiém tra xem céng nối tiếp sẵn sàng chưa Nói cách khác, nếu ký tự trước đã
được gởi đi, đợi cho đến khi việc truyền đữ liệu hoàn tất trước khi gởi ký tự kế Các
lệnh sau sẽ truyền ký tự trong thanh ghi tích luỹ :
WAIT :
Các đoạn chương trình trên là một phần của các hàm nhập và xuất ký tự
chuẩn
- Tốc độ baud cố định ở các chế độ 0 và 2 Trong chế độ 0, nó luôn luôn là
dao động trên chịp của 8051/8031, nhưng cũng có thể sử dụng nguồn xung nhịp khác
Giả sử với tần số dao động danh định là 12 MHz, thì tốc độ baud chế độ 0 là 1 MHz
ce) cac ché dé 1 va 3
Các nguồn tạo xung nhịp cho port nối tiếp
- Mặc nhiên sau khi Reset hệ thống, tốc độ baud chế độ 2 là tần số dao động
chia cho 64 Tốc độ baud cũng bị ảnh hưởng bởi một bít trong thanh ghi điều khiến
nguồn cung cấp (PCON) Bit 7 của PCON là bit SMOD Đặt bít SMOD lên 1 làm gap
déi toc d6 baud trong cac ché dé 1 „2 và 3 Trong chế độ 2, tốc độ baud có thể bi gap
- Vì PCON không được định địa chỉ theo bịt, nên để đặt bit SMOD lên 1 cần
phải theo các lệnh sau :
MOV PCON,A _ ; ghi giá trị ngược về PCON
Trang 27
Trang 31CHUONG III MANG RS - 485
- Các tốc độ baud trong Các chế độ 1 và 3 được xác định bằng tốc độ tràn của Timer 1 Vì Timer hoạt động ở tần số tương đối cao, tràn Timer được chia thêm cho
32 (16 nếu SMOD = 1) trước khi cung cấp xung nhịp tốc độ baud cho port nối tiếp
- Xét 8051, cách thông dụng để tạo tốc độ baud là khởi động TMOD cho chế
độ 8 bit ty dong nap lai (chế độ 2) và đặt giá trị nạp lại đúng vào THỊ để cho tốc độ tràn đúng với tốc độ baud TMOD được khởi động như sau :
MOV TMOD, #001 0xxxxB
Các x là các bt 1 hoặc 0 cần cho Timer
- Cũng có thể đạt được các tốc độ baud thấp bang | cach sir dung Timer chế độ I1 với TMOD = 0001xxxxB Tuy nhiên, tốn thêm phần mềm vì các thanh ghi THI/TLI1 phải được khởi động lại sau mỗi lần tràn Việc này sẽ được thực hiện trong chương trình phục vụ ngắt Một chọn lựa khác là cung câp xung nhịp cho Timer 1 tir ngoai ding T1 (P3.5) và luôn luôn tốc độ baud là tốc độ tràn của Timer 1 được chia
- Công thức tong quát để xác định tốc độ baud trong các chế độ 1 và 3 là :
Tốc độ baud = Tốc độ tràn cua Timer 1 /32
Ví dụ muốn làm việc với tốc độ baud 1a 1200 baud thi tốc độ tràn của Timer
- Néu dùng thạch anh 12MHz, Timer 1 được cấp xung nhịp IMHz hay 1000KHz Vi tốc độ tràn của Timer 1 là 38.4KHz và Timer được câp xung nhịp 1000KHz, thi cần tràn sau 1000/38.4 = 26.04 xung nhịp ( làm tròn là 26) Vì Timer đếm lên và tràn xây ra khi có sự thay đổi từ FFH xuống 00H ở số đếm Như vậy giá trị đúng cần nạp vào THI là -26 Cách dễ nhất để đặt giá trị nạp lại vào THỊ là :
Trang 32CHUONGIV: -
TIM HIEU VISUAL BASIC
I TONG QUAN VE VISUAL BASIC :
- Visual Basic 1a san pham của hang Microsoft, nó đã trải qua nhiều phiên bản và hiện nay là Visual Basic 6.0 Trong phiên bản này hiện có 3 ấn bản là Learning, Pro và Interprise Visual Basic là chương trình 32 bits nên chỉ chạy trên môi trường windows 95/98/2K, Windows NT, XP Visual Basic là ngôn ngữ lập trình trên môi trường windows ra đời sớm nhất, và thật sự tạo nên một cuộc cách mạng trong công nghệ phần mềm
- Visual Basic là một ngôn ngữ lập trình theo kiểu định hướng đối tượng, do
đó ta có thể phân bố mỗi yếu tố trong chương trình thành một đối tượng và viết cách ứng xử riêng cho từng đối tượng đó Như vậy, khi tập hợp nhiều đối tượng riêng lẻ lại
sẽ trở thành một chương trình hoàn chỉnh
- Với Visual Basic, việc tạo ra dao diện đã trở nên dễ dàng hơn bao gio hét Chỉ với một vài thao tác click — drag đơn giản ta có thể bô sung vào các cửa số còn trống các lệnh đơn, các hộp văn bản, các nút lệnh, các nút tuỳ chọn, các nhãn v.v Sauk hi tạo giao diện, thì công việc của ta chỉ là viết mã cho các đối tượng (gọi
diện đồ hoạ cho các ứng dụng đã được Visual Basic đảm nhận
- Visual Basic cho phép ứng dụng tạo ra liên kết với các ứng dụng windows khác rất dễ dàng, cho phép dễ dàng tạo ra các ứng dụng thiên về quản trị dữ liệu và mạng
` - Visual Basic cho phép người dùng giao tiếp với thư viện liên kết động DLL Điêu này giúp giảm kích cỡ chương trình, tập tin thực thi và đặc biệt là làm cho
chương trình có khả năng nâng cấp được đễ dàng hơn
IL TRUYEN THONG NOI TIEP DUNG VISUAL BASIC 6.0 :
Do su phat trién ngày càng tăng của các ứng dụng truyền thông qua công nối tiếp, từ phiên bản 4.0 của Visual Basic, điều khiển truyền thông đã được hoàn chỉnh
để sử dụng cho việc lập trình ghép nối máy tính qua công nối tiếp RS — 232/485
- Bình thương khi chạy chương trình phần mềm Visual Basic ta chỉ thấy một
số thành phần quen thuộc trên thanh công cụ toolbar Nhưng Visual Basic cho phép nhiều thành phần được bổ sung vao Điều khiển truyền thông MSCOMM của là một trong số các đối tượng được bd sung thêm vào một ứng dụng cần cho việc truyền nhận dữ liệu qua công nối tiếp
- Trong Visual Basic 5.0 và 6.0 ta có thể bố sung thành phần MSCOMM như sau :
Chon Project = Components (Ctrl — T), ctra số sau sẽ xuất hiện ,ta đánh dấu như sau :
Trang 29
Trang 33CHUONG IV TIM HIEU VISUAL BASIC
Components Ld
Controls | Designers | insertable Objects |
L_ Microsoft ActiveX Plugin a
[7 Microsoft ADO Data Control 6.0 (OLEDB)
[7 Microsoft Agent Control 2.0
| Microsoft Calendar Control 11.0
C ° Microsoft Chart Control 6.0 (SP4) (OLEDB)
2 ctosakt na nh
i: Microsoft Common Dialog Control 6.0
{_ Microsoft Data Bound List Controls 6.0
L_ Microsoft DataGrid Control 6.0 (OLEDB)
{— Microsoft Datatist Controls 6.0 (OLEDB)
(7 Microsoft DataRepeater Control 6.0 (OLEDB)
[= Microsoft DDS
[— Microsoft Direct Speech Recognition v Browse |
< > I~ Selected Items Only
“Microsoft Comm Control6.0° - ằCOO ¬— |
- Điều khiển truyền thông cung cấp hai khả năng để trao đổi thông tin :
+ Điều khiển sự kiện : truyền thông điều khiển sự kiện là phương pháp tốt nhất được sử dụng trong quá trình điều khiễn, việc trao thông tin nối tiếp khi nó giải phóng máy tính để làm các công việc khác, Trong nhiều tình huống, ta cần được thông báo về sự thay đối, thí dụ khi ta cần biết có sự gởi đến hoặc sự thay đổi xây Ta trên đương DCD (Data Carrier Detect) hoặc RTS (Request To Send) Để làm điều này
ta sẽ sử dụng điều khiển truyền thông OnComm để bấy vào điều khiển các lỗi truyền thông
+ Hỏi vòng (Polling) : Ta cũng có thê hỏi vòng các sự kiện và lỗi bằng cách kiểm tra giá trị của đặc tính ComEyent sau moi chu kỳ của chương trình để xác định xem liệu một sự kiện hay một lỗi đã xuất hiện Chẳng hạn, chương trình có thể tạo vòng lặp để chờ một ký tự cần được nhận Cứ mỗi lần như vậy ký tự được đọc từ bộ đệm nhận Thông thường phương pháp này được sử dụng khi chương trình có thời gian để tiến hành hỏi vòng bộ phận thông tin, hay nói cách khác trong các ứng dụng không lớn
- Visual Basic sử dụng các bộ điều khiên cửa số chuẩn các công truyền tin nối tiếp (như serialui.dll va serial.vxd) Diéu khiển truyền thông được bổ sung cho ứng dụng của một công nối tiếp, nói khác đi mỗi điều khiến truyền thông mà ta dùng chỉ có thé diéu khién mot cong nối tiếp Khi cần truy cập nhiều cổng trong ứng dụng thì ta cần phải dùng nhiều điều khiển truyền thông Địa chỉ công \ và địa chỉ ngắt có thê thay đổi nhờ control panel trong Windows Các tham số (như tốc độ truyền theo bit,
Control panel = System = Device manager = port (COM hay LPT) = Port Settings Viéc thiét lap các công truyền thông (IRQ và địa chỉ cổng) có thể thay đổi
Trang 30
Trang 34bang cach lya chon Control panel =System = Device manager => port (COM hay LPT) => Resources
2 Thuộc tính (Property) :
- Thành phần MSCOMM được bố sung vào biểu mẫu (Form) bất cứ lúc nào cũng cần đến việc truyền thông nối tiếp Theo mặc định, công thứ nhất tạo ra đối tượng có tên là MSComm ], đối tượng ứng với cổng thứ 2 là MSComm 2 Ta có thể nhìn thấy các đặc tính chính của đối tugng la : CommPort, DTREnable, EOFEnable, HandShaking, InBufferSize,v.v Ta thay diéu khiển truyền thông có rất nhiều thuộc tính, nhưng để có thể làm việc với điều khiển truyền thông, trước hết ta ˆ_ cần hiểu kỹ các thuộc tính chính được liệt kê trong bản sau :
CommPort Đặt và trả lại số công truyền thông
Output (Xuất ra) Viết một sâu ký tự tới vào bộ đệm truyền
Private Sub Form_Load ()
‘ bién để lưu trữ chuỗi nhập vào
Dim Instring as String
“ gởi lệnh attention tới Modem
MSComm1.Output = “ATV1Q0” & Chr$(13)
‘dé chic rang Modem tra loi “OK”
“đọc dữ liệu trả lời gởi về công nối tiếp
Do
DoEvents
Buffer$ = Buffer$ & MSComm1 Input
Loop Until InStr (Buffer$,”"OK” & vbCRLE)
- “đọc dữ liệu trả lời “OK”
Trang 35CHUONG IV TIM HIEU VISUAL BASIC
ZN
Thudc tính) tings dat và trả lại các thông số truyền thông cổng RS 232, tốc
độ baud, tính chẵn lẻ, số bit dữ liệu và các bit đừng
Cú pháp :
[form ]Mscomm1.Settings [=paramString$]
+ Nếu paramString$ không hợp lệ thì khi mở công, điều khiển truyền thông
sẽ phát sinh lỗi 380 (lỗi giá trị thuộc tính không hợp lệ)
+ ParamString$ là một chuỗi chứa 4 thông số thiết lập cho công truyền thông
Số bit đữ liệu trong một lần truyền (khung truyền) là 4,5,6,7,8 (mặc định)
Số bit Stop không hợp lệ 1,1.5,2
Thuộc tính này đặt và trả lại trạng thái công truyền thông (đóng hoặc mở cổng) Thuộc tính này không có trong thời gian thiết kế chương trình
Thông số thiết lập của True để mở công, còn False để đóng công (giải phóng công) và xoá nội dung các bộ đệm nhận và truyền Mscomm tự động đóng công nỗi tiếp khi ứng dụng kết thúc (Terminated)
Trước khi dùng thuộc tính này phải đặt thông số công bằng thuộc tính CommPort voi một giá trị hợp lệ, nếu ta quên đi thuộc tính này lỗi 68 sẽ phat sinh
2.4 Các thuộc tính phục vụ việc nhập dữ liệu (Input, InBufferCount và InBufferSize) :
a Thuộc tinh Input :
Thuộc tính Input đặt trả lại và xoá bỏ một chuỗi ký tự từ bộ đệm nhận Thuộc
tính này không có sẵn trong khi thiết kế và là chỉ đọc (Read_only) khi chạy chương
trình
Cú pháp : [form].Mscomm1 Input
Trang 32
Trang 36Thuộc tính InputLen quy định số ký tự được đọc bởi câu lệnh Input Để xác định số ký tự trong bộ đệm, thuộc tính InBufferCount được kiểm tra Đặc tính InputLen 1a 0 dé đọc toàn bộ nội dung của bộ đệm nhận
Thuộc tính InputMode quyết định kiểu dữ liệu thu về qua thuộc tính Input Nếu thuộc tính này được set là ComminputModeText thì thuộc tinh Input sé tra vé dir liệu kiểu Text vào biến Variant Nếu InputMode là ComminputModeBinary thì Input
sẽ trả về đữ liệu nhị phân trong một mảng các bytes vào một biến Variant
IfMscomm1.InBufferCount then “kiểm tra có đữ liệu hay không
InString$ = Mscomm1 Input “đọc dữ liệu
Thuộc tính này có liên quan đến kích thước bộ đệm nhận Giá trị mặc định là
1024 bytes Kích thước của bộ đệm nhận phải được đặt sao cho có thể cất giữ được số lớn nhất của các ký tự sẽ được nhận trước khi chương trình ứng dụng có thể đọc chúng từ bộ đệm, trừ khi ta làm việc ở chế độ bắt tay (HandShaking)
Ta có thể xoá bộ băng cách đặt thuộc tính InBufferCount = 0
Kiểu dữ liệu là Integer
OutputBufferCount và OutputBufferSize) :
a Thuộc tính Output :
Thuộc tính Output sẽ viết một chuỗi ký tự vào bộ đệm truyền, thuộc tính này
không có trong thời gian thiết kế chương trình
Cú pháp : [form].Mscomm1 Output = [outString$]
Thuộc tính Output có thể xuất dữ liệu dạng text hay dạng binary Dé gui dir liệu dang text, ta phải khai báo một biến kiêu Variant và cho nó chứa chuỗi muốn ĐỜI, sau đó gán biến này cho thuộc tính Output Để gởi dữ liệu dạng binary, ta phải truyền một biến Variant chứa một mảng các byte cho thuộc tính Output
Thuộc tính này đặt và trả lại kích cỡ của các ký tự trong bộ đệm truyền
Giá trị mặc định của thuộc tính này là 512 bytes Không nên nhằm lẫn giữa
OutBufferCount nói lên số bytes hiện có trong bộ đệm truyền, còn OutBufferSize quy định tổng kích thước của bộ đệm truyền Không nên để kích thước bộ đệm truyền quá
Trang 33
Trang 37CHƯƠNG IV TÌM HIẾU VISUAL BASIC
lớn Tuy nhiên, nếu để quá nhỏ thì sẽ xảy ra tràn dữ liệu (trừ khi làm việc ở chế độ bắt tay) Thông thường nên bắt đầu với kích thước bộ đệm truyền là 512 bytes Nếu lỗi tràn xảy ra thì phải tăng kích thước bộ đệm cho thích hợp với ứng dụng hiện tại
Kiểu đữ liệu là Integer
Thuộc tính này trả lại số ký tự trong bộ đệm truyền Nhờ thuộc tính này ta có thể xóa nội dung trong bộ đệm truyền bằng cách đặt giá trị của OutBufferCount = 0
Kiểu đữ liệu là Integer
Thuộc tính này xác định xem liệu có cho phép đường RTS hay không Thông thường tín hiệu RTS (Request To Send) được gởi từ máy tính xuống Modem để yêu cầu sự cho phép truyền dữ liệu
Ta xác lập giá trị này 1a True để đặt đường RTS lên mức cao nếu công đang
mở và xuống mức thấp nếu công đang đóng Đường RTS được sử dụng khi có bắt tay phân cứng sử dụng RTS/CTS Thuộc tính RTSEnable cho phép hỏi vòng đường RTS nều ta cân xác định trạng thái của nó
Kiểu dữ liệu là Boolean
Các lỗi truyền thông bao gồm :
ComEventFrame 1004 Phan cứng phát hiện một lỗi Frame truyền
ComEventOverrun | 1006 Tràn công, phân cứng không thể đọc được ký tự này
trước khi ký tự gởi đến và bị mất
ComEventRxParity | 1009 Phân cứng phát hiện một lỗi chăn lẻ
ComEventTxFull | 1010 Bộ đệm truyén day B6 dém truyén bi đầy khi cô
đưa thêm ký tự vào hàng đợi
ComEventDCB 1011 Một lỗi xuất hiện ở bộ điêu khiên dữ liệu (Data
Control Block) của Port
Trang 34
Trang 38Các sự kiện truyền thông bao gồm :
ComEvSend 1 Có ít hơn số ký tự định bởi SThreshold trong bộ
đệm truyền
ComEvReceive |2 Đã nhận số ký tự bằng với số ký tự định bởi
RThreshold Sự kiện này được phát sinh liên tục cho đến khi nào dùng thuộc tính Input để chuyển
đữ liệu khỏi bộ đệm nhận
ComEvCTS 3 Có sự thay đôi trên CTS
ComEvDSR 4 Có sự thay đôi trên DSR Sự kiện này chỉ phát sinh
khi DSR chuyến tir 1 về 0
ComEvCD 5 Có sự thay đôi trên CD (Carrier Detect)
ComEvRing 6 Phát hiện tiếng chuông (một số vi mạch UART
không hỗ trợ việc này)
ComEvEOF 7 Ký tự EOF (Mã Asscii 26) được nhận
Kiêu đữ liệu là Integer
Đặt và trả lại sô ký tự mà thuộc tính Input đọc được từ bộ đệm nhận Giá trị mặc định của thuộc tính này là bằng 0 Đặt InputLen =0 để điều khiển truyền thông đọc hết nội dung bộ đệm nhận
Thuộc tính này rất hữu ích khi đọc đữ liệu từ máy có lối ra được định dạng cố định về chiều dài khối dữ liệu
Kiểu dữ liệu là Integer
2.9 Thuộc tính ParityReplace :
Đặt và trả lại số ký tự dùng thay thế ký tự không hợp lệ trong vùng đữ liệu
khi lỗi chẵn lẻ xảy ra
Bit chẵn lẻ là bit được truyền cùng với các bit dữ liệu và được dùng cho việc kiểm tra lỗi Khi dùng bít chan lẻ, điều khiển truyền thông sẽ cộng tất cả các bit có giá trị bằng 1 và kiểm tra tổng số các bit đó xem là chắn hay lẻ (tương ứng VỚI VIỆC Xác lập bit chẵn lẻ khi mở cổng) Theo mặc định, điều khiển dùng dâu chấm hỏi (2) để
ký tự khi lỗi chan 1é xuất hiện Sự kiện OnComm vẫn được phát sinh và thuộc tính CommEvent được đặt thành ComEvRxPartty
Đặt và trả lại số ký tự sẽ nhận được trước khi điều khiển Mscomml đặt thuộc tính ComEvent thành ComEvReceive và phát sinh sự kiện OnComm
Xác lập bằng 0 dé lam mat kha nang phat sinh sự kiện OnComm khi nhận các
ký tự Chẳng hạn, xác lập băng 1 để làm phát sinh sự kiện OnComm mỗi khi có 1 ký
tự được nhận vào bộ đệm nhận
Kiểu dữ liệu 1a Integer
Trang 35
Trang 39CHƯƠNG IV TÌM HIẾU VISUAL BASIC
Sự kiện OnComm được phát sinh vào bất cứ khi nào giá trị của thuộc tính
Private sub [form].Mscomml_OnComm (Q)
Thuộc tính CommBEvent chứa mã số của lỗi hay sự kiện phát sinh bởi sự kiện
OnComm Nếu đặt các thuộc tính Rthreshold hoặc Sthreshold băng 0 sẽ vô hiệu bấy
sự kiện Receive và Send
4 Hỏi vòng cong RS — 232:
Thường khi làm việc với điều khiên Mscomm], ta dùng phương pháp điều
khiển theo sự kiện Nhưng ta cũng có thể sử dụng kỷ thuật hỏi vòng để thông tin qua
công RS — 232 Chương trình ví dụ sau day str dung COM2 để gởi thông báo “Hello”
và sau đó chờ nhận chuỗi Kỹ thuật này quy định là sẽ nhận được đáp ứng bằng cách
kiểm tra liên tục các ký tự nhận được trong bộ đệm nhận (InBufferCount) Khi có
nhiều hơn một ký tự trong bộ đệm lối vào thì ký tự này sẽ được đọc Chương trình
như sau :
Private sub Form_Load ()
Dim Str as String “chuỗi để chứa dữ liệu
data 1 bit stop
Mscomm11.InputLen = 0 “đọc hết bộ đệm lối vào khi Input
đã được dùng
Text1.text = “Sending : Hello”
Mscomm11.Output = “Hello” “gởi thông báo
Trang 405 Các thông báo lỗi (Error Messages Code) :
380 | Giá trị thuộc tính không hợp lệ | 8009 Lỗi ở thông sô mặc định
chương trình Comm được
chương trình Comm được
8005 | Công đã mở rôi 8018 Tác động chỉ hợp lệ khi chạy
chương trình
8006 | Số nhậ dạng thiết bị là không | 8019 Thiết bị bận
hợp lệ hoặc không được hỗ trợ
8007 | Giá trị baud xác định là không | 8020 Lỗi đọc thiết bị truyền thông
hợp lệ
không hợp lệ điều khiến thiết bị của port
Trang 37