SPI时序精度问题

[复制链接]
5048|14
 楼主| 夏日飞鹰 发表于 2012-1-15 08:34 | 显示全部楼层 |阅读模式
本人最近做一测试设备,主要是通过SPI通讯发送数据,时间得精确到0.2微秒,我目前采用的是51单片机,12M晶振,为了提高时间精度,采用汇编语言,接受端是mega328,晶振9.216M,目前一直没法通讯,具体的时序可见下图,个人估计是发送端的时间精度不够,目前只有1微秒,不知有啥好的方案提高时间精度,还有接受端采用的9.216M晶振又有啥玄机呢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
NE5532 发表于 2012-1-15 09:35 | 显示全部楼层
1.SPI属于同步总线,不存在任何时钟精度问题。
2.楼主请自觉补习SPI和同步通讯相关知识。
3.楼主用的是硬SPI还是软SPI,请告诉我们。
Ryanhsiung 发表于 2012-1-15 11:24 | 显示全部楼层
你只要看最大最小能否满足就可以了!
  TYPE只是建议值
hyhmh 发表于 2012-1-15 11:47 | 显示全部楼层
LZ将 SPI的 频率、数据保持 等时间 理解成 精度——错了。
正如2楼:
SPI是 同步通讯(与UART 不同概念),主SPI 发送的 频率 不大于 从SPI的要求, 它们之间的 数据保持时间与时序 满足彼此要求 。如果是 使用MCU 的 SPI硬结构,而 只需要 适当配置 主/从 SPI 的特殊功能寄存器 则可 正常工作。
 楼主| 夏日飞鹰 发表于 2012-1-15 13:41 | 显示全部楼层
NE5532 发表于 2012-1-15 16:03 | 显示全部楼层
主机是软的还是从机是软的?
sedatefire 发表于 2012-1-16 00:05 | 显示全部楼层
同2楼,
SPI是用clk同步,边沿触发取值通信,不存在精度问题
如果是串口波特率,那自然另当别论
sedatefire 发表于 2012-1-16 00:05 | 显示全部楼层
同2楼,
SPI是用clk同步,边沿触发取值通信,不存在精度问题
如果是串口波特率,那自然另当别论1
 楼主| 夏日飞鹰 发表于 2012-1-16 08:04 | 显示全部楼层
从机是软SPI,mega328,晶振9.216M是为什么呢,从机部分为老外设计
hyhmh 发表于 2012-1-16 09:57 | 显示全部楼层
通常,主机 用MCU 普通I/O口+软件设计时序(满足从机芯片的要求) 这种 应用比较多,也许是LZ所称的软SPI吧。
从机 软件SPI  问题就比较大了。
LZ为什么要 追究 从机的晶振9.216M呢?(也许 其它 通讯或 功能分频 所需要)
NE5532 发表于 2012-1-16 13:12 | 显示全部楼层
从机是软SPI,mega328,晶振9.216M是为什么呢,从机部分为老外设计
夏日飞鹰 发表于 2012-1-16 08:04


取决于从机做得好不好了,这个要用中断来做。
ocon 发表于 2012-1-16 14:56 | 显示全部楼层
估计是两边的通讯协议不匹配,与SPI无关。
hotpower 发表于 2012-1-16 18:00 | 显示全部楼层
降低速度看看
_编程浪子 发表于 2012-1-16 22:44 | 显示全部楼层
SPI属于同步总线,不存在任何时钟精度问题
zjping0815 发表于 2013-6-27 16:44 | 显示全部楼层
大哥
我做的两个CPU用IO口模拟SPI 通讯接收不了数据,
这是怎么什么问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

240

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部