打印

请教大家一个应用于hdlc协议的485通信问题

[复制链接]
1949|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dhl1983|  楼主 | 2010-3-21 15:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题是这样的,在系统中如果两个子板10号(地址1010)和7号(地址0111)同时向主机发送数据时,有时候主机上接收到数据显示发送数据的子板地址为E(1111),也就是产生误码,但换了另一个厂家的485芯片后就没有这样的问题,请大家帮助分析下误码产生的原因,两个厂家的datasheet几乎是一样的。

相关帖子

沙发
chunyang| | 2010-3-21 15:44 | 只看该作者
不同485芯片的数据输出沿的上升斜率不同,于是谐波分量不同,而这和数据链路的噪声相关,高速系统对信号的质量非常敏感,所以有此现象,很多485接口片为此优化设计了输出电路结构,注意选择合适的型号就是。另外注意总线线材、接插件等的选择及进行适当的接口外围电路设计对提高总线接口器件的适应性也有好处。

使用特权

评论回复
板凳
dhl1983|  楼主 | 2010-3-21 16:25 | 只看该作者
多谢版主的解答!
作了这样一个实验,一个子卡一直发送高电平,另一个子卡发送方波,使用产生误码的485芯片的主机接收到的是带有下冲毛刺的高电平,使用另一个厂家485芯片的主机接收到的是占空比变化的方波。
造成这个现象的原因是因为两个芯片的上升速率不同吗?好像产生误码的那个485芯片有斜率控制,另一个没有,如果是因为这个原因产生的问题,在应用中应该怎样处理呢?

使用特权

评论回复
地板
chunyang| | 2010-3-21 18:14 | 只看该作者
如果同时发送会有电平竞争问题,这时要看谁的输出能力更强,反而不是上升斜率的问题了,但这样的设计是绝对不可以的,可靠性是大问题。

使用特权

评论回复
5
dhl1983|  楼主 | 2010-3-22 14:53 | 只看该作者
同时发送肯定不是经常地,但协议里有线路检测机制,当从机检测到线路冲突时会停止发送。现在的问题是两个不同厂商的芯片放上去得到的结果却不一样。
有一家厂家的有失效保护,接收部分在电压大于-0.01V时输出为高。
另一家没有失效保护,接收部分在电压大于+0.2V时为高。
现在有误码的是有失效保护的那家的片子。

使用特权

评论回复
6
歪 歪| | 2010-3-22 16:39 | 只看该作者
用下面工具配合调试

下载地址:
http://download.cnet.com/ComTrac ... 6892.html?tag=mncol

感觉好别忘了给个review(评论),谢谢!

使用特权

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

本版积分规则

3

主题

9

帖子

0

粉丝