(中山職業(yè)技術(shù)學(xué)院,廣東 中山 528404)李泳湛,廖靜很,洪志剛
李泳湛(1981-)男,工學(xué)碩士,主要研究方向?yàn)楣I(yè)控制網(wǎng)絡(luò)與系統(tǒng)集成技術(shù)。
摘要:隨著RFID和以太網(wǎng)的普及,RFID技術(shù)和以太網(wǎng)技術(shù)的結(jié)合將是RFID應(yīng)用的一個(gè)很好的發(fā)展方向。因此,本文提出了一種基于Cortex M3[1]的RFID讀寫器的以太網(wǎng)接入方案。本方案實(shí)現(xiàn)的系統(tǒng)分為兩部分:RFID讀寫器和以太網(wǎng)接入器,RFID讀寫器利用STC89C52RD2作為處理器,通過MFRC500實(shí)現(xiàn)對(duì)IC卡的基本操作以及提供基本的串口通信功能;以太網(wǎng)接入器利用LPC1766[1](內(nèi)核為Cortex M3)作為處理器進(jìn)行串行網(wǎng)絡(luò)與以太網(wǎng)網(wǎng)絡(luò)的協(xié)議轉(zhuǎn)換,實(shí)現(xiàn)RFID讀寫器的以太網(wǎng)接入。
關(guān)鍵詞:無線射頻識(shí)別(RFID);以太網(wǎng);Cortex M3內(nèi)核;非接觸式IC卡
Abstract: With the popularity of RFID and Ethernet, a combination of RFID technology and Ethernet technology will be a good development of RFID application. Therefore, this paper presents a solution of the RFID reader's Ethernet access based on Cortex M3. The system from this solution is divided into two parts: the RFID read-write part and the Ethernet access part. The RFID read-write part uses the STC89C52RD2 as the processor, and uses the MFRC500 to realize the basic operation of IC card and the basic serial communication function. The Ethernet access part uses the LPC1766 (Cortex M3 kernel) as the processor for the conversion of serial network protocol to Ethernet network protocol, which achieves the RFID read-write part's access to Ethernet.
Key words: Radio Frequency Identification(RFID); Ethernet; Cortex M3 Core;Contactless IC Card
隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,以太網(wǎng)得到了廣泛的應(yīng)用,以實(shí)現(xiàn)信息的高速傳輸和資源共享。隨著以太網(wǎng)絡(luò)的普及,很多企業(yè)將公司或小區(qū)的管理掛接在以太網(wǎng)絡(luò)上,實(shí)現(xiàn)信息的統(tǒng)一管理。隨著RFID技術(shù)的廣泛應(yīng)用,RFID技術(shù)已經(jīng)深入到大家的工作和生活之中,用以太網(wǎng)實(shí)現(xiàn)RFID信息的統(tǒng)一管理已經(jīng)是RFID聯(lián)網(wǎng)的主要發(fā)展方向了。本文提出的基于Cortex M3的RFID以太網(wǎng)接入系統(tǒng)正是給予上述情況而提出的一種解決方案。
本方案使用STC89C52RD2作為處理器,通過MFRC500實(shí)現(xiàn)對(duì)IC卡的基本操作以及提供基本的串口通信功能,實(shí)現(xiàn)RFID讀寫器的基本功能;使用LPC1766(內(nèi)核為Cortex M3)作為處理器進(jìn)行串行網(wǎng)絡(luò)與以太網(wǎng)網(wǎng)絡(luò)的協(xié)議轉(zhuǎn)換,把RFID讀寫器接入到以太網(wǎng),實(shí)現(xiàn)以太網(wǎng)接入器的基本功能。ARM公司的Cortex M3是一個(gè)速度快、功耗低、芯片面積小和價(jià)格便宜的32位內(nèi)核,能很好地實(shí)現(xiàn)以太網(wǎng)產(chǎn)品的功能。NXP的LPC1766內(nèi)核正是Cortex M3,主頻高達(dá)100MHZ,含有Ethernet MIC接口,能有效地實(shí)現(xiàn)以太網(wǎng)的接入功能。
1 系統(tǒng)設(shè)計(jì)
1.1 系統(tǒng)總體框架
本系統(tǒng)的主要設(shè)備為基于LPC1766的以太網(wǎng)接入器。用戶通過以太網(wǎng)接入器進(jìn)行與RFID讀寫器的通信,從而實(shí)現(xiàn)對(duì)IC卡的操作。
1.2 RFID讀寫器的簡單介紹
STC89C52RD2作為中央處理器[4]通過MFRC500來驅(qū)動(dòng)天線對(duì)Mifare卡進(jìn)行讀寫操作。另一方面,STC89C52RD2通過RS-485與以太網(wǎng)接入器進(jìn)行通信,實(shí)現(xiàn)讀寫器的以太網(wǎng)接入。
讀寫器對(duì)IC卡的操作流程分為:
(1)復(fù)位請(qǐng)求
(2)反碰撞操作
(3)卡選擇操作
(4)認(rèn)證操作
(5)讀寫操作
1.3 以太網(wǎng)接入器的系統(tǒng)設(shè)計(jì)
以太網(wǎng)接入器實(shí)現(xiàn)多個(gè)RFID讀寫器接入到以太網(wǎng)網(wǎng)絡(luò),從而用戶可以通過以太網(wǎng)來實(shí)現(xiàn)對(duì)RFID讀寫器的操作,進(jìn)一步實(shí)現(xiàn)RFID技術(shù)的網(wǎng)絡(luò)信息化。為了實(shí)現(xiàn)這一功能,一方面以太網(wǎng)接入器能完成RS-485網(wǎng)絡(luò)到以太網(wǎng)網(wǎng)絡(luò)的數(shù)據(jù)流通的功能;另一方面,以太網(wǎng)接入器有一定的內(nèi)存進(jìn)行數(shù)據(jù)的存儲(chǔ)和緩存。
(1)以太網(wǎng)接入器的硬件系統(tǒng)設(shè)計(jì)
以太網(wǎng)接入器選用LPC1766芯片為中央處理器,LPC1766芯片使用高性能的ARM? Cortex?-M3 32位的RISC內(nèi)核[6],工作頻率為100MHz。它內(nèi)置高速存儲(chǔ)器,豐富的增強(qiáng)I/O端口和聯(lián)接到兩條APB總線的外設(shè),擁有一個(gè)EtherNet控制器、4個(gè)UART、256KFlash、64KSRAM[6]。LPC1766工作于-40℃~+105℃的溫度范圍,供電電壓為2.0V~3.6V,它的一系列省電模式突顯出了它的低功耗的特點(diǎn)。豐富的外設(shè)配置,得到RealView MDK[2]集成開發(fā)環(huán)境的支持,使得LPC1766微控制器適合于多種應(yīng)用領(lǐng)域。
以太網(wǎng)接入器的硬件系統(tǒng)的電路組成部分包含有:電源電路、時(shí)鐘電路、JTAG接口電路、復(fù)位電路、RS485串行通信接口電路、存儲(chǔ)電路和以太網(wǎng)接口電路。
LPC1766芯片包含10/100Mbps MAC以太網(wǎng)模塊, LPC1766的以太網(wǎng)MAC只有RMII接口,需要與具有RMII接口的以太網(wǎng)PHY器件進(jìn)行連接。以太網(wǎng)接入器的以太網(wǎng)的主要電路如圖2和圖3所示。
圖2 LPC1766與以太網(wǎng)PHY電路的連接
圖3 以太網(wǎng)網(wǎng)絡(luò)變壓器電路
以太網(wǎng)接入器的RS-485串行通信接口電路如圖4所示。
圖4 RS-485串行通信接口電路
(2)以太網(wǎng)接入器的軟件系統(tǒng)設(shè)計(jì)
考慮到以太網(wǎng)接入器日后的軟件升級(jí)和開發(fā)工作的分工與管理,軟件系統(tǒng)設(shè)計(jì)采用μC/OS-Ⅱ[3]實(shí)時(shí)多任務(wù)操作系統(tǒng)作為程序的運(yùn)行平臺(tái)。需要對(duì)μC/OS-Ⅱ進(jìn)行針對(duì)LPC1766芯片的移植。移植的工作在于修改μC/OS-Ⅱ操作系統(tǒng)源代碼[5]中的三個(gè)源代碼文件:OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C。
另一方面,由于以太網(wǎng)接入器需要把RFID讀寫器進(jìn)行以太網(wǎng)的接入,所以以太網(wǎng)接入器需要實(shí)現(xiàn)TCP/IP的通信。以太網(wǎng)接入器的軟件系統(tǒng)的設(shè)計(jì)需要在μC/OS-Ⅱ操作系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)能完成TCP/IP的通信小型TCP/IP協(xié)議棧[7]。
在完成了μC/OS-Ⅱ?qū)崟r(shí)多任務(wù)操作系統(tǒng)和小型TCP/IP協(xié)議棧在LPC1766上的運(yùn)行后,就可以提供基本的任務(wù)管理、任務(wù)的通信同步、簡單的內(nèi)存管理和TCP/IP通信管理的API函數(shù)[7]。在這樣的基礎(chǔ)上做以太網(wǎng)接入器軟件系統(tǒng)的開發(fā),工作的主要任務(wù)就是實(shí)現(xiàn)串行網(wǎng)絡(luò)和以太網(wǎng)網(wǎng)絡(luò)的協(xié)議轉(zhuǎn)換了,對(duì)IC卡的具體信息進(jìn)行數(shù)據(jù)封裝,封裝成TCP數(shù)據(jù)包[8]通過以太網(wǎng)傳輸?shù)皆L問終端。
2 調(diào)試與試用
RFID讀寫器通過RS-485接口與以太網(wǎng)接入器相連接,以太網(wǎng)接入器通過以太網(wǎng)口接入交換機(jī)與PC機(jī)進(jìn)行連接,在PC機(jī)上用.NET寫一個(gè)TCP/IP通信程序?qū)C卡的信息進(jìn)行讀取與寫入。另一方面,采用網(wǎng)絡(luò)協(xié)議檢測軟件Ethereal對(duì)以太網(wǎng)接入器與PC機(jī)的通信進(jìn)行協(xié)議檢測和分析。
經(jīng)過對(duì)系統(tǒng)的試驗(yàn)調(diào)試和驗(yàn)證,系統(tǒng)基本上達(dá)到了IC卡數(shù)據(jù)采集和數(shù)據(jù)處理的要求,通信的速度和通信的穩(wěn)定性能滿足商業(yè)應(yīng)用要求。為了進(jìn)一部調(diào)試分析,把本系統(tǒng)安裝到某大樓實(shí)驗(yàn)室的刷卡系統(tǒng)中,本系統(tǒng)的運(yùn)行基本上達(dá)到了實(shí)際應(yīng)用的要求。
3 總結(jié)與展望
本文基于Cortex M3的RFID以太網(wǎng)接入系統(tǒng)采用基于CortexM3內(nèi)核的LPC1700處理器和μC/OS-Ⅱ?qū)崟r(shí)多任務(wù)操作系統(tǒng)來設(shè)計(jì)以太網(wǎng)接入器,以及采用STC89C52RD2處理器和MFRC500讀卡器芯片來設(shè)計(jì)RFID讀寫器,實(shí)現(xiàn)了通過以太網(wǎng)對(duì)IC卡進(jìn)行信息的讀寫和基本操作。
由于RFID讀寫器和以太網(wǎng)接入器是整個(gè)系統(tǒng)的兩個(gè)模塊,各自實(shí)現(xiàn)不同的功能。所以下一步將要把這兩個(gè)模塊融合到一起,用一個(gè)模塊來實(shí)現(xiàn)IC卡讀寫和以太網(wǎng)的連接。
參考文獻(xiàn):
[1] Joseph Yiu. ARM Cortex-M3 權(quán)威指南[M]. 北京航空航天大學(xué)出版社,2009.
[2] 李寧. ARM開發(fā)工具RealView MDK使用入門[M]. 北京航空航天大學(xué)出版社,2008.
[3] 任哲,潘樹林,房紅征. 嵌入式操作系統(tǒng)基礎(chǔ)μC/OS-Ⅱ和Linux[M]. 北京航空航天大學(xué)出版社,2006.
[4] 龔運(yùn)新. 單片機(jī)C語言開發(fā)技術(shù)[M]. 清華大學(xué)出版社,2006.
[5] Jean J.Labrosse. 嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ[M]. 北京航空航天大學(xué)出版社,2003.
[6] 周立功. 深入淺出Cortex M3——LPC1700[M]. 廣州致遠(yuǎn)電子有限公司,2009.
[7] W.Richard Stevens. TCP/IP 詳解(卷1:協(xié)議) [M]. 機(jī)械工業(yè)出版社,2007.
[8] 周立功. ARM嵌入式系統(tǒng)軟件開發(fā)實(shí)例[M]. 北京航空航天大學(xué)出版社,2005.
摘自《自動(dòng)化博覽》2010年第六期