C phát hiện xung đột, hủy bỏ bức đIện hờ một thời gian ngẫu nhiên và lặp lạ
2.5.5 Nhồi bit (Bit Stuffing)
Nhồi bit (bit stuffing) thường khụng được coi như một phương phỏp b o toàn d li u ả ữ ệ độ ậc l p, mà thường được s dụử ng v i mụ đớ c ớch chớnh là t o m t dóy bit thu n l i cho ạ ộ ậ ợ việc đúng gúi dữ liệu và mó húa bit. Cỏc bức đ ện thường dựng một dóy bit đặi c bi t làm ệ cờ hiệu khởi đầu và kết thỳc, do vậ đũi hỏi trong phần cũn lại khụng được phộp xuất y hiện mẫu bit này. Bờn cạnh đú, trong quỏ trỡnh mó húa bit người ta cũng cố gắng tri t ệ tiờu dũng một chiều b ng cỏch loại bỏ cỏc chuỗi dài bit 1 liờn tục. Vỡ vậy, người ta tỡm ằ cỏch nhồi thờm một số bit vào dóy bit nguyờn bả đển trỏnh xuất hiện m t chuỗi dài bit 1 ộ liờn tục cũng như trỏnh trựng lặp v i m t sớ ộ ố mẫu bit c bi t. Hi u ng ph của cỏch đặ ệ ệ ứ ụ làm này chớnh là tạ đ ềo i u ki n cho bờn nhận dễ phỏt hiện lỗi hơn, vớ dụệ trong trường h p mợ ẫu bit đặc biệt xuất hiện trong phần nội dung của bức đ ệi n nh n ậ được.
Phương phỏp nhồi bit được thực hiện theo nguyờn t c sau: ắ
• Bờn gửi: N u trong d li u cú ế ữ ệ n bits 1 đứng li n nhau thỡ thờm một bit 0 vào ề ngay sau đú. Như vậy trong dóy bit được chuy n i khụng th xu t hi n n+1 bits ể đ ể ấ ệ 1 đi liền nhau.
• Bờn nhận: N u phỏt hi n th y n bits 1 li n nhau mà bit ti p theo là 0 thỡ ế ệ ấ ề ế được tỏch ra, cũn nếu là bit 1 thỡ dữ liệu chắc chắn b l i. ị ỗ
Vớ d vụ ới n = 5 (như ở CAN-Bus):
• Thụng tin nguồn I = 0111111
• Thụng tin gử đi i D = 01111101
• Nếu thụng tin nhậ được D' = 01111101, bờn nhận cú thể coi xỏc suất cao khụng n cú lỗi, thụng tin nguồn I sẽ được hồi phục bằng cỏch bỏ đ i bit 0 đứng sau năm bit 1 (gạch chõn).
• Nếu thụng tin nhậ được D' = 11111101, qua mẫu bit đặc biệt bờn nhận sẽn phỏt hiện ra lỗi.
Trong thực tế ả, c ba phương phỏp bit chẵn l , CRC và nhồi bit đều cú thể sử dụng ẻ phối hợp. Vớ dụ một thụng tin ngu n, sau khi ó ỏp d ng phương phỏp CRC, cú th tớnh ồ đ ụ ể bit chẵn l cho phần thụng tin bổẻ sung (R). Tồn bộ dóy bit nhận được cú thể lạ đưi a
qua khõu nhồi bit hoặc bức đ ệi n cú thể được truyền theo từng ký t UART với kiểm tra ự chẵ ẻn l cho từng ký t , trước khi thực hiện mó húa bit. ự