Chương 1 : Dẫn nhập 4 do an Nghiên cứu và ứng dụng màn hình 4D Systems vào điều khiển trong công nghiệp Chƣơng 2 CƠ SỞ LÝ THUYẾT Chương 2 : Cơ sở lý thuyết 5 do an Nghiên cứu và ứng dụng màn hình 4D Systems vào điều khiển trong công nghiệp 2.1 Chuẩn truyền thông UART Hình 2.1 Giới thiệu UART chuyển đổi giữa dữ liệu nối tíêp và song song.Một chiều, UART chuyển đổi hệ thống tuyến dữ liệu song song ra dữ liệu nối tiếp để truyền đi.Một chiều khác, UART chuyển đổi dữ liệu nhận được dạng dữ liệu nối tiếp thành dạng dữ liệu song song cho CPU có thể đọc vào tuyến hệ thống. UART của PC hỗ trợ cả hai kiểu giao tiếp song công và bán song công.Giao tiếp song công tức là UART có thể gửi và nhận dữ liệu vào cùng một thời điểm.Còn giao tiếp bánsong công là chỉ có một thiết bị có thể chuyển dữ liệu vào một thời điểm, với tín hiệu điều khiển hoặc mã sẽ quyết định bên nào có thể truyền dữ liệu. Thêm vào đường dữ liệu, UART hỗ trợ bắt tay chuẩn RS232 và tín hiêu điều khiển như RTS, CTS, DTR, DCR, RT và CD. Trong PC, hệ điều hành và ngôn ngữ lập trình hỗ trợ cho lập trình liên kết nối tiếp mà không cần phải hiểu rõ chi tiết cấu trúc UART .Để mở liên kết, ứng dụng lựa chọn một tốc độ truyền hoặc là thiết lập khác hoặc cho phép truyền thông tại các cổng.
Để gửi 1 byte, ứng dụng ghi byte này vào bộ đệm truyền của cổng được lựa chọn, và UART gửi dữ liệu này, từng bit một, trong định dạng yêu cầu, thêm bít Start, bit Stop, bit chẵn lẻ khi cần. Trong một cách đơn giản, byte nhận được tự động được lưu trữ trong bộ đệm. UART có thể dùng nhanh một ngắt để báo cho CPU và các ứng dụng biết dữ liệu đang nhận được và các sự kiện khác. Một vài vi điều khiển không bao gồm UART, và thỉnh thoảng bạn cần nhiều hơn các UART mà vi xử lí có.
Trong trường hợp này, có 2 lựa chọn: thêm UART ngoài, hoặc mô phỏng UART trong mã chương trình. Basic Stamp của Parallax là một ví dụ của chip với một UART bổ sung trong mã chuơng trình. UART là một thiết bị đơn giản hỗ trợ tốt cả hai kiểu truyền thông song công và bán song công.2 Cách định dạng và giao thực dùngtruyền thông nối tiếp 2.1 Gửi dữ liệu nối tiếp Trong một liên kết nối tiếp, nơi gửi dữ liệu sẽ gửi từng bit một ở mỗi thời điểm nối tiếp nhau. Một liên kết nối tiếp chỉ có 2 thiết bị thì phải có đường dẫn dành cho mỗi chiều truyền hoặc là nó chỉ có 1 đường dẫn được chia sẻ bởi cả 2 thiết bị với thoả thuận của 2 thiết bị này.
Khi mà có 3 hoặc nhiều thiết bị, tất cả các thiết bị này thường dùng chung Chương 2 : Cơ sở lý thuyết 6 do an Nghiên cứu và ứng dụng màn hình 4D Systems vào điều khiển trong công nghiệp một đường dẫn, và giao thức mạng quyết định xem thiết bị nào có quyền truyền nhận dữ liệu. Một tín hiệu đòi hỏi bởi tất cả mọi liên kết nối tiếp là tín hiệu xung nhịp, hoặc là có sự tham khảo về thời gian để điều khiển đường truyền dữ liệu. Nơi truyền và nơi nhận dùng xung nhịp để quyết định khi nào gửi và khi nào đọc mỗi bit. Có hai dạng định dạng dữ liệu là song công và bán song công, và mỗi định dạng này dùng các dạng xung nhịp khác nhau .2 Định dạng đồng bộ Trong truyền đồng bộ, mọi thiết bị dùng một xung được phát ra bởi một thiết bị hoặc từ một nguồn xung ngoài.
Xung có thể có một tần số cố định hoặc có thể chốt tại những khoảng thời gian không đều nơi nhận dùng sự chuyển đổi xung để quyết định khi nào đọc mỗi bit truyền tới. Từ hình vẽ các bạn cũng có thể thấy là nơi truyền sẽ truyền các bit khi mà nhận thấy sự chuyển cạnh xung từ cao xuống thấp, và nơi nhận thì ngược lại phát hiện khi nào có sự chuyển cạnh xung từ thấp lên cao thì đọc các bit.Chi tiết chính xác của giao thức này có thể biến đổi khác đi. Ví dụ, nơi nhận có thể chốt dữ liệu nhận trong xung cạnh lên hoặc cạnh xuống, hoặc là phát hiện mức logic ở mức cao hoặc thấp. Định dạng đồng bộ dùng các cách khác nhau để bắt đầu và kết thúc việc truyền dữ liệu, bao gồm bit Start và bit Stop và tín hiệu lựa chọn chíp.3Định dạng không đồng bộ Trong truyền không đồng bộ, liên kết không bao gồm đường xung nhịp, bởi vì mỗi điểm đầu cuối của liên kết đã có xung nhịp cho riêng từng cái.Mỗi điểm sẽ cần phải đồng ý cùng một tần số của đồng hồ và mọi đồng hồ chỉ khác nhau một vài %.
Mỗi byte truyền đi bao gồm bit Start để đồng bộ đồng hồ và một hoặc nhiều bit Stop cho tín hiệu kết thúc việc truyền trong mỗi một từ được truyền đi. Cổng RS-232 trong PC dùng định dạng không đồng bộ để giao tiếp với modems(thiết bị mã hoá, giải mã dữ liệu) và các thiết bị khác. Dù RS-232 có thể truyền dữ liệu đồng bộ nhưng liên kết không đồng bộ vần được dùng phổ biến hơn.4Cơ chế chống mất dữ liệu Phần lớn các máy tính trong mạng nối tiếp có nhiều việc phải làm bên cạnh việc chờ nhận dữ liệu. Ví dụ, mỗi đơn vị dữ liệu có thể thu thập theo chu kì và lưu trữ dữ liệu tới khi một mắt xích khác trong mạng yêu cầu dữ liệu này.
Hoặc một điều khiển có thể đáp ứng các điều kiện điều khiển và điều hành, thỉnh thoảng lại nhận thông tin hoặc nhận các yêu cầu từ trong mạng. Một máy tính muốn truyền dữ liệu trong khi một máy nhận khác đang bận với các công việc khác.Việc thiết kế mạng phải đòi hỏi rằng mỗi nơi nhận có thể biết được dữ liệu nào chuyển đến nó và tất cả mọi dữ liệu đến máy nhận phải không có lỗi. Có nhiều cách làm để thực hiện điều đó, bao gồm bắt tay(handshaking),bộ đệm( buffering), dùng dò( polling) và ngắt( interrupts) để phát hiện dữ liệu đã đến, kiểm soát lỗi( error checking), và thừa nhận dữ liệu đã tới( acknowledging). Mỗi liên kết có thể dùng một hoặc nhiều cách trong số những cách này.
Chương 2 : Cơ sở lý thuyết 7 do an Nghiên cứu và ứng dụng màn hình 4D Systems vào điều khiển trong công nghiệp 2.5 Bắt tay: Với tín hiệu bắt tay, máy phát có thể xác định khi nào máy tính này phải truyền dữ liệu và máy nhận có thể biết khi nào nó sẵn sàng nhận dữ liệu. Tín hiệu có thể biến đổi qua RS- 232 hoặc RS-485 theo giao thức chuẩn hoặc giao thức qui ước. Một trong những dạng bắt tay về phần cứng, nơi nhận đưa ra dòng mức cao khi sẵn sàng nhận dữ liệu, và nơi truyền chờ tín hiệu này trước khi truyền dữ liệu. Nơi nhận có thể đưa ra dòng mức thấp trong mọi thời điểm, thậm chí cả trong quá trình chờ dòng phản hồi cao trước khi kết thúc quá trình truyền nhận.
Một số dạng liên kết khác hoạt động giống nguyên tắc ở trên nhưng với bắt tay bằng phần mềm, bằng cách nơi nhận gửi một mã để báo nó sẵn sàng nhận dữ liệu, và một mã khác để báo báo cho nơi truyền dừng quá trình gửi dữ liệu.6Bộ đệm Bộ đệm là một dạng khác để nơi nhận có thể chắc chắn là không mất một dữ liệu nào gửi đến chúng. Bộ đệm có thể có ích cho phía truyền, nơi cho phép ứng dụng làm việc có hiệu quả bằng cách lưu trữ dữ liệu để gửi khi liên kết sẵn sàng để truyền nhận dữ liệu. Bộ đệm có thể là bộ đệm phần cứng, phần mềm hoặc cả hai.Cổng nối tiếp dùng tất cả các dạng này nhưng máy tính cổ nhất có 16 byte bộ đệm phần cứng được tích hợp trong những UART.Trong chiều nhận, điều đó có nghĩa rằng UART có thể lưu trữ 16 byte trước khi phần mềm cần đọc chúng. Trong chiều nhận, UART có thể lưu trữ 16 byte và UART sẽ cẩn thận truyền mỗi byte theo từng bit tứng bít theo giao thức lựa chọn.7 Thăm dò và ngắt Sự kiện gây ra ở cổng nối tiếp bao gồm khi truyền và nhận dữ liệu, thay đổi tín hiệu bắt tay và gửi, nhận thông điệp lỗi.
Có hai cách cho ứng dụng phát hiện và gây ra những sự kiện này. Các thứ nhất là có chương trình tự động nhảy tới các chuỗi sự kiện được sắp xếp trước( như bảng vector ngắt) khi một sự kiện xảy ra. Ứng dụng phản ứng nhanh và tự động hoạt động ở cổng mà không lãng phí thời gian kiểm tra, chỉ cần biết như không có hoạt động nào xảy ra.Dạng lập trình này gọi là chạy đua sự kiện( event-driven) bởi vì một sự kiện bên ngoài có thể xảy ra trong bất kì thời điểm nào và chương trình chạy tới một bảng đặc biệt. Cách thứ hai là thăm dò bằng cách đọc theo từng chu kì hoặc phát ra tín hiệu tìm kiếm khi nào một sự kiện xảy ra.
Dạng lập trình này gọi là lập trình thủ tục, và không dùng ngắt phần cứng. Ứng dụng phải chắc chắn thăm dò cổng một cách đầy đủ để không mất bất kì một dữ liệu nào hoặc sự kiện nào. Tần số thăm dò phụ thuộc vào kích thước bộ đệm và tổng dữ liệu cần lấy( cần cho phản ứng nhanh). Ví dụ, nếu một thiết bị có 16 byte bộ đệm và dò cổng 1 lần/1 giây, thiết bị này chỉ có thể nhận không thể lớn hơn 16 byte/ 1 giây hoặc là bộ đệm sẽ bị tràn hoặc là dữ liệu sẽ bị mất.
Phương pháp thăm dò thường áp dụng cho truyền dữ liệu ngắn, đột ngột hoặc khi máy tính gửi dữ liệu và chớ đợi tín hiệu phản hồi nhanh. Một giao diện thăm dò không yêu cầu ngắt phần cứng, và bạn có thể chạy dạng lập trình này ở trên cổng mà không có đường ngắt. Nhiều giao diện thăm dò dùng ngắt timer của hệ thống để có kế hoạch đọc cổng sau một khoảng thời gian cố định. Chương 2 : Cơ sở lý thuyết 8 do an Nghiên cứu và ứng dụng màn hình 4D Systems vào điều khiển trong công nghiệp 2.3 Chuẩn truyền thông RS485 2.1 Giới thiệu về chuẩn RS485 Hình 2.2: Mạng truyền thông RS485 Hiện nay chuẩn giao tiếp RS232 không còn phù hợp nữa vì khoảng cách truyền hạn chế, chỉ truyền nhận giữa hai thiết bị và nhiễu cao do chỉ có một mass chung.