OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4174|回复: 5

如图的设计架构,通讯均采用MODBUSRTU,怎样保证通讯的即时性???

[复制链接]

145

主题

445

帖子

0

精华

高级会员

Rank: 4

积分
823
金钱
823
注册时间
2014-1-15
在线时间
350 小时
发表于 2014-10-27 15:02:05 | 显示全部楼层 |阅读模式
5金钱
主机1和2采用轮询的方式查询A的各种状态,并发送各种指令,A再根据不同的状态向B发送不同的指令。
两两间均是采用不同的串口连接(modbusRTU协议)。
对于A来说使用了串口1--3,在A的程序中我采用循环查询三个串口的接收来处理的,程序改编自原子。
感觉实时性比较差。如果继续优化的话能不能达到这种实时性要求?或者必须使用DMA?OR还有其他办法???

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

36

主题

1263

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1612
金钱
1612
注册时间
2012-6-15
在线时间
39 小时
发表于 2014-10-27 15:38:22 | 显示全部楼层
你的实时的要求是多少?
比如 数据速率多少? 多长时间一帧?
回复

使用道具 举报

1

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2014-10-11
在线时间
4 小时
发表于 2014-10-29 17:14:21 | 显示全部楼层
不知道你这个怎么实现协议栈的,多主机的话,如果stm32A用到操作系统的话,估计会用到信号量来防止2主机同时访问数据,必然会有冲突的。而且多主机同时访问时,中断同时来的话,必然会丢帧,严重的话,二主机的数据不停在中断中来回切换,导致收不到数据。用DMA的话也避不开这点啊,总线的使用权的问题。你这种连接有点不靠谱!(个人想法)
回复

使用道具 举报

145

主题

445

帖子

0

精华

高级会员

Rank: 4

积分
823
金钱
823
注册时间
2014-1-15
在线时间
350 小时
 楼主| 发表于 2014-10-30 08:48:03 | 显示全部楼层
回复【2楼】aleda303:
---------------------------------
实时指效果人眼睛感觉不到或不太明显。
主机1和2是组态软件(PC)和台达触摸屏,他们采用轮询的方式发送指令。
回复

使用道具 举报

1

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2014-10-11
在线时间
4 小时
发表于 2014-10-31 12:37:53 | 显示全部楼层
回复【4楼】Di诺:
---------------------------------
modbus的RTU模式的物理接口肯定是485或者232,那么波特率可以设置啊,你设置高点,实时性就上去了,跟你用中断方式或者DMA方式没有关系的
回复

使用道具 举报

1

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2015-12-15
在线时间
28 小时
发表于 2016-1-12 14:44:37 | 显示全部楼层
楼主,这种方案是否可行?    目前我也在做类似的方案。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 18:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表