打印
[STM32F1]

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

[复制链接]
3939|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 | 只看该作者
附上电路图

12.png (171.2 KB )

新板

新板

DEMO.png (138.91 KB )

DEMO板

DEMO板

使用特权

评论回复
地板
hj1991|  楼主 | 2016-2-18 11:29 | 只看该作者

电路图已上,

使用特权

评论回复
5
yklstudent| | 2016-2-18 11:35 | 只看该作者
加光耦对速度有影响,IO控制485接收/发送等也要考虑

使用特权

评论回复
6
hj1991|  楼主 | 2016-2-18 11:39 | 只看该作者
yklstudent 发表于 2016-2-18 11:35
加光耦对速度有影响,IO控制485接收/发送等也要考虑

现在是新板与DEMO板对比,就多了光耦,代码可以确定没有问题。经常无规律的出现数据异常(最高位置1)

使用特权

评论回复
7
zwwoshi| | 2016-2-18 11:46 | 只看该作者

波特率是多少    速度太快   有可能信号失真

使用特权

评论回复
8
hj1991|  楼主 | 2016-2-18 11:51 | 只看该作者
zwwoshi 发表于 2016-2-18 11:46
波特率是多少    速度太快   有可能信号失真

波特率全是9600,其他的485设备一点问题都没有,这个现象目前只出在现有设备的其中一个上面

使用特权

评论回复
9
songchenping| | 2016-2-18 12:51 | 只看该作者
貌似你的新图有问题啊。看得不是太明白啊。你的隔离RS485芯片端的隔离电源是如何来的。

使用特权

评论回复
10
songchenping| | 2016-2-18 12:51 | 只看该作者
还有选择光耦的时候要注意参数要求啊

使用特权

评论回复
11
hj1991|  楼主 | 2016-2-18 14:37 | 只看该作者
songchenping 发表于 2016-2-18 12:51
貌似你的新图有问题啊。看得不是太明白啊。你的隔离RS485芯片端的隔离电源是如何来的。 ...

用的是金升阳的隔离电源

使用特权

评论回复
12
songchenping| | 2016-2-18 14:41 | 只看该作者
hj1991 发表于 2016-2-18 14:37
用的是金升阳的隔离电源

原理图有问题,TXD和RXD在空闲的是否必须是高电平啊。你的是低电平,所有起始位就判断不到啊

使用特权

评论回复
13
hj1991|  楼主 | 2016-2-18 14:44 | 只看该作者
songchenping 发表于 2016-2-18 12:51
还有选择光耦的时候要注意参数要求啊

这个光耦不知道怎么选择的,版主可以稍作解释吗

使用特权

评论回复
14
songchenping| | 2016-2-18 14:50 | 只看该作者
hj1991 发表于 2016-2-18 14:44
这个光耦不知道怎么选择的,版主可以稍作解释吗

主要还是要看光耦的速度和电平。

使用特权

评论回复
15
wyde518| | 2016-2-18 16:50 | 只看该作者
先说一点, 不可以使用光欧发射极作为输出,应该用集电极上拉作为输出,用发射极输出可能不可靠

使用特权

评论回复
16
hj1991|  楼主 | 2016-2-18 17:58 | 只看该作者
wyde518 发表于 2016-2-18 16:50
先说一点, 不可以使用光欧发射极作为输出,应该用集电极上拉作为输出,用发射极输出可能不可靠 ...

额,现在好像就是用的发射极输出。。。。。。我试试看

使用特权

评论回复
17
hj1991|  楼主 | 2016-2-18 18:01 | 只看该作者
songchenping 发表于 2016-2-18 14:41
原理图有问题,TXD和RXD在空闲的是否必须是高电平啊。你的是低电平,所有起始位就判断不到啊 ...

光耦输出端空闲时为高,也就是用光耦的集电极输出,为高电平的原因是什么呢?

使用特权

评论回复
18
zj763| | 2016-2-18 18:07 | 只看该作者
你用示波器自己看一下发送接收的波形,就应该找到问题了

使用特权

评论回复
19
hj1991|  楼主 | 2016-2-18 18:30 | 只看该作者
songchenping 发表于 2016-2-18 14:41
原理图有问题,TXD和RXD在空闲的是否必须是高电平啊。你的是低电平,所有起始位就判断不到啊 ...

如果不这样收到的数据就会异常吗?

使用特权

评论回复
20
玄德| | 2016-2-18 21:22 | 只看该作者

光耦外围器件参数差。

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


使用特权

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

本版积分规则

6

主题

59

帖子

1

粉丝