您的位置 首页 测评

根据CORTEX-M3的多机通讯网络的规划与完成

摘要:系统以STM32F103作主控单元,使用RS485通信总线,制定了一套通信协议,从软件角度保证了总线仲裁机制的完整,保证了测控网络的正常运转。在系统

摘要:体系以STM32F103作主控单元,运用RS485通讯总线,拟定了一套通讯协议,从软件视点确保了总线裁定机制的完好,确保了测控网络的正常作业。在体系规划论说进程中,依据RS485通讯总线的特色,论说了体系中多机通讯规划的原理及进程,结合在体系调试进程中遇到的问题,提出了在运用RS485进程中的留意事项。

跟着嵌入式技能的开展,测控设备逐步智能化。企业信息化需求在设备选型时一个必要条件便是设备要具有联网通讯接口。RS232接口能够完结点对点的通讯方法,但不能完结联网功用,且远间隔传输功用抗搅扰性差。RS485接口处理了此问题,其数据传输最高速率可到达10 Mbps,且接口选用平衡驱动器和差分接纳器的组合,抗共模搅扰能力强,抗噪性好,适合于远间隔传输。RS485总线最大能够支撑32个节点,经过特制芯片,最大能够支撑400个节点,因而,RS485十分适合于分布式测控体系通讯范畴。但RS485只能代表通讯的物理介质,数据的传输拜访有必要开发相应的程序。

CORTEX—M3是依据ARM7架构的处理器内核,选用哈佛架构,其功耗低,性价比高。在多机通讯网的规划中,经过需求剖析,提出并规划了一种依据CORTEX—M3的多机通讯网络。规划中,CORTEX—M3用做体系终端,作为主机和从机。从机担任前端体系的各类数据丈量,主机作为操控端,担任各从机丈量信息的收集,并经过网络完结对从机的操控。在体系的规划中,网络传输接口选用RS485,依据通讯网络特色,规划中克己了RS485多机通讯协议,开发了依据CORTEX—M3处理器的通讯接口程序,程序移植性好,能够移植到CORTEX—M3内核的通讯网络傍边。经过测验,体系通讯功用杰出,无数据丢掉及网络死锁现象。

1 RS485介绍

RS-485规范是为补偿RS-232通讯间隔短、远间隔通讯的抗搅扰功用差等缺陷而发生的。RS-485规范只规则了平衡发送器和接纳器的电特性,而没有规则接插件、传输电缆和运用层通讯协议。

RS-485规范与RS-232不一样,数据信号选用差分传输方法,也称作平衡传输,它运用一对双绞线,将其中一线界说为A,另一线界说为B,如图1所示。

图2中,RS485发送器中A、B之间的高电平是在+2~+6 V之间,表明正逻辑状况;低电平是在-2~-6 V之间,表明负逻辑状况。关于RS485接纳端,当在A、B之间有大于+200 mV电压,输入为正逻辑电平;小于-200 mV,输入为负逻辑电平,如图3所示。图1中RS-485器材中有一个信号地,一般,各器材信号地能够衔接在一起,或许不衔接;器材中,还有一个“使能”操控信号端,用于操控RS485是作为发送端仍是作为接纳端。当使能端为高电平时,作为发送端,当为低电平时,作为接纳端。RS485为半双工通讯方法,同一时间,器材只能作为发送端或接纳端,软件规划总线裁定中,经过“使能”信号操控。

2 RS485在体系中的运用

RS485多机通讯中,各器材中的A点衔接在一起,B点衔接在一起,经过双绞线衔接,一切RS485节点挂接在一对RS485总线上。因为RS485为半双作业业形式,同一时间,网络中只允许一台RS485接口设备处于发送状况,不然,总线上的数据会紊乱;此外,因为RS485缺少硬件裁定机制,通讯中,无法经过硬件裁定来开释及占有总线,在多机通讯网络中,能够从软件视点考虑总线裁定。而RS485规范没有规则运用层通讯协议,在软件规划体系总线裁定中,能够依据体系特性及功用,拟定相应的运用通讯层协议。

1)体系简述

体系中网络结构选用星形网络结构,网络拓扑图如图4所示。

体系中的网络结构由主控机(M0)、从机(S1、S2……)构成,均为嵌入式体系设备,内核为CORTEX—M3。本体系中一切的RS485终端设备为嵌入式设备,终端设备接口共同,直接经过双绞线衔接。

主机担任测控体系的信息收集。操控信息发送;各从机担任及完结各种信息的丈量及数据转化,并将测控信息发送给主机。体系选用星形拓扑结构,分支节点毛病查找便利,因为接口简略,扩展性杰出,中心节点通讯软件协议较杂乱,而各分支节点通讯协议较简略。

2)RS485通讯协议总线规划

通讯协议的规划首要包含物理层和数据链路层:

物理层完结以下功用:

发送数据时,将数据链路层送来的数据按字节进行并串转化,添加开始位、奇偶校验位及中止位,然后将转化后的信号发送到物理信道上;接纳数据时,从物理信道串行接纳电平信号,然后进行电平转化、奇偶校验、串并转化,得到所接纳的数据。

数据链路层完结以下功用:

数据链路层坐落物理层和运用层之间,为运用层供给共同的接口函数,完结无差错的双向数据传输。数据链路层协议首要包含帧格局规划、传输速率设置、帧收发程序、字符串收发程序。

①串口驱动程序规划

STM32F103串口驱动程序的规划调用体系库函数,省去了许多底层函数的编写。帧格局规划、传输速率设置经过结构体InitType DefInit StruCture结构体赋并初始化完结;帧的发送及接纳已有库函数USART_ReceiveData(USART_TypeDef*USARTx)及USART_SendData(USART_Type Def*USARTx,uint16_tData),经过这两个函数的运用,能够完结字符串的收和发程序,简化驱动程序开发。

在串口驱动程序规划中,需求留意的是:在接纳及发送帧数据时,使能端的电平设置,因而收发程序不能直接运用stm32f中的库函数。据此,在串口驱动程序的规划中,从头编写了接纳及发送字节函数。发送字节函数示例:

②通讯协议规划

为了完结从机信息正确的接纳,在规划进程中,依据体系特色,拟定了相应的通讯协议:人为以为每台从机有地址编码,例如,1号机地址为0x1,2号机地址为0x2,以此类推,此数据也代表了从机机号。从机悉数作为接纳端,等候接纳指令。

第一步:一切从机处于接纳等候状况;主机发送一帧数据表明地址,从机接纳并判别是否为本机地址:是,则呼应;不然,丢掉此帧数据,持续等候接纳本机地址帧;

第二步:从机接纳到本机地址帧后,发送一个握手应对数据给主机。此刻,从机作为发送端,主机作为接纳端。主机发送完地址帧后随即切换状况并等候接纳握手应对数据。当接纳到总线握手数据后,主机判别是不是所需求读取的机号的握手通讯数据:是,则通讯成功,读取从机发送信息;不然,从头开始地址发送;

第三步:从机发送总线握手信号后,随即发送数据给主机。数据发送结束后,康复等候承受状况。

整个通讯进程中,一切从机通讯协议悉数共同,从机承受地址信息并判别后,假如和本机地址相符,则发送数据给主机。

依照体系中拟定的通讯协议,主机和从机的软件规划流程图如图5一图7所示。

从机作为测控前端,完结体系测控和数据传送,其通讯受控于主机,因而从机接纳数据选用中止方法,即从机一旦接纳到主机的呼叫信号,当即进入接纳中止与主机通讯,其作业流程图如图6、7所示。

在整个体系中,主从机均可作为发送端和接纳端。同一时间,网络中只能有一个发送端,因而,在规划通讯协议的时分,留意状况的切换;另依据RS485状况作业时序特色,需求规划好收发之间的延时,不然会呈现数据丢掉现象。发送时,使能端置“1”,延时1 ms左右,再发送有用数据,一帧数据发送结束后再延时1 ms,使能端置“0”。这样总线在状况切换时,使之有一个安稳的作业状况。

3 结束语

体系运用RS485半双工收发器,完结了依据CORTEX—M3的多机通讯网络的组成,主机使用次序方法收集数据,完结了一主多从的通讯方法。主从机经过状况的切换,都能够扮演发送端及接纳端的人物,本质上仍是运用了半双工通讯的特色,使用软件进行使命调度,终究完结了星形网络多机通讯。本文规划的RS485通讯协议可移植性强、安稳性高、易扩展,能够广泛运用于工业操控、现场总线、长途监控等范畴。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/136455.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部