首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
模拟电路
» Loto实践干货(6)用示波器+逻辑分析仪进行SPI解码
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
Loto实践干货(6)用示波器+逻辑分析仪进行SPI解码
发短消息
加为好友
wowo2018
当前离线
UID
1076732
帖子
56
精华
0
积分
28
阅读权限
10
在线时间
15 小时
注册时间
2018-10-19
最后登录
2022-3-24
新手上路
UID
1076732
1
#
打印
字体大小:
t
T
wowo2018
发表于 2020-6-9 11:39
|
只看该作者
Loto实践干货(6)用示波器+逻辑分析仪进行SPI解码
SPI,是一种高速的,全
双工
,同步的
通信
总线,并且在
芯片
的管脚上只占用四根线,节约了芯片的管脚。SPI以主从方式工作模式被广泛应用于
电路
系统中,我结合自己的项目情况对SPI协议进行解析,并通过LOTO虚拟示波器采集到的数据波形并进行对比分析,方便大家的理解。
SPI
通信协议
一般只需要四根线将主控芯片与从芯片连接起来,其中四根线分别为:
(1)SDO – 主设备数据输出,从设备数据输入
(2)SDI – 主设备数据输入,从设备数据输出
(3)SCLK –
时钟
信号,由主设备产生
(4)CS – 从设备使能信号,由主设备控制
其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。
下载
(30.93 KB)
2020-6-9 11:36
实际应用中只需要三根线来进行通信。在SPI是
串行通讯
协议下,数据是一位一位的
传输
的。这就是SCLK时钟线存在的原因,由SCLK提供时钟脉冲,SDO则基于此脉冲完成数据传输。数据输出通过 SDO线在时钟上升沿或下降沿时改变,完成一位数据传输。输入也使用同样原理。在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据(一个字节数据)的传输。下面是项目中所涉及的SPI通信协议的时序图为16位数据。
这是我初次尝试失败了的例子,使用LOTO的
USB示波器
OSCA02采集到的对应波形如下图所示。
下载
(116.95 KB)
2020-6-9 11:36
地线过长导致这个信号的噪声比较大,但其实失败的根本原因是,我的示波器只有两个输入通道,所以只能看主要的 时钟和一路数据的对应关系,远远做不到解码,大家可以直观的感受下实际的SPI信号的样子,后面有彩蛋。
在一个基于SPI的设备中,至少有一个主控设备。这样传输的特点:与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停。当没有时钟跳变时,从设备不采集或传送数据。主设备通过对SCLK时钟线的控制可以完成对通讯的控制。因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。不同的SPI设备的实现方式有所不同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义。
SPI
接口
不需要进行寻址操作,且为全双工通信,简单高效。硬件上比I2C系统要稍微复杂一些。由于SPI没有指定的流控制,没有应答机制确认是否接收到数据。
在自己的项目中只用到数据输出模式,因此SPI可串行3线方式进行通信:一条时钟线SCLK,一条输出控制线CS,一条数据输出线SDO;
SPI 模块为了和外设进行数据交换,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果 CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI主模块和与之通信的外设备时钟相位和极性应该一致。
下载
(16.98 KB)
2020-6-9 11:36
主设备配置SPI接口时钟的时要弄清楚从设备的时钟要求,因为主设备的时钟极性和相位都是以从设备为基准的。因此在时钟极性的配置上一定要搞清楚从设备是在时钟的上升沿还是下降沿接收数据,是在时钟的下降沿还是上升沿输出数据。
现在,我的示波器升级成了OSCA02L,是示波器加逻辑分析仪一体的了,所以这次完全有机会做到测4线SPI和解码,
下载
(153.86 KB)
2020-6-9 11:36
下载
(159.45 KB)
2020-6-9 11:36
有了上面的基础,我把这次使用USB虚拟示波器+逻辑分析仪做SPI
测试
和解码的过程,拍了视频,比图文更直观,如下所示:
https://www.bilibili.com/video/BV1na4y1e72c
收藏
分享
评分
好好学习,努力赚钱!
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议