[STM32F1] 485数据收发异常(最高位置)

[复制链接]
5430|45
 楼主| hj1991 发表于 2016-2-18 11:25 | 显示全部楼层 |阅读模式
目前在调试485,在之前测试的时候,使用的DEMO板(485信号没有使用隔离)没有一点问题,现在测试换成新板(加了485光耦隔离)就会偶尔出现数据异常,最高位置1.但是我去掉光耦后数据就完全收不到了。新板和DEMO板程序是一样的,接口定义也是没有变化,DEMO正常,说明代码没有问题,硬件上影响的,对比两个板子,差异就是一个隔离一个没有隔离。
小弟头痛许久了没有找到解决方法,求指教。
wyde518 发表于 2016-2-18 11:26 | 显示全部楼层
上电路图
 楼主| hj1991 发表于 2016-2-18 11:28 | 显示全部楼层
附上电路图

新板

新板

DEMO板

DEMO板
 楼主| hj1991 发表于 2016-2-18 11:29 | 显示全部楼层

电路图已上,
yklstudent 发表于 2016-2-18 11:35 | 显示全部楼层
加光耦对速度有影响,IO控制485接收/发送等也要考虑
 楼主| hj1991 发表于 2016-2-18 11:39 | 显示全部楼层
yklstudent 发表于 2016-2-18 11:35
加光耦对速度有影响,IO控制485接收/发送等也要考虑

现在是新板与DEMO板对比,就多了光耦,代码可以确定没有问题。经常无规律的出现数据异常(最高位置1)
zwwoshi 发表于 2016-2-18 11:46 | 显示全部楼层

波特率是多少    速度太快   有可能信号失真
 楼主| hj1991 发表于 2016-2-18 11:51 | 显示全部楼层
zwwoshi 发表于 2016-2-18 11:46
波特率是多少    速度太快   有可能信号失真

波特率全是9600,其他的485设备一点问题都没有,这个现象目前只出在现有设备的其中一个上面
songchenping 发表于 2016-2-18 12:51 | 显示全部楼层
貌似你的新图有问题啊。看得不是太明白啊。你的隔离RS485芯片端的隔离电源是如何来的。
songchenping 发表于 2016-2-18 12:51 | 显示全部楼层
还有选择光耦的时候要注意参数要求啊
 楼主| hj1991 发表于 2016-2-18 14:37 | 显示全部楼层
songchenping 发表于 2016-2-18 12:51
貌似你的新图有问题啊。看得不是太明白啊。你的隔离RS485芯片端的隔离电源是如何来的。 ...

用的是金升阳的隔离电源
songchenping 发表于 2016-2-18 14:41 | 显示全部楼层
hj1991 发表于 2016-2-18 14:37
用的是金升阳的隔离电源

原理图有问题,TXD和RXD在空闲的是否必须是高电平啊。你的是低电平,所有起始位就判断不到啊
 楼主| hj1991 发表于 2016-2-18 14:44 | 显示全部楼层
songchenping 发表于 2016-2-18 12:51
还有选择光耦的时候要注意参数要求啊

这个光耦不知道怎么选择的,版主可以稍作解释吗
songchenping 发表于 2016-2-18 14:50 | 显示全部楼层
hj1991 发表于 2016-2-18 14:44
这个光耦不知道怎么选择的,版主可以稍作解释吗

主要还是要看光耦的速度和电平。
wyde518 发表于 2016-2-18 16:50 | 显示全部楼层
先说一点, 不可以使用光欧发射极作为输出,应该用集电极上拉作为输出,用发射极输出可能不可靠
 楼主| hj1991 发表于 2016-2-18 17:58 | 显示全部楼层
wyde518 发表于 2016-2-18 16:50
先说一点, 不可以使用光欧发射极作为输出,应该用集电极上拉作为输出,用发射极输出可能不可靠 ...

额,现在好像就是用的发射极输出。。。。。。我试试看
 楼主| hj1991 发表于 2016-2-18 18:01 | 显示全部楼层
songchenping 发表于 2016-2-18 14:41
原理图有问题,TXD和RXD在空闲的是否必须是高电平啊。你的是低电平,所有起始位就判断不到啊 ...

光耦输出端空闲时为高,也就是用光耦的集电极输出,为高电平的原因是什么呢?
zj763 发表于 2016-2-18 18:07 | 显示全部楼层
你用示波器自己看一下发送接收的波形,就应该找到问题了
 楼主| hj1991 发表于 2016-2-18 18:30 | 显示全部楼层
songchenping 发表于 2016-2-18 14:41
原理图有问题,TXD和RXD在空闲的是否必须是高电平啊。你的是低电平,所有起始位就判断不到啊 ...

如果不这样收到的数据就会异常吗?
玄德 发表于 2016-2-18 21:22 | 显示全部楼层

光耦外围器件参数差。

1K电阻太小,不可靠。
IO驱动端,能输出多大电流?光耦的LED要求电流比较大。


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

本版积分规则

6

主题

59

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部