Mục lục:

CƠ BẢN VỀ GIAO TIẾP UART: 16 bước
CƠ BẢN VỀ GIAO TIẾP UART: 16 bước

Video: CƠ BẢN VỀ GIAO TIẾP UART: 16 bước

Video: CƠ BẢN VỀ GIAO TIẾP UART: 16 bước
Video: [Tự Học 8051] Giao Tiếp UART 2024, Tháng bảy
Anonim
CƠ BẢN VỀ GIAO TIẾP UART
CƠ BẢN VỀ GIAO TIẾP UART

Bạn có nhớ khi máy in, chuột và modem có những sợi cáp dày với những đầu nối khổng lồ không? Những cái mà thực sự phải được vặn vào máy tính của bạn? Những thiết bị đó có thể đang sử dụng UART để giao tiếp với máy tính của bạn. Mặc dù USB đã gần như thay thế hoàn toàn các loại cáp và kết nối cũ, nhưng UART chắc chắn không còn là dĩ vãng. Bạn sẽ thấy UART được sử dụng trong nhiều dự án điện tử DIY để kết nối mô-đun GPS, mô-đun Bluetooth và mô-đun đầu đọc thẻ RFID với Raspberry Pi, Arduino hoặc vi điều khiển khác của bạn.

UART là viết tắt của Universal Asynchronous Receiver / Transmitter. Nó không phải là một giao thức truyền thông như SPI và I2C, mà là một mạch vật lý trong bộ vi điều khiển hoặc một vi mạch độc lập. Mục đích chính của UART là truyền và nhận dữ liệu nối tiếp.

Một trong những điều tốt nhất về UART là nó chỉ sử dụng hai dây để truyền dữ liệu giữa các thiết bị. Các nguyên tắc đằng sau UART rất dễ hiểu, nhưng nếu bạn chưa đọc phần một của loạt bài này, Khái niệm cơ bản về Giao thức truyền thông SPI, thì đó có thể là một nơi tốt để bắt đầu.

Bước 1: GIỚI THIỆU VỀ GIAO TIẾP UART

Trong giao tiếp UART, hai UART giao tiếp trực tiếp với nhau. UART truyền chuyển đổi dữ liệu song song từ một thiết bị điều khiển như CPU thành dạng nối tiếp, truyền nó nối tiếp đến UART nhận, sau đó chuyển đổi dữ liệu nối tiếp trở lại thành dữ liệu song song cho thiết bị nhận. Chỉ cần hai dây để truyền dữ liệu giữa hai UART. Dữ liệu chảy từ chân Tx của UART truyền đến chân Rx của UART nhận:

Bước 2: Dữ liệu chảy từ chân Tx của UART truyền đến chân Rx của UART nhận:

Luồng dữ liệu từ chân Tx của UART truyền đến chân Rx của UART nhận
Luồng dữ liệu từ chân Tx của UART truyền đến chân Rx của UART nhận

Bước 3:

UART truyền dữ liệu không đồng bộ, có nghĩa là không có tín hiệu đồng hồ để đồng bộ hóa đầu ra của các bit từ UART truyền đến việc lấy mẫu các bit bởi UART nhận. Thay vì tín hiệu đồng hồ, UART truyền thêm các bit bắt đầu và dừng vào gói dữ liệu được truyền. Các bit này xác định đầu và cuối của gói dữ liệu để UART nhận biết khi nào bắt đầu đọc các bit.

Khi UART nhận phát hiện một bit bắt đầu, nó bắt đầu đọc các bit đến ở một tần số cụ thể được gọi là tốc độ truyền. Tốc độ truyền là thước đo tốc độ truyền dữ liệu, được biểu thị bằng bit trên giây (bps). Cả hai UART đều phải hoạt động ở cùng một tốc độ truyền. Tốc độ truyền giữa UART truyền và nhận chỉ có thể chênh lệch khoảng 10% trước khi thời gian của các bit bị lệch quá xa.

Bước 4:

Hình ảnh
Hình ảnh

Cả hai UART cũng phải được cấu hình để truyền và nhận cùng một cấu trúc gói dữ liệu.

Bước 5: UART HOẠT ĐỘNG NHƯ THẾ NÀO

UART sẽ truyền dữ liệu nhận dữ liệu từ một bus dữ liệu. Bus dữ liệu được sử dụng để gửi dữ liệu đến UART bởi một thiết bị khác như CPU, bộ nhớ hoặc vi điều khiển. Dữ liệu được chuyển từ bus dữ liệu đến UART truyền ở dạng song song. Sau khi UART truyền nhận dữ liệu song song từ bus dữ liệu, nó sẽ thêm một bit bắt đầu, một bit chẵn lẻ và một bit dừng, tạo ra gói dữ liệu. Tiếp theo, gói dữ liệu được xuất ra nối tiếp từng bit tại chân Tx. UART nhận đọc gói dữ liệu từng bit tại chân Rx của nó. UART nhận sau đó chuyển đổi dữ liệu trở lại dạng song song và loại bỏ bit bắt đầu, bit chẵn lẻ và bit dừng. Cuối cùng, UART nhận chuyển gói dữ liệu song song với bus dữ liệu ở đầu nhận:

Bước 6: Hình ảnh Cách hoạt động của UART

Hình ảnh Cách hoạt động của UART
Hình ảnh Cách hoạt động của UART

Bước 7:

Dữ liệu truyền qua UART được tổ chức thành các gói. Mỗi gói chứa 1 bit bắt đầu, 5 đến 9 bit dữ liệu (tùy thuộc vào UART), một bit chẵn lẻ tùy chọn và 1 hoặc 2 bit dừng:

Bước 8: Dữ liệu truyền qua UART được sắp xếp thành hình ảnh gói

Dữ liệu được truyền qua UART được tổ chức thành hình ảnh gói
Dữ liệu được truyền qua UART được tổ chức thành hình ảnh gói

Bước 9:

BẮT ĐẦU BIT

Đường truyền dữ liệu UART thường được giữ ở mức điện áp cao khi nó không truyền dữ liệu. Để bắt đầu truyền dữ liệu, UART truyền sẽ kéo đường truyền từ mức cao xuống mức thấp trong một chu kỳ đồng hồ. Khi UART nhận phát hiện sự chuyển đổi điện áp cao xuống thấp, nó bắt đầu đọc các bit trong khung dữ liệu ở tần số của tốc độ truyền.

KHUNG DỮ LIỆU

Khung dữ liệu chứa dữ liệu thực tế đang được chuyển. Nó có thể dài từ 5 bit đến 8 bit nếu sử dụng bit chẵn lẻ. Nếu không sử dụng bit chẵn lẻ, khung dữ liệu có thể dài 9 bit. Trong hầu hết các trường hợp, dữ liệu được gửi với bit ít quan trọng nhất trước tiên.

NGANG BẰNG

Tính chẵn lẻ mô tả tính chẵn hoặc lẻ của một số. Bit chẵn lẻ là một cách để UART nhận cho biết liệu có bất kỳ dữ liệu nào đã thay đổi trong quá trình truyền hay không. Bit có thể bị thay đổi bởi bức xạ điện từ, tốc độ truyền không khớp hoặc truyền dữ liệu khoảng cách xa. Sau khi UART nhận đọc khung dữ liệu, nó sẽ đếm số bit có giá trị là 1 và kiểm tra xem tổng số là số chẵn hay lẻ. Nếu bit chẵn lẻ là 0 (chẵn lẻ), thì tổng các bit 1 trong khung dữ liệu phải là một số chẵn. Nếu bit chẵn lẻ là 1 (chẵn lẻ), các bit 1 trong khung dữ liệu sẽ tổng cộng thành một số lẻ. Khi bit chẵn lẻ khớp với dữ liệu, UART biết rằng quá trình truyền không có lỗi. Nhưng nếu bit chẵn lẻ là 0 và tổng là số lẻ; hoặc bit chẵn lẻ là 1 và tổng số là chẵn, UART biết rằng các bit trong khung dữ liệu đã thay đổi.

DỪNG LẠI MỘT CHÚT

o báo hiệu sự kết thúc của gói dữ liệu, UART gửi sẽ điều khiển đường truyền dữ liệu từ điện áp thấp đến điện áp cao trong ít nhất hai khoảng thời gian bit.

Bước 10: CÁC BƯỚC TRUYỀN TẢI UART

1. UART truyền nhận dữ liệu song song từ bus dữ liệu:

Bước 11: Truyền hình ảnh UART nhận dữ liệu song song từ Bus dữ liệu

Truyền hình ảnh UART nhận dữ liệu song song từ Bus dữ liệu
Truyền hình ảnh UART nhận dữ liệu song song từ Bus dữ liệu

Bước 12: 2. UART truyền thêm Bit bắt đầu, Bit chẵn lẻ và (các) Bit dừng vào Khung dữ liệu:

2. UART truyền thêm Bit bắt đầu, Bit chẵn lẻ và (các) Bit dừng vào Khung dữ liệu
2. UART truyền thêm Bit bắt đầu, Bit chẵn lẻ và (các) Bit dừng vào Khung dữ liệu

Bước 13: 3. Toàn bộ gói được gửi tuần tự từ UART truyền đến UART nhận. UART Nhận Lấy mẫu Dòng Dữ liệu ở Tốc độ Baud được định cấu hình trước:

3. Toàn bộ gói được gửi tuần tự từ UART truyền đến UART nhận. UART Nhận Lấy mẫu Dòng Dữ liệu ở Tốc độ Baud được cấu hình sẵn
3. Toàn bộ gói được gửi tuần tự từ UART truyền đến UART nhận. UART Nhận Lấy mẫu Dòng Dữ liệu ở Tốc độ Baud được cấu hình sẵn

Bước 14: 4. UART nhận loại bỏ bit bắt đầu, bit chẵn lẻ và bit dừng khỏi khung dữ liệu:

4. UART nhận loại bỏ bit bắt đầu, bit chẵn lẻ và bit dừng khỏi khung dữ liệu
4. UART nhận loại bỏ bit bắt đầu, bit chẵn lẻ và bit dừng khỏi khung dữ liệu

Bước 15: 5. UART nhận Chuyển đổi dữ liệu nối tiếp trở lại thành song song và chuyển nó sang Bus dữ liệu ở đầu nhận:

5. UART nhận Chuyển đổi dữ liệu nối tiếp trở lại thành song song và chuyển nó sang Bus dữ liệu ở đầu nhận
5. UART nhận Chuyển đổi dữ liệu nối tiếp trở lại thành song song và chuyển nó sang Bus dữ liệu ở đầu nhận

Bước 16: ƯU VÀ NHƯỢC ĐIỂM CỦA UARTS

Không có giao thức truyền thông nào là hoàn hảo, nhưng UARTs thực hiện khá tốt công việc của chúng. Dưới đây là một số ưu và nhược điểm để giúp bạn quyết định xem chúng có phù hợp với nhu cầu của dự án của bạn hay không:

THUẬN LỢI

Chỉ sử dụng hai dây Không cần tín hiệu đồng hồ Có bit chẵn lẻ để cho phép kiểm tra lỗi Cấu trúc của gói dữ liệu có thể được thay đổi miễn là cả hai bên được thiết lập cho nó Phương pháp được tài liệu hóa và sử dụng rộng rãi NHƯỢC ĐIỂM

Kích thước của khung dữ liệu được giới hạn tối đa là 9 bit Không hỗ trợ nhiều hệ thống phụ hoặc nhiều hệ thống chủ Tốc độ truyền của mỗi UART phải nằm trong khoảng 10% của nhau Tiếp tục đến với phần ba của loạt bài này, Kiến thức cơ bản về I2C Communication Protocol để tìm hiểu về một cách khác mà các thiết bị điện tử giao tiếp. Hoặc nếu bạn chưa làm, hãy xem phần một, Khái niệm cơ bản về Giao thức truyền thông SPI.

Và như mọi khi, hãy cho tôi biết trong phần bình luận nếu bạn có câu hỏi hoặc bất kỳ điều gì khác để bổ sung! Nếu bạn thích bài viết này và muốn xem nhiều hơn như nó, hãy nhớ Theo dõi

Trân trọng

M. Junaid

Đề xuất: