Mô đun USART trong PIC 16F877
Mô-đun Truyền Nhận Đồng Bộ Bất Đồng Bộ (USART) là một trong những mô-đun giao tiếp nối tiếp cho các chức năng giao tiếp với các thiết bị/mô-đun khác. USART còn được biết đến là Giao Diện Truyền Thông Nối Tiếp hoặc SCI (Serial Communications Interface). USART có thể được cấu hình như là một hệ thống bất đồng bộ toàn song, có thể giao tiếp với các thiết bị ngoại vi như các thiết bị terminal CRT và máy tính cá nhân, hoặc nó có thể được cấu hình như là một hệ thống đồng bộ bán song, có thể giao tiếp với các thiết bị ngoại vi như các mạch tích hợp Analog-to-Digital (A/D) hoặc Digital-to-Analog (D/A), các bộ nhớ EPROM nối tiếp, và nhiều hơn nữa. Thông thường, PIC 16F877 bao gồm hai mô-đun USART (USART1, USART2). Các cổng này có thể được cấu hình trong các chế độ sau đây:
Đây là các cấu hình cơ bản mà mô-đun USART có thể được thiết lập để tương tác với các thiết bị và mô-đun khác.
Bộ Tạo Tốc Độ Baud USART (BRG)
Bộ tạo tốc độ baud (BRG) hỗ trợ cả chế độ Bất Đồng Bộ và Đồng Bộ của các mô-đun USART. Đây là một bộ tạo tốc độ baud riêng biệt gồm 8 bit. Bộ đăng ký SPBRG điều khiển chu kỳ của một bộ đếm 8 bit chạy tự do. Trong chế độ Bất Đồng Bộ, bit BRGH cũng điều khiển tốc độ baud.
Dưới đây là các thanh ghi liên quan đến bộ tạo tốc độ baud:
Chế Độ Bất Đồng Bộ của USART
Trong chế độ bất đồng bộ, USART sử dụng định dạng chuẩn Non-Return to-Zero (NRZ) (một bit Bắt Đầu, tám hoặc chín bit dữ liệu và một bit Dừng). Định dạng dữ liệu phổ biến nhất là 8 bit. Một Bộ Tạo Tốc Độ Baud riêng biệt gồm 8 bit trên chip có thể được sử dụng để tạo ra các tần số baud rate chuẩn từ bộ dao động. USART truyền và nhận LSB (Bit Ít Quan Trọng) trước. Bộ truyền và bộ nhận là hoàn toàn độc lập về chức năng nhưng sử dụng cùng định dạng dữ liệu và tốc độ baud. Bộ tạo tốc độ baud tạo ra một tín hiệu xung, có thể là x16 hoặc x64 của tốc độ dịch bit, phụ thuộc vào bit "BRGH". Không hỗ trợ kiểm tra chẵn lẻ (parity) bằng phần cứng nhưng có thể được thực hiện trong phần mềm (và được lưu trữ như bit dữ liệu thứ chín). Chế độ bất đồng bộ sẽ dừng lại trong Chế độ Ngủ. Chế độ bất đồng bộ được chọn bằng cách xóa bit SYNC
Mô-đun USART Bất Đồng Bộ bao gồm các yếu tố quan trọng sau đây:
Bộ Truyền Bất Đồng Bộ USART
Bộ truyền USART (gọi đơn giản là TX) thường được sử dụng cho quá trình truyền dữ liệu. Quá trình truyền dữ liệu có thể thực hiện thông qua các định dạng số khác nhau. Đường truyền dữ liệu biến đổi tùy theo yêu cầu (ví dụ: hồng ngoại, Bluetooth, v.v.). Một sơ đồ khối đơn giản của bộ truyền USART được hiển thị dưới đây. Trái tim của bộ truyền USART là Bộ Đăng Ký Dịch (Serial) Truyền (TSR). Bộ đăng ký dịch nhận dữ liệu từ Bộ Đệm Truyền Đọc/Ghi, TXREG. Bộ đăng ký TXREG được nạp dữ liệu từ phần mềm. Bộ đăng ký TSR không được nạp cho đến khi Bit Dừng đã được truyền từ lần nạp trước. Ngay khi Bit Dừng được truyền, Bộ Đăng Ký TSR được nạp với dữ liệu mới từ đăng ký TXREG (nếu có sẵn). Sơ đồ khối đơn giản của bộ truyền USART được mô tả dưới đây.
Sơ Đồ Khối Bộ Truyền USART
Các thanh ghi liên quan đến truyền bất đồng bộ USART được hiển thị trong bảng dưới đây.
Bộ Nhận Bất Đồng Bộ USART
Bộ nhận bất đồng bộ USART là một đơn vị nhận dữ liệu được sử dụng để nhận dữ liệu từ các phương tiện truyền thông khác như các mô-đun RF, Bluetooth, mô-đun hồng ngoại (IR), v.v. Sơ đồ khối đơn giản của một bộ nhận USART được hiển thị trong hình dưới đây. Dữ liệu được nhận trên chân RC7/RX/DT và điều khiển khối phục hồi dữ liệu. Khối phục hồi dữ liệu thực sự là một bộ dịch tốc độ cao, hoạt động với tốc độ x16 lần tốc độ baud; trong khi bộ dịch chuyển truyền nhận chính hoạt động ở tốc độ bit hoặc ở FOSC. Sau khi chế độ Bất Đồng Bộ được chọn, việc nhận được kích hoạt bằng cách đặt bit CREN. Trái tim của bộ nhận là Bộ Đăng Ký Dịch (Serial) Nhận (RSR). Sau khi lấy mẫu Bit Dừng, dữ liệu nhận được trong RSR được chuyển vào đăng ký RCREG (nếu nó trống). Nếu quá trình chuyển được hoàn tất, bit cờ, RCIF (PIR1<5>), được đặt.
Sơ Đồ Khối Bộ Nhận USART
Dưới đây là bảng các thanh ghi liên quan đến bộ nhận USART:
Các Ứng Dụng của Các Mô-đun USART
Hotline: 0979 466 469