硬汉嵌入式论坛

 找回密码
 立即注册
查看: 889|回复: 4
收起左侧

[技术讨论] 关于跳变沿的数据读取问题

[复制链接]

4

主题

6

回帖

18

积分

新手上路

积分
18
发表于 2022-11-12 16:18:00 | 显示全部楼层 |阅读模式
【问题描述】硬汉哥,在写程序时遇到一个问题,如下图所示,这个时序图是表示在时钟信号CLK的上升沿读取数据,如果我们是通过软件模拟的方法,图中的写法A和写法B两种伪代码哪种是正确的呀,我个人感觉是写法B正确,是变为高电平的一瞬间去读取数据,但是发现别人写的程序是先读取数据,再拉高CLK,请问正确的应该怎么理解呀


image.png

关于这个问题,在软件模拟SPI上也有类似的疑问,比如当SPI被配置为CPOL=CPHA=0时,也就是接收端在SCK的上升沿采样数据,按理说也是需要等到SCK拉高之后,再迅速读取数据,但是发现别人写的【软件SPI驱动】,都是先读取数据,再拉高SCK时钟线


image.png

回复

使用道具 举报

214

主题

1088

回帖

1740

积分

至尊会员

More we do, more we can do.

积分
1740
发表于 2022-11-13 08:41:32 | 显示全部楼层
ADC的举例我就不讨论了,它的输入跟时钟没有关联性。
SPI的时序,你理解有偏差,主/从是遵循相同时钟逻辑的,不是你描述的”在不同时钟沿采样“。
image.png
扩展阅读参考资料:https://www.analog.com/cn/analog ... -spi-interface.html
回复

使用道具 举报

85

主题

774

回帖

1029

积分

至尊会员

积分
1029
发表于 2022-11-13 21:44:55 | 显示全部楼层
个人理解你的时序图,对MCU来说应该是上升沿ADC器件准备数据,下降沿到来ADC器件保持数据,MCU读取数据。
回复

使用道具 举报

4

主题

6

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2022-11-15 14:50:57 | 显示全部楼层
emwin 发表于 2022-11-13 08:41
ADC的举例我就不讨论了,它的输入跟时钟没有关联性。
SPI的时序,你理解有偏差,主/从是遵循相同时钟逻辑 ...

哇,明白啦明白啦,谢谢i您的回复!
回复

使用道具 举报

4

主题

6

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2022-11-15 14:51:51 | 显示全部楼层
庄永 发表于 2022-11-13 21:44
个人理解你的时序图,对MCU来说应该是上升沿ADC器件准备数据,下降沿到来ADC器件保持数据,MCU读取数据。

是的,我理解错了,应该下降沿来到之后,主机采样读取数据,谢谢您的回复
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-11-11 03:42 , Processed in 0.242916 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表