SPI总线简介
SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便。其现已发展成为一种工业标准,目前,各半导体公司推出了大量的带有SPI接口的具有各种各样功能的芯片,如RAM,EEPROM,FlashROM,A/D(D/A)转换器、LED显示驱动器、I/O接口芯片、实时时钟、UART收发器等等,为用户的外围扩展提供了极其灵活而经济的选择。这也使得对SPI信号的测试分析需求更加广泛。
SPI总线包含四种输出方式(SPI0,SPI1,SPI2,SPI3),SPI0和SPI3方式比较常用。SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降沿)数据即被采样;如果CPHA=1,在串行同步时钟的第二个(上升或下降沿)数据才被采样。
图1 SPI信号四种输出方式时序图
SPI总线测试需求
工程师对SPI总线测试和分析的需求主要涵盖以下两个方面:
1.了解总线正在发生什么:软件工程师设计SPI主设备发出的消息内容,硬件工程师则需要确定消息是不是被准确无误的传送到从设备上。传统的方法是使用示波器把信号捕获下来,然后根据高低电平特点转换成“1”或“0”,然后再去对比SPI协议,将其还原成有意义的消息帧。显然这种方式费时费力,在转换的过程中还容易出错。SDS3000X系列智能示波器支持SPI总线解码功能,可以直接对总线传输信号进行触发解码。并以不同的方式动态显示在示波器屏幕上。不同的显示方式可以更好地适应不同的分析需求:比如硬件工程师可能希望以二进制的方式查看SPI消息内容,底层驱动工程师希望以16进制方式分析波形,而应用软件工程师则希望以ASCII码的方式去了解总线上实际运行的数据内容。
2.调试总线上有故障的节点:SPI设备可以实现一个主设备连接多个从设备的需求,通过片选信号(SS/CS)来选择需要操作的从设备。当主设备切换传输对象的时候,我们需要关注总线所发送的信息是否与所选择的从设备一致。有可能出现所发送的信息与当前所选择的从设备并不一致的状况。
SPI总线模拟测试方法
本例中我们使用SDS3000X系列智能示波器以及STB-3信号演示板进行单向SPI总线测试模拟。
图2 实验连接图
单向的SPI总线信号包括一根时钟线SCLK、一根片选信号线CS和一根数据线SDA,可由鼎阳的STB-3板模拟输出,其输出信号速率为1Mbps,数据内容为:(XX为随机字符)96'h53_49_47_4C_45_4E_54_5F_XX_XX_XX_XX。
SPI触发
SPI 总线是为芯片间的数据通信而设计的,因此,在大多数情况下,由于传输数据的不同使得信号并非周期性信号。这就要求在对该总线进行测试时,要能准确地触发到数据帧的“头”,并将其“稳定”显示在仪器上,便于观察和分析。
SDS3000X系列智能示波器支持串行总线触发功能,按下前面板上侧菜单栏区域的“触发–触发设置”唤出触发设置对话框,设定好信号对应的探头(本例设置为CH1:SDA;CH2: SCLK;CH3:CS),就可以直接对SPI信号进行触发。
图3 SPI信号触发功能
在模拟测试前,我们已知STB-3演示板所输出的SPI信号输出方式为SPI3(在实际测试中,SPI从设备的工作模式也会在数据手册里标明,或者在时序图中给出)。因此我们在触发的时候就要进行相应的配置。SDS3000X智能示波器支持在触发和解码时对SPI输出方式进行选择。
图4 SPI触发信号设置
PS:SDS3000X系列智能示波器支持串行总线触发解码功能,支持的协议有IIC、IIS、SPI、UART/RS232、LIN、CAN、CAN-FD、FlexRay、MIL 1553、USB 2.0。
SPI解码
在成功捕获到待测试的SPI总线信号后,接下来我们关注的问题是对SPI总线信号进行解码。
如图5所示,选择“分析-串行解码”选项,进行相应设置,即可获得解码的结果,并可以列表显示出来,便于查看。(解码的结果可以二进制、16进制以及ASCALL码的形式显示)
图5 SPI解码设置
图6 SPI解码结果(十六进制)
解码的结果与输入信号一致。
以上只是简单的使用SDS3000X系列智能示波器对SPI信号进行触发和解码。在实际应用中,SDS3000X系列智能示波器的串行总线触发解码功能可以快速的使我们获得“总线上正在发生什么”;并可根据示波器界面所呈现的解码结果分析总线所传输的的信息是否和我们预想的一致,从而精准快速地发现故障点并进行调试。
关于鼎阳
鼎阳科技(SIGLENT)是一家专注于通用电子测试测量仪器及相关解决方案的公司。
从2005推出第一款数字示波器产品至今,10余年来鼎阳科技一直是全球发展速度最快的数字示波器制造商。历经多年发展,鼎阳产品已扩展到数字示波器、手持示波表、函数/任意波形发生器、频谱分析仪、台式万用表、直流电源等通用测试测量仪器产品。2007年,鼎阳与高端示波器领导者美国力科建立了全球战略合作伙伴关系。2011年,鼎阳发展成为中国销量领先的数字示波器制造商。2014年,鼎阳发布了中国首款智能示波器SDS3000系列,引领“人手一台”型实验室使用示波器由功能示波器向智能示波器过渡的趋势。2017年,鼎阳发布打破行业垄断,多项参数突破国内技术瓶颈的SDG6000X系列脉冲/任意波形发生器,其输出带宽高达500MHz。目前,鼎阳已经在美国克利夫兰和德国汉堡成立分公司,产品远销全球70多个国家,SIGLENT正逐步成为全球知名的测试测量仪器品牌。
关于鼎阳硬件设计与测试智库
鼎阳硬件设计与测试智库(简称鼎阳硬件智库)由深圳市鼎阳科技有限公司领衔创办,是中国第一家“智力众筹”模式的硬件智库。
鼎阳硬件智库顺时顺势,倡导“连接-分享-协作-创造”的理念,高举志愿者服务的大旗,相信互联网是“爱”的大本营,相信人们都有发自内心分享的愿望。
鼎阳硬件智库选择硬件领域最普遍的七类问题:电源,时钟,DDR,低速总线,高速总线,EMC,测试测量进行聚焦。寻找“最针尖”的问题进行研讨,针对“最针尖”的问题组织专家答疑,将硬件大师积累的宝贵知识和经验变成公众财富,惠及更多硬件人。
- 关键词:SPI总线 测试 通信
- 浏览量:1595
- 来 源:鼎阳科技
- 编辑:夏禅
- 声明:凡本网注明" 来源:仪商网"的所有作品,版权均属于仪商网,未经本网授权不得转载、摘编使用。
经本网授权使用,并注明"来源:仪商网"。违反上述声明者,本网将追究其相关法律责任。
本网转载并注明自其它来源的作品,归原版权所有人所有。目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。如有作品的内容、版权以及其它问题的,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
本网转载自其它媒体或授权刊载,如有作品内容、版权以及其它问题的,请联系我们。相关合作、投稿、转载授权等事宜,请联系本网。
QQ:2268148259、3050252122。