色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > CPLD在射頻卡讀寫器中的應(yīng)用

          CPLD在射頻卡讀寫器中的應(yīng)用

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

          CRC-CCITT算法生成多相式為:x 16+x 12+x 5+1[4]。計(jì)算CRC實(shí)際上是將數(shù)據(jù)通過(guò)線性反饋移位寄存器,所有數(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í)鐘到來(lái)時(shí)完成8bit數(shù)據(jù) CRC值計(jì)算;下一個(gè)8bit數(shù)據(jù)到來(lái)時(shí),把上一個(gè)8bit數(shù)據(jù)的CRC值C15~C0作為初值,繼續(xù)完成并行CRC計(jì)算。即每次處理一個(gè)字節(jié)。

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

          本文引用地址:http://cafeforensic.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

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

          每次并行數(shù)據(jù)到來(lái)時(shí),各CRC寄存器值按表4運(yùn)算關(guān)系更新。最后一個(gè)字節(jié)數(shù)據(jù)輸入后CRC寄存器的值(R0~R15)即為該數(shù)據(jù)組的CRC值。模塊設(shè)計(jì)采用了VHDL語(yǔ)言,同步更新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可以用來(lái)提供控制信號(hào),不能滿足需要,因而在內(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é)果及其說(shuō)明??梢钥吹?,二者均實(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)采用單片實(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ì)配置到一片容量更大的或FPGA中。


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

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉