新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > S3C6410和CR95HF的RFID讀卡系統(tǒng)設(shè)計(jì)

S3C6410和CR95HF的RFID讀卡系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2016-09-12 來源:網(wǎng)絡(luò) 收藏
S3C6410和CR95HF的RFID讀卡系統(tǒng)設(shè)計(jì)

3.2 驅(qū)動設(shè)計(jì)

軟件主要由底層驅(qū)動、數(shù)據(jù)處理及交互界面組成。微處理器和射頻芯片通過串口通信,串口驅(qū)動的開發(fā)使用 NDK將Linux的C函數(shù)通過JNI接口生成相應(yīng)的.so動態(tài)鏈接庫供Java語言開發(fā)的安卓軟件使用。由于數(shù)據(jù)采用十六進(jìn)制傳輸,因而串口通信需要配置為原始數(shù)據(jù)輸入/輸出。為提高通信速率,本文采用高速波特率921 600 b/s,并通過奇偶校驗(yàn)有效降低了誤碼率,修改寄存器實(shí)現(xiàn)了8數(shù)據(jù)位的傳輸,較傳統(tǒng)7數(shù)據(jù)位速率提升1/8,主要C代碼如下:

S3C6410和CR95HF的RFID讀卡系統(tǒng)設(shè)計(jì)

支持ISO14443、ISO15693等無線協(xié)議,根據(jù)協(xié)議標(biāo)準(zhǔn)調(diào)用串口函數(shù)和延時(shí)函數(shù)并加載數(shù)據(jù)來實(shí)現(xiàn)射頻驅(qū)動。射頻指令格式如圖6所示。

S3C6410和CR95HF的RFID讀卡系統(tǒng)設(shè)計(jì)

由不同的CMD命令來選擇不同協(xié)議,協(xié)議命令參見表1。

3.3 數(shù)據(jù)處理

需具有尋卡、防沖突和讀寫卡等功能。設(shè)置串口波特率和選擇協(xié)議,防沖突來判斷附近存在一張還是多張標(biāo)簽卡。根據(jù)所選CMD及返回結(jié)果對數(shù)據(jù)處理來實(shí)現(xiàn)讀卡器和標(biāo)簽的無線通信,其處理流程如圖7所示。

S3C6410和CR95HF的RFID讀卡系統(tǒng)設(shè)計(jì)

尋卡、防沖突后選擇地址進(jìn)行讀寫卡,每地址可存儲32位數(shù)據(jù),默認(rèn)為ISO15693協(xié)議。由于原始數(shù)據(jù)輸入/輸出,因而收到信息后通過函數(shù)ByteArrToHex(byte[])轉(zhuǎn)換為Hex字符串。

搜尋到標(biāo)簽卡后,卡的惟一標(biāo)識符UID數(shù)據(jù)必須在讀卡器軟件里全局通用才能讓讀卡界面和寫卡界面共同來操控該數(shù)據(jù)。

由于各個(gè)Activity界面數(shù)據(jù)均獨(dú)立,而用傳統(tǒng)的Intent類在多個(gè)界面間傳輸同一組數(shù)據(jù)操作繁瑣且易發(fā)生數(shù)據(jù)沖突,本文通過Applicat ion類對接收到的標(biāo)簽卡信息存入數(shù)組RcvBuffer實(shí)現(xiàn)了全局共享。實(shí)現(xiàn)全局共享Java程序如下:

S3C6410和CR95HF的RFID讀卡系統(tǒng)設(shè)計(jì)
S3C6410和CR95HF的RFID讀卡系統(tǒng)設(shè)計(jì)

3.4 人機(jī)交互界面軟件設(shè)計(jì)

界面開發(fā)通過XML布局文件和Java程序混合實(shí)現(xiàn)。設(shè)計(jì)時(shí),在AndroidManifest.xml文件中注冊所需界面并通過網(wǎng)格視圖Grid View來實(shí)現(xiàn)主界面的圖片按鈕顯示。主界面包括設(shè)置、尋卡、讀卡、寫卡等功能按鈕,選擇后會通過Intent類調(diào)用相應(yīng)的子界面組件Activ ity,其通過setContentView()函數(shù)來啟動相應(yīng)的XML。

4 系統(tǒng)測試

所開發(fā)的讀卡器實(shí)物如圖8所示,左側(cè)為主體,右側(cè)為天線。將軟件下載到讀卡器后的測試結(jié)果如圖9、圖10所示。圖9為選用4張支持ISO15693協(xié)議的標(biāo)簽放到讀卡器附近時(shí)的尋卡結(jié)果,每個(gè)標(biāo)簽對應(yīng)唯一的UID標(biāo)識符,可見讀卡器尋到了附近的所有標(biāo)簽。圖10為讀卡測試結(jié)果,選擇UID和輸入地址時(shí)能夠成功讀取到該地址的標(biāo)簽數(shù)據(jù)“AA1107FF”??梢娮x卡系統(tǒng)能夠成功地與標(biāo)簽無線通信。

S3C6410和CR95HF的RFID讀卡系統(tǒng)設(shè)計(jì)

對讀卡器尋卡和讀寫卡各測試了400次,只有1次發(fā)生數(shù)據(jù)丟失,表明讀卡器穩(wěn)定性非常高。經(jīng)測試,無障礙物遮擋時(shí)讀卡器讀寫距離至少為6.4 cm,有木板、書、皮革等障礙物時(shí)讀寫距離至少為5 cm,可見識別距離能夠滿足需要。同時(shí)對ISO14443協(xié)議的標(biāo)簽測試也表明讀卡器可以對其穩(wěn)定讀寫。

結(jié)語

本文詳細(xì)介紹了基于的新型嵌入式讀卡系統(tǒng)解決方案。該讀卡器工作在13.56MHz的高頻頻段并支持多種協(xié)議。經(jīng)測試,該讀卡器能對符合協(xié)議的標(biāo)簽進(jìn)行穩(wěn)定的讀寫,具有便攜、性能強(qiáng)悍、功耗低等特點(diǎn)。本設(shè)計(jì)應(yīng)用范圍廣,可用于航空物流行業(yè)等要求便攜性強(qiáng)且處理速度快的場合。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉