Khối USART được hỗ trợ tự động phát hiện và điều chỉnh tốc độ baud. Đặc tính này duy nhất được tích cực ở chế độ bất đồng bộ và khi bít WUE bị xóa. Chuỗi phép đo tốc độ baud tự động bắt đầu ở bất cứ khi nào nhận được bít start và bít ABDEN được đặt.
Trong khối tự động phát hiện tốc độ baud (ABD), xung clock tơi BRG bị đảo ngược. Trong chế độ ABD bên trong BRG được sử dụng như là một bộ đếm để định chu kỳ các bít của byte đầu vào. Khi bít ABDEN được đặt thì BRG được xóa và chờ bít start. Tự động phát hiện tốc độ baud phải nhận 1 byte với giá trị 55h. (ASCII ”U”), trong lệnh kế tiếp phải tính tốn tốc độ bít phù hợp. Phép đo lấy cả hai bít thấp và cao để tối thiểu hóa bất kỳ hiệu ứng nào gây ra bởi sự bất đối xứng tín hiệu vào. Sau bít start SPBRG bắt đầu đếm lên, sử dụng nguồn xung đã có sẵn trên sườn lên đầu tiên ở RX.
Sau 8 bít trên chân RX hoặc 5 sườn lên thì một giá trị tổng BRG nằm ở bên trái trong cặp thanh ghi SPBRGH:SPBRG. Ở sườn lên thứ 5 thì bít ABDEN sẽ tự động bị xóa.
Nếu đồng thời xuất hiện BRG ( 1 sự tràn từ FFFFh về 0000h), sự kiện dừng bởi bít trạng thái ABDOVF(BAUDCON<7>). Nó được đặt trong phần cứng bởi BRG và có thể đặt hoặc xóa trong phần mềm. Chế độ ABD được tích cực trở lại sau những sự kiện đồng thời và bít ABDEN được tự động xóa. Trong khi định chu kỳ tốc độ baud, thanh ghi BRG được tính tại 1/8 tốc độ xung clock được định sẵn. Cần chú ý rằng thời gian BRG sẽ được thiết lập bởi bít BRG16 và bít BRGH. Cài đặt bít BRG16, cả hai SPBRG và SPBRGH sẽ được sử dụng như là bộ đếm 16 bít. Điều này cho phép người sử dụng thử lại mà không cần quan tâm đến sự xuất hiện của chế độ 8 bít bằng cách kiểm tra địa chỉ 00h trong thanh ghi SPBRGH. Trong khi trạng thái ABD xẩy ra thì EUSART được giữ
ở trạng thái nghỉ. Ngắt RCIF được đặt khi phát hiện sườn lên thứ 5 trên chân RX. Cần đọc giá trị RCREG để xóa ngắt RCIF. Nội dung của RCREG cần phải được xóa bỏ.
Bảng 5
Tốc độ xung nhip máy đếm BRG
Hình 38 Tính tốn tự động tốc độ baud Hình 39 Chuỗi tràn BRG 3.3 Chế độ EUSART bất đồng bộ
Hoạt động của chế độ bất đồng bộ được lựa chọn bằng cách xõa bít SYNC (TXSTA<4>). Trong chế độ này, EUSART sử dụng chuẩn NRZ ( 1 bít start, 8 hoặc 9 bít dữ liệu và 1 bít stop ), khung dữ liệu chung là 8 bít. Trên chip BRG 8bít hoặc 16 bít có thể sử dụng để điều khiển tấn số tốc độ baud chuẩn từ bộ dao động.
EUSART truyền và nhận bít lsb đầu tiên (bít thấp nhất). Truyền và nhận trong EUSART thì có chức năng độc lập nhưng sử dụng giống nhau về định dạng dữ liệu và tốc độ baud. BRG tạo ra xung clock, 8x16 hoặc 8x64 tốc độ dịch bít, điều này phụ thuộc vào bít BRGH và BRG16 (TXSSTA <2> và BAUDCON<3>). Cờ chẵn lẻ không được hỗ trợ bởi phần cứng nhưng có thể được thực hiện bởi phần mềm và nó được cất ở bít dữ liệu thứ 9.
Khi hoạt động trong chế độ bất đồng bộ khối EUSART bao gồm các thành phần sau : + BRG + Mạch lấy mẫu + Truyền bất đồng bộ + Nhận bất đồng bộ + Tự động đánh thức khi ngát quãng đồng bộ + Đặc tính truyền ngắt quãng 12 bít + Phát hiện tốc độ baud tự động