系统软件设计 - STM32L152和S14432的无线网络系统设计
系统的软件设计分为主节点和从节点两部分。软件设计采用功能模块化的设计思路,系统又可分为初始化模块、应用模块和网络管理模块。其中初始化模块包括单片机初始化模块、射频芯片初始化模块和应用初始化模块;应用模块包括无线发送模块、无线接收模块、数据处理模块、工作模式模块;网络管理模块是通过路由协议组建无线网络。
4.1 系统初始化
系统上电后,单片机根据主节点和从节点的区别对硬件和功能模块进行初始化,设定各个引脚的功能、单片机的工作模式和资源分配,以及各个应用功能模块的初始化。然后,通过SPI接口对无线射频芯片进行初始化。射频芯片的工作模式、频率、传输速度、传输方式等都按主从节点分别设置。
4.2 数据处理
系统采用类似ZMAC协议的帧格式对数据进行打包通信。数据包的格式如下:
数据包的前端加上8n位的前导码,是为了使接收端进行帧同步。前导码之后是帧同步字,当接收端收到帧同步字之后,开始接收数据。包长和校验码是接收端用来校验数据接收错误与否。数据处理模块负责在发送前和接收后对数据包进行信息处理。数据包分为网络维护类和信息类,通过包类型位区分,其中数据包内数据位的信息不通。当网络系统处于组建和维护期时,数据包属于网络维护类,数据位的信息为节点的路由信息。节点的路由信息包括到汇聚节点的跳数、到相邻节点的链路质量评估信息、节点编号等。当网络系统处于工作状态时,数据位的信息为控制指令或数据码。节点在数据信息发送前,数据处理模块负责将需要发送的数据信息进行分类,然后向其中分别加入各种不同的位信息,形成成熟的待发送的数据包。节点在数据信息接收后,该模块负责对数据包进行校验,将数据包分类,然后对各种信息位进行分离整理。其中,在发送和接收时,通过对SI4432寄存器的配置操作,可以直接分离出配置位。配置位结构如下:
4.3 数据发送和接收
数据发送模块负责将数据包发送出去。当接收到发送指令时,首先通过SPI清空射频芯片的发送FIFO,然后向发送FIFO里写入需要发送的数据。打开射频芯片发送完成中断并禁止其他所有中断。微控制器使能射频芯片的发送功能,数据开始无线发送。将IRQ引脚拉高,并等待无线发送完成中断。如果数据发送成功,则NIRQ变低电平。
数据接收模块负责接收数据包。当接收到微控制器的接收指令时,首先通过SPI清空射频芯片的接收FIFO。打开前导码接收、帧同步中断和接收包数据有效中断,并关闭其他中断。准备好开始接收。若引脚NIRQ变为低电平,且读取到接收包数据有效中断位,通过SPI读取接收FIFO中的数据,关闭接收功能。发送和接收程序流程如图5所示。
- 第 1 页:STM32L152和S14432的无线网络系统设计
- 第 2 页:系统软件设计
- 第 3 页:系统管理机制
本文导航
非常好我支持^.^
(5) 100%
不好我反对
(0) 0%
相关阅读:
- [RF/无线] 5G-A时代的室内网络建设解决方案 2023-10-24
- [物联网] 智慧医院项目物联网设计方案 2023-10-24
- [电子说] 华为青浦研发中心拟明年6月竣工交付,开展终端芯片等领域研发 2023-10-19
- [电子说] SZBOX S100袖珍迷你PC支持双4K显示设置 2023-10-17
- [电子说] 无线网络电表泛在电力物联网的应用和趋势 2023-10-13
- [电子说] 从1G到6G:移动通信的史前时代 2023-10-11
- [移动通信] 5G+PLC典型系统架构应用方案 2023-10-11
- [RF/无线] 机顶盒如何设置无线接入网络? 2023-10-11
( 发表人:叶子 )