[发明专利]用DSP实现MODBUS异步串行通信协议的方法有效
申请号: | 201310675197.4 | 申请日: | 2013-12-11 |
公开(公告)号: | CN103645714A | 公开(公告)日: | 2014-03-19 |
发明(设计)人: | 石方舟;闵泽生;陈建国;蒋驰雷;王敏;张甜甜;熊向杰;傅炜娜 | 申请(专利权)人: | 东方电气集团东方汽轮机有限公司;四川东方电气自动控制工程有限公司 |
主分类号: | G05B19/418 | 分类号: | G05B19/418 |
代理公司: | 成都蓉信三星专利事务所(普通合伙) 51106 | 代理人: | 刘克勤;段雪茵 |
地址: | 618000 四川省德阳*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | dsp 实现 modbus 异步 串行 通信协议 方法 | ||
技术领域
本发明涉及数字信号处理芯片(DSP)的应用开发,该芯片广泛应用于自动控制领域、通信领域等。本方案主要针对自动控制领域的现场通信需求,采用广泛接受的MODBUS通信协议,以实现不同智能设备之间的异步串行通信。
背景技术
在工业控制领域,应用了众多微处理器,如DSP、MCU、ARM、FPGA。DSP以其强大的数字信号运算能力在电力电子领域,比如风电变流器,太阳能逆变器等产品上得到了广泛应用。它的主要特点有:采用了哈佛结构,可以同时访问数据空间和程序空间;在一个指令周期可以完成一次乘法和一次加法,FFT运算效率高;具有快速的中断处理和硬件I/O支持等。
MODBUS协议是MODICON公司1979年为自己的PLC产品而推出的一个开放式现场总线通信协议,是应用于电子控制器上的一种通用语言,通过此协议,可实现控制器相互之间、控制器其它设备之间进行串行通信,目前已成为一种工业领域被广为应用的真正开放、标准的网络通信协议。
很多电力电子产品例如太阳能逆变器等变流器类产品,都需要将运行状态、参数等通过某种方法传输给其他设备,比如PC以及触摸屏,通过观测这些参数,达到调试和满足业主界面操作的目的。而且,相关产品标准正在不断完善,比如《国家电网公司光伏电站接入电网技术规定》里提到故障录波功能需要记录20个通道故障前后1分钟的波形,以对故障波形进行分析。因此自然需要通过某种方式将波形数据传输至PC。
随着DSP芯片工艺的发展和产业化进程的加快,其成本不断降低,将广泛应用于其下游行业例如新能源领域,新能源领域本身也是国家未来重点发展方向,与其他设备之间进行通信更是重要的最基本的需求,因此,对DSP芯片进行开发,使其能够实现MODBUS协议,具有广阔的应用前景。
发明内容
本发明提供一种在DSP上实现MODBUS异步串行通信协议的方案,当以DSP为微处理器的产品需要建立符合MODBUS异步串行通信协议的现场通信组网,采用此方案即可实现与其他控制器、PC、以及触摸屏的通信。
本发明的技术方案如下:
一种用DSP实现MODBUS异步串行通信协议的方法,包括:
-通信数据收发方法
报文采用RTU帧格式,8个数据位,2个停止位,无奇偶校验位;波特率设置为115200bps;DSP接收报文采用SCI中断方式,使能FIFO及其中断函数,中断等级设置为1,即每一个数据触发接收中断函数,保证接收数据可靠;发送报文采用查询方式,在CPU有空闲时完成发送;由于MODBUS协议规定报文起始标志为t3.5,报文传输出错标志位为t1.5;CPU定时器0用于主程序运行,采用中断优先级较低的CPU定时器1通过其定时中断函数完成计时功能;
-报文解析方法
设计报文解析函数,对标准MODBUS协议的各种不同功能码的报文进行解析,解析函数放在主循环程序中,利用主程序空闲时间进行解析;每个正常报文解析之后,发送相应的响应报文,响应报文放入发送缓冲区,等待系统空闲时发送回主站;每个报文最后以2个字节的CRC结束,该CRC通过对整个报文进行循环冗长检测方法得出,报文接收方以此作为判据来判断接收报文是否正确;所述CRC码先传输低字节,再传输高字节。
所述通信数据收发方法的步骤是:将整个串行通信功能划分为空闲态、接收态、控制等待态、接收结束态、发送态、发送结束态;当系统初始化后,串行功能处于空闲状态,此时可以接收也可以发送;在空闲态进入了接收数据中断程序,则标志着一个新的报文帧的开始,状态转换为接收态;在接收状态如果出现了t1.5超时状态,则进入控制等待态;在控制等待态进行CRC校验及子节点地址检测,如有误,则标记为帧错误,如正确,则继续等待;等待到出现t3.5超时事件,转换为接收结束态,此时如果帧正确,则进行帧解析步骤,如果出现帧错误,则抛弃;之后进入空闲态,一个完整的接收流程完成;在空闲态时,如果发送报文缓冲区达到了发送条件,并且此时系统处于空闲周期,则进入发送状态;发送采用查询方式,在控制周期空闲时间完成,发送完毕后,又进入空闲态,发送流程完成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东方电气集团东方汽轮机有限公司;四川东方电气自动控制工程有限公司,未经东方电气集团东方汽轮机有限公司;四川东方电气自动控制工程有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310675197.4/2.html,转载请声明来源钻瓜专利网。