找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1283|回复: 4
打印 上一主题 下一主题
收起左侧

关于不同运行速率的硬件之间传输信号的问题

[复制链接]
跳转到指定楼层
楼主
ID:1047240 发表于 2022-10-15 18:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在看一本书还没看到通信相关的但是我想知道

之前问了一个问题,是通信问题。经过大佬们指点貌似明白了,但是今天又懵了。

我的问题是不同运行速率的硬件之间传输信号。
问了之后我以为都是多线口传输,传完固定的位数再来一个反馈这样就不会乱了。
可是我今天看到一些单线的端口,比如光纤也是他只有一根玻璃管子,存储芯片那也是只有两根正负数据线。这是所谓的串行吧?

那么问题来了,如果其中一端的硬件反应速度连协议都接收错误那是怎么解决这个问题的?也就是说一端的频率太高另一端的硬件都反应不过来造成数据
接收错误。
这个问题现实的处理方式是什么?就是现代现实存在的设备的处理方式,不是个人自己构想的方式。



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2022-10-15 20:03 | 只看该作者
接收错误,换一台接收正确的设备就可以解决了。这就是现代现实存在的设备的处理方式。
回复

使用道具 举报

板凳
ID:230742 发表于 2022-10-15 22:02 | 只看该作者
简单的如用串口传输的,都要求速率要一致。 比如9600,115200等。这个就是协议。协议对了。数据就通了。然后就出现了各做协议,232,485,CAN,等等。不用考虑系统的速度,电脑的CPU速度超快,但是机械硬盘速度就块不起来了。一样运行的很好。一台最新的I7电脑和老的赛扬XP系统通过一根网线照样可以通讯。速度不是问题,问题是协议。
硬件反应不过来是程序软件有问题。没有往容错性能方面多想一点。大家都遵守协议,怎么会传输失败呢。如果有1方不管下级,随意发送数据,协议还有什么用?
回复

使用道具 举报

地板
ID:123289 发表于 2022-10-17 15:49 | 只看该作者
假设A的速率是每秒处理1位,B的速度是10秒处理一位。现在收发1010。
1、A向B发出1,就去其它地方干别的活了,9秒后回来,再发0,……,9秒后回来,再发1……,这样就OK了。
B负责收接可以了。
2、B向A发出1,接着发010。B是这样收的:
收到1通知一下CPU,取下1,就去其它地方干别的活了;0又来了,通知一下CPU,取下0,又去其它地方干别的活了;1又来了,通知……。
这样是不会因时序出错的。

回复

使用道具 举报

5#
ID:1048181 发表于 2022-10-18 17:45 | 只看该作者
解决的方法分很多种,主要看数据的重要性。
针对一些非常重要的数据,当接收数据校验后,发现出错,会重新发送数据
针对一下不太重要的数据,可以选择丢掉这一部分数据,然后直接接收后续的数据

在实际的通信中,会先规定好控制信号,当信息来到的时候会提醒接收数据,接收数据后可以回复数据发送方一个信号。如果没有接收到回复信号,发送方可以等待接收端接收

在另外一种情况下,可以使用fifo来平衡不同速率下的通信问题
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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