基于SPI接口安全芯片產(chǎn)品的讀卡器研究
由于安全芯片的工作電壓不確定,本讀卡器提供了5V和3.3V的工作電壓,其中3.3V是通過電源轉(zhuǎn)換芯片LM1117提供的,同時在USB接口處添加了ESD防護器件SRV05-4,以防讀卡器被靜電打壞。如圖6所示。
本文引用地址:http://www.ex-cimer.com/article/201710/370666.htm2.2 MCU主控部分
本讀卡器采用了ST的MCU為主控芯片,該芯片是一款基于ARM Cortex-M3為內(nèi)核的微控制器,最高工作頻率為72MHz。此外,該主控芯片具有豐富的硬件資源,配置了128K的flash存儲器和20K的RAM、三個16位普通定時器和一個高級定時器、2×SPI、2×I2C、3×USART、1×USB、1×CAN2.0、2(16)個ADC和48個I/O引腳。本讀卡器應用了該芯片的USB功能,通過USB端口檢測是否有安全芯片插入,實現(xiàn)和安全芯片的通訊控制,另外通過MCU控制蜂鳴器和LED燈的亮滅。
2.3 SPI從設備接口
本讀卡器和安全芯片的接口是通過IC卡座連接的,如圖7所示,通過IC卡座的檢測管腳判斷是否有安全芯片插入,同時也可以方便地監(jiān)測SPI的通訊時序,方便調(diào)試和測試。
2.4 其他電路
本讀卡器硬件上包含蜂鳴器和LED指示燈部分,如圖8所示。當有安全芯片插入或拔出時通過MCU控制蜂鳴器的發(fā)出“嘀嘀”的響聲,當和安全芯片進行通訊時,控制指示燈D2的亮滅指示通訊的正?;虍惓?,電源指示燈D1亮滅代表電源的正常與否。
3 軟件設計
本系統(tǒng)的軟件框圖如圖9所示,通過USB供電,當系統(tǒng)正常上電后程序進行初始化,包括系統(tǒng)時鐘的初始化、USB初始化及CCID設備接口的初始化等,當該系統(tǒng)的CCID設備接口準備好后可以通過其中的固定的端口發(fā)送指令進行SPI時序的設置,當插入安全芯片時系統(tǒng)會自動檢測,如果檢測到安全芯片,端口上會顯示該SPI接口從設備的相關信息,通過該端口可以進行安全芯片的通訊測試;如果沒有檢測的安全芯片,那么可以通過查看相關的時序,進行調(diào)整,重新進行SPI時序的相關參數(shù)的設置。
3.1 CCID設備初始化
CCID標準規(guī)定了CCID設備是一種芯片/智能卡接口設備,設備通過USB接口與主機或其他嵌入式主機連接,進行符合CCID標準的數(shù)據(jù)通訊,工作過程如圖10所示。本讀卡器采用了CCID標準,實現(xiàn)了3個設備端口的初始化,用到了Bulk-OUT Message在Command Pipe發(fā)送;Bulk-IN Message在Response Pipe發(fā)送;Interrupt-IN Message在interrupt-IN Pipe發(fā)送,用到的函數(shù)如表1所示。
3.2 SPI從設備通信處理軟件
本讀卡器采用了MODE3模式,時序圖如圖11所示,主要涉及到以下關鍵的時間點:包括Ton:片選SSN拉低到第一個Clock之間的延時時間,Toff :SPI通訊結(jié)束的最后一個CLK到片選SSN拉高之間的間隔,Ti:每個字節(jié)幀之間的間隔,Tidle :片選SSN高電平持續(xù)的時間。通過CCID設備的固定端口發(fā)送SPI時序的配置指令,分別對上面的關鍵時間點Ton、Toff、Ti和Tidle進行設置。
參考SPI接口從設備的通信時序圖及通信流程編寫程序,完成了調(diào)試,下面給出SPI初始化的程序,具體的程序執(zhí)行流程圖如圖12所示。
4 結(jié)論
本文設計的讀卡器實現(xiàn)了和SPI接口從設備通信,同時實現(xiàn)了對SPI從設備時序的配置,方便測試SPI從設備的工作極限參數(shù),例如工作頻率等。此外在進行SPI從設備生產(chǎn)發(fā)行過程中,通過修改SPI時序可以很大程度上提高生產(chǎn)產(chǎn)能。另外也方便用戶進行SPI底層程序的調(diào)試,縮短了開發(fā)周期,在實際應用中具有深遠的意義。
參考文獻:
[1]DWG_Smart-Card_CCID_Rev110.pdf.
[2]涂永飛,王名傳.基于SPI雙機通信的弧光保護系統(tǒng)[J].微型機與應用,2015,34(2):72-76.
[3]解永軍,許芳,王德清.基于SPI的雙DSP通信協(xié)議研究[J].電子世界,2014,(14):221-222.
[4]高振,羅秋鳳.SPI接口與CRC算法在雙DSP數(shù)據(jù)通信中的應用[J].電子產(chǎn)品世界,2011(1-2):46-48.
[5]付興武,張軍,王洋.基于SPI總線協(xié)議的字符設備驅(qū)動程序[J].計算機系統(tǒng)應用,2013,22(2):146-150.
本文來源于《電子產(chǎn)品世界》2017年第11期第42頁,歡迎您寫論文時引用,并注明出處。
評論