欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

I-CUBE-LRWAN 读码说明:软件架构

最编程 2024-03-02 10:39:35
...

I-CUBE-LRWAN

I-CUBE-LRWAN 是 ST 官方为帮助开发者快速开发 LoRaWAN 节点应用,推出的一组软件包。I-CUBE-LRWAN 支持 SX1276MB1MAS, SX1276MB1LAS, SX1272MB2DAS, SX1262DVK1DAS, SX1262DVK1CAS, SX1262DVK1BAS 等 lora 收发芯片,并且给出了这些芯片分别在 NUCLEO-L053R8, NUCLEO-L152RE, NUCLEO-L476RG 和 B-L072Z-LPWAN1 开发板上的例程用于学习。

I-CUBE-LRWAN 具有如下的特点:

  • 兼容 LoRaWAN V1.0.3 标准;
  • 支持 A、B、C 类 LoRaWAN 协议;
  • 符合欧盟 868 MHz ISM 频段 ETSI(欧洲电信标准协会)标准;
  • 符合欧盟 433 MHz ISM 频段 ETSI(欧洲电信标准协会)标准;
  • 符合美国 915 MHz ISM 频段 FCC(联邦通信委员会)标准;
  • 支持 OTAA(无线激活)或者 ABP(手动激活) 的方式激活终端设备;
  • 自适应传输速率;
  • 包括用于认证测试的 LoRaWAN® 测试应用程序;
  • 低功耗优化;
  • 兼容 STM32 的各产品线;
  • 集成安全组件;

软件包说明
I-CUBE-LRWAN软件架构

I-CUBE-LRWAN 软件包的工程架构如上面的架构图。其中 HAL 层是 ST 官方提供的 HAL 库。 User Application 层需要用户根据自己实际的应用进行开发。I-CUBE-LRWAN 提供的最核心的组件包括三个部分:驱动中间层以及工具包驱动层主要是用来组织底层的代码,主要包括一些板级支持包、LoRa收发器驱动以及传感器驱动等;中间层 组织了一些协议及工具,例如 mbedtls 、LoRaWAN 栈等;工具层是 ST 提供的一些能让开发者简化应用代码编写的软件工具,例如:低功耗管理器、状态机、软件定时器等。文件目录组织结构如下所示:

├─Docs       
├─Drivers
│  ├─BSP
│  │  ├─B-L072Z-LRWAN1
│  │  ├─CMWX1ZZABZ_0xx
│  │  ├─Components
│  │  ├─IKS01A2
│  │  ├─IKS01A3
│  │  ├─I_NUCLEO_LRWAN1
│  │  ├─LRWAN_NS1
│  │  ├─MDM32L07X01
│  │  ├─MDM32WL
│  │  ├─STM32L0xx_Nucleo
│  │  ├─STM32L1xx_Nucleo
│  │  ├─STM32L4xx_Nucleo
│  │  ├─SX1261DVK1BAS
│  │  ├─SX1262DVK1CAS
│  │  ├─SX1262DVK1DAS
│  │  ├─sx1272mb2das
│  │  ├─sx1276mb1las
│  │  └─sx1276mb1mas
│  │          
│  ├─CMSIS     
│  ├─STM32L0xx_HAL_Driver
│  ├─STM32L1xx_HAL_Driver
│  └─STM32L4xx_HAL_Driver
|
├─Middlewares
│  ├─ST
│  │  └─STM32_Secure_Engine
│  │      ├─Core
│  │      ├─Interface
│  │      ├─Key
│  │      └─Utilities
|  |
│  └─Third_Party
│      ├─LoRaWAN
│      ├─mbedTLS
│      └─SubGHz_Phy
|
├─Projects
│  ├─B-L072Z-LRWAN1
│  ├─NUCLEO-L053R8
│  ├─NUCLEO-L073RZ
│  ├─NUCLEO-L152RE
│  └─NUCLEO-L476RG
|
└─Utilities
   ├─conf
   ├─lpm
   ├─misc
   ├─sequencer
   ├─timer
   └─trace

其中:

  • Docs: 软件工程的整个文档说明;
  • Drivers:存放驱动层的代码,例如 BSP、CMSIS、HAL 等;
  • Middlewares:分为 ST 官方包和第三方软件包,ST 官方包提供了一个加密用的引擎,第三方则包括了 LoRaWAN 协议栈、mbedTLS包和SubGHz_Phy包;
  • Projects:ST 官方提供的例程工程文件,包括了一些主流的 IDE 工程文档,可以使用 MDK、IAR、STM32CubeIDE等软件直接打开构建工程;
  • Utilities:ST 提供的一些工具组件;

推荐阅读