基于MCF52235 的RFID 通用開(kāi)發(fā)平臺設計
void hw_fec_init (uint8 mac_addr_fec [6];//FEC初始化
int8 hw_fec_sendframe (uint8 ch [], uint8destAdd[6], uint8 srcAdd[6], uint16 lenType, uint16len);//發(fā)送單個(gè)以太網(wǎng)幀
uint8 hw_fec_receiveframe(uint8 ch[], uint16 *len);//接收單個(gè)以太網(wǎng)幀
uint hw_icmp_handle(PACKET p);//處理接收到的ICMP 包,響應ping 請求
int hw_udp_send (unshort fport, unshort lport,
PACKET p);//發(fā)送UDP 包
//==================================
RC531 射頻模塊與MCF52235 通信嚴格按照串行通信時(shí)序要求。 RC531 與ISO/IEC 14443 TypeA 和Type B 卡通信,則按照A、B 卡調制和編碼的方式設置相關(guān)的寄存器,并根據ISO/IEC 14443 協(xié)議來(lái)設計軟件即可。 讀卡器與A、B 卡之間的通信是按照應答方式來(lái)進(jìn)行的,非接觸式的卡有很多工作狀態(tài),各個(gè)狀態(tài)的轉化可通過(guò)讀卡器向卡發(fā)送一系列命令完成。 射頻構件的接口函數說(shuō)明如下所示:
// ==操作Type A 卡的部分主要函數======
void pcdinit();//R 初始化
char pcdreset();//RC531 復位
char pcdrequest(uint8 req_code);//尋卡
char pcdanticoll(uint8 *snr);//防碰撞
char pcdselect(uint8 *snr);//選定一張卡
// =========操作Type B 卡的函數========
void pcdinitB();//B 卡初始化
char pcdrequestB(uint8 *pupi);//尋B 卡
char pcdattrib(uint8 *pupi);// 發(fā)送attrib 命令
char pcdhaltB(uint8 *pupi);// B 卡掛起
char pcdgetUID (uint8 *snr, uint8 *len); //獲得B 卡的ID
//==================================
MCF52235 與LCD 構件的通信同樣采用串行方式。 串行通信的一次數據分3 個(gè)字節傳輸。 第一個(gè)字節數據格式為11111AB0,表示串行控制,A 是選擇數據方向,1 表示LCD 到MCF52235,0 表示MCF52235 到LCD. B 是選擇數據類(lèi)型,1 表示數據為顯示
評論