?? rf51文檔.txt
字號:
北京項目 射頻卡部分 射頻卡讀寫器(接口設備)軟件設計文檔
軟件名稱:Rf51
文件樹:
主文件
main.c--+------P89c51RX.h
+------comm.h
+------timer.h
+------icc.h
+------iccmmd.h
+------m500auc.h
串口通訊基本協議
comm.h
comm.c--+------P89c51RX.h
+------comm.h
+------timer.h
+------string.h
+------misc.h
ic卡命令接口
iccmmd.h
icCmmd.c --+------string.h
+------comm.h
+------iccmmd.h
+------m500auc.h
+------iccapp.h
非接觸式ic卡的物理層接口
m500auc.h
m500auc.c --+------P89c51RX.h
+------mfreg500.h
+------m500auc.h
+------rdio.h
+------timer2.h
+------string.h
用于非接觸式ic卡的基本io函數
rdio.h
rdio.c--+------P89c51RX.h
+------rdio.h
接觸式ic卡的數據鏈路層部分
iccapp.h
iccapp.c --+------icc.h
+------iccapp.h
+------string.h
接觸式ic卡的物理層接口
icc.h
icc.c --+------p89c51rx.h
+------timer.h
+------string.h
+------icc.h
常用的工具函數
misc.h
misc.c--+------misc.h
+------ctype.h
定時器0應用接口
timer.h
timer.c --+------P89c51RX.h
+------softdly.h
+------timer.h
定時器2應用接口
timer2.h
timer2.c --+------P89c51RX.h
+------timer2.h
定時事件定義
t_event.h
t_event.c --+------P89c51RX.h
+------t_event.h
+------timer.h
軟延時
softdly.a51
51寄存器定義
P89c51RX.h
rc500寄存器定義
mfreg500.h
main流程
時鐘初始化
串口打開
rc500初始化
rc500寄存器配置
sam卡初始化
sam卡打開
循環體
處理串口命令transCmmd
transCmmd流程
提取命令類型,卡類型,數據包和長度
如果是M1卡命令
提取命令,認證,區,塊,區密碼a/b,區塊數據
呼叫卡,防沖突,選擇卡,密碼編碼
讀卡:認證A,讀塊數據,發讀卡數據
減卡:認證A,減塊數據,讀塊數據,發讀卡數據
寫卡:認證B,寫塊數據,讀塊數據,發讀卡數據
如果是SAM卡命令
填寫SAM命令結構
發SAM命令讀其響應
發SAM響應數據
如果是MPro卡命令
//。。。
其他命令
//。。。
//=======================================================//
通訊協議:
1,格式:STX + LEN1 + LEN2 + UDP + ETX + LRC
2,UDP格式:命令的類型 + 命令的執行主體 + 復合指令類型 + 認證類型
1字節 + 1字節 + 1字節 + 1字節
2.1 對M1卡: 命令的類型 + 命令的執行主體 + DATALEN + 認證類型+扇區+塊號+復合指令類型 + KEYAB + ( DATA) + 認證類型
1字節 + 1字節 + 1字節+ 1字節 1 + 1 + 1 + 6字節 16字節 + 1字節
如: 02 00 14 02 03 0a 00 00 00 00 ff ff ff ff ff ff ff 03 E3
//==============================================================================//
//CMMD_TYPE命令類別,用于區別命令的類型
#define CMMD_MPU 0X00//與卡無關的指令
#define CMMD_IC_BASE 0X01//卡基本指令
#define CMMD_IC_HIGH 0X02//卡復合指令
//==============================================================================//
//CARD_TYPE卡類型,用于區別命令的執行主體
#define MPU 0X00//與卡無關
#define IC_PSAM 0X01
#define IC_ISAM 0X02
#define IC_M1 0X03
#define IC_MPRO 0x04
//==============================================================================//
//復合指令類型定義
#define M1_READ 0x00//讀M1卡數據
#define M1_WRITE 0x01//寫M1卡數據
#define M1_DECREASE 0X02//M1卡減錢包
#define MPRO_READ 0X03//讀MPR0卡數據
#define MPRO_WRITE 0X04//寫MPRO卡數據
//==============================================================================//
//認證
#define AUTH_ISAM 0XFD//需要ISAM卡認證才可以讀寫
#define AUTH_PSAM 0XFE//需要PSAM卡認證才可以讀寫
#define AUTH_NOSAM 0XFF//不需要SAM卡而直接讀卡片數據
#define ALLBLOCK 0XFF
//==============================================================================//
02 00 14 02 03 0a 00 00 00 00 ff ff ff ff ff ff ff 03 E3
66 88 02 00 16 1E 63 00 F3 4D CA D4 9F 20 BF 08 FF 34 EE 00 BF 03 5A
66 88 02 00 16 1E 63 00 F3 4D CA D4 9F 20 BF 08 FF 34 EE 00 BF 03 5A
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -