新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 基于SPI接口安全芯片產品的讀卡器研究 

        基于SPI接口安全芯片產品的讀卡器研究 

        作者:秦理想 涂靜芝 劉立宗 姜帆 時間:2017-10-27 來源:電子產品世界 收藏
        編者按:由于SPI接口的簡單、高速、穩定的特性,在實際中得到了廣泛應用,本文介紹了SPI從設備的接口協議,提出了一種基于該SPI協議的讀卡器的設計思路,簡述了方案的具體實現方法,包括讀卡器的硬件設計及軟件設計。采用USB即插即用的連接方式,采用CCID標準設備通過USB接口與主機或其它嵌入式主機連接,完成SPI協議的數據通訊,滿足了實際的功能需求,對于開發設計相同工作模式下的SPI從設備的程序具有很好的借鑒價值。

          由于安全芯片的工作電壓不確定,本提供了5V和3.3V的工作電壓,其中3.3V是通過電源轉換芯片LM1117提供的,同時在接口處添加了ESD防護器件SRV05-4,以防被靜電打壞。如圖6所示。

        本文引用地址:http://www.104case.com/article/201710/370666.htm

        2.2 MCU主控部分

          本采用了ST的MCU為主控芯片,該芯片是一款基于ARM Cortex-M3為內核的微控制器,最高工作頻率為72MHz。此外,該主控芯片具有豐富的硬件資源,配置了128K的flash存儲器和20K的RAM、三個16位普通定時器和一個高級定時器、2×SPI、2×I2C、3×USART、1×、1×CAN2.0、2(16)個ADC和48個I/O引腳。本讀卡器應用了該芯片的功能,通過USB端口檢測是否有安全芯片插入,實現和安全芯片的通訊控制,另外通過MCU控制蜂鳴器和LED燈的亮滅。

        2.3 SPI從設備接口

          本讀卡器和安全芯片的接口是通過IC卡座連接的,如圖7所示,通過IC卡座的檢測管腳判斷是否有安全芯片插入,同時也可以方便地監測SPI的通訊時序,方便調試和測試。

        2.4 其他電路

          本讀卡器硬件上包含蜂鳴器和LED指示燈部分,如圖8所示。當有安全芯片插入或拔出時通過MCU控制蜂鳴器的發出“嘀嘀”的響聲,當和安全芯片進行通訊時,控制指示燈D2的亮滅指示通訊的正常或異常,電源指示燈D1亮滅代表電源的正常與否。

        3 軟件設計

          本系統的軟件框圖如圖9所示,通過USB供電,當系統正常上電后程序進行初始化,包括系統時鐘的初始化、USB初始化及CCID設備接口的初始化等,當該系統的CCID設備接口準備好后可以通過其中的固定的端口發送指令進行SPI時序的設置,當插入安全芯片時系統會自動檢測,如果檢測到安全芯片,端口上會顯示該SPI接口從設備的相關信息,通過該端口可以進行安全芯片的通訊測試;如果沒有檢測的安全芯片,那么可以通過查看相關的時序,進行調整,重新進行SPI時序的相關參數的設置。

        3.1 CCID設備初始化

          規定了CCID設備是一種芯片/智能卡接口設備,設備通過USB接口與主機或其他嵌入式主機連接,進行符合的數據通訊,工作過程如圖10所示。本讀卡器采用了,實現了3個設備端口的初始化,用到了Bulk-OUT Message在Command Pipe發送;Bulk-IN Message在Response Pipe發送;Interrupt-IN Message在interrupt-IN Pipe發送,用到的函數如表1所示。

        3.2 SPI從設備通信處理軟件

          本讀卡器采用了MODE3模式,時序圖如圖11所示,主要涉及到以下關鍵的時間點:包括Ton:片選SSN拉低到第一個Clock之間的延時時間,Toff :SPI通訊結束的最后一個CLK到片選SSN拉高之間的間隔,Ti:每個字節幀之間的間隔,Tidle :片選SSN高電平持續的時間。通過CCID設備的固定端口發送SPI時序的配置指令,分別對上面的關鍵時間點Ton、Toff、Ti和Tidle進行設置。

          參考SPI接口從設備的通信時序圖及通信流程編寫程序,完成了調試,下面給出SPI初始化的程序,具體的程序執行流程圖如圖12所示。

        4 結論

          本文設計的讀卡器實現了和SPI接口從設備通信,同時實現了對SPI從設備時序的配置,方便測試SPI從設備的工作極限參數,例如工作頻率等。此外在進行SPI從設備生產發行過程中,通過修改SPI時序可以很大程度上提高生產產能。另外也方便用戶進行SPI底層程序的調試,縮短了開發周期,在實際應用中具有深遠的意義。

          參考文獻:

          [1]DWG_Smart-Card_CCID_Rev110.pdf.

          [2]涂永飛,王名傳.基于SPI雙機通信的弧光保護系統[J].微型機與應用,2015,34(2):72-76.

          [3]解永軍,許芳,王德清.基于SPI的雙DSP通信協議研究[J].電子世界,2014,(14):221-222.

          [4]高振,羅秋鳳.SPI接口與CRC算法在雙DSP數據通信中的應用[J].電子產品世界,2011(1-2):46-48.

          [5]付興武,張軍,王洋.基于SPI總線協議的字符設備驅動程序[J].計算機系統應用,2013,22(2):146-150.

          本文來源于《電子產品世界》2017年第11期第42頁,歡迎您寫論文時引用,并注明出處。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 淮北市| 社会| 六枝特区| 环江| 韶山市| 扬州市| 武定县| 河北区| 扎赉特旗| 宁波市| 茌平县| 嘉善县| 普陀区| 乌拉特前旗| 咸丰县| 漳平市| 三门峡市| 慈利县| 敦化市| 乌兰浩特市| 高碑店市| 巨鹿县| 霍城县| 铅山县| 故城县| 沙田区| 平邑县| 高清| 佛山市| 闻喜县| 登封市| 施甸县| 秦皇岛市| 汶川县| 凤山市| 临漳县| 潜山县| 德昌县| 平凉市| 和顺县| 稷山县|