新聞中心

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

基于SPI接口安全芯片產(chǎn)品的讀卡器研究 

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

作者 秦理想1,2 涂靜芝3 劉立宗1,2 姜帆1,2

本文引用地址:http://m.butianyuan.cn/article/201710/370666.htm

  1.北京智芯微電子科技有限公司 國家電網(wǎng)公司重點實驗室 電力芯片設計分析實驗室(北京 100192)

  2.北京智芯微電子科技有限公司 北京市電力高可靠性集成電路設計工程技術研究中心(北京 100192)

  3.國網(wǎng)江西省電力公司檢修分公司(江西 南昌 330077)

  秦理想(1982-),女,工程師,研究方向:智能控制及嵌入式系統(tǒng)應用;涂靜芝,女,工程師,研究方向:嵌入式系統(tǒng)應用;劉立宗,男,工程師,研究方向:智能控制及嵌入式系統(tǒng)應用研究

摘要:由于SPI接口的簡單、高速、穩(wěn)定的特性,在實際中得到了廣泛應用,本文介紹了SPI從設備的接口協(xié)議,提出了一種基于該的設計思路,簡述了方案的具體實現(xiàn)方法,包括的硬件設計及軟件設計。采用即插即用的連接方式,采用設備通過接口與主機或其它嵌入式主機連接,完成的數(shù)據(jù)通訊,滿足了實際的功能需求,對于開發(fā)設計相同工作模式下的SPI從設備的程序具有很好的借鑒價值。

引言

  提起,大多數(shù)人會想到它是一種讀卡設備,由于存在各種不同類型的卡片,讀卡器的含義也比較廣泛了。按照廣義的讀卡器概念,它是一種既可以讀取數(shù)據(jù),又可以寫入數(shù)據(jù)的設備。讀卡器的應用領域很廣泛,例如金融行業(yè)、交通領域、醫(yī)療系統(tǒng)、電力行業(yè)等。然而在電力領域,隨著信息化的加速與信息技術的發(fā)展,供電企業(yè)的主營業(yè)務信息化及辦公生產(chǎn)場所信息網(wǎng)絡覆蓋率都得到了全面的提高,智能電網(wǎng)的覆蓋率通過遠程方式對終端/電表操作的日常業(yè)務也隨之增加,進而對數(shù)據(jù)傳輸?shù)撵`活性、安全性、可靠性、穩(wěn)定性的要求也越來越高,其中采用的安全模塊為SPI接口。目前市場上主流的讀卡器是接口的讀卡器,因為它可以即插即用,支持熱插拔,用于讀取存儲卡、IC卡、非接觸式IC卡等,由于接觸IC卡片是ISO7816接口,非接觸式IC卡是ISO14443接口,沒有用于讀取SPI接口芯片的專用讀卡器,本文根據(jù)實際需求提出了一種基于SPI通信接口的讀卡器的設計方案。

1

  SPI(Serial Peripheral Interface,串行外圍設備接口)是一種高速的、全雙工、同步通信總線,并且在芯片的管腳上只占用四根線,包含設備選擇線、時鐘線、串行輸出數(shù)據(jù)線、串行輸入數(shù)據(jù)線,節(jié)約了芯片的管腳,同時為PCB在布局上節(jié)省了空間,現(xiàn)在越來越多的芯片都集成了這種通信協(xié)議。

1.1 SPI通信接口

  SPI主要有以下通信接口:

  SCLK:時鐘信號,由主設備器件產(chǎn)生;

  MOSI:主設備器件數(shù)據(jù)輸出,從設備器件數(shù)據(jù)輸入;

  MISO:主設備器件數(shù)據(jù)輸入,從設備器件數(shù)據(jù)輸出;

  SSN:從設備器件使能信號,由主設備器件控制。

1.2 SPI通信協(xié)議描述

  SPI接口通信工作方式有四種,即MODE0、MODE1、MODE2和MODE3,本讀卡器系統(tǒng)采用MODE3,即時鐘極性(CPOL=1),時鐘相位(CPHA=1),串行同步時鐘的空閑狀態(tài)為高電平,在串行同步時鐘的下降沿轉(zhuǎn)換數(shù)據(jù),上升沿采樣數(shù)據(jù)。

  主設備發(fā)送數(shù)據(jù),從設備接收數(shù)據(jù),如圖2所示;主設備接收數(shù)據(jù),從設備發(fā)送數(shù)據(jù),如圖3所示。

1.3 SPI接口從設備通信流程

  要完成讀卡器的設計,首先要先了解SPI接口從設備的通信流程,如圖4所示。

  ● SSN=0:將SSN置低;SSN=1:將SSN置高。

  ● Len1代表長度的高字節(jié),Len2代表長度的低字節(jié)。

  ● LRC1的計算方法:對CLA、INS、P1、P2、Len1、Len2和DATA數(shù)據(jù)每個字節(jié)的異或值取反。

  ● LRC2的計算方法:對SW1、SW2、Len1、Len2和DATA數(shù)據(jù)每個字節(jié)的異或值取反。

  Len1和Len2代表DATA域的長度,不包括LRC1或LRC2。

2 硬件設計

  本讀卡器的SPI主設備是主控MCU,從設備是安全芯片。本讀卡器的功能實現(xiàn)和SPI接口的從設備通信,使用硬件SPI需要注意以下幾點:

  (1) SPI主設備和與之通信的從設備的時鐘極性和時鐘相位應該一致,并以從設備為基準;

  (2) SPI僅在數(shù)據(jù)發(fā)送時才有時鐘輸出,一旦傳輸完畢,時鐘就停止;

  (3) SPI從設備在主設備需要接收數(shù)據(jù)時才能發(fā)送數(shù)據(jù),主設備和從設備同時進行的;

  (4) SPI主設備向從設備發(fā)送數(shù)據(jù)時,直接發(fā)送即可。但在接收數(shù)據(jù)時,實質(zhì)上也是發(fā)送數(shù)據(jù),為接收數(shù)據(jù)提供時鐘信號。

  讀卡器的系統(tǒng)硬件電路包含7部分,即電源部分、SPI從設備電源控制、蜂鳴器、指示燈、USB接口部分、SPI從設備接口部分和CCID的其他設備接口,如圖5所示。

2.1 USB部分

  本讀卡器采用USB接口供電,提供5V的工作電壓,另外支持USB掛起/恢復操作,支持同步傳輸、批量/同步端點的雙緩存,本讀卡器采用了協(xié)議,配置了三個USB端點,實現(xiàn)了三個設備端口的枚舉,包括進行SPI時序配置的端口、安全芯片端口和預留端口。



上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉