Ứng dụng chuẩn RS-485 trong hệ thống điều khiển tự động sử dụng máy tính

MỤC LỤC

Sự trao đổi với các đường dẫn tín hiệu

Đây là thanh ghi chỉ đọc, được CPU dùng để thu trạng thái hiện tại của dòng tín hiệu đi từ máy in hay thiết bị tới máy tính. Các địa chỉ cơ bản của cổng máy incủa máy tính PC được đặt ở những địa chỉ bộ nhớ xác định và có thể được đọc ra bằng một chương trình viết bằng phần mềm. Từ trước đến nay đã có đến tám kiểu Bus mở rộng được sử dụng cho máy tính cá nhân (gần đây có thêm bus AGV).

Tuy nhiên, cho tới nay, phần lớn các card ghép nối dùng trong kỹ thuật đo lường và điều khiển đều được chế tạo theo tiêu chuẩn ISA. Về sau, máy tính PC/AT ra đời, chúng có thêm một rãnh thứ hai nằm thẳng hàng với rãnh 8 bit kể trên và có 36 chân. A0 ÷ A19 : các đường tín hiệu địa chỉ, xuất địa chỉ và định địa chỉ bus hệ thống gán vào thiết bị ô nhớ và I/O, cho phép truy cập 1Mbyte bộ nhớ khi BALE ở mức cao và được cài ỏ cạnh xuống của.

3 Coồng noỏi tieỏp

Truyeàn Thoõng Qua Coồng Noỏi Tieỏp

Vài nét về nguồn gốc

Từ chuẩn RS-232 ban đầu đó cho đến nay EIA đă phát hành thêm nhiều chuẩn truyền thông khác mang họ RS như RS-422, RS-423, RS-485, các giao diện này đều có những ưu nhược khác nhau mà tùy theo điều kiện sản xuất mà có những áp dụng khác nhau. Là chuẩn của EIA ( Electronics Industries Association ) nhằm định nghĩa giao điện vật lý giữa DTE ( Data terminal Equipment : thiết bị đầu cuối dữ liệu ) và DCE ( Data. Communications Equipment : thiết bị cuối kênh dữ liệu ) (ví dụ giữa 1 máy tính và một modem).  Một trong những yêu cầu quan trọng của RS-232 là thời gian chuyển từ mức logic này sang mức logic khác không vượt quá 4% thời gian tồn tại của 1 bit.

Một trong những vấn đề cần lưu ý khi sử dụng RS-232 là mạch thu phát không cân bằng ( đơn cực, tức là điện áp vào so với đất ). Với chuẩn này độ lợi được gia tăng và sử dụng việc truyền tín hiệu sai biệt ( Differential data ) trên những đường truyền cân bằng. Đồng thời một giao thức mềm đựơc sử dụng để xác định địa chỉ một driver được phép truyền tại một thời điểm, các driver ở trạng thái tổng trở cao.

1. Bảng thông số:
1. Bảng thông số:

Các phương pháp truyền thông

Ví dụ dùng ba phần tử cùng thực hiện một chức năng, nếu đầu ra của một phần tử khác đầu ra của hai phần từ còn lại thì phát hiện sai và phải loại bỏ. Nghĩa là khi gởi 1 byte từ bộ phận này tới bộ phận khác của máy tính, không phải truyền tuần tự từng bít mà truyền đồng thời nhiều bít trên cùng các mạch dây song song. Ký tự được truyền theo các Frame, mỗi frame gồm các start bit, các bít dữ liệu của ký tự được truyền, parity bit ( để kiểm tra lỗi đường truyền), stop bit.

Xử lý truyền và nhận dữ liệu theo phương thức này sử dụng các vi mạch thu phát không đồng bộ vạn năng UART ( Universal Asynchronous Receiver Transmitter ). Phương thức truyền này không dùng các bít 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 1 cờ giữa các dữ liệu của người sử dụng để báo hiệu cho người nhận dữ liệu biết rằng dữ liệu đã hoặc đang đến. Xử lý truyền và nhận là các vi mạch USART ( Universal Synchronous Asynchronous Receiver Transmitter ), vi mạch này cho phép hoạt động trong cả hai chế độ truyền.

Vi mạch UART ( Universal Asynchronous Receiver ) 8250A, 16450

Địa chỉ Port và IRQ’s

    Trong phương pháp này, một khi đã đồng bộ, các Modem vẫn tiếp tục gởi ký tự để duy trì đồng bộ, ngay cả lúc không phát dữ liệu. Phương pháp truyền đồng bộ khác phương pháp truyền bất đồng bộ ở khoảng thời gian truyền giữa hai ký tự luôn giống nhau.  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 và đổi chỳng thành cỏc ký tự song song.

     Thêm các bit Start, stop, 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 kỳ tự truyền đi với tốc độ được lập trình trước, kiểm tra để phát hiện lỗi tương ứng : lỗi ký tự, lỗi parity. DLAB dùng truy cập bit chốt chia, khi DLAB đặt lên’1’ trong thanh ghi điều khiển đường truyền (bit thứ 7 cùa thanh ghi này), thì hai thanh ghi trở nên có giá trị ( Divisor Latch Low Byte : ‘Reg+0’, Divisor Latch High Byte : ‘Reg +1’ ), sau đó chúng ta dùng hai thanh ghi này dùng cho việc đặt tốc độ truyền thông.

    Vi mạch 8250A có 3 tín hiệu chọn chip để tạo điều kiện thuận lợi cho người sử dụng trong việc giải mã địa chỉ cơ bản. Các chân địa chỉ cơ

    1Out RST

    Out DTR

    Trong trường hợp sử dụng tín hiệu đồng hồ chuẩn từ bên ngoài thì ta đưa xung đồng hồ vào chân X-tal1 và bỏ lửng chân X-tal2. Chân RLSD ( receiver line signal detect ) chính là chân tìm thấy sóng mang ( CD hoặc DCD cho tiêu chuẩn RS-232C hoặc Syndet của 8251A ), tức là thiết lập được đường truyền. Tín hiệu RI ( Ring indicator ), cũng là tín hiệu chuẩn của RS-232C, để modem thông báo là có xung réo chuông.

    Các đầu ra phụ OUT1và OUT2 dành cho người sử dụng trong trong trường hợp không tương thích với chuẩn RS-232C. Chân MS (Master reset) là chỗ nối vào của tín hiệu reset của hệ thống có tác dụng xóa tất cả các thanh ghi trong vi mạch 8250A, trừ thanh ghi đệm thu, thanh ghi đệm phát và các thanh ghi MSB và LSB của số chia.

    Thanh ghi này có tên là thanh ghi định dạng dữ liệu vì nó quyết định khuôn dạng dữ liệu của truyền thông trên đường dây. Dạng thức của

    Trong thanh ghi điều khiển đường truyền LCR cần chú ý đến vấn đề sau : việc quy định số.

    DLA B

    SBC B

    SP EPS PE N

    STB WS L1

     Thanh ghi nhận dạng ngắt chỉ dùng để đọc, chứa mã ưu tiên cao nhất của yêu cầu ngắt ( tại chân INTRPT của 8250A ) đang chờ được phục vụ. Do đó khi cần xử lý các yêu cầu ngắt theo kiểu thăm dò, CPU chỉ cần đọc bit 0 của thanh ghi này để biết là có yêu cầu ngắt, và cần xét các bit ( Bit 1, bit 2 ) để xác định nguồn gốc của yêu cầu ngắt.  Thanh ghi ủieàu khieồn Modem: ( Modem control register : MCR ) : Thanh ghi ủieàu khiển modem là thanh ghi đọc ghi.

     Thanh ghi trạng thái đường dây ( Line Status Register : LSR ) : Thanh ghi này là thanh ghi chỉ đọc, cho biết trạng thái của việc truyền tín hiệu trên đường dây như thế nào. Còn khi bit 5 set lên thì thanh ghi truyền phát rỗng nhưng biến đổi nối tiếp dùng thanh ghi dịch có thể đang làm việc. Thanh ghi này còn được gọi là thanh ghi trạng thaí vào từ trang thía RS-232C vì nó cho biết trạng thái hiện thời của các tín hiệu điều khiển modem từ đường dây.

    Giao Tiếp Máy Tính Với Vi Xử Lý

    Truyền nhận qua cổng nối tiếp

     Có hai phương pháp để điểu khiển việc thu phát dữ liệu qua UART: phương pháp hỏi vòng và phương pháp tạo ra một trình điều khiển tạo ngắt.  Tuy nhiên ta có thể sử dụng nhũng cách khác để thực hiện việc truyền dữ liệu với phương pháp đơn giản hơn về giải thuật. Sau đây là một phương pháp có thể sử dụng mà em tham khảo được trong giáo trình Lập trình ghép nối máy tính trong Windows của tác giả Ngô Diên Tập.

    Dể thực hiện được nhũng lệnh trên trong Delphi chúng ta phải có một tệp tin tài nguyên hỗ trợ cú tờn là port.dll do tỏc giả cung cấp. Sau đú ta phải soạn một unit (được chỉ dẫn rất rừ trong giáo trình) để giúp Delphi nhận ra được tài nguyên này. Còn trong Delphi muốn sử dụng thì ta phải” dùng ké” tài nguyên này của VB bằng cách copy têp tin “mscom.ocs”.

    Chuaồn RS-485

    Giới thiệu

    Một số đặt điểm của RS-485

    Đánh giá và mở rộng đề tài

    Ta có thể thiết lập thêm nhiều hình thức quản lý khác nhưng do thực tế công việc chỉ yêu cầu có ba hình thức quản lý như trên.

    Giới thiệu IC sử dụng trong bài

    Phaàn Chửụng Trỡnh Chi Tieỏt

    Bộ nhận có thể sử dụng việc kiểm tra lỗi để đảm bảo rằng data gởi tới luôn đúng. Cách để kiểm tra lỗi là gởi byte data thừa ( redundant data) và kiểm tra byte lỗi ( hay byte thừa đó ). Cách đơn giản kiểm tra lỗi là dùng byte thừa, hoặc gởi 2 lần byte đó.

    Bộ phát gởi mỗi thông tin 2 lần, bộ nhận phải nhận thông tin giống nhau thì thông tin truyền đi mới đảm bảo đúng. Tuy nhiên nó rất có ít trong việc truyền thông tin khi có sự cố đặc biệt. Một cách khác để kiểm tra lỗi là gởi 1 byte kiểm tra lỗi theo byte data, gọi kiểm tra Checksum.

    Checksum là một phép toán được thực hiện trên biểu thức toán học và logic của một byte. Kiểm tra checksum chỉ thực hiện trên một byte, khi truyền lượng thông tin lớn không thể dùng checksum để kiểm tra. Một loại kiểm tra lỗi khác là CRC ( cyclic redundacy code – mã dư tuần hoàn).

    SYMBOL TABLE LISTING

    REGISTER BANK(S) USED: 0

    ASSEMBLY COMPLETE, NO ERRORS FOUND

    TextFile;

    R *.DFM}