Lập trình mã hóa Manchester

Một phần của tài liệu Xây dựng hệ thống quản lý nhân sự ứng dụng công nghệ RFID (Trang 38 - 47)

3.3.1. Giải thuật

o Mã hóa theo thứ tự bit

 Thực hiện mã hóa 8 bits theo đúng thứ tự từ LSB MSB.

 Kết quả sau mã hóa 4 bits thấp thành 1 Byte và 4 bits cao thành 1 Byte.  Áp dụng quy tắc mã hóa cho từng bit:

 0 10  1 01  Ví dụ:

 Kết quả

o Mã hóa bit vị trí chẵn lẻ

 Áp dụng quy tắc mã hóa Manchester cho 1 byte dữ liệu kết quả sẽ thu đƣợc 2 Byte(1 Word) dữ liệu mã hóa.

39

 Để mã hóa 1 bit dữ liệu theo mã Manchester, đơn giản là việc nhân đôi thành 2 bit và thực hiện phép XOR với 2 bit 10(xem nhƣ là clock).

 Ví dụ Byte 00110101, nhân đôi các Bit ta đƣợc 0000111100110011, sau đó XOR với chuỗi 1010101010101010(clock) kết quả sẽ đƣợc chuỗi mã hóa

0101101001100110. 0000111100110011 XOR 1010101010101010 = 1010010101011001  Ví dụ:  Kết quả

3.3.2. Tối ƣu giải thuật

o Mã hóa theo thứ tự bit

 Thực hiện nhân đôi vị trí các bits của 4 bits thấp(hoặc cao), sau đó thực hiện phép XOR với chuỗi 0xAA thu đƣợc 1 Byte mã hóa Manchester.

41 Thực hiện XOR với 0xAA để đƣợc kết quả.

 Tƣơng tự cho 4 bits cao, bằng cách sử dụng phép dịch phải 4 bits:

o Mã hóa vị trí bit chẵn lẻ

 Việc nhân đôi số Bit của 1 Byte dữ liệu theo cách này sẽ thực hiện khó khăn. Do đó, thay vì nhân đôi các Bit theo đúng thứ tự 0 ực hiện việc tách,

chuyển vi trí sang 2 Byte(Byte cao chứa Bit lẻ, Byte thấp chứa Bit lẻ) sau đó nhân đôi các Bit bằng phép dịch Bit.

42

Tách các bit chẵn và lẻ

Xây dựng byte cao-thấp để thực hiện phép dịch bit

3.4. Giải mã Manchester

3.4.1. Giải thuật

 Về nguyên tắc việc giải mã cứ mỗi 2 bits theo quy tắc 011 và 100, tƣơng đƣơng với việc thực hiện phép XOR giữa cặp Bit 10 hay 01 với 2 Bit 10(xem nhƣ clock).

 Áp dụng cho 2 Byte dữ liệu Manchester bằng phép XOR với 2 Byte clock 0xAAAA sẽ thu đƣợc 1 Byte dữ liệu.

 Ví dụ chuỗi 2 Byte dữ liệu Manchester là 0101101001100110, thực hiện phép XOR với 2 Byte 1010101010101010 sẽ thu đƣợc kết quả 2 Byte là 1111000011001100, cuối cùng đƣợc kết quả 1 Byte dữ liệu là 11001010.

43 3.4.2. Tối ƣu giải thuật

o Đặc điểm mã Manchester

 Mã Manchester sử dụng băng thông gấp đôi tốc độ truyền dữ liệu, có nghĩa là xung clock có tần số gấp 2 lần tốc độ truyền data.

 Luôn có sự thay đổi trạng thái 10 hoặc 01 vào khoảng giữa của chu

kì Bit dữ liệu

 Do đó mã Manchester có thể thực hiện việc tái đồng bộ xung clock sau mỗi Bit dữ liệu cũng nhƣ không tạo ta một chuỗi Bit không đổi trên đƣờng truyền.

 Theo quy tắc mã hóa 101 và 010 có nghĩa là luôn có thay đổi mức

tín hiệu trong khoảng thời gian không nhỏ hơn độ dài 1/2 Bit dữ liệu cũng nhƣ không lớn hơn 1 Bit dữ liệu.

44

không nhỏ hơn độ dài 1 Bit dữ liệu và không lớn hơn 2 lần độ dài bit dữ liệu.  Nếu có sự vi phạm nguyên tắc trên có nghĩa là đƣờng truyền đã bị nhiễu và việc giải mã Manchester sẽ cho kết quả sai.

 Chú ý: dựa vào đặc điểm này của mã Manchester để tạo Start Bit và Stop Bit cho 1 khung truyền. Và cũng dựa vào đặc điểm này để cho phép sử dụng

interrupt một cách hiệu quả.

 Dựa vào đặc điểm của mã Manchester thì việc giải mã có thể thực hiện bằng việc kiểm tra mỗi khi có sự chuyển mức 10 hay 01 của tín hiệu và xác định độ dài của từng bit tín hiệu đó.

 Để giảm thiểu việc thực hiện kiểm tra sự thay đổi mức liên lục 1 cách không cần thiết thì giải thuật giải mã Manchster có thể chỉ cần kiểm tra sự thay đổi của xung tín hiệu bởi 1 cạnh lên hoặc xuống.

 Về nguyên tắc chỉ có duy nhất 1 trong 3 trƣờng hợp xảy ra với độ dài 1 cạnh lên của xung tín hiệu đã mã hóa Manchester nhƣ sau:

45

 Vị trí xảy ra cạnh lên hoặc xuống có thể vào giữa(Middle) hoặc cuối(End) thời khoảng của 1 Bit dữ liệu.

46 Input Output Độ dài 2 cạnh lên Vị trí cạnh Lên xảy ra Giá trị Decoder Giá trị giải mã Kế tiếp Số bit decode Đƣợc

1 bit Giữa 0 Chƣa xác định 1

1 bit Cuối 1 Chƣa xác định 1

1,5 bit Giữa 1 0 2

1,5 bit Cuối 1 Chƣa xác định 1

47

CHƢƠNG 4: Thiết kế và thi công bộ đọc reader

Một phần của tài liệu Xây dựng hệ thống quản lý nhân sự ứng dụng công nghệ RFID (Trang 38 - 47)