Sự khác biệt giữa UART và RS-232?


80

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?


1
Các câu trả lời trên đã đưa ra những hiểu biết về sự khác biệt. Nhưng tôi muốn thêm vào những câu trả lời đó bằng cách thêm một liên kết từ National Cụ thảo luận về chủ đề này một cách chi tiết. Sau đây là liên kết: Khái niệm chung về truyền thông nối tiếp RS-232, RS-422, RS-485
devangmotwani

Câu trả lời:


80

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.

nhập mô tả hình ảnh ở đây ( nguồn )


4
Định nghĩa RS-232 mà tôi đã đọc không nói về một chuỗi bit hoặc thời gian nào cả. Tôi thực sự chưa bao giờ tìm thấy một tiêu chuẩn chính thức mô tả giao thức dừng bắt đầu NRZ không đồng bộ.
Wouter van Ooijen

1
RS-232 không chỉ định chuỗi bit.
slebetman

Rõ ràng, sự phát triển của định dạng nhân vật UART bị chi phối bởi công ty điện thoại Bell đến nỗi không có biến thể nào xuất hiện. Do đó, định dạng bit start / data / parity / stop chưa bao giờ là chủ đề của một tiêu chuẩn độc lập. Việc sử dụng trong toàn ngành thống nhất đến mức không yêu cầu định nghĩa "chính thức". Điều này không đúng với các liên kết vật lý, và do đó RS-232 đã được phát triển.
WhatRoughBeast

3
Các định dạng ký tự UART có trước modem của Bell, nó có trong phần cứng Teletype (tám bit có tính chẵn lẻ) trong ASCII và Baudot trước đó.
Whit3rd

33

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 TXvà một RXdò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 TXRXdò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 TXRXcá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 TXRX, 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áp RS-232 tiêu chuẩn? Không có bất cứ điều gì như vậy. Trong túi thiết bị của tôi, tôi mang theo khoảng một tá bộ điều hợp cho RS-232. RS-232 chỉ định một đầu nối DB-25, nhưng tôi đã thấy DD-9, RJ45, din8 và các đầu nối khác, và ngoài việc kết nối modem với máy tính, tôi chưa bao giờ có thể sử dụng cáp COTS cho bất kỳ dự án rs 232 nào. May mắn thay, 90% thời gian một cặp điều hợp sẽ làm hoặc một cáp tùy chỉnh, chúng rất dễ thực hiện.
hildred

Chỉ dành cho hồ sơ: Tôi nghĩ 'S' trong USART là viết tắt của "Đồng bộ", không phải "Nối tiếp". Xem tại đây . USART là "sự đánh giá" so với các chip UART cũ hơn, cho phép cả các chế độ giao tiếp đồng bộ.
Lorenzo Donati

14

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-422RS-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.


5
+1 cho "chuyển đổi dữ liệu song song thành dữ liệu nối tiếp", không có câu trả lời nào khác ở đây đề cập đến điều này.
TisteAndii
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.