加密芯片SPI通訊的調試

SPI是串行外設接口(Serial Peripheral Interface)的縮寫。是Motorola公司推出的一種同步串行接口技術,是一種高速的、全雙工,同步的通信總線。
SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個主設備和一個或多個從設備,需要至少4根線:它們是SDI(數據輸入)、SDO(數據輸出)、SCLK(時鐘)、CS(片選)。
(1)SDO/MOSI——主設備數據輸出,從設備數據輸入;
(2)SDI/MISO——主設備數據輸入,從設備數據輸出;
(3)SCLK——時鐘信號,由主設備產生;
(4)CS/SS——從設備使能信號,由主設備控制。
CS作爲片選信號不難理解。當總線上掛有多個從設備時,主機通過控制對應從設備的片選信號,即可選中激活該設備,完成與該設備的通訊。一般片選爲低電平時,處於選中狀態。
需要說明的是,SPI通信有4種不同的模式,不同的從設備可能在出廠時就是配置爲某種模式,這是不能改變的;但我們的通信雙方必須是工作在同一模式下,所以我們可以對我們的主設備的SPI模式進行配置,通過CPOL(時鐘極性)和CPHA(時鐘相位)來控制我們主設備的通信模式,具體如下:
Mode0:CPOL=0,CPHA=0
Mode1:CPOL=0,CPHA=1
Mode2:CPOL=1,CPHA=0
Mode3:CPOL=1,CPHA=1
時鐘極性CPOL是用來配置SCLK的電平出於哪種狀態時是空閒態或者有效態,時鐘相位CPHA是用來配置數據採樣是在第幾個邊沿。
作爲特殊應用的加密芯片來說,其SPI通訊大多數採用標準SPI接口協議,但也不乏例外,調試過程中有幾點注意:
1、加密芯片作爲防盜版功能模塊或者是數據加解密模塊,大多數需作爲SPI從機設備,上位機端作爲SPI主機。
2、主機SPI設置成CKPOL=0 ,CKPHA=0。其含義:此時空閒態時,SCLK處於低電平,數據採樣是在第1個邊沿,也就是SCLK由低電平到高電平的跳變,所以數據採樣是在上升沿,數據發送是在下降沿。
3、有些加密芯片協議特殊,而且由於SPI沒有同步信號功能,所以加密芯片需要藉助BUSY引腳來給主機發送通知信號,當BUSY爲高電平,允許SPI主設備發送數據,反之允許主機接收數據。
4、BUSY爲SPI請求信號。當BUSY拉低時允許SPI主設備讀取數據,此時SPI主機端將CS/SS拉低,SPI_CLK產生時鐘。
5、芯片發生故障無法正常運行時可通過復位重置。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章