Mục lục:
- Bước 1: GIỚI THIỆU VỀ GIAO TIẾP UART
- 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:
- Bước 3:
- Bước 4:
- Bước 5: UART HOẠT ĐỘNG NHƯ THẾ NÀO
- Bước 6: Hình ảnh Cách hoạt động của UART
- Bước 7:
- Bước 8: Dữ liệu truyền qua UART được sắp xếp thành hình ảnh gói
- Bước 9:
- Bước 10: CÁC BƯỚC TRUYỀN TẢI UART
- Bước 11: 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:
- 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:
- 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:
- 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:
- Bước 16: ƯU VÀ NHƯỢC ĐIỂM CỦA UARTS
Video: CƠ BẢN VỀ GIAO TIẾP UART: 16 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
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:
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:
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
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
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
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:
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:
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:
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:
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:
Giao tiếp nối tiếp Arduino: 5 bước
Giao tiếp nối tiếp Arduino: Nhiều dự án Arduino dựa vào việc truyền dữ liệu giữa một số Arduino. chuyển seria
Giao tiếp nối tiếp PIC MCU và Python: 5 bước
PIC MCU và Python Serial Communication: Xin chào, các bạn! Trong dự án này, tôi sẽ cố gắng giải thích các thử nghiệm của tôi về PIC MCU và giao tiếp nối tiếp Python. Trên internet, có rất nhiều hướng dẫn và video về cách giao tiếp với PIC MCU qua thiết bị đầu cuối ảo rất hữu ích. Howev
Giao tiếp nối tiếp Arduino và Python - Hiển thị bàn phím: 4 bước
Giao tiếp nối tiếp Arduino và Python - Hiển thị bàn phím: Dự án này được thực hiện cho người dùng mac nhưng nó cũng có thể được thực hiện cho Linux và Windows, bước duy nhất nên khác là cài đặt
Giao tiếp dữ liệu trực tiếp ESP8266: 3 bước
Giao tiếp dữ liệu trực tiếp ESP8266: Giới thiệu Trong khi thực hiện một số dự án với mô-đun Arduinos và nRF24l01, tôi đã tự hỏi liệu tôi có thể tiết kiệm một chút công sức bằng cách sử dụng mô-đun ESP8266 thay thế hay không. Ưu điểm của mô-đun ESP8266 là nó chứa bộ điều khiển vi mô trên bo mạch, vì vậy không
Giao tiếp nối tiếp không dây bằng Bluefruit: 4 bước
Giao tiếp nối tiếp không dây sử dụng Bluefruit: Đây là hướng dẫn từng bước đơn giản để thay thế dây của bạn bằng kết nối bluetooth năng lượng thấp: Tôi đã mất một lúc để tìm ra điều này vì hầu như không có bất kỳ tài liệu nào về việc này với công nghệ năng lượng thấp bluetooth hiện đại như vậy với tư cách là Bluefrui