一种基于单片机的Profibus-DP和Modbus集成化从站装置的制作方法

文档序号:24237905发布日期:2021-03-12 13:11阅读:96来源:国知局
一种基于单片机的Profibus-DP和Modbus集成化从站装置的制作方法
本发明涉及工业网络通信
技术领域
,尤其涉及一种基于单片机的profibus-dp和modbus集成化从站装置。
背景技术
:现在工业数据通讯中,经常会用到profibus-dp和modbus两种通讯协议,而这两种通讯协议都使用rs485总线传输数据,为了同时实现上述两种协议通讯,一般要设计两种通讯装置来分别对应两种通讯协议,增加了工程的复杂性。为解决设备通用性问题,有的通讯装置使用了spc3等专用芯片实现profibus-dp协议,如授权公告号为cn102710478b的中国专利,使用单片机程序实现modbus协议,通过硬件切换开关连接到rs-485接口芯片,实现两种通讯协议集成在一个rs-485端口的目的。但这种方式要使用大量的外围电路和昂贵的专用芯片,其结构复杂、成本高昂、通讯电路体积较大,从根本意义上,这种通讯装置还是将两种通讯装置简单的融合在一起,并未解决根本问题。技术实现要素:本发明为了解决以上问题,提供了一种基于单片机的profibus-dp和modbus集成化从站装置,其中profibus-dp和modbus通讯从站协议完全由单片机实现,简化了电路结构。为实现上述目的,本发明所采用的技术方案如下:一种基于单片机的profibus-dp和modbus集成化从站装置,包括:基于stm32f107单片机的协议处理与通讯接口单元以及rs-485接口单元;其中,基于stm32f107单片机的协议处理与通讯接口单元用于处理profibus-dp和modbus通讯协议,包括:stm32f107单片机,在所述stm32f107单片机中预先烧制有两个分别用于处理profibus-dp协议报文和modbus协议报文的子程序,stm32f107单片机通过选择调用不同的报文处理子程序以完成profibus-dp协议或modbus协议的通讯,通过外部数据接口电路完成与外部设备的通讯,读取通讯参数存储器的配置参数数据;外部数据接口电路,通过与单片机双向连接实现stm32f107单片机与外部设备的双向连接;通讯参数存储器,用于存储通讯配置参数数据;其中,rs-485接口单元,包括:rs-485驱动隔离电路,所述rs-485驱动隔离电路包括rs-485接口电路和rs-485通讯隔离电源电路,其内部与所述stm32f107单片机双向连接,外部与使用profibus-dp或modbus协议的rs-485现场总线双向连接,以实现所述stm32f107单片机到rs-485现场总线的数据双向通讯,同时,用于给rs-485现场总线侧电路供电,实现rs-485现场总线与主电路电气隔离。可选的,所述基于stm32f107单片机的协议处理与通讯接口单元还包括通讯及工作状态指示电路,所述通讯及工作状态指示电路与所述stm32f107单片机连接,显示profibus-dp和modbus集成化从站装置的工作状态,当本装置工作异常时,指示电路显示出异常信号,排除异常后,指示信号显示正常。可选的,所述通讯及工作状态指示电路包括指示灯e1、e2、e3以及e4,其中,e1连接所述stm32f107单片机的pb14管脚,其为工作状态指示灯,e2连接所述stm32f107单片机的pb15管脚,其为profibus-dp通讯指示灯,e3连接所述stm32f107单片机的pa11管脚,其为modbus通讯指示灯,e4连接所述stm32f107单片机的pa12管脚,其为故障指示灯。可选的,所述rs-485接口电路包括数字隔离接口芯片adm2486,其中,adm2486芯片的re管脚和de管脚均与所述stm32f107单片机的通讯方向控制io口pc12管脚连接,adm2486芯片的rxd管脚以及txd管脚分别与所述stm32f107单片机的pc11管脚和pc10管脚连接,以实现adm2486芯片与所述stm32f107单片机的双向连接,adm2486芯片的输入/输出同相端a管脚以及输入/输出反相端b管脚连接到rs-485现场总线,以实现所述stm32f107单片机到rs-485现场总线的数据双向通讯。可选的,所述rs-485通讯隔离电源电路使用b0305xt电源模块,向其输入一个3.3v电压,其输出一路与主电路电气隔离的5v电压至adm2486芯片的vdd2管脚以及gnd2管脚。可选的,还包括profibus-dp总线标准配置电路,使用标准profibus-dp总线接头配合所述profibus-dp总线标准配置电路用以将集成化从站装置配置为中间站点或终端站点。可选的,还包括modbus总线终端电阻配置电路,所述modbus总线终端电阻配置电路用以将集成化从站装置配置为中间站点或终端站点,其中,集成化从站装置为终端站点时为了减弱信号反射配置有终端电阻,所述终端电阻r26通过j5第1、第2脚跳线短接并联在modbus总线接头端口。可选的,所述外部数据接口电路包括差动收发器sn65hvd11dr,其中,sn65hvd11dr芯片的re管脚和de管脚均与所述stm32f107单片机的通讯方向控制io口pd4管脚连接,sn65hvd11dr芯片的ro管脚以及di管脚分别与所述stm32f107单片机的pd6管脚和pd5管脚连接,以实现与所述stm32f107单片机双向通讯,外部设备通过sn65hvd11dr芯片的总线输入/输出端a管脚以及总线输入/输出端b管脚与整个装置交换数据,其中,所述数据包括外部设备需要与profibus-dp或modbus现场总线交换的数据以及通讯配置参数数据。可选的,所述通讯参数存储器电路包括存储芯片at24c02,at24c02芯片的scl管脚以及sda管脚分别与所述stm32f107单片机的pb6管脚和pb7管脚连接,用以与所述stm32f107单片机实现通讯配置参数数据交换,其中,配置参数数据包括通讯协议信息、站号、波特率、奇偶校验、停止位。本发明与现有技术相比,所取得的技术进步在于:本发明为一种基于单片机软件的profibus-dp和modbus集成化从站装置,profibus-dp和modbus通讯从站协议完全由单片机实现,协议的选择也在单片机内部完成,在单片机上添加rs-485接口电路即可完成profibus-dp和modbus两种通讯协议按需要选择其中一种与主站进行通讯,本发明极大的简化了电路结构,降低了通讯装置成本,增强了实用性和可靠性,还具有性能稳定,体积小,成本低廉的特点。附图说明附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:图1为本发明的结构原理图。图2为本发明stm32f107单片机的电路图。图3为本发明通讯及工作状态指示电路的电路图。图4、图5和图6为本发明rs-485接口电路的电路图。图7为本发明rs-485通讯隔离电源电路的电路图。图8为本发明外部数据接口电路的电路图。图9为本发明通讯参数存储器的电路图。图中:100-基于stm32f107单片机的协议处理与通讯接口单元,101-stm32f107单片机,102-外部数据接口电路,103-通讯参数存储器,104-通讯及工作状态指示电路,200-rs-485接口单元,201-rs-485驱动隔离电路,300-外部设备300。具体实施方式下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。如图1所示,本发明公开了一种基于单片机的profibus-dp和modbus集成化从站装置,包括基于stm32f107单片机的协议处理与通讯接口单元100以及rs-485接口单元200,其中,基于stm32f107单片机的协议处理与通讯接口单元100用于处理profibus-dp和modbus通讯协议,其包括:stm32f107单片机101,其电路图如图2所示,在stm32f107单片机101中预先烧制有两个分别用于处理profibus-dp协议报文和modbus协议报文的子程序,stm32f107单片机101通过选择调用不同的报文处理子程序以完成profibus-dp协议或modbus协议的通讯,其中,profibus-dp协议与modbus协议报文简易说明如表1和表2所示:表1:表2:起始位设备地址功能代码数据crc校验结束符t1-t2-t3-t48bit8bitn个8bit16bitt1-t2-t3-t4stm32f107单片机101还通过外部数据接口电路102完成与外部设备300的通讯,并读取通讯参数存储器103的配置参数数据。其中,外部数据接口电路102,通过与stm32f107单片机101双向连接实现stm32f107单片机101与外部设备300的双向连接,通讯参数存储器103用于存储通讯配置参数数据。具体的,stm32f107单片机101通过外部数据接口电路102接收采集到的现场数据,然后stm32f107单片机101将这些数据转换成符合现场总线标准的报文,经过rs-485接口单元200发送至rs-485现场总线,此外,还获取从rs-485接口单元200发送过来的主站命令。其中,rs-485接口单元200,包括:rs-485驱动隔离电路201,rs-485驱动隔离电路201包括rs-485接口电路和rs-485通讯隔离电源电路,其内部与stm32f107单片机101双向连接,外部与使用profibus-dp和modbus协议的rs-485现场总线双向连接,以实现stm32f107单片机101到rs-485现场总线的数据双向通讯,同时用于给rs-485现场总线侧电路供电,实现rs-485现场总线与主电路电气隔离。基于stm32f107单片机的协议处理与通讯接口单元还包括通讯及工作状态指示电路104,通讯及工作状态指示电路104与stm32f107单片机101连接,显示profibus-dp和modbus集成化从站装置的工作状态,当本装置工作异常时,指示电路显示出异常信号,排除异常后,指示信号显示正常。如图3所示,通讯及工作状态指示电路104包括指示灯e1、e2、e3以及e4,其中,e1连接stm32f107单片机101的pb14管脚,其为工作状态指示灯,e2连接stm32f107单片机101的pb15管脚,其为profibus-dp通讯指示灯,e3连接stm32f107单片机101的pa11管脚,其为modbus通讯指示灯,e4连接stm32f107单片机101的pa12管脚,其为故障指示灯。具体的:如图4所示的,rs-485接口电路包括数字隔离接口芯片adm2486,其中,adm2486芯片的re管脚和de管脚均与stm32f107单片机101的通讯方向控制io口pc12管脚连接,adm2486芯片的rxd管脚以及txd管脚分别与stm32f107单片101机的pc11管脚和pc10管脚连接,以实现adm2486芯片与stm32f107单片机101的双向连接,adm2486芯片的输入/输出同相端a管脚以及输入/输出反相端b管脚连接到rs-485现场总线,以实现stm32f107单片机101到rs-485现场总线的数据双向通讯。当本装置使用profibus-dp协议配置为中间站点或终端站点时,使用如图5所示的profibus-dp总线接头设置,其包括profibus-dp总线标准配置电路,使用标准profibus-dp总线接头配合profibus-dp总线标准配置电路用以将集成化从站装置配置为中间站点或终端站点,当本装置使用modbus协议配置为中间站点或终端站点,使用如图6所示的modbus总线接头设置,其包括modbus总线终端电阻配置电路,modbus总线终端电阻配置电路用以将集成化从站装置配置为中间站点或终端站点,其中,集成化从站装置为终端站点时为了减弱信号反射需配置终端电阻,终端电阻r26通过j5第1、第2脚跳线短接并联在modbus总线接头端口。如图7所示的,rs-485通讯隔离电源电路使用b0305xt电源模块,向其输入一个3.3v电压,其输出一路与主电路电气隔离的5v电压至adm2486芯片的vdd2管脚以及gnd2管脚,用于给rs-485现场总线侧电路供电,实现rs-485现场总线与主电路电气隔离。如图8所示的,外部数据接口电路102包括差动收发器sn65hvd11dr,其中,sn65hvd11dr芯片的re管脚和de管脚均与stm32f107单片机101的通讯方向控制io口pd4管脚连接,sn65hvd11dr芯片的ro管脚以及di管脚分别与stm32f107单片机101的pd6管脚和pd5管脚连接,以实现与stm32f107单片机101双向通讯,外部设备300通过sn65hvd11dr芯片的总线输入/输出端a管脚以及总线输入/输出端b管脚与整个装置交换数据,其中,数据包括外部设备300需要与profibus-dp或modbus现场总线交换的数据以及通讯配置参数数据。如图9所示的,通讯参数存储器103电路包括存储芯片at24c02,at24c02芯片的scl管脚以及sda管脚分别与stm32f107单片机101的pb6管脚和pb7管脚连接,用以与stm32f107单片机101使用i2c协议通讯实现通讯配置参数数据交换,其中,配置参数数据包括通讯协议信息、站号、波特率、奇偶校验、停止位,at24c02芯片拥有256byte的存储空间,存储内容即为配置参数数据。本装置上电后,stm32f107单片机101程序自动读取存储芯片at24c02中的通讯配置参数数据,并开始配置应用协议及通讯参数。当外部通讯接收到新的通讯配置参数数据时,stm32f107单片机101程序立即更新本装置的应用协议及通讯配置参数,并自动保存在通讯参数存储器103中以供本装置下次上电直接使用最新的配置参数进行通讯。本装置上电启动后,stm32f107单片机101程序自动完成如:初始化、检测外围电路状态、读取通讯参数存储器103中保存的数据并配置通讯参数、检查通讯参数配置是否正确等工作,之后,stm32f107单片机101控制黄色发光管e1进入频率为1hz的闪烁状态,表示本装置已完成准备工作进入正常工作状态,从上电启动到进入正常工作状态所需时间小于500ms。如果当前使用profibus-dp协议通讯,当stm32f107单片机101串口接收到正确的profibus-dp协议报文时,profibus-dp协议报文处理子程序分析报文数据正确,且通讯目标站号与本装置配置的站号一致,这时profibus-dp协议报文处理子程序根据相应数据生成profibus-dp应答报文并按profibus-dp协议规范时序发送,每次应答报文发送完成时,stm32f107单片机101控制绿色发光管e2点亮100ms,当收发频率大于10hz时,e2为常亮状态;如果当前使用modbus协议通讯时,当stm32f107单片机101串口接收到正确的modbus协议报文时,modbus协议报文处理子程序分析报文数据正确,且通讯目标站号与本装置配置的站号一致,这时modbus协议报文处理子程序根据相应数据生成modbus应答报文并按modbus协议规范时序发送,每次应答报文发送完成时stm32f107单片机控制绿色发光管e3点亮100ms,当收发频率大于10hz时,发光管e3为常亮状态;当stm32f107单片机发现配置的通讯参数超出正常范围时或检测到线路连接错误时,控制红色发光管e4为常亮状态,直到错误恢复时e4熄灭。最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明权利要求保护的范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1