1. READER VÀ TAG RFID
1.1.2. Các hàm điều khiển Reader RDM880
Khi lập trình với MCU để điều khiển Reader không sử dụng được các hàm trong thư viên ALL.DLL đính kèm,mà chúng ta điều khiển Reader thông qua các mã lệnh Hex.Ở đây chúng em chỉ trình bày một vài lệnh cơ bản
Set Baudrate(0x81): thiết lập tốc độ baud cho reader
Lệnh gửi :
Data[0] : qui định tốc độ baud 0x00 : 9600 bps 0x01 : 19200 bps 0x02 : 38400 bps 0x03 :57600 bps 0x04 : 115200 bps
Hồi đáp : STATUS : 0x00 : Câu lệnh thực hiện tốt Data[0] : giá trị tốc độ baud mới
Ví dụ :
Send Data: AA 00 02 81 01 82 BB
Response Data: AA 00 02 00 01 03 BB (19200,N,8,1)
REQA ( 0x03) : kiểm tra các thẻ trong vùng hoạt động
Lệnh gửi:
Data[0] : mode Request 0x26 : Request Idle
0x52 : Request All (Wake up all) Hồi đáp: STATUS : 0x00 : Câu lệnh thực hiện tốt
Data[0...1] : 2 byte báo hiệu loại thẻ Ví dụ:
Send Data : AA 00 02 03 26 27 BB Response Data: AA 00 03 00 04 00 07 BB
AnticollA ( 0x04 ): chống đụng độ
Hồi đáp: STATUS : 0x00 : Câu lệnh thực hiện tốt Data[0] : cờ báo hiệu có nhiều thẻ
Data[1…4] : Serial Number(SNR) của thẻ Ví dụ:
Page 36
Khí chỉ có một thẻ trong vùng :
Send Data: AA 00 01 04 05 BB
Response Data: AA 00 06 00 00 06 61 62 AE AD BB Khi có nhiều hơn một thẻ trong vùng :
Send Data: AA 00 01 04 05 BB
Response Data: AA 00 06 00 01 06 61 62 AE AD BB Ở đây “ 0x01” có nghĩa là có nhiều thẻ trong vùng.
SelectA( 0x05 ) : chọn thẻ
Lệnh gửi:
DATA[0..3]: Serial Number của thẻ được chọn Hồi đáp: STATUS: 0x00 – OK
DATA[0..3]: Serial Number của thẻ được chọn Ví dụ:
Send Data : AA 00 05 05 86 69 F3 7F 63 BB Response Data:AA 00 05 00 86 69 F3 7F 66 BB
MF_Read ( 0x20 ) : đọc dữ liệu từ một block
Lệnh gửi :
DATA[0]: Chế độ điều khiển
Bit0 : Request Mode. 0=Request Idle, 1 = Request All
Bit1 : Key Select. Select use KeyA or Key B for Authenticaiton 0=KeyA, 1=KeyB
DATA[1]: Số block muốn đọc ( tối đa 4 block) DATA[2]: Địa chỉ của block đầu tiên muốn đọc. DATA[3-8]: 6 byte key : FF FF FF FF FF FF Hồi đáp:
STATUS: 0x00 : OK
DATA[0-3]: Card Serial Number DATA[4..N] Dữ liệu đọc về từ thẻ. Ví dụ :
Send Data:AA 00 0A 20 01 01 10 ff ff ff ff ff ff 3A BB
“01” đầu tiên : Request all và dùng key A để authentication.
Page 37
“10” : địa chỉ block cần đọc “ff ff ff ff ff ff” là key A
Response Data: AA 00 45 00 16 0F F4 7F
00 00 00 00 00 00 FF 07 80 69 FF FF FF FF FF FF C6 BB
MF_Write ( 0x21 ) : ghi dữ liệu vào thẻ
Lệnh gửi:
DATA[0]: Chế độ điều khiển
Bit0 : Request Mode. 0=Request Idle, 1 = Request All
Bit1 : Key Select. Select use KeyA or Key B for Authenticaiton 0=KeyA, 1=KeyB
DATA[1]: Số block muốn ghi ( tối đa 4 block) DATA[2]: Địa chỉ của block đầu tiên muốn đọc. DATA[3-8]: 6 byte key : FF FF FF FF FF FF Hồi đáp:
STATUS: 0x00 : OK
DATA[0-3]: Card Serial Number Ví dụ:
Send Data: AA 00 1A 21 01 01 10 ff ff ff ff ff ff FF FF FF FF FF FF FF FF FF FF FF FF FF FF 11 11 2B BB
“01” đầu tiên : Request all và dùng key A để authentication.
“01” tiếp theo: chỉ đọc 1 block “10” : địa chỉ block cần đọc “ff ff ff ff ff ff” là key A
“FF…….FF” dữ liệu được ghi vào thẻ.
Page 38