當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀] 引 言  隨著北京市政交通一卡通工程和門禁系統(tǒng)的普及,射頻技術(shù)在消費電子、通信設(shè)備、工業(yè)控制等領(lǐng)域也取得了飛速的發(fā)展。因此在硬件設(shè)備大部分相同的情況下,軟件系統(tǒng)就成了該設(shè)備性能好壞的關(guān)鍵。本文主要介紹一

 引 言

  隨著北京市政交通一卡通工程和門禁系統(tǒng)的普及,射頻技術(shù)在消費電子、通信設(shè)備、工業(yè)控制等領(lǐng)域也取得了飛速的發(fā)展。因此在硬件設(shè)備大部分相同的情況下,軟件系統(tǒng)就成了該設(shè)備性能好壞的關(guān)鍵。本文主要介紹一款專用射頻讀卡器的軟件系統(tǒng)的設(shè)計及實現(xiàn)。

  1 系統(tǒng)概述

  本系統(tǒng)主要作為一種專用的訓(xùn)練器材。除具備通用的Mifare卡的讀寫器功能外,還可作為一種專用的訓(xùn)練評估五金|工具。例如將該設(shè)備安裝在跑道的周圍,并將MifareOne卡安裝在測試者的鞋上,每個訓(xùn)練者都有自己的ID號。當(dāng)他從起跑線起跑時,安裝在起跑線的專用讀卡器就會將自己的設(shè)備ID號和當(dāng)時的時間寫入測試者的MifareOne卡中;當(dāng)經(jīng)過下一個基站時讀卡器會將自己的設(shè)備ID和當(dāng)時的時間寫入測試者的Mirare One卡中,同時會將測試者的ID號、姓名等個人信息(包括經(jīng)過上個測試基站時間)都讀進設(shè)備中保存。由于Mifare One卡共有16個扇區(qū),每個扇區(qū)又分為4塊、每塊又有16個字節(jié)。除了系統(tǒng)使用的外,用戶還可以使用的有48×16字節(jié)。而通過Mifare One卡存儲的數(shù)據(jù)均不大,只占用一塊存儲區(qū)。換句話說,Mifare One卡的數(shù)據(jù)存儲區(qū)可以存儲48次,當(dāng)超過48次時就從前面覆蓋數(shù)據(jù)。所以,在Mifare one卡中存儲的永遠是最近48個基站的信息。訓(xùn)練結(jié)束后,就可以通過主站將各個基站的數(shù)據(jù)收集起來以評估測試者的信息。而主站和基站之間通信可以采用的方式也是多樣的。當(dāng)主站和基站的距離比較近時,可以采用RS232、RS485,為提高通信質(zhì)量也可以采用工業(yè)總線的方式,如CAN總線、I2C總線或One Wire總線等。當(dāng)距離比較遠時,也可采用無線通信的方式,如GSM等。除此之外,各個基站還可以通過打印機將數(shù)據(jù)輸出。

  2 系統(tǒng)硬件框圖及工作原理

  系統(tǒng)硬件框圖如圖1所示。主板上電后,讀取存儲器中的系統(tǒng)設(shè)置,然后根據(jù)其中的設(shè)置初始化整個系統(tǒng),包括本設(shè)備的ID號、主站、從站、開機時間、關(guān)機時間、數(shù)據(jù)的存儲方式等。

      

  3 系統(tǒng)的軟件結(jié)構(gòu)及特點

  整個系統(tǒng)的軟件結(jié)構(gòu)框圖如圖2所示。

       
  
  整個系統(tǒng)主要是由核心控制單元P89LPC932、與Mi-fare One卡通信的MFRC632、與PC機通信的RS232、提供時間基準(zhǔn)的實時時鐘芯片PCF8563和存儲系統(tǒng)設(shè)置數(shù)據(jù)的存儲器AT45DB021等。因此針對本系統(tǒng)整個軟件系統(tǒng)的開發(fā)也主要分為系統(tǒng)啟動、硬件驅(qū)動、任務(wù)調(diào)度等。

  4 系統(tǒng)軟件設(shè)計及實現(xiàn)

  4.1 啟動代碼

  在本系統(tǒng)中,主要指在系統(tǒng)剛一上電后先將所有的外圍電路和CPU本身初始化成靜止?fàn)顟B(tài),然后根據(jù)系統(tǒng)的要求將所有的外圍電路和CPU本身進行初始化設(shè)置。設(shè)置完畢后再將CPU的中斷源打開。在本系統(tǒng)中,系統(tǒng)一上電首先執(zhí)行Init_System()函數(shù)。部分代碼如下:

       

  程序執(zhí)行完Init_System()函數(shù)后執(zhí)行RcChipReady函數(shù)。此函數(shù)的功能是初始化MF RC630芯片。

  4.2 硬件驅(qū)動

  4.2.1 PCF8563驅(qū)動

  由于本芯片是一款標(biāo)準(zhǔn)的I2C總線設(shè)備,所以硬件驅(qū)動實際上就是標(biāo)準(zhǔn)的I2C總線控制。由于篇幅有限,這里就不介紹了。

  4.2.2 MF RC632驅(qū)動

  MF RC632是MF RC500芯片的升級產(chǎn)品,所以MFRC630的大部分寄存器與MF、RC500均相同,它們對Mifare One卡的操作流程也基本相同。下面介紹對Mifare One卡的操作流程。

  (1)Mifare One卡的操作流程

  整個系統(tǒng)的工作由對Mifare卡操作和系統(tǒng)后臺處理兩大部分組成。由于篇幅有限,本文只對Mifare卡的操作流程進行簡單介紹。Mifare One卡的操作可以分為以下幾項:

  ①復(fù)位請求。當(dāng)一張Mifare卡片處在卡片讀寫器天線的工作范圍之內(nèi)時,程序員控制讀寫器便向卡片發(fā)出REQUEST all(或REQUEST std)命令??ㄆ腁TR將啟動,將卡片Block 0中的卡片類型(TagType)號共2個字節(jié)傳送給讀寫器,建立卡片與讀寫器的第一步通信聯(lián)絡(luò)。如果不進行“得位請求”操作,讀寫器對卡片的其他操作將不會進行。

  ②反碰撞操作。如果有多張Mifare卡片處在卡片讀寫器天線的工作范圍之內(nèi),PCD將首先與每一張卡片進行通信,取得每一張卡片的序列號。由于每一張Mifare卡片都具有其唯一的序列號,決不會相同,因此PCD根據(jù)卡片的序列號來保證一次只對一張卡操作。該操作PCD得到PICC的返回值為卡的序列號。

 ?、劭ㄟx擇操作。完成了上述2個步驟之后,PCD必須對卡片進行選擇操作。執(zhí)行操作后,返回卡上的SIZE字節(jié)。

 ?、苷J(rèn)證操作。經(jīng)過上述3個步驟,在確認(rèn)已經(jīng)選擇了一張卡片時,PCD在對卡進行讀/寫操作之前,必須對卡片上已經(jīng)設(shè)置的密碼進行認(rèn)證。如果匹配,才允許進一步的讀/寫操作。

 ?、葑x/寫操作。對卡的最后操作是讀、寫、增值、減值、存儲和傳送等操作。

  (2)MF RC500軟件開發(fā)包移植

  在本系統(tǒng)中,主要是將標(biāo)準(zhǔn)的MF RC500軟件開發(fā)包進行移植來完成MF RC632驅(qū)動的編寫。在本系統(tǒng)中使用的是SPI總線,所以只要將MF RC500標(biāo)準(zhǔn)軟件開發(fā)包中對寄存器讀/寫的函數(shù)改成SPI總線的讀/寫函數(shù)即可。在本系統(tǒng)中主要是增加了SpiSendByte()和SpiReByte()函數(shù),同時修改了 ReadRawRc(uchar Address)和WriteR-awRc(uchar Address,uchar value)函數(shù)。部分代碼如下:

       

  4.2.3存儲器驅(qū)動

  在本系統(tǒng)中主要是指AT45DB021的驅(qū)動。因為AT45DB021也是標(biāo)準(zhǔn)的I2C總線設(shè)備,所以硬件驅(qū)動實際上就足標(biāo)準(zhǔn)的I2C總線控制。由于篇幅有限,這里就不介紹了。

  4.2.4其他電路驅(qū)動

  其他電路驅(qū)動在本系統(tǒng)中主要是指一些硬件電路電源|穩(wěn)壓器的控制,為降低功耗所有的外圍電路都通過一個三級管來控制。所有三級管的基極均與CPU的I/O口相連,這樣通過CPU的I/O口即可控制所有外圍電路的電源。

  4.3 任務(wù)調(diào)度

  為提高CPU的工作效率和系統(tǒng)任務(wù)的處理速度,本系統(tǒng)使用分時處理流程。代碼如下:

       

  4.4 可靠性對策

  由于本系統(tǒng)是一臺標(biāo)準(zhǔn)的射頻讀卡器設(shè)備,所以在系統(tǒng)軟件開發(fā)上為降低二次開發(fā)的難度,增強任務(wù)處理能力。在系統(tǒng)的任務(wù)調(diào)度上采用了比較流行的分時處理流程,這樣只要所加的任務(wù)處理時間小于任務(wù)輪詢的時間均可采用此種方式。同時為增加Mare I卡的使用壽命,在對Mare I卡的內(nèi)存進行讀寫時采用平均讀寫的方式,即從長時間讀寫來看,Mare I卡的每塊存儲區(qū)所得到的讀寫次數(shù)相同,避免了由于單塊存儲區(qū)讀寫次數(shù)太多而損壞。

  5 結(jié) 論

  經(jīng)過調(diào)試,由本系統(tǒng)軟件所開發(fā)出的讀寫器具有 高性能、高穩(wěn)定性和強兼容性。典型的讀寫距離為11 cm,在有效讀寫區(qū)域內(nèi)無死區(qū),讀寫操作可靠。在桌面工作環(huán)境中,卡片在有效感應(yīng)區(qū)域內(nèi)連續(xù)讀寫出錯率低于0.01%。其兼容性表現(xiàn)在不僅能夠讀取標(biāo)準(zhǔn)的卡片,對于偏離標(biāo)準(zhǔn)很多的卡片也能夠進行讀取。

本站聲明: 本文章由作者或相關(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ù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

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