打印
[STM32F1]

求教485通讯时间转换问题

[复制链接]
2607|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
taijing33|  楼主 | 2016-5-28 11:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是通过电脑和单片机之间进行485通讯。单片机接收到数据后开启485发送延时1ms后单片机川口路发数据。,发完数据后,延时1ms再把485芯片设置成接受。

我现在电脑端经测试最短不能少于20ms给单片机发一次数据,单片机可以发送正确数据给电脑。

我想问的是有没有办法缩短这个时间。因为我有100个分机。每个20ms的话就是2秒轮训一次。时间有点长。
沙发
yklstudent| | 2016-5-28 11:57 | 只看该作者
想速度快提高波特率和数据处理速度,还不行就换通信方式吧

使用特权

评论回复
板凳
taijing33|  楼主 | 2016-5-28 12:10 | 只看该作者
yklstudent 发表于 2016-5-28 11:57
想速度快提高波特率和数据处理速度,还不行就换通信方式吧

时间主要浪费在485收发切换上了。

像节省时间必须换can总线了。因为我的分机距离1000多米呢。

使用特权

评论回复
地板
yklstudent| | 2016-5-28 12:12 | 只看该作者
taijing33 发表于 2016-5-28 12:10
时间主要浪费在485收发切换上了。

像节省时间必须换can总线了。因为我的分机距离1000多米呢。 ...

用网络啊

使用特权

评论回复
5
MOn51| | 2016-5-28 12:29 | 只看该作者
本帖最后由 MOn51 于 2016-5-28 12:33 编辑

发送完后,延时1ms再把485芯片设置成接收,这个时间太长了。  不需要1毫秒,10uS就可以了,但必须要发送完毕。开启485发送延时1ms。。。也一样!时间长了!早期的89C51时,都是2-3个NOP。RS485的片子一般端口的频率都是30MHZ。即便是1MHZ,也只要1us。100个丛机挂在一条总线上也不合理!要分成多条,每一条10-20台。电脑上用一台8~16串口的服务器。以太网接入电脑。

使用特权

评论回复
6
泰山特曲123| | 2016-5-29 07:25 | 只看该作者
你的切换方法有问题!应该在发送中断完成后,立即切换为接受

使用特权

评论回复
7
acguy| | 2016-5-29 09:31 | 只看该作者
485芯片的datasheet都会给出ac参数,延时参照该参数,一般低速485片子数百纳秒到数微秒。

使用特权

评论回复
8
robter| | 2016-5-29 09:55 | 只看该作者
还没有好好想过这个问题

使用特权

评论回复
9
yhn1973| | 2016-5-29 12:24 | 只看该作者
电脑端程序编的有问题

使用特权

评论回复
10
taijing33|  楼主 | 2016-5-30 15:18 | 只看该作者
本帖最后由 taijing33 于 2016-5-30 15:24 编辑
MOn51 发表于 2016-5-28 12:29
发送完后,延时1ms再把485芯片设置成接收,这个时间太长了。  不需要1毫秒,10uS就可以了,但必须要发送完 ...

按说我现在就算单片机首发延迟一共2ms。但是电脑给单片机发送数据大于10ms应该足够485反应了的,
但是现在的问题是一旦电脑发送速度快于20ms,接收回来的数据就不正常。还有就是我是买的带光耦隔离的usb转485模块。是不是光耦降低了传输速度?

使用特权

评论回复
11
Garen2| | 2016-5-30 20:46 | 只看该作者
RS485的片子一般端口的频率都是30MHZ

使用特权

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

本版积分规则

163

主题

365

帖子

3

粉丝