[讨论] 通信接口电路在接收数据时产生误码

yushengjiexy   2015-1-7 18:38 楼主
接收电路如下 QQ截图20150107182312.png 在测试时发现,MCU_RX端接收到一长串0时,刚开始没有误码,但在接收到的0快结束的时候,出现0被误码成1的情况。调试助手显示如下图: QQ截图20150107183825.png 后面几个接收到的以6820开头的,又没有误码,不知道为什么。 本帖最后由 yushengjiexy 于 2015-1-8 09:14 编辑

回复评论 (6)

昨天测试了一晚上,时好时坏的,不知道为什么
点赞  2015-1-8 09:15
首先检查双方时钟是否准确。
点赞  2015-1-8 12:34
另外,这样的接收电路相当奇怪,光耦之前用到了三组不同电压的电源,为何不使用专用的串行通讯芯片?
串行的波特率并不高,但信号类型未说明。如果是在PC机上使用调试助手,需要注意PC机串口是双极性,负12V为逻辑“1”。
如果通讯协议由你自己定,考虑将停止位改成1.5位或两位试试看。
点赞  2015-1-8 12:45
引用: maychang 发表于 2015-1-8 12:34
首先检查双方时钟是否准确。



用市场上销售的MBUS主机模块可以正常通讯,所以时钟应该是准确的。
点赞  2015-1-8 14:53
引用: maychang 发表于 2015-1-8 12:45
另外,这样的接收电路相当奇怪,光耦之前用到了三组不同电压的电源,为何不使用专用的串行通讯芯片?
串行的波特率并不高,但信号类型未说明。如果是在PC机上使用调试助手,需要注意PC机串口是双极性,负12V为逻辑“1”。
如果通讯协议由你自己定,考虑将停止位改成1.5位或两位试试看。

MBUS主机的设计还没有串行通讯芯片总线上串了一个电流采样电阻,从机给主机发送电流信号,采样电阻转化成+B2电压信号。
我用的是PC上的调试助手,用USB转TTL线连接PC和我的MBUS主机端。
通讯协议不是我自己定的



点赞  2015-1-8 14:59
点赞  2015-1-9 20:07
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复