微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 利用MODBUS提高多CPU协同开发效率

利用MODBUS提高多CPU协同开发效率

时间:12-06 来源:互联网 点击:

BUS是基于RS485的长距离通信,可以不考虑距离对通信波特率的影响,并且由于采用主从式通信模式,不会出现线路堵塞现象。因此,仅从通信效率来看,只要不超过模块所使用芯片对最高波特率的限制,则设定的波特率越高,信息交互越快,通信效率也越高。但是,对于实时多任务系统,必须注意各任务的协调。MODBUS通信协议中只对各种通信报文格式作了规定,对通信波特率和奇偶校验等不作硬性规定。当一帧报文的长度较长,而波特率又很高,会导致CPU忙于处理通信而可能丢失其它实时性任务,如实时采样等。因此,选择通信波特率时必须注意与其它任务相协调,而不是越高越好。在实际应用中,将波将率设置到19200bps,系统调调运作。由于设定通信双方波特率完全一致,可以使接收端对每一个数据位的采样都发生在位周期的中点,实现可靠通信。另外,在字符传送时不使用奇偶校验位,以此相对提高了有效字节传递的速率。

3.5 合理的调试方法

在开发初期,使用仿真器等工具只能对单一CPU模块进行实时监测,而无法同时监测串行通信双方,难以确定问题所在,使调试效率受到很大影响。因此先将各CPU模块分别通过RS485/RS232数据转换模块与微机进行通信测试,成功后再进行模块间联调,大大提高了联调的效率。在调试各模块与微机通信的过程中,微机使用MODBUS调试软件,模仿主方的通信过程,主动向从方(各CPU模块)索要信息。整个接收、发送过程都是透明、清晰的,使得模块中存在的绝大多数问题都能在与微机通信的过程发现并及时解决。CPU模块间联调时,可以利用总线监控软件,观察双方发送的数据。当遇到通信问题的时候,就能比较容易地确定是哪一个模块发送数据不正确,从而确定问题所在。采用这样的调试方法,大大增强了不同开发人员、不同CPU之间的协调性,提高了装置研发的效率和进度。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top