Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
662,5 KB
Nội dung
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN TP HCM CS LK TRƯỜNG TC CÔNG NGHỆ TIN HỌC – VIỄN THÔNG ĐỒNG NAI KHOA CN TIN HỌC – VIỄN THÔNG - - Tuthienbao.com BÀI TIỂU LUẬN Ngành: Điện Tử Viễn Thơng Hệ: Cao Đẳng Liên Thơng Lớp: C05KTLT Niên Khóa: 2010 – 2012 Đề tài: TÌM HIỂU CRC GIÁO VIÊN NHÓM SVTH: LỮ XUÂN TRANG - PHẠM PHÚ ĐỨC VŨ CÔNG HOAN NGUYỄN THỊ HƯƠNG TRẦN THỊ HƯƠNG VÕ THỊ GIAO LINH LƯU TUYẾT NHUNG Tìm Hiểu CRC Nhận Xét Của Giáo Viên NHẬN XÉT CỦA GIÁO VIÊN Biên Hòa, ngày … tháng … năm 2012 Giáo Viên Lữ Xuân Trang Nhóm – Lớp C05KTLT Tìm Hiểu CRC Mục Lục MỤC LỤC MỤC LỤC LỜI NÓI ĐẦU I TỔNG QUAN VỀ CRC Khái niệm 2 Ứng dụng Cách tính tốn bit CRC .2 Những hàm CRC thường dùng tiêu chuẩn hóa II TÌM HIỂU CRC - CRC - PCM30 Tính toán CRC-4 .9 III TÍNH TỐN CRC – 11 TÀI LIỆU THAM KHẢO .13 Nhóm – Lớp C05KTLT Tìm Hiểu CRC Lời Nói Đầu LỜI NĨI ĐẦU CRC (cyclic redundancy check) loại hàm băm, dùng để sinh giá trị kiểm thử, chuỗi bit có chiều dài ngắn cố định, gói tin vận chuyển qua mạng hay khối nhỏ tệp liệu Giá trị kiểm thử dùng để dò lỗi liệu truyền hay lưu vào thiết bị lưu trữ Giá trị CRC tính tốn đính kèm vào liệu trước liệu truyền hay lưu trữ Khi liệu sử dụng, kiểm thử cách sinh mã CRC so khớp với mã CRC liệu CRC phổ biến, đơn giản để lắp đặt máy tính sử dụng hệ số nhị phân, dễ dàng phân tích tính đúng, phù hợp để dò lỗi gây nhiễu truyền liệu Với thời gian có hạn thiết xót kiến thức nhóm.Nếu có thiếu xót xin bạn góp ý Xin chân thành cảm ơn! Nhóm SVTH Nhóm – Lớp C05KTLT Nhóm – Lớp C05KTLT Trang Tìm Hiểu CRC Tổng Quan Về CRC I TỔNG QUAN VỀ CRC Khái niệm CRC loại mã phát lỗi Cách tính tốn giống phép tốn chia số dài thương số loại bỏ số dư kết quả, điểm khác biệt sử dụng cách tính khơng nhớ Độ dài số dư nhỏ độ dài số chia, số chia định độ dài kết trả Định nghĩa loại CRC đặc thù định số chia sử dụng, nhiều ràng buộc khác Ứng dụng Một thiết bị CRC cho phép tính tốn chuỗi nhị phân ngắn có độ dài cố định, gọi giá trị kiểm tra không Công ước, khối liệu gửi lưu trữ gắn thêm vào liệu, tạo thành từ mã Khi từ mã nhận đọc, thiết bị, so sánh giá trị kiểm tra tính từ khối liệu, tương đương, thực ước Quốc tế Quyền Trẻ em toàn từ mã so sánh giá trị kiểm tra kết với số dư dự kiến Nếu giá trị kiểm tra không phù hợp, sau khối chứa lỗi liệu thiết bị có hành động khắc phục đọc lại yêu cầu ngăn chặn gửi lần nữa, không liệu giả định lỗi (tuy nhiên, với số xác suất nhỏ , chứa lỗi bị phát hiện, chất kiểm tra lỗi) Cách tính tốn bit CRC CRC số dư phép chia đặc biệt diễn giải sau: + Muốn tính CRC đa khung n phải vào đa khung n-1 + Tổng số bít thơng tin đa khung (n-1) (khơng tính bit CRC đa khung này) xem số nhị phân lớn + Số nhị phân triển khai thành đa thức, gọi đa thức đặc trưng + Bậc đa thực đặc trưng số lượng bit số nhị phân đơn vị, số lượng số hạng đa thức băng số lượng bit số nhị phân + Trước hết nhân đa thức đặc trưng với xm , m = số bit từ mã CRC + Sau đêm tích số chia (modulo 2) cho đa thức sinh số dư phép chia giá trị bit từ mã CRC đa khung n + Đa thức sinh số nhị phân bé chọn cách hợp lý Nhóm – Lớp C05KTLT Trang Tìm Hiểu CRC Tổng Quan Về CRC Phía thu tiến hành giải mã CRC sau: Tiếp nhận đa khung n-1, thay bit CRC khung n-1= bit 0, triển khai nội dung đa khung thành đa thức đặc trưng Nhân đa thức đặc trưng với xm , chia tích số cho đa thức sinh Đa thức sinh Số dư phép chia ghi lại so sách với bit tương ứng CRC đa khung n Nếu bit phân dư đa khung n-1 trùng hợp với bit CRC thuộc đa khung n đa khung n-1 khơng lỗi Những hàm CRC thường dùng tiêu chuẩn hóa Các dạng mã kiểm soát lỗi CRC (cyclic redundancy check) chia thành nhiều tiêu chuẩn, chúng khơng tiêu chuẩn hóa thống cho thuật toán mức độ toàn cầu, đa thức thường xem khơng phải tối ưu Bảng liệt kê đa thức thuật toán đa dạng sử dụng Bất kỳ giao thức cá biệt Nhóm – Lớp C05KTLT Trang Tìm Hiểu CRC Tên Nhóm – Lớp C05KTLT Tổng Quan Về CRC Đa thức Các biểu diễn: thông thường nghịch đảo (đảo đảo) Trang Tìm Hiểu CRC Tổng Quan Về CRC CRC-1 x + (hầu hết phần cứng; biết với tên parity bit) 0x1 or 0x1 (0x1) CRC-4-ITU x4 + x + (ITU G.704, p 12) 0x3 or 0xC (0x9) CRC-5-ITU x5 + x4 + x2 + (ITU G.704, p 9) 0x15 or 0x15 (0x1A) CRC-5-USB x5 + x2 + (USB token packets) 0x05 or 0x14 (0x12) CRC-6-ITU x6 + x + (ITU G.704, p 3) 0x03 or 0x30 (0x21) CRC-7 x7 + x3 + (Các hệ thống viễn thông, MMC,SD) 0x09 or 0x48 (0x44) CRC-8-ATM x8 + x2 + x + (ATM HEC) 0x07 or 0xE0 (0x83) CRC-8-CCITT x8 + x7 + x3 + x2 + (1-Wire bus) CRC-8- 0x8D or 0xB1 (0xC6) x8 + x5 + x4 + (1-Wire bus) 0x31 or 0x8C (0x98) CRC-8 x8 + x7 + x6 + x4 + x2 + 0xD5 or 0xAB (0xEA) CRC-8-SAE J1850 x8 + x4 + x3 + x2 + 0x1D or 0xB8 (0x8E) CRC-10 x10 + x9 + x5 + x4 + x + 0x233 or 0x331 (0x319) CRC-11 x11 + x9 + x8 + x7 + x2 + (FlexRay) 0x385 or 0x50E (0x5C2) Dallas/Maxim Nhóm – Lớp C05KTLT Trang Tìm Hiểu CRC Tổng Quan Về CRC CRC-12 x12 + x11 + x3 + x2 + x + (Các hệ thống viễn thông ) 0x80F or 0xF01 (0xC07) CRC-15-CAN x15 + x14 + x10 + x8 + x7 + x4 + x3 + 0x4599 or 0x4CD1 (0x62CC) CRC-16Fletcher Không phải CRC; xem Fletcher's checksum Sử dụng Adler32 A & B CRC x16 + x12 + x5 +1 (X.25, V.41, CDMA, Bluetoot 0x1021 or 0x8408 CRC-16-CCITT h, XMODEM, HDLC,PPP, IrDA, BACnet; (0x8810) known as CRC-CCITT, MMC,SD) CRC-16-DNP x16 + x13 + x12 + x11 + x10 + x8 + x6 + x5 + x2+1 ( 0x3D65 or 0xA6BC DNP, IEC 870, M-Bus) (0x9EB2) CRC-16-IBM x16 + x15 + x2 + (SDLC, USB, khác; biết CRC-16) 0x8005 or 0xA001 (0xC002) 0x864CFB or CRC-24-Radix- x24 + x23 + x18 + x17 + x14 + x11 + x10 + x7 + x6 + 0xDF3261 64 x5 + x4 + x3 + x + (FlexRay) (0xC3267D) CRC-30 0x2030B9C7 or x30 + x29 + x21 + x20 + x15 + x13 + x12 + x11 + x8 + 0x38E74301 x7 + x6 + x2 + x + (CDMA) (0x30185CE3) CRC-32-Adler Không phải CRC; xem Adler-32 CRC-32-IEEE 802.3 0x04C11DB7 or x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + 0xEDB88320 x7 + x5 + x4 + x2 + x + (V.42, MPEG-2,PNG ) (0x82608EDB) CRC-32C x32 + x28 + x27 + x26 + x25 + x23 + x22 + x20 + x19 + 0x1EDC6F41 or Nhóm – Lớp C05KTLT xem Adler-32 Trang Tìm Hiểu CRC Tổng Quan Về CRC 0x82F63B78 (0x8F6E37A0) (Castagnoli) x18 + x14 + x13 + x11 + x10 + x9 + x8 + x6 + CRC-32K (Koopman) 0x741B8CD7 or x32 + x30 + x29 + x28 + x26 + x20 + x19 + x17 + x16 + 0xEB31D82E x15 + x11 + x10 + x7 + x6 + x4 + x2 + x + (0xBA0DC66B) 0x000000000000001 B or 0xD80000000000000 (0x800000000000000 D) CRC-64-ISO x64 + x4 + x3 + x + (HDLC — ISO 3309) CRC-64ECMA-182 0x42F0E1EBA9EA3 x64 + x62 + x57 + x55 + x54 + x53 + x52 + x47 + x46 + 693 or x45 + x40 + x39 + x38 + x37 + x35 + x33 +x32 + x31 + 0xC96C5795D7870F x29 + x27 + x24 + x23 + x22 + x21 + x19 + x17 + x13 + 42 x12 + x10 + x9 + x7 + x4 + x + 1(as described (0xA17870F5D4F51 in ECMA-182 p.63) B49) Nhóm – Lớp C05KTLT Trang Tìm Hiểu CRC Tìm Hiểu CRC - II TÌM HIỂU CRC - CRC - PCM30 Trong trường hợp PCM 30 sử dụng để truyền số liệu thi biot SI khe thơi gian TS0 bit kiểm tra dư chu trinh CRC Bảng: Tóm tắc chức bit khe thơi gian TS0 đa khung 16 khung Cũng xem đa khung gồm đa khung con: + Đa khung thứ gồm khung đến khung + Đa khung thứ gồm khung đến khung 15 +| Bit SI khung chẵn khung bit kiểm tra dư chu trình C1, C2, C3, C4 (CRC-4) + Bit SI khung lẻ đa khung tạo thành từ mã đồng đa khung CRC-4, bit E khung 13 thị lỗi bit CRC-4 đa khung thứ bit E khung 15 chi thị lỗi bit CRC-4 đa khung thứ Nhóm – Lớp C05KTLT Trang Tìm Hiểu CRC Tìm Hiểu CRC - Tính tốn CRC-4 + Phía phát thiết bị PCM 30 hình thành đa khung gồm khung, khung có 256 bit, đa khung chứa 2048 bit + Giả thiết số 2048 bit đa khung n-1 có 1201 bit 1, tức tổng số bit 1201 + Chuyển 1201 thành số nhị phân có chiều dài là: 10010110001 + Triển khai số nhị phân thành đa thức đặc trưng sau đây: x10 + x7 + x5 +x4 + x0 + Nhân đa thức đặc trưng với x4 được: x14 + x11 + x9 + x8 + x4, chia cho đa thức sinh x4 + x + x0 + Các bit dư 1011 đặt vào vị trí bit C1, C2, C3, C4 đa khung n + Đa khung n-1 truyền đến phía thu đếm tổng số bit 1201, chuyển đổi thành số nhị phân 1001010001 + Triển khai số nhị phân thành đa thức đặc trưng: x10 + x7 + x6 + x5 + x4 + x0 + Nhân đa thức đặc trưng với x4 chia tích số cho đa thức sinh x4 + x + x0 số dư 1011 + Đem số dư 1011 so sách với số dư đặt đa khung n mà phía phát chuyển tới (1011), khơng có lỗi đa khung n-1 + Sơ đồ cài đặt xử lý CRC-4 hình sau: Nhóm – Lớp C05KTLT Trang Tìm Hiểu CRC Nhóm – Lớp C05KTLT Tìm Hiểu CRC - Trang 10 Tìm Hiểu CRC Tìm Hiểu CRC - III TÍNH TỐN CRC – + Là ví dụ thực phân chia đa thức phần cứng, giả sử chúng tơi cố gắng để tính toán CRC 8-bit tin nhắn 8- bit ký tự ASCII "W", nhị phân 01010111 2, số thập phân87 10, hệ thập lục phân 57 16 + Để minh hoạ, sử dụng CRC-8-ATM ( HEC ) đa thức x + x + x + 1.Viết bit truyền (hệ số sức mạch cao x) bên trái, điều tương ứng với chuỗi 9- bit “100000111” + Các giá trị byte 57 16 truyền hai đơn đặt hàng khác nhau, tùy thuộc vào quy ước bit đặt hàng sử dụng Mỗi người tạo tin nhắn khác đa thức M (x) + Msbit đầu tiên, điều x + x + x + x + = 01010111, lsbit đầu tiên, x + x + x + x + x = 11101010 Những sau nhân để sản xuất hai đa thức tin nhắn 16-bit x M (x) x + Tính tốn phần lại sau bao gồm trừ bội số máy phát điện đa thức G (x) Đây phân chia số thập phân dài, chí đơn giản bội bước 1, trừ mượn "từ vơ cực" thay giảm chữ số Bởi khơng quan tâm thương, khơng có cần phải ghi Nhóm – Lớp C05KTLT Trang 11 Tìm Hiểu CRC Tìm Hiểu CRC - + Quan sát sau phép trừ, bit chia thành ba nhóm: lúc đầu, nhóm mà tất khơng lúc kết thúc, nhóm khơng thay đổi từ gốc; nhóm bóng mờ "thú vị" Nhóm "thú vị" bit dài, phù hợp với mức độ đa thức Mỗi bước, nhiều thích hợp đa thức trừ nhóm khơng trở nên lâu chút, nhóm khơng thay đổi trở nên ngắn chút, lại cuối bên trái + Trong ví dụ msbit đầu tiên, lại đa thức x + x + x Chuyển đổi số thập lục phân cách sử dụng quy ước quyền lực cao x msbit, điều A2 16 Trong lsbit đầu tiên, lại x + x + x Chuyển đổi sang hệ thập lục phân cách sử dụng quy ước quyền lực cao x lsbit, 19 16 * Ví dụ: - Giả thiết số 2048 bit đa khung n-1 có 1058 bit 1, tức tổng số bit 1058 - Chuyển 1058 thành số nhị phân có chiều dài là: 10000100110 - Triển khai số nhị phân thành đa thức đặc trưng sau đây: x10 + x5 + x2 +x1 - Nhân đa thức đặc trưng với x8 được: x18 + x13 + x10 + x9 ,chia cho đa thức sinh x8 + x2 + x + x0 Nhóm – Lớp C05KTLT Trang 12 Tìm Hiểu CCR Tài Liệu Tham Khảo TÀI LIỆU THAM KHẢO Giáo trình ghép kênh số – Học viện BCVT Hồ Chí Minh Wed : tailieu.vn Tài liệu ghép kênh PDH & SDH – Học viện BCVT Nhóm – Lớp C05KTLT Trang 13 Tìm Hiểu CCR Nhóm – Lớp C05KTLT Tài Liệu Tham Khảo Trang 14