一种基于RS485接口的现场总线通信方法与流程

文档序号:15648618发布日期:2018-10-12 22:53阅读:299来源:国知局

本发明属于现场总线通信领域,具体地说是一种基于rs485接口的现场总线通信方法。



背景技术:

随着工业生产全数字化的推进过程,工业自动化控制已经从原来所承担的简简单单的运动控制而慢慢转变为全数字化制造的平台,从原来相互独立的单一控制单元转变为需要相互协同作业的多单元控制系统,这就对多单元之间协同工作的通信方式提出了新的挑战和需求。而现场总线技术的出现正好为数字化全过程的制造提供了有效的解决方案,现场总线技术具备连接灵活,系统可靠,数据传输量大等特点,不仅能实现高速高精的运动控制,还能快速方便地将所有现场级设备互联从而实现了工业生产的数字化进程。

同时,随着arm架构的微控制器的持续发展,鉴于工业控制领域对成本的严格控制,控制核心也由传统的x86架构逐渐转变成更加经济可裁剪的arm架构,同时arm架构的微控制器还具备功耗低的特点,从而对控制器散热方面的能提供更加简洁优化的设计,将现场总线技术应用于arm架构的控制系统,对于工业生产全数字化的推进具有十分重要的意义。

然而,目前国际上广泛流行的现场总线协议有大概100种之多,而这其中有20种已经成为了现场总线的国际标准。如西门子公司的profibus总线,发那科公司的fssb总线,三菱公司的cc-link总线以及倍福公司的ethercat总线等。这些总线协议的背后都有大公司对其支持和垄断,而且其接口主要运用在高速高精度的控制领域当中,成本高,价格贵。



技术实现要素:

本发明要解决的技术问题是提供一种基于rs485接口的现场总线通信方法,可满足自动控制领域的实时可靠的通信,具有连接方式灵活、控制策略易懂、底层驱动简单、抗干扰能力强等特点。

为了解决上述技术问题,本发明采取以下技术方案:

一种基于rs485接口的现场总线通信方法,采用arm微控制器和fpga硬件平台组建主站;

主站通过rs485总线与从站通信连接,主站具有主站应用层、主站数据链路层和主站物理层,其中arm微控制器形成主站应用层功能,fpga硬件平台形成主站数据链路层功能,主站应用层通过api函数调用linux驱动层的程序,主站应用层通过gpmc总线与主站数据链路层通信连接,数据链路层通过总线与主站物理层通信连接,主站物理层采用rs485接口转换芯片对进行信号的传输;

从站具有从站应用层、从站数据链路层和从站物理层,从站应用层通过fsmc总线与从站数据链路层通信连接,从站数据链路层通过总线与从站物理层通信连接,从站物理层采用rs485接口转换芯片进行信号的传输。

所述主站中的arm微控制器和fpga硬件平台通过控制总线、地址总线和数据总线进行通信。

所述从站采用arm微控制器和fpga硬件平台组建,或者从站采用fpga硬件平台组建。

所述主站数据链路层和从站数据链路层采用数据长度可变的数据帧格式进行信号的传输,该数据帧包括帧头、数据区和帧尾校验,其中数据区的长度可变。

所述主站数据链路层和从站数据链路层采用广播寻址和设置寻址两种寻址方式,在从站第一次接入时,需要通过主站的广播寻址来给从站设定一个临时的地址,然后通过临时地址来实现主站与各个从站的通信,并设定和相应从站设备类型匹配的设置地址。

所述主站数据链路层和从站数据链路层设有不同类型命令的数据帧格式,包括主站向从站发送的命令或者读取数据帧格式,以及从站对应不同的主站命令的回复数据帧格式。

所述主站和从站建立通信连接且从站输出信号控制外部设备具体包括以下步骤:

总线初始化完成,进入总线初始态,此时主站未与从站建立通信连通;

从总线初始态切换到预运行态,此时主站与从站建立通信连接,此时从站不输出信号控制外部设备;

从预运行态切换到运行态,此时主站与从站保持通信连接,并且从站输出信号控制外部设备。

本发明可满足自动控制领域的实时可靠的通信,具有连接方式灵活、控制策略易懂、底层驱动简单、抗干扰能力强等特点,还具有:

(1)本发明物理层采用rs485标准接口,具有连接简单,抗干扰性好,成本低等特点。

(2)本发明采用星型拓扑结构,同时配合上电主站对从站的扫描机制,方便从站的连接更改,灵活性高,也不会因为某一从站的故障而导致整个通信的瘫痪。

(3)本发明对不同类型的从站设备做了相应的规范化定义,一定程度上提高了系统的通用性和标准性,降低了二次开发的难度。

(4)本发明所述的总线从站实现方案灵活,可根据不同的设备类型,应用场合选取不同的实现方案,提高了方案实施的可操作性。

附图说明

图1是本发明实施例中的现场总线连接示意图;

图2是本发明实施例中主站的结构示意图;

图3是本发明实施例中从站的结构示意图;

图4是本发明实施例的现场总线状态机运行示意图;

图5是本发明实施例的数据帧结构定义示意图;

图6是本发明实施例的数据帧头详细定义示意图。

具体实施方式

为能进一步了解本发明的特征、技术手段以及所达到的具体目的、功能,下面结合附图与具体实施方式对本发明作进一步详细描述。

如附图1-3所示,本发明揭示了一种基于rs485接口的现场总线通信方法,采用arm微控制器和fpga硬件平台组建主站,完成整个总线的协调调度和控制策略。主站通过rs485总线与从站通信连接,主站具有主站应用层、主站数据链路层和主站物理层,其中arm微控制器上通过程序设计实现主站应用层功能,fpga硬件平台过逻辑设计来实现数据链路层的功能,主站应用层通过api函数调用linux驱动层的程序,主站应用层通过gpmc总线与主站数据链路层通信连接,数据链路层通过总线与主站物理层通信连接,主站物理层采用rs485接口转换芯片对进行信号的传输。其中主站采用的fpga芯片为altera公司生产的ep4ce10f17i8n,arm芯片为ti生产的am3352zczd72。arm微控制器的核心采用linux操作系统,应用层通过api函数来调用linux驱动程序,通过am3352zczd72芯片的gpmc通用外部控制总线与fpga中的主站数据链路层通信,主站数据链路层又将帧数据转换为串行信号通过rs485接口转换芯片转换为差分信号传输出去,接收过程相反,即接收时物理层通过rs485接口转换芯片将差分信号转换为串行信号进行传输。

从站具有从站应用层、从站数据链路层和从站物理层,从站应用层通过fsmc总线与从站数据链路层通信连接,从站数据链路层通过总线与从站物理层通信连接,从站物理层采用rs485接口转换芯片进行信号的传输。从站可以是伺服驱动器、远程io扩展模块和模拟信号输入输出模块等终端设备。由于各种设备从站的类型不同,实现方案也不一样,比如io扩展模块就只采用了altera公司生产的fpga芯片ep4ce10f17i8n来实现,而伺服驱动则采用了st公司生产的arm芯片stm32f407zet6和altera公司生产的fpga芯片ep4ce10f17i8n来实现。

多个从站并列与主站通信连接,形成拓扑网络结构。

所述主站中的arm微控制器和fpga硬件平台通过控制总线、地址总线和数据总线进行通信,最后fpga硬件平台通过专用的rs485转换芯片来将串行信号和差分信号进行相互转换,从而实现整个主站的信息传输。

所述从站采用arm微控制器和fpga硬件平台组建,或者从站采用fpga硬件平台组建。具体的各个从站则根据自身的复杂程度需求,可以考虑采用arm+fpga或者只用fpga的方式来搭建,比如伺服驱动器这类控制需求较复杂,并涉及到多个功能调度的,可以采用arm+fpga来协同实现整个从站的功能;而像远程io扩展模块这样简单的终端设备,则可以考虑只用fpga硬件平台来完成从站数据链路层的功能,对于从站应用层则可以做一定的精简并利用fpga的逻辑资源来做一个简单的实现,这样可以在一定程度上节省开发成本;当然,在每个从站中也都需要专用的rs485接口转换芯片来满足从站物理层的接口规范。采用rs485接口作为物理层设计标准,具有良好的抗噪声干扰性、传输距离长等优点,接口简单易实现,同时也降低了开发成本

如附图3所示,从站以伺服驱动器从站设备为例,因为伺服驱动器除了总线通信外还需要额外的电机控制功能,较为复杂,故采用arm+fpga的框架来组建,其中外部差分信号通过从站物理层的rs485接口转换芯片转化为单端信号后传入由fpga的逻辑设计实现的从站数据链路层,从站数据链路层将串行信号组合为对应的数据帧并进行校验和解析,然后由arm芯片(stm32f40zet6)通过fsmc外部总线读取相应信息,基于一般设计需求,伺服驱动没有运行操作系统,而是采用传统的裸机程序开发,节约系统资源开销,因此从站应用层是通过简单的函数接口调用驱动程序来控制fsmc外部总线的。

另外,整个网络采用的拓扑结构为星形网络,利用一个rs485接口实现四线制的通信方案,使得总线上的任何一个节点不会因为自身的故障而导致总线瘫痪。

在从站应用层定义了几种常用的从站设备的类型,并保留了用户自定义设备类型,并针对不同类型的从站设备进行了相应的规范设置,保证在连接同类型设备时,可以通过统一规范简化开发过程,节省开发时间。

所述主站数据链路层和从站数据链路层采用数据长度可变的数据帧格式进行信号的传输,该数据帧包括帧头、数据区和帧尾校验,其中数据区的长度可变。通过定义数据长度可变的数据帧格式,可以根据不同的从站设备的需求,传输数据长度可变的数据帧,使传输方式更加灵活。如附图5所示,数据帧当中,3个字节的帧头包括8bit的目的地址,4bit的寻址方式(目前只设定了广播寻址和设置寻址两种,剩余留作保留),4bit的命令类型(读,写,读写,错误等),8bit的数据区长度表示数据区的字节数,最大支持256个字节,2个字节的帧尾校验是采用crc16校验的结果。而附图6所示,为数据帧头的详细定义,当然除此之外,还可采用其他类型的定义。

所述主站数据链路层和从站数据链路层采用广播寻址和设置寻址两种寻址方式,在从站第一次接入时,需要通过主站的广播寻址来给从站设定一个临时的地址,然后通过临时地址来实现主站与各个从站的通信,并设定和相应从站设备类型匹配的设置地址,当从站连接发生更改时,则重复上述过程。

所述主站数据链路层和从站数据链路层设有不同类型命令的数据帧格式,包括主站向从站发送的命令或者读取数据帧格式,以及从站对应不同的主站命令的回复数据帧格式。

另外,如附图4所示,为现场总线状态机的运行状态示意。

系统通电运行,先进入到空闲态。

然后系统开始初始化,若系统初始化完成,则进入到总线初始化,若未完成,则进入报警态进行报警提醒。

查看总线初始化是否完成,若完成,进入总线初始态,此时主站未与从站建立通信连通;若未完成,则进入报警态进行报警提醒。

从总线初始态切换到预运行态,若已经切换到预运行态,此时主站与从站建立通信连接,此时从站不输出信号控制外部设备。若还没有完全切换到预运行态,则进入报警态进行报警提醒。

从预运行态切换到运行态,若已经切换到运行态,此时主站与从站保持通信连接,并且从站输出信号控制外部设备。若还没切换到运行态,进入报警态进行报警提醒。

当进入到报警态后,直到手动排查错误,解除报警后才会重新进入空闲态。

需要说明的是,以上仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,但是凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1