《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 嵌入式平臺(tái)下的RFID數(shù)據(jù)處理終端

嵌入式平臺(tái)下的RFID數(shù)據(jù)處理終端

2009-07-31
作者:高富強(qiáng)1,, 須民健2,, 鄒 恒

  摘? 要: 介紹一種以AT91SAM9260處理器和Linux嵌入式操作系統(tǒng)為平臺(tái)的RFID信息采集與處理系統(tǒng),。該系統(tǒng)充分利用AT91SAM9260芯片豐富的標(biāo)準(zhǔn)接口資源,,集門(mén)禁,、考勤,、監(jiān)控為一體,,以Linux操作系統(tǒng)為軟件平臺(tái),,完成了RFID數(shù)據(jù)信息和USB攝像頭照片數(shù)據(jù)的采集,、保存與TCP/IP遠(yuǎn)程數(shù)據(jù)傳輸?shù)取=榻B了系統(tǒng)的硬件組成原理,、軟件設(shè)計(jì)方案和實(shí)現(xiàn)方法,,為射頻識(shí)別技術(shù)在智能一卡通系統(tǒng)中的應(yīng)用提供了一種先進(jìn)的解決方案。
  關(guān)鍵詞: 嵌入式系統(tǒng),; 射頻識(shí)別,; USB攝像頭; 一卡通

?

  隨著射頻識(shí)別RFID(Radio Frequency Identification)技術(shù)和計(jì)算機(jī)技術(shù)的不斷發(fā)展,,RFID廣泛應(yīng)用于城市,、住宅小區(qū)、企業(yè)公司,、學(xué)校,、醫(yī)院等一卡通系統(tǒng)中,極大提高了人們的生活水平和工作質(zhì)量,。目前的RFID信息采集與處理多數(shù)采用8位單片機(jī)系統(tǒng),,如各種考勤機(jī)、門(mén)禁控制器,、售飯機(jī)等,,其功能單一化,數(shù)據(jù)處理能力有限,。本設(shè)計(jì)采用ATMEL公司生產(chǎn)的ARM9系列芯片AT91SAM9260為核心處理器,,實(shí)時(shí)采集RFID模塊的數(shù)據(jù)信息,,并對(duì)數(shù)據(jù)進(jìn)行篩選、識(shí)別,、保存,,最后以TCP/IP、FTP方式上傳至服務(wù)器供管理系統(tǒng)處理,。外置USB攝像頭可運(yùn)行于實(shí)時(shí)視頻監(jiān)控或圖片抓拍,,抓拍的圖片可保存于本地Flash存儲(chǔ)器或SD卡中,方便管理人員對(duì)采集的信息進(jìn)行核查,,能有效監(jiān)控在考勤或門(mén)禁系統(tǒng)中的作弊代刷卡現(xiàn)象,,是有別于指紋考勤系統(tǒng)的另一種有效替代方案。下面介紹系統(tǒng)各組成模塊的功能和實(shí)現(xiàn)方法,。
1 系統(tǒng)硬件設(shè)計(jì)
1.1 ARM處理器AT91SAM9260
  AT91SAM9260采用ARM926EJ-S內(nèi)核,,最高頻率200 MIPS,具有7個(gè)USART,,96個(gè)可編程I/O口,,10 M/100 M以太網(wǎng)卡MAC層,12 Mb/s USB-DEVICE及USB-HOST,,支持SDRAM的外部總線接口,、閃存、NAND閃存,。處理器的系統(tǒng)控制器提供完整的監(jiān)視功能,,其中包括8級(jí)優(yōu)先級(jí)中斷控制器、RC振蕩器,、PLL,、實(shí)時(shí)周期中斷和看門(mén)狗定時(shí)器、復(fù)位和關(guān)機(jī)控制器及備份寄存器[1],。該處理器件的這些特性使得系統(tǒng)硬件電路變得異常簡(jiǎn)潔,。
1.2 系統(tǒng)構(gòu)成
  系統(tǒng)包括1個(gè)用于采集USB攝像頭數(shù)據(jù)的USB-HOST接口,1個(gè)語(yǔ)音信息提示的IIS音頻接口,,1個(gè)RS232調(diào)試串口,2個(gè)用于接收RFID模塊數(shù)據(jù)的UART1,、UART2串行接口,1個(gè)以太網(wǎng)接口以及存儲(chǔ)器接口和其他普通I/O接口,。系統(tǒng)組成結(jié)構(gòu)如圖1所示,。

?


1.3 外圍接口
  根據(jù)圖1的系統(tǒng)結(jié)構(gòu)圖,著重介紹門(mén)禁控制,、RFID模塊和存儲(chǔ)器接口的硬件實(shí)現(xiàn),。
1.3.1 門(mén)禁控制
  在門(mén)禁控制系統(tǒng)中,RFID數(shù)據(jù)信息主要來(lái)自于韋根讀卡器,。其特點(diǎn)是數(shù)據(jù)傳輸可靠,,傳輸距離遠(yuǎn),在200 m范圍內(nèi)能可靠傳輸,,其Wiegand(韋根)協(xié)議是由Motorola公司制定的一種通信協(xié)議,,數(shù)據(jù)輸出由2根線組成,分別為DATA0和DATA1,,2根線分別將0或1輸出:輸出0時(shí),,DATA0線上出現(xiàn)負(fù)脈沖;輸出1時(shí),,DATA1線上出現(xiàn)負(fù)脈沖,。DATA0與DATA1分別與處理器的I/O口相連接,并將I/O口配置為輸入電平變化中斷方式,,保證數(shù)據(jù)幀的可靠完整接收,。
  門(mén)禁輸出控制采用MOSFET功率場(chǎng)效應(yīng)管IFRZ44代替目前流行使用的繼電器控制方式,克服了繼電器所有的“靈敏度差”,、“有動(dòng)作噪音”,、“開(kāi)閉次數(shù)多減少壽命”等缺點(diǎn)。IFRZ44的驅(qū)動(dòng)電路如圖2所示,,其中IFRZ44工作于開(kāi)關(guān)狀態(tài),,將電控鎖的電源連接到J4的兩端,通過(guò)控制IFRZ44的開(kāi)/關(guān)狀態(tài)即可實(shí)現(xiàn)門(mén)閘的開(kāi)/閉,。

1.3.2 RFID模塊
  RFID數(shù)據(jù)采集模塊包括:天線,、RF發(fā)送電路及RF接收電路、解調(diào)電路,、DSP處理電路,、電源、外部通信接口等,,其外部通信接口最終輸出正確的卡片ID信息[2],。在一卡通系統(tǒng)中,通常采用成品模塊,,目前國(guó)內(nèi)多采用支持頻率為125 kHz的EM卡和13.56 MHz的Mifare卡的讀卡模塊,。其中,Mifare卡內(nèi)芯片可讀/寫(xiě)數(shù)據(jù),,每個(gè)扇區(qū)獨(dú)立加密,,具備更好的安全性。
  在本設(shè)計(jì)中,,選用中國(guó)臺(tái)灣Smart-way品牌的125 kHz-K4模塊,。該模塊體積小,是專門(mén)設(shè)計(jì)用來(lái)讀取EM 卡的讀卡模塊,,射頻距離約10 cm,,外部通信接口采用RS232通信方式,,通過(guò)電平轉(zhuǎn)換電路后可直接與處理器的UART接口連接。根據(jù)不同的應(yīng)用和需求,,可將該模塊更換為RS232通信方式的Mifare(M1)讀寫(xiě)模塊,、遠(yuǎn)距離讀卡模塊、電子標(biāo)簽閱讀器等,,應(yīng)用程序根據(jù)模塊生產(chǎn)廠家提供的通信格式對(duì)卡片,、電子標(biāo)簽等數(shù)據(jù)載體進(jìn)行讀寫(xiě)操作。
1.3.3 存儲(chǔ)接口
  系統(tǒng)使用2片SDRAM-K4S561632H組成32位64 MB的內(nèi)存,,以運(yùn)行Linux操作系統(tǒng)和其他臨時(shí)數(shù)據(jù),;使用1片64 MB的NandFlash-K8F1208作為物理存儲(chǔ)器,存儲(chǔ)系統(tǒng)程序代碼,、文件系統(tǒng),、配置參數(shù)等。NandFlash掉電數(shù)據(jù)不丟失,,寫(xiě)(編程)和擦除速度快,,適合大數(shù)據(jù)量的讀取。在設(shè)計(jì)中,,NandFlash的地址空間分配如圖3所示,。


  圖中,Cramfs為系統(tǒng)的啟動(dòng)根文件系統(tǒng),,是一個(gè)壓縮格式的只讀文件系統(tǒng),,當(dāng)系統(tǒng)需要訪問(wèn)某個(gè)位置的數(shù)據(jù)時(shí),馬上計(jì)算出該數(shù)據(jù)在Cramfs中的位置,,將它實(shí)時(shí)地解壓縮到內(nèi)存之中,,然后通過(guò)對(duì)內(nèi)存的訪問(wèn)來(lái)獲取文件系統(tǒng)中需要讀取的數(shù)據(jù),節(jié)省了大部分的內(nèi)存空間[3],;Yaffs2文件系統(tǒng)是一種專門(mén)針對(duì)NandFlash的可讀寫(xiě)文件系統(tǒng),,在意外斷電等情況下不會(huì)丟失數(shù)據(jù),此處用于保存人員檔案數(shù)據(jù)、照片,、RFID信息,、系統(tǒng)配置參數(shù)等。
1.3.4 其他接口
  采用簡(jiǎn)單的4×4矩陣鍵盤(pán)和128×64字符型液晶FM12864M作為人機(jī)界面,,以減少系統(tǒng)成本,。
  系統(tǒng)的電源采用模塊開(kāi)關(guān)電源,輸出+5V/3A和+12 V/1.2 A兩組電源,,用于控制系統(tǒng)供電和電鎖供電,。UPS電源可用于門(mén)禁系統(tǒng)中,以便在市電斷開(kāi)的情況下能繼續(xù)維持整個(gè)系統(tǒng)的正常運(yùn)行,,提高門(mén)禁安全性,。
2 系統(tǒng)軟件設(shè)計(jì)
  在嵌入式系統(tǒng)中,,Linux操作系統(tǒng)以源代碼開(kāi)放、可裁剪,、占用內(nèi)存少,、效率高、穩(wěn)定,、良好的移植性、優(yōu)秀的網(wǎng)絡(luò)功能,、對(duì)各種文件系統(tǒng)完備的支持和標(biāo)準(zhǔn)豐富的API等眾多優(yōu)點(diǎn),,成為嵌入式軟件平臺(tái)的首選[4]。本設(shè)計(jì)采用Linux-2.6.22為內(nèi)核的Linux操作系統(tǒng)為軟件平臺(tái),,在此基礎(chǔ)上編寫(xiě)系統(tǒng)需要的各種驅(qū)動(dòng)程序和應(yīng)用程序,。
2.1? USB攝像頭驅(qū)動(dòng)的移植
  開(kāi)源驅(qū)動(dòng)spca5xx/gspca提供了對(duì)大部分主流攝像頭的支持,還為攝像頭提供了一個(gè)完整的網(wǎng)絡(luò)應(yīng)用程序,,即servfox和spcaview程序,,通過(guò)在Linux服務(wù)器端運(yùn)行servfox,即可實(shí)時(shí)顯示客戶端spcaview程序采集USB攝相頭視頻流,。由于gspca驅(qū)動(dòng)不支持本系統(tǒng)采用的“羅技靈迅版”USB攝像頭型號(hào),,所以要添加修改相應(yīng)的驅(qū)動(dòng)程序。gspca驅(qū)動(dòng)程序的核心代碼是gspca_core.c和gspca.h兩個(gè)文件,,包括了設(shè)備注冊(cè),、注銷、各種操作方法集(定義了所支持的攝像頭設(shè)備列表,,設(shè)備檢測(cè)和初始化,,設(shè)備打開(kāi)、參數(shù)設(shè)置,、關(guān)閉等各種操作函數(shù)) [5],。由于“羅技靈迅版”的VendorID(0x046d, 0x08af)、DSP型號(hào)(ZC3XX),、CMOS傳感器型號(hào)(SENSOR_HV7131R)在gspca.h中均有定義,也有相關(guān)的芯片頭文件,因此,只需改動(dòng)gspca_core.c,,把Easy/Cool攝像頭的信息加入到其中即可。在攝像頭型號(hào)檢測(cè)的函數(shù)spcaDetectCamera( )中添加如下代碼:
  case 0x08af:
    spca50x->desc =LogitechQC_EasyCool;
    spca50x->bridge = BRIDGE_ZC3XX;
    spca50x->sensor = SENSOR_HV7131B;
  break;
  即完成了對(duì)未知USB攝像頭型號(hào)的擴(kuò)展使用,。
2.2? RFID數(shù)據(jù)采集與處理
  RFID數(shù)據(jù)采集與處理流程圖如圖4所示,。人員檔案數(shù)據(jù)(如姓名、門(mén)禁權(quán)限等)統(tǒng)一存儲(chǔ)在一個(gè)file.txt的文件中,,作為數(shù)據(jù)識(shí)別進(jìn)程的數(shù)據(jù)依據(jù),。假設(shè)采集到的RFID卡片ID信息為:1123776758,執(zhí)行如下查找程序:
  system('grep 1123776758 /user/file.txt');


  判斷該卡片ID信息是否合法,。如果查找結(jié)果是該卡片ID信息為NULL,,則應(yīng)進(jìn)行報(bào)警提示等處理,;如果查找到的是該卡片ID信息對(duì)應(yīng)的人員檔案數(shù)據(jù),則進(jìn)行數(shù)據(jù)保存,、開(kāi)門(mén),、照片抓拍等。
  RFID信息,、采集時(shí)間,、地點(diǎn)等數(shù)據(jù)按格式保存在一個(gè)*.txt 文件中,所采集的照片以.jpg文件格式保存,。
  最后,,服務(wù)器通過(guò)以太網(wǎng),與終端設(shè)備建立TCP/IP,、FTP連接,,終端設(shè)備將保存的文件上傳至服務(wù)器供管理系統(tǒng)處理。上傳成功的文件將從本地Flash中刪除,,本地Flash由于容量有限,,采用輪循存儲(chǔ)的辦法,保存的數(shù)據(jù)超出50 MB后,,將從存儲(chǔ)范圍的開(kāi)始處往后覆蓋原來(lái)的文件,。
  鍵盤(pán)、LCD12864,、韋根接口,、門(mén)禁控制接口均需在Linux下編寫(xiě)I/O口驅(qū)動(dòng)程序,以模塊動(dòng)態(tài)加載的方式調(diào)試成功后,保存到Cramfs或Yaffs2文件系統(tǒng)中,,啟動(dòng)時(shí)在/etc/init.d/rcS文件中執(zhí)行動(dòng)態(tài)加載命令insmod[6],使用mknod建立設(shè)備支點(diǎn),,這樣應(yīng)用程序便可以訪問(wèn)這些設(shè)備。
  人機(jī)交互除了使用LCD和鍵盤(pán)外,,本設(shè)計(jì)還采用了基于Web瀏覽器的交互方式,,在用戶端只需要通過(guò)Web瀏覽器輸入設(shè)備的IP地址,就可以對(duì)嵌入式設(shè)備進(jìn)行管理和監(jiān)控,,非常方便實(shí)用,。在Linux環(huán)境下,Boa服務(wù)器是一個(gè)非常小巧和適用于嵌入式系統(tǒng)的Web服務(wù)器,,支持CGI程序的執(zhí)行,。
  本設(shè)計(jì)充分利用AT92SAM9260片上資源與智能一卡通系統(tǒng)終端的硬件需求相一致的優(yōu)勢(shì),再以Linux為軟件開(kāi)發(fā)平臺(tái),,實(shí)現(xiàn)了整個(gè)系統(tǒng)的集成化,,具有通用性、低成本、體積小,、操作方便,、穩(wěn)定可靠等優(yōu)勢(shì)。本系統(tǒng)還可擴(kuò)展到餐飲消費(fèi),、車庫(kù)管理,、會(huì)議簽到等應(yīng)用中,也適用于一般的嵌入式數(shù)據(jù)采集系統(tǒng),、監(jiān)控系統(tǒng)等,。


參考文獻(xiàn)
[1] ?Atmel Co.AT91SAM9260 user’s mannual(revision 6221D)[M]. 2007.
[2] ?武國(guó)強(qiáng),呂伯權(quán). 基于嵌入式Linux的便攜式RFID信息采集與處理系統(tǒng)[J]. 電子技術(shù)應(yīng)用,,2006,32(10).
[3] ?馮國(guó)進(jìn). 嵌入式Linux設(shè)備驅(qū)動(dòng)程序從入門(mén)到精通[M].北京:清華大學(xué)出版社,,2008.
[4] ?孫瓊. Linux應(yīng)用程序開(kāi)發(fā)詳解[M]. 北京:人民郵電出版社,2006.
[5] ?徐偉,,譚樹(shù)人. 基于AT91RM9260的圖像采集系統(tǒng)設(shè)計(jì)[J]. 微計(jì)算機(jī)信息,2006(12).
[6] ?CONRBET J, RUBINI A, HARTMAN G K. Linux device?drivers third editon[M]. O’Reilly Media, 2005.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。