461|13

10

帖子

0

资源

一粒金砂(中级)

求教:华大芯片HC32F460使用usart转RS485存在的误码率怎么处理呢? [复制链接]

 

image.png

图示为逻辑分析仪采集485芯片前的信号,CS信号没有包裹整段TX帧。设置CS上下拉是在发送前后设置的。


回复

5936

帖子

0

资源

五彩晶圆(初级)

不一定是华大单片机本身问题

比如考虑好程序的帧纠错

在485通讯中发送速度快了容易丢包,接收就更容易丢包 发送里面怎么设置重发机制,建议在发送使能进行有效后的延时

点评

使用115200,也不是很快吧,485丢包,在哪个地方丢呢?看波形,在485通讯器前都是正常的,过了485通讯器,经过usb转到电脑端,这段不太好查。  详情 回复 发表于 2021-7-14 09:22

回复

10

帖子

0

资源

一粒金砂(中级)

Jacktang 发表于 2021-7-13 20:26 不一定是华大单片机本身问题 比如考虑好程序的帧纠错 在485通讯中发送速度快了容易丢包,接收就更容 ...

你好,谢谢回复,上面这个图的确是配置问题,控制485的cs引脚前,需要等待发送完成标志位。最开始直接用例程测试导致出的问题。


回复

10

帖子

0

资源

一粒金砂(中级)

本帖最后由 fengzc 于 2021-7-14 09:09 编辑

上面那个问题解决后,测试用mcu发送01,上位机接收,发现存在81的误码,分析仪看波形都挺正常的,不知道这个有什么原因么?
 


 

image.png
image.png
image.png

回复

10

帖子

0

资源

一粒金砂(中级)

Jacktang 发表于 2021-7-13 20:26 不一定是华大单片机本身问题 比如考虑好程序的帧纠错 在485通讯中发送速度快了容易丢包,接收就更容 ...

使用115200,也不是很快吧,485丢包,在哪个地方丢呢?看波形,在485通讯器前都是正常的,过了485通讯器,经过usb转到电脑端,这段不太好查。

点评

直接测量单片机输出,和经过单片机处的485芯片后的输出都是正常的吗?  详情 回复 发表于 2021-7-14 09:30

回复

8517

帖子

20

资源

版主

fengzc 发表于 2021-7-14 09:22 使用115200,也不是很快吧,485丢包,在哪个地方丢呢?看波形,在485通讯器前都是正常的,过了485通讯器 ...

直接测量单片机输出,和经过单片机处的485芯片后的输出都是正常的吗?

点评

是的,485芯片前后(SP3485的1、4、6、7)看波形都是正常的。115200,每隔30ms发送一次01,调试助手大部分是01,偶尔冒出81。。。  详情 回复 发表于 2021-7-14 09:50

回复

10

帖子

0

资源

一粒金砂(中级)

littleshrimp 发表于 2021-7-14 09:30 直接测量单片机输出,和经过单片机处的485芯片后的输出都是正常的吗?

是的,485芯片前后(SP3485的1、4、6、7)看波形都是正常的。115200,每隔30ms发送一次01,调试助手大部分是01,偶尔冒出81。。。


回复

8517

帖子

20

资源

版主

从这方面看不像是单片机这部分的问题,这种情况有可能是波特率不匹配 或者你的USB 485收发器问题。
你试试将两个都设置成9600看看

点评

谢谢回复啦  详情 回复 发表于 2021-7-14 10:24
是的,我这边换了一个485转换器,跑了几分钟,是正常的​​​​​​​,刚做了个测试板,让它俩跑一天看看,有没有问题。  详情 回复 发表于 2021-7-14 10:23

回复

10

帖子

0

资源

一粒金砂(中级)

littleshrimp 发表于 2021-7-14 10:02 从这方面看不像是单片机这部分的问题,这种情况有可能是波特率不匹配 或者你的USB 485收发器问题。你试试将 ...

是的,我这边换了一个485转换器,跑了几分钟,是正常的​​​​​​​,刚做了个测试板,让它俩跑一天看看,有没有问题。

点评

和有问题的对比一下 波特率匹配要多试试查找一下,或者硬件连接地方也查一下  详情 回复 发表于 2021-7-14 11:28

回复

10

帖子

0

资源

一粒金砂(中级)

littleshrimp 发表于 2021-7-14 10:02 从这方面看不像是单片机这部分的问题,这种情况有可能是波特率不匹配 或者你的USB 485收发器问题。你试试将 ...

谢谢回复啦


回复

5936

帖子

0

资源

五彩晶圆(初级)

fengzc 发表于 2021-7-14 10:23 是的,我这边换了一个485转换器,跑了几分钟,是正常的​​​​​​̴ ...

和有问题的对比一下

波特率匹配要多试试查找一下,或者硬件连接地方也查一下

点评

嗯嗯,之前也考虑到了。后来从mcu到485端子排上的波形信号都ok了,就换个485通讯器,结果耐久到现在,大概4小时都通讯正常了,不得不确定是这个通讯转换器出问题了  详情 回复 发表于 2021-7-14 14:39

回复

1万

帖子

143

资源

版主

115200bps对485算不算快,得看总线距离和路况,就多数现场条件而言,着实不算慢了,对总线线路规划、信号畸变率、波特率精度和抗干扰性等都有不低的要求。误码率高就从前述几个方面去查找原因,可以先降低波特率测试,逐步提高,直至速率和误码率满足要求。

点评

好的,谢谢,问题已经解决了。在代码层面,华大提供的例程使用“发送寄存器为空”,然后就切换cs线,但实际应该等待“发送完成”,再切换cs线,这里没注意到。硬件层面,由于是测试环境,只有1~  详情 回复 发表于 2021-7-14 14:45
个人签名上传了一些书籍资料,也许有你想要的:http://download.eeworld.com.cn/user/chunyang

回复

10

帖子

0

资源

一粒金砂(中级)

Jacktang 发表于 2021-7-14 11:28 和有问题的对比一下 波特率匹配要多试试查找一下,或者硬件连接地方也查一下

嗯嗯,之前也考虑到了。后来从mcu到485端子排上的波形信号都ok了,就换个485通讯器,结果耐久到现在,大概4小时都通讯正常了,不得不确定是这个通讯转换器出问题了


回复

10

帖子

0

资源

一粒金砂(中级)

chunyang 发表于 2021-7-14 14:18 115200bps对485算不算快,得看总线距离和路况,就多数现场条件而言,着实不算慢了,对总线线路规划、信号畸 ...

好的,谢谢,问题已经解决了。在代码层面,华大提供的例程使用“发送寄存器为空”,然后就切换cs线,但实际应该等待“发送完成”,再切换cs线,这里没注意到。硬件层面,由于是测试环境,只有1~2m距离,波形问题解决后存在的误码率,也通过降低波特率测试过,仍然存在,后切换485通讯器,耐久到现在都正常了。只能说测试环境下,测试工具也需要保养啊,不然也是个坑。


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

最新文章 更多>>
    关闭
    站长推荐上一条 1/9 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表