CÁC CHUẨN GIAO TIẾP CỦA MÁY TÍNH 1.Một số khái niệm về truyền thông
2.2.2. Thanh ghi trạng thá
Có địa chỉ là 379h.
Hình 5.3: Cấu trúc thanh ghi trạng thái
2.2.3.Thanh ghi điều khiển
Có địa chỉ là 37AH
Hình 5.4: Cấu trúc thanh ghi điều khiển
2.3.Hoạt động của việc trao đổi dữ liệu 2.3.1.Hoạt động của phần phát
-Đọc BUSY cho đến khi BUSY\ = 1. -Gửi dữ liệu ra bus dữ liệu
-Cho STROBE = 0.
-Chuẩn bị dữ liệu tiếp theo -Quay về bước 1
-Đọc STROBE cho đến khi STROBE = 1. -BUSY = 0, ACK = 0.
-Đọc dữ liệu vào. -Đưa ACK = 1. -Xử lý dữ liệu.
-Cho BUSY = 1 để phát ký tự tiếp theo -Quay về bước 1
3.Căn bản bản về cổng nối tiếp
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 COM1, 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 cũng đượ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 vi. Việc truyền dữ liệu qua cổng RS-232 được tiến hành theo cách nối tiếp, nghĩa là các bit dữ 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. Hiện nay cổng COM được dùng rất rộng rãi trong các thiết bị dùng cho công nghiệp và thí ngiệm kể cả các thiết bị đo co thể giao tiếp với máy tính. Trong một hệ thống điều khiển tự động thì việc thu thập dữ liệu vào để có cơ sở cho hệ thống làm việc là rất quan trọng. Hiện nay có rất nhiểu thiết bị đo có hộ trợ cho phép chúng ta truy xuất dữ liệu qua chuẩn RS-232. Đây là thuận lợi lớn cho chúng ta có thể ứng dụng ttrong các hệ thống điều khiển. Kết nối giữa máy tính và thiết bị có thể trực tiếp thông qua một cáp có nhiều sợi hoặc có thể thông qua các bộ ghép nối cách ly về điện để an toàn cho máy tính như là kế nối quang học.
Để giao tiếp với máy tính người ta thường dùng những chuẩn như sau: RS- 232,RS422, RS485, chuẩn dòng điện 20mA. Tất cả các chuẩn trên đều có thể dùng để truyền nối tiếp bất đồng bộ như yêu cầu của cổng nối tiếp.
Như tên gọi của nó truyền bất đồng bộ sẽ không truyền xung nhịp đồng bộ giữa hai đầu thu nhận tín hiệu. Trình tự thu và phát dữ liệu như sau:
-Bit báo bắt đầu (start bit) được truyền đầu tiên: nó có nhiệm vụ báo cho đầu thu bắt đầu tiếp nhận một byte dữ liệu mới. Nó có trạng thái ngược với trạng thái của đường truyền và bit start luôn mang giá trị 0.
-Các bit dữ liệu: các bít chứa thông tin cần truyền đi. Trình tự của các bit là bắt đầu từ bit có trọng số thấp nhất LSB và bít có trọng số lớn nhất MSB sẽ được gữi đi sau cùng. Các bit truyền thông qua cổng nối tiếp có thể là các lệnh điều khiển thiết bị, các giá trị đọc từ cảm biến, các báo cáo của thiết bị ngoại vi, các thông báo lỗi,….dữ liệu được truyền có thể ở dạng nhị phân hoạc dạng text theo mã ASCII. Hầu hết các cổng nối tiếp cho phép sử dụng từ 5 tới 8 bit dữ liệu. Dữ liệu dạng nhị phân thường được truyền thành từng byte 8 bit. Nếu dữ liệu dạng text có thể truyền theo mã ACSII 7 bit, tuy nhiên nếu sử dụng 8 bit để truyền mã ASCII thì bit thứ 8 phải ở giá trị 0.
-Bit parity: là bít kiểm tra lỗi. Có nhiều quy ước để kiểm tra lỗi tuy nhiên bit này có thể được sử dụng hay không tuỳ từng trường hợp.
-Bit stop: nay là bit để báo rằng byte dữ liệu đã hoàn thành viện gửi. Bit này có thể có độ dài từ 1 tới 2 bit dữ liệu và có cùng trạng thái với đường tuyền khi nghĩ. Bit stop luôn mang giá trị 1. Chân của cổng nối tiếp được chuyển thành trạng thái ON bởi bit stop. Chính bít này báo kết thúc một byte và cho phép bắt đầu sẳn sàng tiếp nhận một byte mới.
Chú ý rằng trong thực tế không có loại kiểm tr nào loại bỏ được hoàn toàn những sai sót trên đường truyền. Tuy nhiên xác xuất lổi xẩy ra số sai số chẳn trong 8 bit dữ liệu là rất hiếm. Vì thế các loại kiểm tr chẳn và lẽ có thể loại bỏ đa cố các lỗi của đường truyền.
Sự tích luỹ độ lệch xung đồng bộ không được quá lớn vì có thể gây ra lỗi trong việc phát hiện bit cuối cùng của khung ký tự. Các bít dừng luôn được đặt ở mức 1 và có thể được dùng để kiểm tra độ lệch thời gian. Nếu các bit dừng không còn ở mức 1 thì đầu thu sẽ báo rằng có lỗi khung (frame error) xẩy ra. Các bít dừng cũng chính là khoảng bào vệ tối thiểu giữa các khung ký tự.
Việc lập giao thức cũng không theo một quy tắc cứng nhắc nào mà có thể điều chỉnh các phần sau:
-Độ rộng của stop bit.
-Số bit được truyền trong một frame. -Loại kiểm tra.
-Có dùng kiểm tra hay không. -Tốc độ truyền.
-Cổng truyền.
Hình 5.5: Sơ đồ chân cổng nối tiếp 25 chân
3.1.Chuẩn RS-232C
Chuẩn RS-232 được hiệp hội công nghiệp viễn thông (telecommunication industry association) đề nghị năm 1969. Phiên bản hiện nay là RS-232C tuy nhiên thuật ngữ RS-232 vẫn còn được dùng rất thông dụng. Chuẩn này để kết nối cá đường điều khiển và dữ liệu giữa một modem và một thiết bị đầu cuối hặoc máy tính.
Chuẩn này xem modem là DCE (data circuit teminating equipment) cũng như các thiết bị khác như máy in,…. máy tính được xem như là đầu cuối dữ
liệu(data terminal equipment). Do đó chuẩn này được dùng để kết nối một DET tới một DCE với các chân chỉ định được thực hiện theo kỹ thuật nối cáp đồng vị (straight-through cabling).
Chuẩn RS-232C có thể dùng để truyền dữ liệu với tốc độ khoảng 20Kbps với khoảng cách lớn nhất là 15m. Đây cũng là dạng giao tiếp TTL và bộ kích đường dây không cân bằng.
3.2.Đặc điểm kỹ thuật về điện của RS-232C
Mức điện áp của chuẩn RS-232C là khoảng điện áp từ -15V tới +15V. Các đường dữ liệu sử dụng mức áp âm làm mức logic 1 có điện thế khoảng -15V tới -5V và mức áp dương làm mức logic 0 có điện áp khoảng 5V tới 15V. Tuy nhiên các đường điều khiển (ngoại trừ TD và RD) thì ngược lại sử dụng mức logic dương có giá trị true=+5V=>15V còn false=-15V=>-5V.
Chuẩn này mức nhiểu tối đa là 2V. Do vậy ngưỡng nhỏ nhất của ngõ vào là khoảng +/-3V và của ngõ ra là +/- 5V. Ngõ ra của bộ kích phát khi không có tải thì điện áp là khoảng +/-25V.
Điện trở tải nhìn từ bộ kích phát có giá trị khoảng 3 tới 7 Kohm. Điện dung tải nhìn từ bộ kích phát không vựơt quá 2500pF.
Tốc độ thay đổi (slew rate) của điện áp không được vượt quá 30V/µs để tránh sự giao động quá mức.
Đối với đường điều khiển, thời gian chuyển từ true sang false hoặc ngược lại không được vượt quá 1ms. Đối với đường dữ liệu thì thời gian chuyển đổi từ 0 sang 1 và ngược lại không vượt quá 4% thời gian một bit hay 1ms.
3.3.Các đường dữ liệu và điều khiển của RS-232C
Cổng nối tiếp có hai loại đường: đường dữ liệu và đường điều khiển. để cá chân này hoạt động được cần có đường mass. Chuẩn RS-232C sử dụng đầu kết nối 25 chân tuy nhiên trong hầu hết các máy tính và các hệ điều hành và các mày có thể giao tiếp đều sử dụng đầu kết nối 9 chân. Thực tế chỉ cần sử dụng 3 chân là TD, RD và Mass là đã có thể thực hiện được việc truyền thông nối tiếp.
Chuẩn này có các đường điều khiển như sau:
DTR (dataterminal ready):báo thếit bị đầu cuối sẳn sàng.
DSR (data set ready): báo modem đã sẳn sàng.ta có thể sử dụng cách bắt tay phần cứng. Khi sử dụng cách bắt tay này thì cho phép cả DTE và DCE sử dụng DTR và DSR.
-DTE nâng DTR để báo cho DCE biết rằng DTE đang sẳn sàng nhận dữ liệu. -DCE nâng chân DTR có nghĩa là nó đã xoá dữ liệu trên chân TD. Nếu dữ liệu không được gửi, chân DST được hạ xuống.
-Dữ liệu được truyền tới DCE qua chân TD. Nếu sau một khỏang thời gian không nhận được dữ liệu thì chân dtr được DTE hạ xuống và quá trình truyền dữ liệu kết thúc.
RST (request to sent): để báo rằng thiết bị đầu cuối yêu cầu phát dữ liệu. CTS (clear to send) modem đáp ứng nhu cầu gửi dữ liệu của thiết bị đầu cuối và cho biết rằng thiết bị đầu cuối có thể sử dụng kênh để truyền dữ liệu. CD (carrier detect): modem báo cho thiết bị đầu cuối biết rằng đã nhận được sóng mang hợp lệ (nếu sử dụng đường truyền điện thoại).
RI(ring indicate): các modem tự động trả lời và báo phát hiện tín hiệu chuông từ điện thoại.
3.4.Bộ kết nối RS-232C
Modem rỗng của RS-232C: nếu kết nối DTE và DCE bằng cách dùng cáp nối tiếp đồng vị, thì chân TD của thiết bị này phải nối tới chân RD của thiết bị kia. Vì thế khi kết nối hai thiết bị giống nhau ta có thể dùng cáp modem rỗng. Như hình sau các hộp cáp modem rỗng được đan chéo nhau.
Các IC kích và thu của RS-232C: nhờ tính phổ biến của RS-232C mà ngưới ta chế tạo ra các IC kích phát và thu chuyên dùng để chuyển đổi giữa chuẩn TTL hay CMOS thành chuẩn RS-232C. Hãng Motorola sản xuất cá ic kích phát MC1488 và thu MC1498. khi kích phát thì IC chuyển tín hiệu từ chuẩn TTL thành RS-232C và khi thu thì ngược lại. Có những ic có cả chức năng phát và thu rất tiện lợi cho người sử dụng là IC HIN232.
3.5.Bộ điều khiển đường truyền MAX232
Vì RS-232 không tương thích với các bộ xử lí và vi điều khiển hiện nay nên ta cần một bộ điều khiển đường truyền (bộ chuyển đổi điện áp
để chuyển đổi các tín hiệu RS232 về các mức điện áp TTL được các chân TxD và RxD của 8051 chấp nhận.
Bộ MAX232 chuyển đổi từ các mức điện áp RS232 về mức TTL và ngược lại. Một điểm mạnh khác của chip MAX232 đó là dùng điện áp nguồn+5V, cùng với điện áp nguồn 8051. MAX232 có hai bộ bộ điều khiển đường truyền là nhận và truyền dữ liệu . Các bộ điều khiển dùng cho TxD gọi là T1 và T2. Bộ điều khiển T1 của của MAX232 có gán T1in và T1out trên các chân 11 và 1 tương ứng. Chân T1in được nối tới vi điều khiển, còn T1out được nối tới RxD của đầu nối DB của RS232. Bộ điều khiển R1 cũng có giá trị R1in và R1out trên các chân 13 và 12 tương ứng. Chân R1in (chân số 13) là ở phía RS232
được nối tới chân TxD đầu nố DB của RS232 và chân R1uot (chân số 12) là ở phía TL và được nối với chân RxD của bộ vi điều khiển.
Hình 5.3: Sơ đồ chân MAX232
MAX232 cần có 4 tụ điện giá trị từ 1 đến 22uF.Giá trị thường dùng là 22uF.
3.6.Các chuẩn giao tiếp khác
Chuẩn dòng 20mA Chuẩn RS422
Chuẩn RS485 Chuẩn RS449
Chương 6