I. KÊNH TRUYỀN THƠNG
I.10 Truyền thơng kiểu nối tiếp bất đồng bộ
Dữ liệu được truyền giữa hai đầu truyền thơng theo kiểu nối tiếp từng bit, nhưng nội tại trong bản thân thiết bị đầu cuối, ví dụ từ CPU đến vi mạch truyền thơng UART, thì quá trình truyền dữ liệu lại ở dạng song song. Như vậy cần thiết phải cĩ một q trình biến đổi dữ liệu từ dạng truyền song song sang nối tiếp và ngược lại.
I.10.1 Nguyên tắc đồng bộ bit
Quá trình đồng bộ bit xảy ra khi bắt đầu cĩ dữ liệu đến. Bình thường nếu khơng cĩ dữ liệu đến, đường dây sẽ ở mức logic cao (bit 1) cịn gọi là trạng thái idle. Khi 1 byte được truyền thì startbit (mức logic 0) sẽ đi trước, như vậy đường dây từ mức logic cao chuyển xuống mức logic thấp sẽ kích vào một bộ đếm counter làm nĩ hoạt động. Bộ counter bắt đầu đếm với giá trị ban đầu là n/2, sau khi đếm tới n thì mạch lấy mẫu bắt đầu hoạt động để lấy dữ liệu tại điểm giữa của bit-cell đến. Sau đĩ bộ counter sẽ được đặt lại giá trị zero và quá trình đếm sẽ được tiếp tục diễn ra như thế.
I.10.2 Nguyên tắc đồng bộ byte
Việc đồng bộ byte khá đơn giản, vấn đề là làm thế nào để bên thu và bên phát thống nhất với nhau về số bit trong 1 ký tự, số stop-bit, số start-bit, cĩ bit chẳn lẽ hay khơng và nếu cĩ thì kiểm tra chẳn hay kiểm tra lẻ, theo bit 0 hay theo bit1… Quá trình này sẽ gắn liền với việc đồng bộ khung khi truyền dữ liệu.
Thơng thường dữ liệu khơng phải truyền riêng lẻ từng byte mà chúng được truyền đi từng khối n byte dưới dạng frame, packet hay segment. Cĩ hai dạng dữ liệu là ASCII (chỉ chứa các ký tự in được) và dạng nhị phân (chứa mọi ký tự). Với dữ liệu loại ASCII, việc đồng bộ khung khá đơn giản, chỉ cần qui ước một ký tự nào đĩ đĩng vai trị ký tự đầu khung và một ký tự cuối khung. Thơng thường 2 ký tự STX (Start of Text character) và ETX (End of Text character) cĩ sẵn trong bảng ASCII chuẩn đảm nhận chức năng này.
STX Dữ liệu ETX
Đồng bộ khung trong truyền tập tin ASCII
St
art
bi
t Thời gian
STX
DLE DLE DLE DLE ETX
Các byte dữ liệu St art bi t Thời gian
Đồng bộ khung trong truyền tập tin nhị phân
Đối với việc truyền dữ liệu dạng binary, việc đồng bộ khung phức tạp hơn vì các byte dữ liệu cĩ thể trùng với các ký tự ETX và STX. Khi đĩ để giải quyết, các ký tự DLE (Data Link Escape character) được thêm vào trước ký tự đầu khung và ký tự cuối khung. Như vậy, cặp ký tự đầu khung là DLE-STX và cặp ký tự cuối khung là DLE-ETX. Mặt khác để tránh sự nhầm lẫn khi dữ liệu cĩ chứa ký tự DLE chúng ta gấp đơi nĩ lên khi truyền đi.