打印

SPI时序精度问题

[复制链接]
3547|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本人最近做一测试设备,主要是通过SPI通讯发送数据,时间得精确到0.2微秒,我目前采用的是51单片机,12M晶振,为了提高时间精度,采用汇编语言,接受端是mega328,晶振9.216M,目前一直没法通讯,具体的时序可见下图,个人估计是发送端的时间精度不够,目前只有1微秒,不知有啥好的方案提高时间精度,还有接受端采用的9.216M晶振又有啥玄机呢!

Timing waveform.jpg (38.6 KB )

Timing waveform.jpg

相关帖子

沙发
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 的特殊功能寄存器 则可 正常工作。

使用特权

评论回复
5
夏日飞鹰|  楼主 | 2012-1-15 13:41 | 只看该作者
软spi

使用特权

评论回复
6
NE5532| | 2012-1-15 16:03 | 只看该作者
主机是软的还是从机是软的?

使用特权

评论回复
7
sedatefire| | 2012-1-16 00:05 | 只看该作者
同2楼,
SPI是用clk同步,边沿触发取值通信,不存在精度问题
如果是串口波特率,那自然另当别论

使用特权

评论回复
8
sedatefire| | 2012-1-16 00:05 | 只看该作者
同2楼,
SPI是用clk同步,边沿触发取值通信,不存在精度问题
如果是串口波特率,那自然另当别论1

使用特权

评论回复
9
夏日飞鹰|  楼主 | 2012-1-16 08:04 | 只看该作者
从机是软SPI,mega328,晶振9.216M是为什么呢,从机部分为老外设计

使用特权

评论回复
10
hyhmh| | 2012-1-16 09:57 | 只看该作者
通常,主机 用MCU 普通I/O口+软件设计时序(满足从机芯片的要求) 这种 应用比较多,也许是LZ所称的软SPI吧。
从机 软件SPI  问题就比较大了。
LZ为什么要 追究 从机的晶振9.216M呢?(也许 其它 通讯或 功能分频 所需要)

使用特权

评论回复
11
NE5532| | 2012-1-16 13:12 | 只看该作者
从机是软SPI,mega328,晶振9.216M是为什么呢,从机部分为老外设计
夏日飞鹰 发表于 2012-1-16 08:04


取决于从机做得好不好了,这个要用中断来做。

使用特权

评论回复
12
ocon| | 2012-1-16 14:56 | 只看该作者
估计是两边的通讯协议不匹配,与SPI无关。

使用特权

评论回复
13
hotpower| | 2012-1-16 18:00 | 只看该作者
降低速度看看

使用特权

评论回复
14
_编程浪子| | 2012-1-16 22:44 | 只看该作者
SPI属于同步总线,不存在任何时钟精度问题

使用特权

评论回复
15
zjping0815| | 2013-6-27 16:44 | 只看该作者
大哥
我做的两个CPU用IO口模拟SPI 通讯接收不了数据,
这是怎么什么问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

239

帖子

0

粉丝