當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]摘要:基于使用戶刷卡消費的數(shù)據(jù)可進(jìn)行采集存儲的目的,采用了在FPGA平臺上設(shè)計一種射頻卡實時消費記錄系統(tǒng)的方法。該系統(tǒng)采用了FATFS文件系統(tǒng),可將用戶數(shù)據(jù)及時保存到SD卡之中。通過對軟硬件模塊和上位機的設(shè)計,采

摘要:基于使用戶刷卡消費的數(shù)據(jù)可進(jìn)行采集存儲的目的,采用了在FPGA平臺上設(shè)計一種射頻卡實時消費記錄系統(tǒng)的方法。該系統(tǒng)采用了FATFS文件系統(tǒng),可將用戶數(shù)據(jù)及時保存到SD卡之中。通過對軟硬件模塊和上位機的設(shè)計,采用FPGA為開發(fā)平臺,對用戶刷卡消費的記錄寫入到SD卡中。利用SD卡的移動性,可方便地實現(xiàn)與計算機的數(shù)據(jù)交換,達(dá)到數(shù)據(jù)分析的目的。此法便于客戶對消費記錄的核對,具有實際商業(yè)價值。
關(guān)鍵詞:FPGA;NIOS II;FM1702SL;SD;文件系統(tǒng)

    文中主要討論射頻卡實時消費記錄系統(tǒng)的硬件和軟件設(shè)計。硬件設(shè)計主要包括FPGA模塊、蜂鳴器、FM1702SL模塊、SD卡模塊、液晶顯示等模塊。軟件設(shè)計部分主要介紹射頻讀寫模塊的軟件設(shè)計、SD卡的軟件設(shè)計、FATFS文件系統(tǒng)移植、液晶顯示和上位機對IC卡充值和加密操作。

1 硬件模塊設(shè)計
   
射頻卡實時消費記錄系統(tǒng)組成如圖1所示,主要分為以下幾部分:FPGA、電源管理、射頻卡通信、SD卡、液晶顯示、蜂鳴器等。


    1)FPGA的選用——EP2C8Q208C8N
    EP2C8Q208C8N是ALTERA公司推出的Cyclone II芯片,該芯片有8 256個邏輯單元,208個引腳、用戶可用的I/O引腳為138個、18個嵌入式乘法器和2個鎖相環(huán)。與其他90-nm FPGAs同類產(chǎn)品相比在性能上提高了60%并且減少了一半的能量消耗?;贔PGA平臺設(shè)計的射頻消費記錄系統(tǒng)具有設(shè)計靈活、可裁剪、可擴充、可升級及軟、硬件在系統(tǒng)可編程的優(yōu)勢。
    2)電源部分
    本系統(tǒng)通過一個開關(guān)電源提供5 V的電源。系統(tǒng)中FPGA的工作電壓為3.3 V與1.2 V,配置芯片EPCS4S18工作電壓為3.3 V,射頻卡讀寫模塊、液晶顯示模塊還有蜂鳴器需要5 V供電,SD卡工作在3.3 V,通過AMS1117-1.2與AMS1117-3.3穩(wěn)壓器把5 V的轉(zhuǎn)換成1.2V和3.3V。
    3)液晶顯示
    液晶選用帶字庫的LCD12864。液晶顯示器工作電壓為5 V,通過開關(guān)電源來供電。液晶顯示系統(tǒng)可以顯示界面,如“一卡通研發(fā)”、“卡號”、“消費”、“余額”等信息。
    4)射頻卡通信
    考慮到開發(fā)性和經(jīng)濟性等因素,這里選用了復(fù)旦微電子股份有限公司設(shè)計的FM1702SL(該芯片與RC632結(jié)構(gòu)類似),是基于ISO/EC14443標(biāo)準(zhǔn)的非接觸卡讀卡機專用芯片,工作頻率為13.56 MHz,并且支持多種加密算法。射頻卡我們選用的是Phihps公司的MIFARE標(biāo)準(zhǔn)IC卡,該類型卡的作用距離最大為10 cm,屬于緊耦合卡。
    ISO/IEC組織根據(jù)接口設(shè)備與卡作用距離的不同定義了3個國際標(biāo)準(zhǔn),如表1所示。


    ISO/IEC14443標(biāo)準(zhǔn)又分為ISO/IEC14443A(代表產(chǎn)品是Philips公司的MIFARE射頻卡)和ISO/IEC14443B(ST、MoToRoLA、SAMSung、OTI和NEC公司生產(chǎn)的產(chǎn)品)標(biāo)準(zhǔn)。
    5)SD卡模塊
    SD卡是一種基于半導(dǎo)體快閃記憶器的新一代記憶設(shè)備,由日本松下、東芝及美國SanDisk公司共同研發(fā),它具有微型、低功耗、防震、非易失性和保存數(shù)據(jù)無需能量消耗等特點,并且兼容MMC閃存卡,廣泛應(yīng)用于手機、數(shù)碼相機、智能機器人、GPS、電子測試設(shè)備和大容量存儲設(shè)備。
    SD卡支持SPI和SD兩種通信接口模式,由于ALTERA公司提供了SPI接口IP核,因此在我們設(shè)計的系統(tǒng)中采用的是SPI模式。相對SD模式,SPI模式應(yīng)用的更廣泛一些。

2 軟件設(shè)計
2.1 射頻通信模塊的軟件設(shè)計
   
系統(tǒng)采用的是FM1702SL非接觸卡讀卡機專用芯片和Philips公司的MIFARE標(biāo)準(zhǔn)IC卡共同組成了射頻卡讀寫模塊。了解S50非接觸式IC卡和FM1702SL的內(nèi)部結(jié)構(gòu)與讀寫操作過程是編寫程序的關(guān)鍵,因此對其做簡單介紹。
    MF1 IC S50由1KB的EEPROM、RF接口和數(shù)字式控制單元組成,能量和數(shù)據(jù)都通過天線傳送,天線由幾匝線圈組成并直接連接到MF1 IC S50。其與PCD之間的工作原理為:讀寫器向M1卡發(fā)一組固定頻率的電磁波,卡片內(nèi)有一個LC串聯(lián)諧振電路,其頻率與讀寫器發(fā)射的頻率相同,在電磁波的激勵下,LC諧振電路產(chǎn)生共振,從而使電容內(nèi)有了電荷,在這個電容的另一端,接有一個單向?qū)ǖ碾娮颖茫瑢㈦娙輧?nèi)的電荷送到另一個電容內(nèi)儲存,當(dāng)所積累的電荷達(dá)到2 V時,此電容可做為電源為其它電路提供工作電壓,將卡內(nèi)數(shù)據(jù)發(fā)射出去或接取讀寫器的數(shù)據(jù)。
    卡的內(nèi)部有16個扇區(qū),每個扇區(qū)分為4塊,分別是塊0、塊1、塊2、塊3。塊0~塊2為數(shù)據(jù)塊,用于存儲數(shù)據(jù)。塊3為控制塊,包括了密碼A、存取控制、密碼B。每個塊為16個字節(jié),以塊為存儲單元。第0扇區(qū)的塊0,用于存放廠商代碼,已經(jīng)固化不可更改。
    每個扇區(qū)的密碼和存儲控制都是獨立的,根據(jù)實際需要設(shè)定各自的密碼及存儲控制。在控制塊中密碼A和密碼B各占6個字節(jié),存儲控制占4個字節(jié),在存儲控制中每個塊都有相應(yīng)的3個控制位,通過設(shè)定不同的數(shù)就具有不同的意義。例如,存儲控制的4個字節(jié)為0xFF078069,表示塊0~塊3中分別對應(yīng)的3個控制位都為0,通過驗證密碼A或者密碼B的正確性后就可以對數(shù)據(jù)塊0、1、2進(jìn)行讀、寫、加、減、轉(zhuǎn)存和恢復(fù)操作,對于控制塊3來說,密碼A不能讀,存儲控制不能寫,通過驗證密碼A或密碼B的正確性后可以對密碼A進(jìn)行寫、密碼B進(jìn)行讀或?qū)?、存取控制讀操作。
    FM1702SL包含512字節(jié)的EEPROM和64字節(jié)的FIFO,F(xiàn)M1702SL的內(nèi)部寄存器組按功能不同分成8組,每組為一頁,包含8個寄存器,內(nèi)部還帶有加密單元,在FM1702SL中,6字節(jié)的密鑰必須以規(guī)定的格式存放在EEPROM內(nèi),需要12字節(jié)EEPROM。FM1702SL與S50 IC卡之間的通信可以簡單的分為下面幾個過程:
    1)復(fù)位應(yīng)答
    射頻讀寫模塊上電復(fù)位后,然后進(jìn)入復(fù)位應(yīng)答模式。按照定義好的協(xié)議和波特率,讀卡器會對其有效工作范圍內(nèi)的卡進(jìn)行檢驗,驗證卡片的類型。
    2)防沖突機制
    所謂防沖突就是當(dāng)有多張卡在其工作范圍內(nèi)時,射頻讀寫模塊會根據(jù)控制命令選中其中的一張卡片進(jìn)行后續(xù)操作。
    那些沒有選中的卡片會處于空閑狀態(tài)等待下一次選卡操作。
    3)選卡
    射頻讀寫模塊對放入FM1702SL操作范圍之內(nèi)的某張卡片進(jìn)行選中,獲得其卡序列號和卡片容量大小。
    4)三次相互認(rèn)證
    當(dāng)一張卡按照ISO14443A協(xié)議被選中后,射頻讀寫模塊根據(jù)命令訪問扇區(qū)號中的控制塊,并對該控制塊的密碼進(jìn)行檢驗,檢驗方式使用三次認(rèn)證令牌機制,該認(rèn)證過程在執(zhí)行Authent1和Authent2指令時自動完成,在認(rèn)證指令執(zhí)行之前,用戶必須保證在密鑰緩沖器中已經(jīng)準(zhǔn)備好了密鑰,當(dāng)密碼得到驗證,我們就可以通過加密進(jìn)行相互通信了。
    5)對卡的操作
    通過認(rèn)證后,就可以對特定扇區(qū)中的塊進(jìn)行讀、寫、減值、加值、存儲、傳輸和中止操作。
    在本項目中,F(xiàn)M1702SL非接觸讀卡機專用芯片與S50射頻卡通信的流程圖如圖2所示。


2.2 液晶顯示模塊
   
通過閱讀液晶數(shù)據(jù)手冊了解清楚基本原理后,根據(jù)我們項目的需求寫了12 864的驅(qū)動函數(shù)。驅(qū)動函數(shù)包括延時函數(shù)、液晶初始化函數(shù)、寫數(shù)據(jù)函數(shù)、寫命令函數(shù)、寫數(shù)據(jù)函數(shù)、液晶顯示函數(shù)、數(shù)值的轉(zhuǎn)換格式函數(shù)、顯示數(shù)值函數(shù)和射頻卡序列號顯示函數(shù)。
    在液晶初始化函數(shù)中對通信方式、功能、顯示還有輸入方式進(jìn)行了設(shè)置,同時也對液晶進(jìn)行了清屏操作。在我們設(shè)計的模塊中選擇的是并口方式(PSB=1),功能設(shè)置為0x30(8字節(jié)界面、基本指令集),顯示設(shè)置為0x0C(整體顯示、光標(biāo)不顯示、光標(biāo)不反向),輸入方式設(shè)置0x06(光標(biāo)右移、地址位加1、整體右移)。根據(jù)讀寫時序圖,我們對寫數(shù)據(jù)函數(shù)和寫命令函數(shù)進(jìn)行了編寫。同時,根據(jù)項目要求對液晶界面顯示內(nèi)容的格式也進(jìn)行了編寫。液晶部分軟件流程如圖3所示。


2.3 SD卡的軟件設(shè)計
   
SOPC builder中對SPI核進(jìn)行相應(yīng)的配置后,通過寫一些驅(qū)動函數(shù)就可以對外圍的SD卡進(jìn)行讀寫操作了,這些讀寫操作只是簡單的對某個數(shù)據(jù)扇區(qū)進(jìn)行讀寫操作,目的是測試底層通信是否正確,操作流程如圖4所示。


    SD卡的底層通信測試正確后,我們只是把SD卡當(dāng)做一塊大容量的Flash在用,為了讓時序?qū)懭隨D卡中的信息在PC中可以直接顯示,我們就要移植文件系統(tǒng)。目前流行的FAT文件系統(tǒng)模塊主要有:周立功公司的ZLG/FS、美國Micrium公司的UC/FS、SourceForge.net網(wǎng)站上發(fā)布的開源項目efsl(Embeded File System Library)以及日本電子愛好者設(shè)計并維護(hù)的FATFS文件系統(tǒng)模塊。由于FATFS具有開源、免費、高效等特點,并且相對其他文件系統(tǒng)模塊成熟一些。
    在我們項目中用到了FatFS Module,F(xiàn)atFS Module是一個小型嵌入式系統(tǒng)下的FAT文件系統(tǒng)模塊,其代碼完全兼容ANSI C,而且與硬件平臺無關(guān),可以簡單方便的移植到8051、PIC、AVR、SH、Z80、H8、ARM等MCU上,而不要做任何修改。FatFs有FatFs、Tiny-FatFs和Petit-Fat Fs 3個版本,F(xiàn)atFs適合比較大的RAM的設(shè)配;Ting-FatFs適合小RAM的系統(tǒng),比如單片機,代價是更慢的讀寫速度和更少的API函數(shù);Petit-FatFs適合8位處理器,占用極少的RAM,只對單文件進(jìn)行讀寫操作。SD卡文件系統(tǒng)結(jié)構(gòu)如表2所示。


    各個層的作用:硬件抽象層完成NIOS2處理器對SD卡控制器相應(yīng)寄存器的設(shè)置,把對SD卡的操作抽象為對相應(yīng)的寄存器的操作;CRC校驗層實現(xiàn)了CRC校驗,對命令和響應(yīng)使用CRC7校驗,對數(shù)據(jù)采用CRC16校驗;命令層定義了各種命令和響應(yīng),以向SD卡發(fā)送命令的函數(shù)為基礎(chǔ),實現(xiàn)了讀寫SD卡內(nèi)部寄存器等功能;操作函數(shù)接口層向FatFS文件系統(tǒng)提供操作SD卡的函數(shù),包括:SD卡初始化、讀單塊數(shù)據(jù)、讀多塊數(shù)據(jù)、寫單塊數(shù)據(jù)、寫多塊數(shù)據(jù)、獲取SD卡信息等函數(shù);Disk I/O層起到一個橋梁作用,提供的函數(shù)都是在SD卡的函數(shù)基礎(chǔ)上編寫的;FatFS Mod ule層為應(yīng)用程序提供函數(shù)。
    FatFS Moudle移植只需對diskio.c、ff.h和integer.h進(jìn)行相應(yīng)的修改。diskio.c需要對6個接口函數(shù)進(jìn)行編程,Disk_initialize、Disk_statue、Disk_read、Disk_write、Disk_ioct1和Get_fattime;ff.h需要根據(jù)處理器的類型進(jìn)行設(shè)置;integer.h需要對數(shù)據(jù)類型進(jìn)行修改以匹配處理器。在SD卡中創(chuàng)建文件并向文件寫入數(shù)據(jù)的流程圖如圖5所示。


2.4 射頻卡實時消費記錄系統(tǒng)軟件設(shè)計
   
通過對上面各個模塊的設(shè)計,結(jié)合各個模塊的操作,我們就可以把各個模塊整合成一個完整的系統(tǒng),整個系統(tǒng)流程圖如圖6所示。



3 上位機設(shè)計
   
上位機部分主要是對射頻卡進(jìn)行操作,圖7為上位機的界面。


    在我們項目中為了方便與上位機之間通信測試,在寫FM1702SL的驅(qū)動函數(shù)時,設(shè)置默認(rèn)密碼為6個F,操作扇區(qū)為第1扇區(qū)(扇區(qū)號從0開始算起),對塊1進(jìn)行寫操作。例如,對卡進(jìn)行充值操作,前2個字節(jié)是任意的,第3個字節(jié)和第4個字節(jié)是金額,Ox****2710這個2710表示的十進(jìn)制為10 000,對應(yīng)的金額為100.00。

4 結(jié)束語
   
本系統(tǒng)采用FPGA為開發(fā)平臺,對用戶刷卡消費的記錄寫入到SD卡中,便于客戶對消費記錄的核對,具有實際商業(yè)價值。隨著電子系統(tǒng)向SOC方向發(fā)展,采用FPGA的系統(tǒng)設(shè)計將得到更加廣闊的發(fā)展。

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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