OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7133|回复: 9

关于模拟SPI时序时,如何知道配置的时钟频率

[复制链接]

41

主题

278

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2357
金钱
2357
注册时间
2019-10-29
在线时间
380 小时
发表于 2020-6-3 12:10:33 | 显示全部楼层 |阅读模式
1金钱
在用硬件SPI时,有分频的,可以确定SPI的时钟频率大概为多少,那么在软件模拟SPI时,如何知道配置的SPI时钟频率是多少呢?(不通过逻辑分析仪)

最佳答案

查看完整内容[请看2#楼]

你的程序写的很清楚了,CLK_HIGN,delay,CLK_LOW,delay;delay两次的时间就是时钟周期啊,不过软件模拟没那么准,只是大概,最好有示波器测测。一般不超过SPI设备的最大速率应该都可以的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2015-8-25
在线时间
1035 小时
发表于 2020-6-3 12:10:34 | 显示全部楼层
你的程序写的很清楚了,CLK_HIGN,delay,CLK_LOW,delay;delay两次的时间就是时钟周期啊,不过软件模拟没那么准,只是大概,最好有示波器测测。一般不超过SPI设备的最大速率应该都可以的
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10569
金钱
10569
注册时间
2017-2-18
在线时间
1913 小时
发表于 2020-6-3 12:44:31 | 显示全部楼层
这个不好配置
回复

使用道具 举报

12

主题

3389

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8643
金钱
8643
注册时间
2020-5-11
在线时间
4098 小时
发表于 2020-6-3 13:07:06 | 显示全部楼层
软件延时?可以先测试好延时,或者连续输出1000个字节用Timer测量。
还是示波器方便。
专治疑难杂症
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4480
金钱
4480
注册时间
2013-4-22
在线时间
337 小时
发表于 2020-6-3 13:14:31 | 显示全部楼层
知道cpu的锁相环pll频率就知道如何配置了
回复

使用道具 举报

41

主题

278

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2357
金钱
2357
注册时间
2019-10-29
在线时间
380 小时
 楼主| 发表于 2020-6-3 13:53:08 | 显示全部楼层
就是软件上延时1US,那么该如何计算他的时钟频率,逻辑分析仪上计算的大概是400多KHZ
5.png
3.png
2.png
回复

使用道具 举报

41

主题

278

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2357
金钱
2357
注册时间
2019-10-29
在线时间
380 小时
 楼主| 发表于 2020-6-3 14:54:35 | 显示全部楼层
szczyb1314 发表于 2020-6-3 13:57
你的程序写的很清楚了,CLK_HIGN,delay,CLK_LOW,delay;delay两次的时间就是时钟周期啊,不过软件模拟没那 ...

明白了 就是时钟线高低电平的一个延时时间,就是时钟的周期,那这样说的话,模拟的SPI时序,他的速度也就不能达到硬件SPI那样几MHz了,只能达到几百KHz了。
回复

使用道具 举报

16

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2020-2-19
在线时间
10 小时
发表于 2020-6-3 15:20:58 | 显示全部楼层
5.png
本例中,器件MAX31855K 处理来自热电偶的读数,并通过串口发送数据。驱动CS 为低电平,并在SCK端施加时钟信号,从SO读取结果。器 件始终在后台执行转换,只有CS为高电平时才能更新故障 状态和温度数据。
驱动CS为低电平时,SO引脚将输出第一位数据。通过串 口读取完整的冷端补偿热电偶温度,需要14个时钟周期。 读取热电偶和参考端温度需要32个时钟周期(表2和表3)。 在时钟下降沿读取输出位。第一位D31为热电偶温度符号 位。D[30:18]位包含温度转换数据,顺序为MSB至LSB。 D16位正常状态下为低电平,热电偶输入开路或对GND或 VCC短路时变为高电平。参考端温度数据从D15开始。输 出转换数据时,CS任何时候均可变为高电平。
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2015-8-25
在线时间
1035 小时
发表于 2020-6-3 16:45:10 | 显示全部楼层
chenyuan 发表于 2020-6-3 14:54
明白了 就是时钟线高低电平的一个延时时间,就是时钟的周期,那这样说的话,模拟的SPI时序,他的速度也就 ...

是的了,你软件延时1us,delay两次的话就是2点几微秒,差不多就是400多khz的样子
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2020-8-6
在线时间
22 小时
发表于 2021-5-24 09:34:10 | 显示全部楼层
spi时钟配置
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-23 07:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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