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