html Giải thích về bit bắt đầu, bit dừng và lấy mẫu UART - FCTELE
                                   +8618758069661 [email protected]
Tìm kiếm sản phẩm Hướng dẫn: dấu cách = VÀ, | = HOẶC, ! = KHÔNG

UART xác định từng byte như thế nào? Bit bắt đầu, bit dừng và lấy mẫu

Bạn có câu hỏi? Hãy gọi cho chúng tôi ngay hôm nay!

+8618758069661

Hoặc để lại lời nhắn cho chúng tôi

Lời nhắn trực tuyến

UART xác định từng byte như thế nào? Bit bắt đầu, bit dừng và lấy mẫu

Lượt xem: 12 +12Bài gốc của FCTELETác giả: Đội ngũ kỹ thuật FCTELE

ĐỊNH THỜI KÝ TỰ UART

UART nhận dữ liệu như thế nào khi không có đồng hồ dùng chung?

Bộ thu sử dụng một sự kiện bắt đầu hợp lệ để thiết lập định thời, sau đó lấy mẫu các bit của ký tự bằng đồng hồ cục bộ riêng và kiểm tra vị trí bit dừng. Hai đầu cần có cấu hình tương thích. Một ký tự mới có thể căn chỉnh lại định thời, nhưng việc kiểm tra khung không chứng minh tính toàn vẹn dữ liệu hay ứng dụng hoạt động thành công. Các sơ đồ logic đơn giản hóa này không biểu diễn điện áp tại đầu nối hay kết quả đo sản phẩm.

01

Bắt đầu

A valid start event establishes the local timing reference.Find the start

Một sự kiện bắt đầu hợp lệ thiết lập mốc định thời cục bộ.

02

Lấy mẫu

Sampling within stable bit intervals helps avoid transitions.Sample stable state

Lấy mẫu trong các khoảng bit ổn định giúp tránh các thời điểm chuyển trạng thái.

03

Dừng

A low at the expected stop position can flag a framing error.Check expected high

Mức thấp tại vị trí bit dừng dự kiến có thể làm xuất hiện cờ lỗi khung.

01 Đối chiếu

Ghi lại tốc độ baud, số bit dữ liệu, chế độ chẵn lẻ và số bit dừng ở cả hai đầu.

02 Quan sát

So sánh định thời logic và lỗi nhận trong một phép thử được cho phép.

03 Xác minh

Kiểm tra các byte thực tế của ứng dụng và cách diễn giải thông điệp.

Danh sách kiểm tra lựa chọn và xác minh — mở rộng
Mục kiểm tra Nội dung cần xác nhận Cách xác minh
Giao diện Tính tương thích điện Đọc tài liệu của model
Ký tự Định thời và định dạng khớp nhau So sánh cấu hình ở cả hai đầu
Ứng dụng Byte và thông điệp chính xác Lưu giữ hồ sơ thử nghiệm với mẫu dữ liệu đã biết

Các đầu cuối nối tiếp không dùng chung một dây đồng hồ riêng, vậy bộ thu xác định một byte trong tín hiệu đang thay đổi bằng cách nào? Bit bắt đầu, bit dừng và định thời riêng của mỗi đầu cuối là câu trả lời. Hiểu quá trình này giúp giải thích vì sao một khác biệt nhỏ về cấu hình có thể làm sai lệch ký tự hoặc gây lỗi khung, và vì sao có kết nối Ethernet không chứng minh rằng việc nhận dữ liệu nối tiếp là chính xác.

Các vị trí trong khung 8N1 và đường truyền từ thanh ghi dịch UART đến bộ đệm byte
Hình 1: Các trạng thái logic và vị trí trường, không phải dạng sóng dữ liệu cố định. N nghĩa là không có bit chẵn lẻ.

Phân biệt giao diện điện với định dạng ký tự

Thiết bị công nghiệp có thể kết nối với máy chủ thiết bị nối tiếp hoặc bộ thu phát quang dữ liệu qua RS232 hoặc RS485. Bộ thu phát giao diện chuyển đổi tín hiệu đường truyền thành tín hiệu logic mà chip có thể xử lý. UART xử lý từng bit theo định dạng ký tự đã chọn. UART là viết tắt của bộ thu/phát không đồng bộ đa năng; hoạt động không đồng bộ thường không có dây đồng hồ đồng bộ dùng chung.

Mức cao và mức thấp trong các hình minh họa này biểu diễn trạng thái logic UART, không phải điện áp thực tế tại đầu nối RS232 hay điện áp so với đất của một trong hai dây dẫn RS485. Loại giao diện, đất tham chiếu, cách đấu dây vi sai và các giới hạn của thiết bị cần được kiểm tra riêng. Sơ đồ logic không phải là hướng dẫn đấu dây, và không được nối trực tiếp các chân TTL với một giao diện không tương thích.

Đường nhận có thể được đơn giản hóa thành bộ thu phát đường truyền, logic nhận UART, bộ đệm byte và ứng dụng. Việc truyền tín hiệu giữa các khâu không xác nhận rằng ứng dụng đã nhận được một bản ghi nghiệp vụ chính xác. Việc nhận ký tự phải hoạt động đúng trước khi dữ liệu đi vào mạng.

Những phần nào của khung không phải là dữ liệu ứng dụng?

Trong định dạng 8N1 phổ biến, 8 chỉ tám bit dữ liệu, N nghĩa là không có bit chẵn lẻ và 1 chỉ một bit dừng. Một ký tự còn chứa một bit bắt đầu, vì vậy tám bit dữ liệu ứng dụng không phải là toàn bộ nội dung truyền trên đường dây. Bit bắt đầu và bit dừng tổ chức các ký tự; không được nối thêm chúng vào dữ liệu ứng dụng dưới dạng các giá trị bổ sung.

Trong cách biểu diễn logic không đảo phổ biến, trạng thái rỗi ở mức cao, bit bắt đầu ở mức thấp và bit dừng trở về mức cao. Dữ liệu thường được gửi với bit có trọng số thấp nhất trước, mặc dù các tùy chọn của ngoại vi có thể khác nhau và tài liệu của cả hai đầu phải thống nhất. D0 đến D7 là nhãn vị trí, không biểu thị một byte cố định hay yêu cầu phải chuyển trạng thái giữa các bit liền kề.

Các bit dữ liệu liên tiếp có cùng giá trị có thể giữ đường truyền ở cùng một trạng thái. Bộ thu không thể đếm số lần chuyển trạng thái để đếm tám bit. Nó dựa vào định thời sau sự kiện bắt đầu để xác định các khoảng bit liên tiếp. Đây là lý do việc thiết lập tốc độ baud khớp nhau rất quan trọng.

Quá trình nhận bắt đầu từ trạng thái rỗi như thế nào?

UART giám sát đầu vào của nó. Sau khi phát hiện một chuyển trạng thái có thể là bắt đầu, nó kiểm tra mức thấp theo các điều kiện bắt đầu của cách triển khai cụ thể và lên lịch lấy mẫu dữ liệu. Một xung nhiễu ngắn không tự động được coi là một bit bắt đầu hoàn chỉnh. Cơ chế lọc và xác thực bắt đầu khác nhau giữa các ngoại vi; không được mặc định rằng các thiết bị sử dụng logic nội bộ giống hệt nhau.

Có thể hình dung bit bắt đầu như một tín hiệu báo sẵn sàng trước mỗi ký tự. Hai đầu thống nhất về nhịp độ gần đúng, sau đó bộ thu dựa vào bộ định thời cục bộ để lấy mẫu theo trình tự. Phép so sánh này không có nghĩa là một lời báo thực sự được gửi đi hay một UART thông thường tự động nhận biết mọi tốc độ baud. Cấu hình tương thích vẫn là điều bắt buộc.

Nhiều UART sử dụng lấy mẫu vượt mức: đồng hồ lấy mẫu nội bộ chạy nhiều chu kỳ trong một khoảng bit, giúp xác định sự kiện bắt đầu hợp lệ hoặc vị trí lấy mẫu. Một số UART quyết định dựa trên nhiều mẫu. Cách này có thể hỗ trợ xác định vị trí cạnh tín hiệu và xử lý nhiễu, nhưng không cho phép sai lệch vô hạn. Hệ số lấy mẫu của một chip không phải là thông số chung cho mọi sản phẩm FCTELE.

Các sự kiện bắt đầu UART căn chỉnh lại quá trình nhận và các mẫu nằm trong những khoảng bit ổn định
Hình 2: Khái niệm phát hiện bắt đầu và lấy mẫu; các trường được đơn giản hóa, không phải dạng sóng đo được.

Vì sao nên lấy mẫu gần giữa một bit?

Gần ranh giới bit, tín hiệu có thể đang chuyển trạng thái. Độ trễ lan truyền, tốc độ cạnh tín hiệu và ngưỡng đầu vào ảnh hưởng đến thời điểm bộ thu xác định tín hiệu ở mức cao hay thấp. Lấy mẫu trong một khoảng ổn định giúp diễn giải dễ hơn so với lấy mẫu sát cạnh tín hiệu. Các chấm ở giữa minh họa khái niệm; chúng không khẳng định rằng chip thực tế chỉ lấy mẫu một lần hoặc luôn lấy mẫu đúng tại tâm hình học.

Bộ phát và bộ thu sử dụng các đồng hồ cục bộ riêng biệt. Nếu chúng không thống nhất về thời lượng bit, các vị trí lấy mẫu dự kiến có thể lệch dần ngay cả sau khi sự kiện bắt đầu đã căn chỉnh chúng. Chênh lệch định thời có thể rõ hơn về cuối ký tự, có khả năng khiến một mẫu rơi vào sai khoảng ở gần bit dữ liệu cuối hoặc bit dừng.

Việc thỉnh thoảng nhận đúng các thông điệp ngắn không chứng minh cấu hình đáng tin cậy. Một số mẫu bit có thể che giấu vấn đề trong khi những mẫu khác làm lộ vấn đề đó. Thử nghiệm nghiệm thu cần bao quát nội dung ứng dụng thực tế và quá trình truyền liên tục, thay vì coi một vài ký tự đọc được trên terminal là bằng chứng đầy đủ.

Việc kiểm tra bit dừng cho biết điều gì?

Sau các bit dữ liệu đã cấu hình và bit chẵn lẻ tùy chọn, bộ thu kiểm tra vị trí bit dừng theo cách triển khai của nó. Nếu thấy mức thấp tại nơi dự kiến phải là trạng thái dừng, nó có thể thiết lập trạng thái lỗi khung. Lỗi khung báo rằng kiểm tra định dạng nhận không đạt; lỗi này không xác định dây nào bị hỏng.

Tốc độ baud hoặc định dạng ký tự không khớp, nhiễu và trạng thái mức thấp kéo dài bất thường có thể gây ra các triệu chứng liên quan. Ngược lại, không có lỗi khung không chứng minh dữ liệu chính xác: một mẫu sai vẫn có thể tình cờ thấy mức cao tại vị trí bit dừng. Dữ liệu vẫn cần được kiểm tra tính toàn vẹn hoặc kiểm tra ở cấp ứng dụng. Bit dừng cũng không phải là dấu kết thúc của một thông điệp nghiệp vụ hoàn chỉnh.

Cách các cờ lỗi đi kèm ký tự, việc trình điều khiển có loại bỏ chúng hay không và phần mềm có thể truy cập các bộ đếm hay không phụ thuộc vào phần cứng và phần mềm. Ứng dụng không hiển thị gì không lập tức chứng minh rằng không có tín hiệu đầu vào trên đường truyền; một khâu nào đó có thể đã lọc bỏ các ký tự lỗi. Hãy lưu trạng thái cùng với nội dung byte.

So sánh mẫu bit dừng mức cao bình thường với mẫu bit dừng mức thấp và lỗi khung
Hình 3: Việc kiểm tra vị trí bit dừng và báo lỗi phụ thuộc vào cách triển khai.

Khung tiếp theo có thể căn chỉnh lại định thời như thế nào?

Sau một ký tự, bộ thu quay lại tìm sự kiện bắt đầu tiếp theo theo các quy tắc của nó. Một sự kiện bắt đầu hợp lệ mới tạo cơ hội căn chỉnh lại quá trình nhận. Truyền liên tục không nhất thiết phải có khoảng lặng dài giữa các ký tự, nhưng phải đáp ứng định dạng ký tự đã cấu hình và yêu cầu về thời lượng dừng.

Đồng bộ theo từng ký tự không tự động sửa lỗi cho toàn bộ quá trình trao đổi. Nếu một ký tự được nhận sai, giao thức ứng dụng vẫn phải xử lý các byte bị thiếu, lặp hoặc sai lệch. Ranh giới ký tự UART, ranh giới gói mạng của máy chủ nối tiếp và ranh giới thông điệp ứng dụng là những ranh giới khác nhau. Thêm bit dừng không thể thay thế việc phân tích thông điệp chính xác.

Khi điều tra, hãy ghi lại tốc độ baud, số bit dữ liệu, chế độ chẵn lẻ, số bit dừng và loại giao diện ở cả hai đầu, sau đó quan sát dạng sóng và bộ đếm lỗi trong điều kiện được cho phép. Mỗi lần chỉ thay đổi một biến và so sánh dữ liệu đã biết trước và sau thay đổi. Thay đổi tham số trên các tuyến sản xuất quan trọng cần được bố trí trong kế hoạch bảo trì, thay vì thử sai không kiểm soát.

Liên kết bằng chứng giữa các khâu

Nếu dạng sóng đầu vào đã bất thường, hãy kiểm tra giao diện điện, dây dẫn và nhiễu. Nếu dạng sóng có thể nhận diện được nhưng các byte bị sai lệch, hãy kiểm tra định dạng ký tự, định thời và lấy mẫu. Nếu các byte chính xác nhưng ứng dụng không hoạt động đúng, hãy xem xét bộ đệm, việc đóng gói mạng và cách diễn giải của ứng dụng. Bằng chứng ở mỗi khâu cung cấp hướng điều tra hữu ích hơn việc liên tục thay thế bộ chuyển mạch Ethernet.

Các máy chủ thiết bị nối tiếp và sản phẩm truyền dữ liệu FCTELE kết nối thiết bị công nghiệp. Giao diện thực tế và khả năng cấu hình phụ thuộc vào tài liệu của model tương ứng. Hướng dẫn này giải thích cơ chế nhận UART nói chung, không mô tả mạch nội bộ hay dung sai đo được của một sản phẩm cụ thể, và không đưa ra tốc độ tối đa chưa được xác minh. Hồ sơ bằng chứng bàn giao cần bao gồm cấu hình, điều kiện thử nghiệm, dạng sóng gốc và kết quả xác minh ứng dụng.

Tài liệu tham khảo

TI: Tổng quan về giao thức UART và các lỗi; Microchip: ví dụ về bộ thu không đồng bộ; Thông tin sản phẩm cổng nối tiếp FCTELE. Hình minh họa tổng quát, không phải sơ đồ mạch sản phẩm hay kết quả đo dung sai.

Dịch từ bài viết kỹ thuật bằng tiếng Trung: Đọc bài viết gốc bằng tiếng Trung.

Câu hỏi thường gặp

Trạng thái logic UART có giống điện áp RS232 không?

Không. Bộ thu phát đường truyền chuyển đổi tín hiệu điện; hãy xác minh riêng điện áp giao diện thực tế và cách đấu dây.

Không có lỗi khung có chứng minh dữ liệu chính xác không?

Không. Mẫu tại bit dừng có thể tình cờ ở mức cao ngay cả khi dữ liệu sai. Vẫn cần kiểm tra tính toàn vẹn và kiểm tra ở cấp ứng dụng.

Bit dừng có kết thúc một thông điệp ứng dụng không?

Không. Nó là một phần của định dạng ký tự; giao thức ứng dụng xác định ranh giới thông điệp.

Phạm vi và tài liệu đọc thêm

Định thời UART tổng quát, không phải mạch của một thiết bị cụ thể hay dung sai đo được.

Cơ chế escape byte nối tiếp và phân định khung thông điệp · Chuyển tiếp Ethernet và bảo trì

Chia sẻ bài viết này