dg336699的个人空间 https://www.eechina.com/space-uid-141150.html [收藏] [复制] [RSS]

博客

加密芯片SPI通讯的调试

热度 10已有 1661 次阅读2018-10-22 17:12

SPI是串行外设接口Serial Peripheral Interface的缩写。Motorola公司推出的一种同步串行接口技术,是一种高速的全双工同步的通信总线。

SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线它们是SDI数据输入SDO数据输出SCLK时钟CS片选

(1)SDO/MOSI——主设备数据输出,从设备数据输入

2SDI/MISO——主设备数据输入,从设备数据输出

3SCLK——时钟信号,由主设备产生

4CS/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、芯片发生故障无法正常运行时可通过复位重置。


路过

鸡蛋

鲜花

握手

雷人

发表评论 评论 (21 个评论)

回复 miniminimini 2018-10-24 13:21
谢谢分享啊,很有用啊,建议多解释点时序,文字太多,看的眼晕
回复 咖啡杯 2018-10-24 14:53
1、看了之前的几个文章,spi、uart、iic 哪种接口速度最快?
2、接口与加密没有关系吧?如果工控设备,选用哪种最合适?
3、SPI的几个接口基本明白,SPI_CLK产生时钟,这个时钟意味着或者影响着什么呢?
4、芯片发生故障无法正常运行时可通过复位重置,复位是什么操作?对SPI哪个引脚操作?
5、当总线上挂有多个从设备时,不同的从设备可能在出厂时就是配置为某种模式,这是不能改变的,如果多个从设备模式不同,是不是主设备就无法协调了呢?
6、CKPOL=0,CKPHA=0,如果为1,意味着什么?高电平转换+第2个数据沿吗?
回复 小屁孩123 2018-10-24 15:35
对于我这个小白来说 文章技术性太强了,先收藏观望吧
回复 xiaoyuhzou1228 2018-10-24 16:09
咖啡杯: 1、看了之前的几个文章,spi、uart、iic 哪种接口速度最快?
2、接口与加密没有关系吧?如果工控设备,选用哪种最合适?
3、SPI的几个接口基本明白,SPI_CLK产生 ...
1 只看通讯有效字节传输速度,SPI理论速度最高,然后是IIC,UART最慢
回复 tyl20100 2018-10-24 17:04
学习了,感谢楼主的分享!
回复 Test_wf 2018-10-24 19:29
咖啡杯: 1、看了之前的几个文章,spi、uart、iic 哪种接口速度最快?
2、接口与加密没有关系吧?如果工控设备,选用哪种最合适?
3、SPI的几个接口基本明白,SPI_CLK产生 ...
SPI 是同步串行同行,同步即为通信时从机使用主机提供的时钟。通信速率也将有时钟频率决定;CKPOL意为时钟极性,取值为0时意为时钟空闲为低电平;同理,取1时空闲低电平。CKPHA为时钟相位,取0时在sck第一个跳变沿采样;同理,为2时则在第二个跳变沿采样。两两组合可知SPI总共可配置成4种模式
回复 kessy1 2018-10-24 21:31
这么专业,佩服佩服,还是默默的学习吧
回复 QL87 2018-10-25 09:09
如果有操作流程图和时序图就好了,看文字真的很累啊。
回复 wang0327 2018-10-25 10:03
芯片的复位引脚,一般是器件独立于通信接口的引脚,文中讨论的复位操作也并非是对SPI引脚的操作。一般来说,复位的引脚和时序由器件的厂商规定,请参考相关产品手册。
回复 Mr.Wang 2018-10-25 16:52
文中提到的加密芯片,有这种接口的加密芯片吗?
回复 小屁孩123 2018-10-25 23:08
楼主都分享这文章了,毋庸置疑市面上肯定是有这种SPI通讯接口的加密芯片了,你可以看看lkt他家有没有,看他家广告打得,感觉产品很多是的
回复 Test_wf 2018-10-26 09:42
咖啡杯: 1、看了之前的几个文章,spi、uart、iic 哪种接口速度最快?
2、接口与加密没有关系吧?如果工控设备,选用哪种最合适?
3、SPI的几个接口基本明白,SPI_CLK产生 ...
接口和加密没关系吗?哪个加密芯片没通讯接口啊。工控设备选用什么芯片,也是要看它有什么接口。
回复 kessy1 2018-10-26 10:08
又一次领教了楼主的渊博学识,点个大大的赞!
回复 QL87 2018-10-26 15:38
总线上挂载多个IIC器件的话,可以通过器件地址确定与哪个器件通信;SPI的器件通信之前需要确定采用哪种模式来进行通信
回复 咖啡杯 2018-10-26 15:53
文中说的“作为特殊应用的加密芯片来说,其SPI通讯大多数采用标准SPI接口协议”是指的哪些特殊应用的加密芯片?
回复 miniminimini 2018-10-26 16:37
文中提到的SPI多了个BUSY引脚,具体的还是要看手册的,
回复 tyl20100 2018-10-26 17:47
SPI通信有4种不同的模式,不同的从设备可能在出厂时就是配置为某种模式,这是不能改变的,也就是说主设备和从设备在出厂时就已经确定某种模式了吗?根据需要可以定制是吗?
回复 wang0327 2018-10-26 21:10
确实存在从设备出厂时就是某一种模式并且不能修改的情况,但是主设备通常是可以修改的。也可以让主设备设置成和从设备一致,某些是固定了只支持主模式或从模式,有些是两个都支持,这个没有说非得怎么样,具体看芯片资料
回复 kessy1 2018-10-27 06:42
求楼楼推荐一款支持spi通讯的加密芯片?我想详细的了解一下
回复 xiaoyuhzou1228 2018-10-27 14:37
首推你了解下 LKT系列加密芯片,他们家有自主研发的COS操作系统,安全系数是国密级别的,而且还可以定制加密芯片和加密芯片的通讯方式
12下一页

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部