UARTs
Giai đoạn cuối cùng cho câu đố này nối tiếp là tìm một cái gì đó để cả hai tạo ra các gói nối tiếp và kiểm soát các dòng phần cứng vật lý. Nhập UART.
Một máy thu không đồng bộ / máy phát phổ quát (UART) là một khối mạch chịu trách nhiệm về thực hiện giao tiếp nối tiếp. Về cơ bản, các UART hoạt động như một trung gian giữa giao diện song song và nối tiếp. Trên một đầu của UART là một chiếc xe buýt trong tám-hay-nên dòng dữ liệu (cộng với một số chân điều khiển), mặt khác là hai dây nối tiếp - RX và TX.
Giản UART
giao diện UART Super-đơn giản hóa. Song song trên một đầu, nối tiếp trên khác.
UARTs vẫn tồn tại như IC độc lập, nhưng chúng thường được tìm thấy bên trong vi điều khiển. Bạn sẽ phải kiểm tra datasheet của vi điều khiển của bạn để xem nếu có bất kỳ UARTs. Một số đã không có, một số có một, một số có nhiều. Ví dụ, các Arduino Uno - dựa trên "cũ trung thành" ATmega328 - chỉ có một UART duy nhất, trong khi các Arduino Mega - được xây dựng trên một ATmega2560 -. Có một con số khổng lồ bốn UARTs
Khi R và T trong dictate từ viết tắt, UARTs là chịu trách nhiệm cả việc gửi và nhận dữ liệu nối tiếp. Về phía truyền, một UART phải tạo ra các gói dữ liệu - phụ đồng bộ và tính chẵn lẻ bit - và gửi gói tin ra đường với thời gian chính xác TX (theo tỷ lệ baud bộ). Trên nhận cuối, UART có để lấy mẫu dòng RX với giá theo tốc độ truyền dự kiến, chọn ra các bit đồng bộ, và nhổ ra các dữ liệu.
UART nội
sơ đồ khối nội bộ UART (lịch sự của datasheet Exar ST16C550)
Nâng cao hơn UARTs có thể ném dữ liệu nhận được của họ vào một bộ đệm, nơi nó có thể ở lại cho đến vi điều khiển đi kèm để có được nó. UARTs thường sẽ phát hành dữ liệu đệm của họ trên một (FIFO) cơ sở đầu tiên trong lần đầu ra. Bộ đệm có thể nhỏ như một vài bit, hoặc lớn như hàng ngàn byte.
Phần mềm UARTs
Nếu một vi điều khiển không có một UART (hoặc không có đủ), giao diện nối tiếp có thể được bit-đập - điều khiển trực tiếp bởi bộ vi xử lý. Đây là phương pháp Arduino thư viện như SoftwareSerial mất. Bit-đập là bộ xử lý chuyên sâu, và thường không chính xác như một UART, nhưng nó hoạt động trong một pinch!
đang được dịch, vui lòng đợi..
