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

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 無(wú)線手持磁條卡信息終端設(shè)計(jì)

          無(wú)線手持磁條卡信息終端設(shè)計(jì)

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

          GPRS MODEM選用西門子公司的MC39i。MC39i是雙頻GSM/GPRS模塊,支持標(biāo)準(zhǔn)的ITU-TAT命令集,支持GPRS Class 10功能,具有功耗低,接口簡(jiǎn)單等優(yōu)點(diǎn)。MC39i模塊需要外接SIM卡座和天線。LPC2106的UART1接口與MC39i模塊的數(shù)據(jù)串口連接,并通過(guò)IGT信號(hào)啟動(dòng)觸發(fā)MC39i模塊。
          卡上的數(shù)據(jù)記錄格式采用ISO7811國(guó)際標(biāo)準(zhǔn),最多包含3個(gè)磁道。大部分應(yīng)用中只使用二磁道。系統(tǒng)的卡接口由磁頭和接口芯片組成。卡接口芯片選用了臺(tái)灣Vikintek公司的單磁道F2F解碼芯片BS100E,該芯片可以實(shí)現(xiàn)磁頭信號(hào)的放大和F2F編碼數(shù)據(jù)的恢復(fù)。 BS100E的MSIA+和MSIA-管腳接磁頭輸出;CLS(Card Load Signal)管腳為磁條卡的刷卡有效信號(hào),信號(hào)低電平有效,接LPC2106的外部中斷IO口;RDPA和RCPA分別為解碼輸出的數(shù)據(jù)信號(hào)和時(shí)鐘信號(hào),RDPA接LPC2106的GPIO口,RC-PA接LPC2106的外部中斷IO口。RCPA設(shè)置為上升沿觸發(fā)中斷。

          3 軟件
          3.1 磁條卡接口驅(qū)動(dòng)的實(shí)現(xiàn)
          (1)磁條卡數(shù)據(jù)幀格式。本應(yīng)用系統(tǒng)中只考慮磁條卡的二磁道。二磁道以5個(gè)比特組成一個(gè)字符數(shù)據(jù),最后一位表示奇偶校驗(yàn)位,使用奇校驗(yàn),前面4位表示數(shù)據(jù)位,可以表示16種字符,包括10個(gè)阿拉伯?dāng)?shù)字和6個(gè)其他字符。
          磁道上的數(shù)據(jù)幀包括前導(dǎo)冗余數(shù)據(jù)、起始標(biāo)志、數(shù)據(jù)區(qū)、結(jié)束標(biāo)志、縱向冗余校驗(yàn)位(LRC),后沿冗余數(shù)據(jù)6個(gè)部分(見(jiàn)圖3),冗余數(shù)據(jù)區(qū)不含有效數(shù)據(jù),只用作磁道數(shù)據(jù)的同步,由若干的0組成。起始標(biāo)志為11010;結(jié)束標(biāo)志為11111;LRC為磁道上有效字符的異或和。正向刷卡時(shí),數(shù)據(jù)將按圖3的數(shù)據(jù)幀格式輸出;反向刷卡時(shí),數(shù)據(jù)幀將會(huì)被前后反轉(zhuǎn)輸出,即先檢測(cè)到LRC,再檢測(cè)到結(jié)束標(biāo)志、數(shù)據(jù)區(qū)、起始標(biāo)志,同時(shí)每個(gè)字符的位順序也是前后反轉(zhuǎn)輸出的。此外,BS100E解碼芯片輸出的數(shù)據(jù)采用負(fù)邏輯表示,即輸出為1的數(shù)據(jù),實(shí)際上表示的是數(shù)據(jù)0,必須取反后才能使用。

          本文引用地址:http://cafeforensic.com/article/156375.htm

          c1.jpg

          (2)讀卡程序的實(shí)現(xiàn)
          磁條卡解碼輸出接口的時(shí)序圖如圖4所示。

          c.JPG


          當(dāng)CLS為低電平時(shí),表示磁卡已經(jīng)進(jìn)入讀卡器,開(kāi)始刷卡;當(dāng)CLS由低變高時(shí),表示磁卡已經(jīng)離開(kāi)讀卡器,結(jié)束刷卡。在CLS為低的時(shí)候,每次RCPA下降沿出現(xiàn)時(shí),RDPA送出一位數(shù)據(jù)。
          在譯碼數(shù)據(jù)時(shí),為了提高實(shí)時(shí)性,所有的數(shù)據(jù)處理都在中斷中進(jìn)行。在每次RCPA上升沿觸發(fā)中斷時(shí)讀取RDPA的數(shù)據(jù)并處理。在解碼時(shí),首先要確定字符的邊界,即確定一個(gè)字符的起始位。字符的邊界識(shí)別采用圖5所示的狀態(tài)機(jī)實(shí)現(xiàn)。

          d.JPG


          在搜索狀態(tài),每讀入一位數(shù)據(jù)就與之前讀入的4位數(shù)據(jù)一起進(jìn)行奇校驗(yàn),當(dāng)奇校驗(yàn)正確時(shí),認(rèn)為識(shí)別出字符的邊界,轉(zhuǎn)移到預(yù)同步狀態(tài)。在預(yù)同步狀態(tài),連續(xù)讀入5位數(shù)據(jù)后,判斷這5位數(shù)據(jù)奇校驗(yàn)是否正確。如果這五位數(shù)據(jù)奇校驗(yàn)正確,認(rèn)為字符的邊界判別正確,進(jìn)入同步狀態(tài);否則返回到搜索狀態(tài)。在同步狀態(tài)中,按照?qǐng)D3的數(shù)據(jù)幀格式進(jìn)行數(shù)據(jù)譯碼。在數(shù)據(jù)譯碼的同時(shí)進(jìn)行奇校驗(yàn)檢查,當(dāng)出現(xiàn)奇校驗(yàn)錯(cuò)誤時(shí),認(rèn)為字符的邊界不正確,重新返回搜索狀態(tài)。
          譯碼成功后,中斷程序通過(guò)信號(hào)量通知應(yīng)用程序任務(wù)處理譯碼數(shù)據(jù)。
          3.2 LwIP在μC/OS-Ⅱ上的移植
          LwIP是瑞士計(jì)算機(jī)科學(xué)院的Adam Dunkels等開(kāi)發(fā)的一套用于嵌入式系統(tǒng)的開(kāi)放源代碼TCP/IP協(xié)議棧。它占用較少的RAM和ROM,這使LwIP協(xié)議棧適合在低端嵌入式系統(tǒng)中使用。LwIP還支持點(diǎn)對(duì)點(diǎn)協(xié)議(PPP),可以通過(guò)PPP連接GPRS網(wǎng)絡(luò),實(shí)現(xiàn)上網(wǎng)。
          LwIP在時(shí)就考慮到移植問(wèn)題,把所有與硬件、編譯器和操作系統(tǒng)相關(guān)的部分獨(dú)立出來(lái),放在LwIP-1.3.0\include\arch和LwIP-1.3.0\arch目錄下。因此LwIP在μC/OS-Ⅱ上的移植,主要工作就是編寫這兩個(gè)目錄下的相關(guān)文件。要編寫的文件主要包括cc.h、sys_ arch.h和sys_arch.c三個(gè)文件。移植LwIP協(xié)議棧,主要是針對(duì)具體硬件、編譯器和μC/OS-Ⅱ系統(tǒng)重新以上3個(gè)文件。除此之外,還有一個(gè)配置文件lwipopt.h,主要對(duì)LwIP進(jìn)行功能配置。cc.h,sys_arch.h和sys_arch.c三個(gè)文件和lwipopt.h文件的修改內(nèi)容如下:
          3.2.1 cc.h
          主要定義與編譯器有關(guān)的宏,主要包括LwIP數(shù)據(jù)類型、調(diào)試輸出宏、臨界保護(hù)的宏、錯(cuò)誤編碼、字的高低位順序等等。
          3.2.2 sys_arch.h
          主要定義與操作系統(tǒng)相關(guān)的一些結(jié)構(gòu)體與宏,包括郵箱、信號(hào)量、線程ID等。



          評(píng)論


          相關(guān)推薦

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

          關(guān)閉