导言
在现代日子和生产中,无线通讯技能运用越来越广泛。日子小区、医院、工厂等杂乱环境中的各种仪器仪表能够经过无线网络进行数据收集和监控。工业现场自动化数据的操控和收集需求传输间隔1km左右、功耗低、简略、牢靠、价格低廉的无线通讯网络。无线收发芯片S14432的通讯间隔可达1~2km。本文规划了一种依据STM32L152和S14432的无线网络体系。体系选用低功耗、高功用的Cortex-M3核32位微操控器STM32L152和高集成度、低功耗的无线收发芯片S14432,适用于短间隔的现场数据收集和监控。体系选用网络化办理并运用主节点备份技能和LEPS路由协议确保体系的牢靠性和拓宽性。
1 主控芯片
STM32L152是意法半导体公司供给的超低功耗、高数据安全性、高效能的ARM Cortex-M3微操控器系列芯片。STM32L15XXX系列芯片选意图法半导体的EnergyLite超低功耗渠道,经过6个超低功耗形式能够在任何设定时刻以最低的功耗完结任务。该操控器低功耗运转形式电流为10.4μA,作业电压为1.8~3.6V,片上模仿功用的最低作业电压为1.8V,数字功用的最低作业电压为1.65V。作业温度规模为-40~+85℃,在32MHz频率下的处理功用到达33 DMOPS(最大值),具有灵敏的欠压复位、片上闪存支撑纠错码(ECC)、存储器保护单元(MPU)和JTAG熔断器。它选用的ARM Cortex-M3处理器可供给超卓的核算功用和对事情的杰出体系呼应,一起可应对动态和静态功率约束的应战。
体系中选用STM32L152芯片,48脚LQFP封装。该芯片具有128KB Flash、16KB RAM、4096字节的E2PROM以及8个16位定时器;片上集成了丰厚的外围模块,包含12位ADC、12位DAC、比较器、SPI、I2C、LCD、USB等。
2 无线网络体系的体系结构
无线网络体系的体系结构如图1所示。体系是由主节点和多个从节点组成的树型拓扑网络。主节点组成和办理整个无线网络,完结向从节点传送操控指令和接纳从节点的数据信息。从节点完结接纳主节点传达的操控指令和将数据信息向主节点的传送。
3 体系硬件规划
无线网络体系的硬件结构如图2所示。主节点、备份主节点和从节点都采纳相同的硬件电路。STM32L152单片机操控SI4432完结无线数据的收发。射频收发芯片选用的是Silicon Labs公司推出的SI4432芯片。该芯片是一款高集成度、低功耗的EZRadioPRO系列无线收发芯片。其作业频段为240~960MHz,接纳灵敏度到达-117dB,可供给极佳的链路质量,在扩大规模的一起将功耗降至最低,最高输出功率可达+20dB,传输间隔可达2km。
主操控芯片sTM32L152选用高速外部时钟信号(HSE),经过BOOT0和BOOT1来挑选3种boot形式。芯片能够选用STM studio、Keil MDK-ARM等编译东西,具有20引脚的JTAG接口能够运用ST-LINK和ULINK2仿真器。主操控电路经过一个RS232接口与操控体系通讯。主操控芯片硬件电路如图3所示。
STM32L152经过规范的SPI接口与SI4432相接。主操控芯片经过SPI接口对射频芯片内部寄存器进行初始化装备,而且发送操控指令和读写数据信息。SI4432的SDN、NIRQ、NSEL、GPIO0、GPIO1、GPIO2等与主操控芯片相连。SDN引脚为作业形式位,NIRQ引脚为中止状况输出,NSEL引脚为片选信号,GPIO1和GPIO2为天线挑选位。射频电路作业在470MHz的中心频率段。470~510MHz为国家无线电办理部门免请求的无线计量频段。射频芯片硬件电路如图4所示。
整个无线网络只选用一个主节点,规划中选用硬件冗余技能。在主节点处设置一个备用主节点,备用主节点是主节点的复制品,具有主节点相同的操控和办理,以及同一级其他主节点地址。当操控体系检测到主节点呈现毛病时,能够激活冗余主节点,以代替主节点确保整个无线网络体系的正常运转。
4 体系软件规划
体系的软件规划分为主节点和从节点两部分。软件规划选用功用模块化的规划思路,体系又可分为初始化模块、运用模块和网络办理模块。其间初始化模块包含单片机初始化模块、射频芯片初始化模块和运用初始化模块;运用模块包含无线发送模块、无线接纳模块、数据处理模块、作业形式模块;网络办理模块是经过路由协议组成无线网络。
4.1 体系初始化
体系上电后,单片机依据主节点和从节点的区别对硬件和功用模块进行初始化,设定各个引脚的功用、单片机的作业形式和资源分配,以及各个运用功用模块的初始化。然后,经过SPI接口对无线射频芯片进行初始化。射频芯片的作业形式、频率、传输速度、传输办法等都按主从节点别离设置。
4.2 数据处理
体系选用相似ZMAC协议的帧格局对数据进行打包通讯。数据包的格局如下:
数据包的前端加上8n位的前导码,是为了使接纳端进行帧同步。前导码之后是帧同步字,当接纳端收到帧同步字之后,开端接纳数据。包长和校验码是接纳端用来校验数据接纳过错与否。数据处理模块担任在发送前和接纳后对数据包进行信息处理。数据包分为网络保护类和信息类,经过包类型位区别,其间数据包内数据位的信息不通。当网络体系处于组成和保护期时,数据包归于网络保护类,数据位的信息为节点的路由信息。节点的路由信息包含到会聚节点的跳数、到相邻节点的链路质量评价信息、节点编号等。当网络体系处于作业状况时,数据位的信息为操控指令或数据码。节点在数据信息发送前,数据处理模块担任将需求发送的数据信息进行分类,然后向其间别离参加各种不同的位信息,构成老练的待发送的数据包。节点在数据信息接纳后,该模块担任对数据包进行校验,将数据包分类,然后对各种信息位进行别离收拾。其间,在发送和接纳时,经过对SI4432寄存器的装备操作,能够直接别离出装备位。装备位结构如下:
4.3 数据发送和接纳
数据发送模块担任将数据包发送出去。当接纳到发送指令时,首要经过SPI清空射频芯片的发送FIFO,然后向发送FIFO里写入需求发送的数据。翻开射频芯片发送完结中止并制止其他一切中止。微操控器使能射频芯片的发送功用,数据开端无线发送。将IRQ引脚拉高,并等候无线发送完结中止。假如数据发送成功,则NIRQ变低电平。
数据接纳模块担任接纳数据包。当接纳到微操控器的接纳指令时,首要经过SPI清空射频芯片的接纳FIFO。翻开前导码接纳、帧同步中止和接纳包数据有用中止,并封闭其他中止。准备好开端接纳。若引脚NIRQ变为低电平,且读取到接纳包数据有用中止位,经过SPI读取接纳FIFO中的数据,封闭接纳功用。发送和接纳程序流程如图5所示。
4.4 体系办理机制
无线网络由主节点和从节点组成,是一个以主节点为根中心的树形拓扑。整个网络的办理是经过各节点中的网络办理模块完结的。无线网络选用LEPS(Link Estimation and Parent Selection)协议。LEPS协议是TinyOS体系的多跳路由协议。它经过节点之间的街坊信息交流机制,考虑链路质量,树立到中心节点的最短通讯途径。
从节点分为不同级其他父节点,只向自己的父节点发送信息,经过父节点逐级向上传到主节点。从节点路由表中具有自己子节点的编号地址。父节点处于网络的中心是第一流的父节点,它的路由表中具有整个网络节点的编号和地址。主节点的数据由其子节点逐级传向各从节点。
无线网络分为拓扑结构的树立、路由保护和数据通讯3个阶段。在拓扑结构的树立阶段,一切的节点周期性地播送自己的路由信息,节点依据跳数和链路质量信息树立最短条数路由,树立路由表。网络将进行定时的保护,在保护的过程中,节点将再次对父节点做出评价,改写路由表。在数据通讯阶段,路由协议为数据传递供给跋涉途径。在完结组网后,若向网络中添加节点,则只需求对网络进行保护更新,更新路由表即可。
4.5 父节点挑选
一切从节点的数据都是经过父节点传送到主节点的。父节点功用是路由协议的中心部分。父节点的挑选决定于链路质量和跳数。
链路质量是两节点间的双向链路通讯质量。以两相邻节点A、B为例。在网络播送信息中,节点A向节点B发送多组数据,则B节点的接纳成功率为:
协议进一步选用加权仅有均匀的办法核算终究的链路质量估计值,从而减小链路质量评价的颤动。令新的链路估计值为NEWEST,所占份额为μ=25%,则原先的作战份额为(1-μ),终究的链路质量估计值为:
跳数HOPNU为节点到主节点的一共转发次数。在网络中,因为链路质量的原因,节点的父节点或许丢掉。在进行父节点选取时,为了确保父节点的质量,一般选用SEDEST>0.1,RCVEST>0.1和EST>0.16的链路质量,这样不至于链路质量过低而不稳定。然后在相邻节点中先判别跳数最小,再判别链路通讯质量挑选父节点。
结语
本体系选用的STM32L152主控芯片和SI4432无线收发芯片都归于低功耗高集成芯片,降低了体系的功耗。其间STM32L152是Cortex-M3微操控器,进步了体系的功用;主节点带有硬件备份进步了体系的牢靠性;LPES路由协议技能进步体系的通讯功率,使体系拓宽便利。本体系适合于工业现场数据收集、小区数据收集、医院病房监控、农业现场数据收集等一些短间隔的通讯运用。功用模块化和网络可拓宽化,使体系便于功用的更新和节点的拓宽。