<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > CPLD在射頻卡讀寫(xiě)器中的應用

CPLD在射頻卡讀寫(xiě)器中的應用

作者: 時(shí)間:2009-07-15 來(lái)源:網(wǎng)絡(luò ) 收藏

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

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

本文引用地址:http://dyxdggzs.com/article/157983.htm
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

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

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

3 控制模塊

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

4 性能分析

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

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

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

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


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>