下载此文档

一种基于STM32的Modbus―RS485通信方法.doc


文档分类:论文 | 页数:约10页 举报非法文档有奖
1/10
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/10 下载此文档
文档列表 文档介绍
一种基于STM32的Modbus―RS485通信方法
文章编号: 2095-2163(2018)03-0050-05中图分类号: 文献标志码: A
摘要: 关键词: (School puter Science and Technology, Donghua University, Shanghai 201620, China)
Abstract: Based on STM32 chip, a Modbus-munication method is proposed. The method uses the object-oriented technology to manage Modbus calls and serial ports is universal, which can be easily portable to other systems with the same characteristics. After that, the paper elaborates using a state machine to manage bined with logs, so that work has self-diagnosis and adaptive function. bination with the characteristics of STM32 chip and Modbus protocol, a DMA receiving data method is proposed which is independent of the mand length. This method can be used as a reference scheme to solve the munication efficiency and slow data transmission of Modbus-RS485.
Key words:
引言
Modbus-RS485是一?N在工业现场广泛使用的布网方法\[1\]。RS485总线上最多支持255个从站,然而在实际应用场景中从站的数量远远大于这个数量。可采用扩展
Modbus地址域,或者数据域中添入物理地址来增加从站的数量\[2\]。
常见的Modbus通信方法有2种。一种是主站根据要请求的数据信息,封装相应的请求帧,并生成对应的定时器,通信程序通过定时器来执行Modbus通话\[3\]。这种方法存在明显的缺点,如果定时器时间设置过短容易发生数据碰撞,过长则导致通信效率低。另外一种是主站一次只允许发起一个通话,当从站回复数据或者从站在规定时间内不回复数据,主站才可以发起下一次通话\[4\],这种方法和第一种没有本质上的区别。
STM32芯片常见的数据接收方法有串口中断\[5\]和DMA中断\[6-7\]。使用串口中断接收数据存在2个缺点。其一是接收效率太低,其二是通信双方要设置既定的结束符。使用DMA中断能够提高数据接收效率,前提条件是接收的长度固定。然而挂载在同一根RS485总线上的从站回复的数据帧长度是不固定的,此时无法使用DMA接收中断。
本文采用面向对象的思想将Modbus通话封装成任务,任务中增加了通话对应的端口地址,使用这种方式使得主站可

一种基于STM32的Modbus―RS485通信方法 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数10
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小泥巴
  • 文件大小18 KB
  • 时间2018-11-01