當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]提出了一種射頻卡讀寫器數(shù)字處理模塊的設(shè)計(jì)方案,特點(diǎn)是利用單片CPLD器件實(shí)現(xiàn)了讀寫器編碼、譯碼和差錯(cuò)處理功能,系統(tǒng)體積小,性能穩(wěn)定。該方案采用了原理圖和VHDL相結(jié)合的靈活設(shè)計(jì),給出了一種快速CRC-CCITT并行實(shí)現(xiàn)的方法。

1 系統(tǒng)工作原理和CPLD特性

射頻卡讀寫系統(tǒng)又稱射頻識(shí)別系統(tǒng)(Radio Frequency Identification),它是利用無線方式進(jìn)行非接觸式雙向數(shù)據(jù)通信,進(jìn)而達(dá)到識(shí)別目標(biāo)并交換信息的目的。射頻識(shí)別技術(shù)發(fā)展迅速,在門禁、交通這、防盜、金融、身份證管理、工業(yè)自動(dòng)化等方面有著廣泛的應(yīng)用前景。按照相關(guān)標(biāo)準(zhǔn),非接觸IC卡可以分為3種:(1)密耦合卡(ISO10536),作用距離0~1cm。(2)近耦合卡(ISO 14443),作用距離0~10cm。(3)疏耦合卡(ISO 15693),作用距離0~150cm[1]。

基于ISO 15693協(xié)議標(biāo)準(zhǔn)設(shè)計(jì)的射頻卡讀寫器是目前中低頻段工作距離最遠(yuǎn)(達(dá)1.5米)的射頻識(shí)別裝置。射頻卡由半導(dǎo)體廠商提供,目前國(guó)內(nèi)外均有符合該標(biāo)準(zhǔn)的商用化射頻卡。

    讀寫器和射頻卡之間的數(shù)據(jù)交換主要有兩種:(1)下行數(shù)據(jù)是讀寫器向射頻卡發(fā)送的具有固定幀格式的指令和數(shù)據(jù):(1)上行數(shù)據(jù)是射頻卡響應(yīng)讀寫器指令后返回的數(shù)據(jù)。讀寫器分前端收發(fā)模塊和后臺(tái)數(shù)據(jù)處理模塊。本文主要涉及數(shù)據(jù)處理部分,其主要功能有:指令裝配、下行數(shù)據(jù)編碼(讀寫器→卡)、上行數(shù)據(jù)解碼(卡 →讀寫器)以及差錯(cuò)控制模塊。射頻卡讀寫器結(jié)構(gòu)如圖1所示。

在實(shí)際應(yīng)用中,密耦合卡和近耦合卡距離射頻卡讀寫器作用距離特別小,一般每次只要求響應(yīng)一張卡(如公交售票系統(tǒng))。而疏耦合卡往往應(yīng)用在對(duì)多卡同時(shí)進(jìn)行響應(yīng)的場(chǎng)合(如多個(gè)持卡行李同時(shí)經(jīng)過門檢),讀寫器與多卡同時(shí)進(jìn)行數(shù)據(jù)交換可以通過軟件設(shè)計(jì)加入“防碰撞機(jī)制”實(shí)現(xiàn)。但是由于讀寫器在響應(yīng)某張卡時(shí)的數(shù)據(jù)交換時(shí)間被限制在200μs~300μs內(nèi),選用普通單片機(jī)無法達(dá)到這一要求,因此在設(shè)計(jì)中選用了高速CPLD器件來實(shí)現(xiàn)編碼、解碼以及差錯(cuò)控制功能。一方面在響應(yīng)時(shí)間上滿足了實(shí)際應(yīng)用的需要;另一方面簡(jiǎn)化了軟件設(shè)計(jì)。

    CPLD是從PAL和GAL發(fā)展起來陣列型高密度PLD器件,內(nèi)部由可編程邏輯宏單元、可編程I/O單元、可編程內(nèi)部連線構(gòu)成。它們大多采用E2PROM 和FLASH閃存工藝,掉電后編程信息不丟失[2]。器件性能可以滿足不同場(chǎng)合的需要,如Xilinx公司XC95XL系列CPLD具有低功耗特性,輸出電壓2.5V/3.3V,端到端延時(shí)5ns,系統(tǒng)最高工作頻率可達(dá)178M[3]。目前CPLD器件被廣泛應(yīng)用于代替中小規(guī)模數(shù)字電路,提高系統(tǒng)的可靠性、抗干擾性能和處理速度。通過管腳鎖定和預(yù)留切換端口,可以在不改動(dòng)原PCB電路板的基礎(chǔ)上對(duì)模塊的功能進(jìn)行修改和完善,給調(diào)試帶來方便。

2 功能模塊實(shí)現(xiàn)
 

2.1 編碼器與譯碼器

單片機(jī)啟動(dòng)編碼后,編碼模塊向單片機(jī)發(fā)中斷(INT0)獲取待編碼的指令數(shù)據(jù),同時(shí)將指令數(shù)據(jù)送入并行CRC模塊。當(dāng)指令數(shù)據(jù)完成編碼后,控制電路將2字節(jié) CRC值緊接在數(shù)據(jù)之后進(jìn)行編碼。譯碼時(shí),譯碼器檢測(cè)到起始位后,開始譯碼。譯碼后的數(shù)據(jù)通過中斷(INT1)通知單片機(jī)取走。并同時(shí)送入CRC并行運(yùn)算模塊進(jìn)行校驗(yàn),單片機(jī)在特定的時(shí)刻(接收完最后一字節(jié)數(shù)據(jù)時(shí))讀取CRC校驗(yàn)標(biāo)志端口CRCALL0,判斷整個(gè)數(shù)據(jù)串的正確性。

    編譯碼的數(shù)據(jù)格式如下:

(1)數(shù)據(jù)編碼從讀寫器到卡的數(shù)據(jù)采用脈沖位置調(diào)制即“1/256”編碼。用256個(gè)時(shí)隙表示8bit數(shù)據(jù),通過控制bit脈沖出現(xiàn)的時(shí)間位置來表示0~255范圍內(nèi)的數(shù)據(jù)。如圖2,在第255個(gè)位置出現(xiàn)的位置脈沖(9.44μs高電平的9.44μs低電平)表示數(shù)據(jù)E1(HEX),采用計(jì)數(shù)器加控制電路即可實(shí)現(xiàn)??刂撇糠謪f(xié)助實(shí)現(xiàn)數(shù)據(jù)無縫編碼及形成幀起始位和結(jié)束位,用VHDL設(shè)計(jì)易于實(shí)現(xiàn)。編碼后的數(shù)據(jù)進(jìn)行ASK調(diào)制(13.56MHz載波),經(jīng)天線發(fā)射出去。

(2)數(shù)據(jù)譯碼從射頻卡返回的數(shù)據(jù)經(jīng)過一次解調(diào)(去掉13.56MHz載波)后,數(shù)據(jù)編碼格式如圖3所示。可以直接進(jìn)行數(shù)據(jù)譯碼,也可以去除子載波(423.75kHz)后得到Manchester碼再譯碼。這里采用后者,通過在每一bit的前、后半段時(shí)間內(nèi)兩次取樣、判決、加以串并變換即可得到譯碼后的并行數(shù)據(jù)并送至并行CRC模塊進(jìn)行CRC校驗(yàn),同時(shí)送往單片機(jī)處理,行CRC模塊在校驗(yàn)結(jié)束時(shí)通知單片機(jī)取校驗(yàn)結(jié)果。

2.2 差錯(cuò)處理模塊

與射頻卡內(nèi)部電路配合,讀寫器端采用了常用的CRC檢錯(cuò)得傳機(jī)制。為了縮短處理時(shí)間,滿足讀寫器在實(shí)際應(yīng)用中對(duì)多張卡同時(shí)處理時(shí)的響應(yīng)時(shí)間要求,設(shè)計(jì)采用硬件實(shí)現(xiàn)。

    計(jì)算下行數(shù)據(jù)的CRC值以及對(duì)上行數(shù)據(jù)進(jìn)行CRC校驗(yàn),實(shí)際上都是完成數(shù)據(jù)的CRC計(jì)算,二者可以共用一個(gè)模塊,通過控制部分協(xié)調(diào)分工。通常CRC采用性反饋移位寄存器串行實(shí)現(xiàn)(見圖4)[4],這里提出了一種并行計(jì)算CRC的方法,具有更高的處理速度,使讀寫器對(duì)響應(yīng)時(shí)間縮短。

CRC-CCITT算法生成多相式為:x 16+x 12+x 5+1[4]。計(jì)算CRC實(shí)際上是將數(shù)據(jù)通過線性反饋移位寄存器,所有數(shù)據(jù)移入后CRC寄存器的值即為16位CRC值。并行CRC運(yùn)算模塊每次輸入8位數(shù)據(jù),相當(dāng)于一次并行運(yùn)算就得到了串行移位運(yùn)算時(shí)需要8位移位所得的結(jié)束。由表1~表4可以知道并行CRC實(shí)現(xiàn)的原理:每個(gè)時(shí)鐘到來時(shí)完成8bit數(shù)據(jù) CRC值計(jì)算;下一個(gè)8bit數(shù)據(jù)到來時(shí),把上一個(gè)8bit數(shù)據(jù)的CRC值C15~C0作為初值,繼續(xù)完成并行CRC計(jì)算。即每次處理一個(gè)字節(jié)。

表1 移位前CRC寄存器值(初值)

R15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0
C15C14C13C12C11C10C9C8C7C6C5C4C3C2C1C0

表2 1次移位后CRC寄存器值

R15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0
X0
C15
C14
C13
C12
C11
X0
C10
C9
C8
C7
C6
C5
C4
X0
C3
C2
C1

表3 2次移位后CRC寄存器

R15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0
X1
X0
C15
C14
C13
C12
X1
C11
X0
C10
C9
C8
C7
C6
C5
X1
C4
X0
C3
C2

表4 8次移位后CRC寄存器值

R15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0
X7
X3
X6
X2
X5
X1
X4
X0
X3

X7
X2
X6
X1
X5
X0
C15
X4
C14
X3
C13
X2
C12
X1
C11
X7
X0
C10
X6
C9
X5
C8
X4

表中參數(shù)說明:Ri為CRC移位寄存器值(R0為低位),Ci為CRC移位寄存器初值(C0為低位),Di為輸入數(shù)據(jù)(D0為低位),Xi=Di XDR Ci,同一欄中數(shù)據(jù)的運(yùn)算關(guān)系是異或(XOR)。

每次并行數(shù)據(jù)到來時(shí),各CRC寄存器值按表4運(yùn)算關(guān)系更新。最后一個(gè)字節(jié)數(shù)據(jù)輸入后CRC寄存器的值(R0~R15)即為該數(shù)據(jù)組的CRC值。模塊設(shè)計(jì)采用了VHDL語言,同步更新R0~R15寄存器的值,從表中看出,一次CRC計(jì)算最多完成4組XOR運(yùn)算。如:R3<=C11 XOFR D7 XOR C7 XOR D0 XOR X0;R15<=D7XOR C7 XOR D3 XOR C3。

3 控制模塊

單片機(jī)擴(kuò)展了RAM后,P2口只有P2.5~P2.7可以用來提供控制信號(hào),不能滿足需要,因而在CPLD內(nèi)部將3路信號(hào)擴(kuò)展為8路控制信號(hào),以實(shí)現(xiàn)對(duì)各部分進(jìn)行協(xié)調(diào)控制。主要有編碼器和譯碼器的啟動(dòng)信號(hào)、復(fù)位信號(hào)、指令標(biāo)志信號(hào)、CRC輸出信號(hào)等控制信號(hào)。

4 性能分析

這里選用1片XILINX XC95144實(shí)現(xiàn)整個(gè)數(shù)據(jù)處理模塊的功能,使用軟件平臺(tái)是Xilinx Foundation 3.1i。XC95144內(nèi)部有144個(gè)宏單元、3200可用門。圖5和圖6分別給出了編碼器和譯碼器的部分時(shí)序仿真結(jié)果及其說明??梢钥吹剑呔鶎?shí)現(xiàn)了協(xié)議要求,編碼器在準(zhǔn)確的位置實(shí)現(xiàn)脈沖位置調(diào)制,譯碼器能準(zhǔn)確地對(duì)曼徹斯特碼數(shù)據(jù)進(jìn)行譯碼,并計(jì)算出輸入數(shù)據(jù)的CRC值。

用AT89C51單片機(jī)提供編碼數(shù)據(jù)以及模擬待譯碼曼碼數(shù)據(jù)流對(duì)模塊功能進(jìn)行實(shí)測(cè),用示波器觀察各測(cè)試點(diǎn)信號(hào),結(jié)果基本上與時(shí)序仿真的波形圖相同,達(dá)到了預(yù)期設(shè)計(jì)的目標(biāo)。

本文較系統(tǒng)地介紹了一類遠(yuǎn)距離射頻卡讀寫器數(shù)字處理模塊的設(shè)計(jì),特別在于:(1)采用單片CPLD實(shí)現(xiàn)了射頻卡讀寫器數(shù)字模塊功能,采用了原理圖和VHDL 相結(jié)合自頂向下的設(shè)計(jì)方法[2][5],樣機(jī)PCB版面積小,開發(fā)周期短,性能穩(wěn)定。其設(shè)計(jì)方案和思路對(duì)其他類別射頻卡讀寫器設(shè)計(jì)具有一定的參考價(jià)值。(2)提出了一種快速實(shí)現(xiàn)CRC-CCITT的并行運(yùn)算方法,該方法適用于高速數(shù)據(jù)傳輸場(chǎng)合。

為了提高系統(tǒng)的安全性,可以對(duì)對(duì)寫入卡中的數(shù)據(jù)進(jìn)行加密處理,即引入數(shù)據(jù)加密模塊,并將整個(gè)設(shè)計(jì)配置到一片容量更大的CPLD或FPGA中。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉