Các phương thức truyền thơng

Một phần của tài liệu đề tài điều khiển giám sát nhà cao tầng dùng vi xử lý 89c51 (Trang 97)

Cĩ 3 phương pháp truyền được dùng trong mục đích truyền thơng tin: Đơn cơng, bán song cơng, và song cơng. Ta sẽ lần lượt khảo sát các phương pháp truyền trên.

1. Đơn cơng:

Đường truyền đơn cơng cĩ khả năng truyền dữ liệu chỉ theo một hướng. Nguyên nhân khơng phải do tính chất của đường dây đơn giản chỉ vì một đầu cuối chỉ cĩ một máy phát và đầu cuối kia cũng chỉ cĩ một máy thu. Cấu hình này ít được sử dụng trong các máy tính vì khơng cĩ cách nào để máy thu phát tín hiệu nhận biết tới máy phát cho biết thơng điệp đã nhận đúng. Phát thanh và truyền hình là một trong những thí dụ về đơn cơng.

2. Bán song cơng(Half-duplex Communication):

Đường truyền bán song cơng cĩ thể phát và nhận dữ liệu theo cả hai hướng khơng đồng thời. Trong suốt một cuộc truyền, một modem là máy phát và modem cịn lại sẽ là máy thu. Ví dụ như một thiết bị A là máy phát gởi dữ liệu đến thiết bị B là máy thu, sau đĩ A và B đổi vai trị cho nhau, B là máy phát gởi tín hiệu báo dữ liệu nhận được cĩ lỗi hay khơng đến máy thu A. Nếu khơng cĩ lỗi thì A và B sẽ lại đổi vai trị cho nhau và A tiếp tục gởi dữ liệu đến máy thu B. Nếu máy thu B báo dữ liệu cĩ lỗi thì máy phát A sẽ gởi lại dữ liệu cũ cho đến khi B báo là dữ liệu khơng cĩ lỗi.

Nhược điểm của phương pháp này là thời gian cần để chuyển đường truyền bán song cơng từ hướng này sang hướng khác cĩ thể dài gấp nhiều lần thời gian truyền một kí tự. Sự chuyển động của xe trên đường ray là một thí dụ về phương pháp này.

3. Song cơng ( Full-duplex Communication):

Ngược lại so với truyền bán song cơng, đường truyền song cơng cĩ khả năng phát và nhận dữ liệu đồng thời theo cả hai hướng. Một cách khái quát, đường truyền song cơng tương đương với 2 đường truyền đơn cơng, một đường cho mỗi hướng.

Vì hai đường truyền cĩ thể tiến hành song song, một đường cho mỗi hướng, nên truyền song cơng cĩ thể phát nhiều thơng tin hơn truyền bán song cơng với cùng tốc độ truyền dữ liệu. Truyền song cơng khơng mất thời gian để thay đổi hướng truyền.

III. Truyền thơng tuần tự:

Hầu hết các máy tính lưu trữ dữ liệu và thao tác dữ liệu theo cách song song. Nghĩa là khi gởi một byte từ bộ nhận này tới bộ nhận khác của máy tính, nĩ khơng truyền từng bit một mà một lúc một byte trên những cáp sợi song song nhau. Số các bit truyền đi cùng một lúc thay đổi tùy thuộc vào từng máy tính nhưng thơng thường là 8 hoặc bội của 8.

Tuy nhiên việc truyền dữ liệu từ máy tính này đến máy tính hay một thiết bị khác thì xảy ra theo kiểu tuần tự, nghĩa là dữ liệu được gởi đi từng bit một. Một bộ giao tiếp tuần tự sẽ đảm nhận nhiệm vụ chuyển đổi dữ liệu từ song song sang nối tiếp trước khi chúng gởi đi hoặc đổi từ nối tiếp sang song song khi chúng nhận về.

Cĩ hai hình thức truyền thơng tuần tự: truyền thơng đồng bộ và khơng đồng bộ.

Truyền thơng bất đồng bộ ( Asynchronous communication):

Khoảng thời gian giữa hai kí tự truyền đi khơng cố định, mặc dù khoảng thời gian giữa hai bit liên tiếp trong một kí tự là khơng thay đổi nhưng khoảng thời gian giữa hai kí tự liên tiếp khơng phải là hằng số. Sự biến thiên tốc độ này làm nảy sinh vấn đề là phải làm sao máy thu phân biệt được giữa bit 0 và khơng cĩ dữ liệu.

Để giải quyết vấn đề trên , người ta phát trực tiếp một bit start ngay trước một kí tự và một hoặc hai stop bit ngay sau mỗi kí tự được truyền đi.

Để kiểm tra lỗi đường truyền, người ta sử dụng bit chẵn lẻ( parity bit), tức kiểm tra tổng số bit trong 1 byte dữ liệu được truyền. Phương thức này thường được sử dụng trong các máy tính PC vì tính đơn giản của nĩ. Hạn chế của phương pháp này là tốc độ truyền thấp do phải truyền thêm một số bit start, bit stop và bit parity.

Truyền thơng đồng bộ ( Synchronous Communications):

Phương thức truyền này khơng dùng các bit start, stop để đĩng khung mỗi kí tự mà chèn các kí tự đặc biệt như SYN ( Synchronization), EOT (End Of

Transmission) hoặc một cờ giữa các dữ liệu của người sử dụng để báo hiệu cho bên nhận biết rằng cĩ dữ liệu đang đến hay đã đến.

Truyền đồng bộ thường được tiến hành ở tốc độ dưới 4800Bps,9600Bps hoặc thậm chí cịn cao hơn. Trong phương pháp này, một khi đã đồng bộ, các modem vẫn tiếp tục gởi các kí tự để duy trì đồng bộ, ngay cả lúc khơng phát dữ liệu. Một kí tự “idle” được gởi đi khi khơng cĩ dữ liệu phát. Trong phương pháp truyền đồng bộ khơng giống như phương pháp truyền bất đồng bộ, khoảng thời

gian giữa hai kí tự luơn bằng nhau.

Truyền thơng đồng bộ địi hỏi các xung clock trong máy phát và thu phải duy trì đồng bộ những khoảng thời gian dài. Thời gian truyền cĩ thể tiếp tục lâu mà khơng cĩ sự tái đồng bộ của máy thu với pha của máy phát tùy thuộc vào sự

ổn định của xung clock.

Chương II

GIAO TIẾP MÁY TÍNH VỚI VI XỬ LÝ

A. Điều khiển thu phát dữ liệu qua cổng Com:

Máy tính và ngoại vi muốn liên kết được với nhau cần phải được kết nối với nhau theo một chuẩn nhất định. Cĩ nhiều kiểu kết nối ngoại vi với máy tính, trong đĩ các cách thường dùng là gắn vào slot trên Mainboard, qua cổng máy in và

thơng qua cổng nối tiếp( cổng Com). Mỗi kiểu đều cĩ nhiều ưu và khuyết điểm khác nhau, tùy theo yêu cầu mà ta cĩ thể chọn những phương cách khác nhau.

Cổng nối tiếp được sử dụng cho việc truyền tín hiệu theo dạng nối tiếp. Cổng nối tiếp truyền mức logic 1 ở tầm điện áp từ –3V đến –25V và mức logic 0 là từ +3V đến +25V. Trong khi đĩ, với cổng song song, mức logic 0 là 0V logic 1 là +5V. Vì vậy cổng nối tiếp cĩ thể cĩ mức chênh lệch điện áp tối đa là 50V so với 5V của cổng song song và do đĩ vấn đề điện áp rơi trên đường dây ở đường truyền nối tiếp khơng nghiêm trọng hơn so với đường truyền song song. Do đĩ truyền tín hiệu theo kiểu nối tiếp khơng bị ảnh hưởng nhiễu nhiều như kiểu cổng song song.

Giao tiếp nối tiếp chỉ sử dụng 3 đường dây cho TXD, RXD và GND và do đĩ yêu cầu cho thiết bị giao tiếp với nĩ cĩ ít chân hơn so với 19 hay 25 dây trong việc giao tiếp song song và yêu cầu ít nhất là 9 chân cho giao tiếp nối tiếp,điều này làm phức tạp thêm cơng nghệ chế tạo và giá thành sản xuất đối với các thiết bị giao tiếp song song.

I. Giới thiệu cổng nối tiếp RS-232C:

Cổng giao RS-232C là giao diện phổ biến rộng rãi nhất. Giống như cổng máy in, cổng nối tiếp RS-232C được sử dụng mức cách thuận tiện cho mục đích đo lường và điều khiển.

Việc truyền dữ liệu qua cổng RS-232C đượ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 nhau trên cùng mức đường truyền dẫn.

Cổng nối tiếp RS-232C khơng phải là một hệ thống bus, nĩ cho phép dễ dàng tạo ra liên kết dưới hình thức điểm-điểm giữa hai máy tính cần trao đổi thơng tin với

nhau. Một thành viên thứ 3 khơng thể tham gia vào cuộc trao đổi này. Mức logic 0 sẽ nằm giữa +3V-> +25v.

Mức logic 1 từ -3V -> -25V.

Khoảng từ –3V -> +3V là trạng thái mặc định. Điện áp hở mạch phải nhỏ hơn 25V.

Dịng ngắn mạch khơng vượt quá 500mA.

Cĩ hai loại Jack cắm nối tiếp RS-232C là loại 9 chân và 25 chân. Chúng khác với cổng máy in ở chỗ cổng máy in là loại ổ cắm cịn đây là Jack nhiều chân. Các Jack cắm RS-232C cĩ tổng cộng 8 đường dẫn chưa kể đường nối đất. Việc truyền dữ liệu xảy ra ở trên hai đường dây TXD và RXD. Máy tính nhận dữ liệu từ các thiết bị khác thơng qua đường TXD và nĩ dùng đường RXD để truyền dữ liệu đến các thiết bị kia.

9 chân 25 chân Chức năng

2 3 RXD- Receive data (In)

3 2 TXD-Transmit Data (Out)

4 20 DTR – Data Terminal Ready(Out)

5 7 GND-Ground(Mass)

6 6 DSR-Data Set Ready (In)

7 4 RTS- Request to Send(Out)

8 5 CTS- Clear To Send (In)

9 22 RI- Ring Indicator(In)

Ký hiệu Tên Chức năng

TD Transmit data Đường truyền dữ liệu RD Receive Data Đường nhân dữ liệu

CTS Clear To Send Báo modem đã sẵn sàng cho việc trao đổi dữ liệu

DCD Data Carrier

detect DCD sẽ tích cực khi modem nhận được dữ liệu. DSR Data Set Ready Báo cho UART là modem đã sẵn sàng cho

việc thiết lập đường truyền. TDR Data Terminal

Ready

Báo cho modem biết là UART đã sẵn sàng cho việc kết nối.

RTS Request To Send

Thơng báo cho modem biết là UART đã sẵn sàng cho việc truyền nhận dữ liệu.

RI Ring Indicator Lên mức tích cực khi modem nhận được tín hiệu.

Bảng chức năng các chân trong RS-232C .

Name Address IRQ Name Address IRQ

COM1 3F8 4 COM 3 3E8 4

COM 2 2F8 3 COM 4 2E8 3

Bảng địa chỉ các cổng.

Việc truyền dữ liệu giữa máy tính và ngoại vi được điều khiển bởi các bộ điều khiển thu phát đồng bộ hay bất đồng bộ.

II. Chip thu phát bất đồng bộ-Vi mạch UART (Universal Asynchronous Receiver) 8250A/16450: Receiver) 8250A/16450:

1. Tổng quan:

Vi mạch 8250A của Intel là một UART được dùng rất rộng rãi.UART 8250A cĩ các chức năng sau:

_ Biến đổi dữ liệu song song từ CPU thành dạng nối tiếp để truyền đi đồng thời thu dịng dữ liệu nối tiếp, đổi chúng thành dữ liệu dạng song song và gởi chúng đến CPU.

_ Thêm các bit start, stop và parity vào từng kí tự trước khi phát đi và tách các bit này ra khỏi kí tự nhận được.

_ Bảo đảm các bit dữ liệu được truyền đi với tốc độ được lập trình trước, kiểm tra để phát hiện lỗi.

_ Set tín hiệu bắt tay phần cứng và cho biết trạng thái của tín hiệu.

2. Các thanh ghi UART:

_ Thanh ghi điều khiển đường truyền (Line Control Register – LCR): Dùng đặt các thơng số truyền.

_ Thanh ghi điều khiển Modem(Modem Control Register- MCR): Điều khiển tín hiệu bắt tay từ UART.

_ Thanh ghi cho phép ngắt( Interrput Enable Register- IER): Thanh ghi này cho phép/cấm các nguyên nhân gây ngắt khác nhau tương ứng với các bit trong thanh ghi. Các bit của thanh ghi này ở mức 1 là cho phép, mức 0 là cấm ngắt.

_ Thanh ghi trạng thái( Status Register –SR):Thơng báo cho CPU biết trạng thái hoạt động của UART:

_ Thanh ghi trạng thái đường truyền (Line Status Register-LSR): Chứa thơng tin về truy xuất dữ liệu.

_ Thanh ghi trạng thái modem( Modem Status Register-MSR): Chứa thơng tin liên quan về trạng thái của những đường truyền bắt tay.

_ Thanh ghi định danh ngắt( Interrupt Identification Register-IIR): Thanh ghi nhận dạng nguồn ngắt là một thanh ghi chỉ đọc ( read only). Trạng thái các bit trong thanh ghi này sẽ thay đổi khi cĩ sự thay đổi trạng thái của các thanh ghi khác trong UART. CPU sẽ đọc bit IR0 để xem cĩ yêu cầu ngắt hay khơng và kiểm tra nguồn ngắt từ các bit IR1-IR0.

Các vi mạch UARTS:

• 8250: Là vi mạch UART đầu tiên. 8250A là phiên bản cải tiến hơn của 8250 với tốc độ được cải tiến nhiều.

• 8250A: Tốc độ nhanh hơn so với 8250, cĩ cùng chức năng như 16450.

• 16450: Cải tiến của 8250, hoạt động tốt ở tốc độ 38.4bps, hiện này vẫn cịn được sử dụng rộng rãi.

• 16550: Là thế hệ đầu tiên của họ UART cĩ buffer. Cĩ hai loại buffer. Tuy nhiên 16550 khơng được sử dụng nhiều và bị thay thế bởi 16550A.

• 16550A: Là vi mạch UART thơng dụng nhất sử dụng cho mục đích giao tiếp với tốc độ cao như 14.4k và 28.8k modem .

• 16650/16750: Thuộc UART thế hệ mới chứa 32/64 byte FIFO, hỗ trợ Power management.

III .Truyền nhận dữ liệu qua cổng nối tiếp:

Việc truyền nhận dữ liệu qua cổng nối tiếp được thực hiện bởi UART. Nguyên tắc chip UART hoạt động cho việc truyền và nhận một kí tự như sau:

b. Để truyền một kí tự, đầu tiên kí tự đĩ sẽ được đưa vào thanh ghi đợi truyền ( Transmit Holding Register), sau đĩ được đưa vào thanh ghi dịch của bộ phát ( Transmit Shift Register). Sau khi kí tự trước đã được truyền xong, từng bit của kí tự được truyền sẽ được dịch vào kênh dữ liệu.

c. Khi nhận một kí tự, đầu tiên các bit của nĩ lần lượt được nạp vào thanh ghi dữ liệu của bộ thu( Receive Shift Register ), sau đĩ chúng được đưa vào thanh ghi dữ liệu của bộ thu ( Receive Data Register ) sau khi đã loại bỏ các bit start, stop và parity.

Thu phát dữ liệu :

Cĩ hai phương pháp để thu phát dữ liệu qua UART. Phương pháp thứ nhất là phương pháp hỏi vịng để chờ dữ liệu được phát xong hoặc nhận xong. Phương pháp thứ hai là phương pháp tạo ra một trình điều khiển ngắt. Phương pháp hỏi vịng chậm hơn nhiều so với phương pháp kia. Tốc độ cao nhất cĩ thể đạt của phương pháp hỏi vịng là 34.8Kbps trong khi phương pháp tạo ngắt cĩ thể đạt được tốc độ 115,2Kbps. Ơû đây ta chọn phương pháp hỏi vịng để điều khiển việc thu phát dữ liệu.

Để phát một kí tự:

Với phương pháp hỏi vịng UART, khi gởi một kí tự ta phải kiểm tra xem thanh ghi đợi truyền cĩ rỗng khơng bằng cách xem bit 6 của LCR cĩ bằng 1 hay khơng .

Để thu một kí tự: để biết khi nào kí tự thu vào hay chưa ta kiểm tra bit 0 của thanh ghi LCR. Nếu nĩ bằng 1 thì đã cĩ 1 kí tự được nhận vào.

Chương III :

CHƯƠNG TRÌNH TRUYỀN THƠNG BẰNG NGƠN NGỮ VISUAL BASIC 6.0

I. Tổng quan về Visual Basic :

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ực sự tạo nên một cuộc cách mạng trong cơng nghệ phần mềm .cho nên khi phát hành Visual Basic 1.0 vào năm 1991, ơng Bill Gates, chủ tịch hãng Microsoft đã gọi Visual Basic là một sản phẩm “đáng nể”, cịn các nhân vật nổi tiếng khác trong giới cơng nghệ phần mềm cũng khơng tiếc lời khen ngợi cơng cụ lập trình trực quan này.

Nếu đã từng cảm thấy thực sự thích thú khi chuyển từ việc sử dụng hệ điều hành MS-DOS sang Windows thì ta cũng dễ hiểu những lời khen ngợi này. Trước đây, khi làm việc trong mơi trường DOS, khơng ít người đã cảm thấy thực sự khĩ khăn với việc phải nhớ những câu lệnh để nhập vào từ dấu nhắc DOS. Windows đã giải quyết khĩ khăn này cho người dùng bằng cách sử dụng một giao diện đồ họa với những nút lệnh, hộp thoại chuẩn, các menu để chọn lựa…Tuy nhiên trước khi Visual Basic ra đời thì để tạo được một ứng dụng trong Windows, các lập trình viên sử dụng C phải tốn rất nhiều cơng sức dành cho việc tạo giao diện cho chương trình. Chỉ cĩ việc tạo một nút lệnh khơng thơi đã cần phải dùng đến hàng trăm dịng ma.

Với VisualBasic, cơng việc tạo giao diện đã trở nên dễ dàng hơn bao giờ 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 tùy chọn, các nhãn, các hộp kiểm…Sau khi tạo giao diện thì cơng việc của ta chỉ là viết mã cho các đối tượng này (gọi là các điều khiển : Control). Như vậy, cĩ thể nĩi, với Visual Basic cơng việc tạo giao diện đồ họa cho ứ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 lý dữ liệu

Một phần của tài liệu đề tài điều khiển giám sát nhà cao tầng dùng vi xử lý 89c51 (Trang 97)

Tải bản đầy đủ (DOC)

(126 trang)
w