Hầu hết thời gian RS-232 và UART kết hợp với nhau trong các lý thuyết truyền thông nối tiếp. Cả hai có giống nhau không? Từ bài đọc của tôi, tôi đã kết luận UART là một dạng phần cứng của giao thức RS-232. Tôi có đúng không?
Hầu hết thời gian RS-232 và UART kết hợp với nhau trong các lý thuyết truyền thông nối tiếp. Cả hai có giống nhau không? Từ bài đọc của tôi, tôi đã kết luận UART là một dạng phần cứng của giao thức RS-232. Tôi có đúng không?
Câu trả lời:
Không, UART và RS-232 không giống nhau.
UART chịu trách nhiệm gửi và nhận một chuỗi bit. Ở đầu ra của UART, các bit này thường được biểu diễn bằng điện áp mức logic. Các bit này có thể trở thành RS-232, RS-422, RS-485 hoặc có thể là một số thông số độc quyền.
RS-232 chỉ định các cấp điện áp . Lưu ý rằng một số mức điện áp này là âm và chúng cũng có thể đạt tới ± 15V. Độ xoay điện áp lớn hơn giúp RS-232 có khả năng chống nhiễu tốt hơn (dù chỉ ở một mức độ nào đó).
Một UART vi điều khiển không thể tự tạo ra các mức điện áp như vậy. Điều này được thực hiện với sự trợ giúp của một thành phần bổ sung: Trình điều khiển dòng RS-232. Một ví dụ kinh điển về trình điều khiển dòng RS-232 là MAX 232 . Nếu bạn đi qua bảng dữ liệu, bạn sẽ nhận thấy rằng IC này có bơm sạc, tạo ra ± 10V từ + 5V.
( nguồn )
UART (hoặc USART) - Bộ thu / phát không đồng bộ phổ (đồng bộ)
Về cơ bản, đây là một giao diện truyền thông nối tiếp. Phần "phổ quát" có nghĩa là nó có thể được cấu hình để hỗ trợ nhiều giao thức nối tiếp cụ thể khác nhau. Thuật ngữ này là chung chung, và không đại diện cho một tiêu chuẩn cụ thể. Tối thiểu nó có nghĩa là nó có một TX
và một RX
dòng, sẽ gửi một luồng dữ liệu nối tiếp và nhận một luồng dữ liệu nối tiếp.
RS-232 - Một tiêu chuẩn xác định tín hiệu giữa hai thiết bị, xác định tên tín hiệu, mục đích, mức điện áp, đầu nối và sơ đồ chân của chúng.
Đây là một tiêu chuẩn giao diện cụ thể cho phép khả năng tương tác của thiết bị. Mặc dù hai phần cứng có thể có UART, bạn không biết rằng chúng sẽ kết nối mà không bị hỏng hoặc giao tiếp đúng trừ khi bạn biết chúng có cùng tiêu chuẩn pinout và điện áp, hoặc bao gồm một bộ chuyển đổi hoặc cáp có dây đặc biệt dành riêng cho kết nối của hai thiết bị cụ thể này. Để tránh sự cần thiết của bộ chuyển đổi hoặc cáp đặc biệt, các nhà sản xuất có thể chọn tuân theo tiêu chuẩn RS-232. Sau đó, bạn biết rằng cáp RS-232 tiêu chuẩn sẽ kết nối cả hai.
Tuy nhiên, cả UART và tiêu chuẩn RS-232 đều không xác định nội dung được gửi trên TX
và RX
dòng. Thông thường, khi mọi người sử dụng RS-232, họ sử dụng mã hóa NRZ 8 bit đơn giản với một bit start và một bit stop. Hầu hết các thiết bị ngày nay được sản xuất đều sử dụng mã hóa này, nhưng không có yêu cầu phải làm như vậy. Bạn có thể tìm thấy thiết bị cũ hơn bao gồm các bit chẵn lẻ hoặc sử dụng 7 hoặc 9 bit. UART có thể được cấu hình để hỗ trợ các giao thức khác nhau trên TX
và RX
các dòng của nó .
Các UART thường không giao tiếp trực tiếp với RS-232. Bạn sẽ cần chuyển đổi đầu ra của UART thành tiêu chuẩn +/- 12V mà RS-232 yêu cầu. Một giao diện RS-232 hoàn chỉnh thường sẽ bao gồm cả bộ chuyển đổi cấp UART và RS-232. Hơn nữa, tiêu chuẩn RS-232 bao gồm định nghĩa của một số chân báo hiệu khác bên cạnh TX
và RX
, bạn có thể cần sử dụng tùy thuộc vào thiết bị bạn cần kết nối. Chúng cũng cần được chuyển đổi mức và UART của bạn có thể hoặc không thể hỗ trợ các tín hiệu này. Nếu không, bạn sẽ phải điều khiển chúng trực tiếp bằng phần mềm / chương trình cơ sở.
Vì vậy, mặc dù UART có thể giúp bạn triển khai giao diện RS-232, nhưng bản thân nó không phải là giao diện RS-232.
Các chức năng UART để chuyển đổi dữ liệu song song từ các tuyến bus PC sang dữ liệu nối tiếp để truyền qua trình điều khiển đường truyền sang các thiết bị RS-232, RS-422 và RS-485 . Pin đồng hồ của chip UART được cung cấp bởi nguồn đồng hồ có thể lập trình. Tốc độ xung nhịp được xác định bởi cấu hình tốc độ baud mà thiết bị sẽ sử dụng. Tốc độ đồng hồ là 16 X tốc độ baud. Đặt đầu dò dao động trên chân đồng hồ của chip UART và xác định tần số, sau đó chia cho 16 là một cách để xác định tốc độ truyền không xác định.