IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> STM32WL LoRaWAN节点设备学习记录(一) -> 正文阅读

[嵌入式]STM32WL LoRaWAN节点设备学习记录(一)

摸了几天开发板,感觉需要再系统学习一下。

以LoRaWAN_AT_Slave和LoRaWAN_End_Node两个工程为例进行学习。

an5406-how-to-build-a-lora-application-with-stm32cubewl-stmicroelectronics.pdf

an5481 LoRaWAN? AT commands for STM32CubeWL - Application note.pdf

en.MB1389-WL55JC-lowband-D04_Schematic.pdf

(1)硬件概要

一个供电

可选的双核--高安全需求场景

这个应该算软件特性

?

?

(2)sdk框架

分为driver、middleware、application(进一步分为Lorawan和phy),还有utilities--sequencer和timer。

还有utilities--sequencer和timer

?

?

(3)class A流程图

?(4)开发板BSP driver

替换的两种方式,我们用哪种?好像是第一种

?ST官方开发板,不知道debug lines 和sysclock有啥用?

关于FEctrl,我们模组实际只用2个pin,ctrl1--PB0,ctrl3--PA8

所以模块外部没后这两个pin,内部定义fectrl2-pa15,虽然没用。

?

?

关于bsp的tcxo和rf,dcdc,stm32wlxx_LM401_radio.c

?/**
? * @brief Radio maximum wakeup time (in ms)
? * @note override the default configuration of radio_driver.c
? */
#define RF_WAKEUP_TIME ? ? ? ? ? ? ?( 1UL )

?(5)SubGHz_Phy layer middlewareIt is not aware about hardware interface,,只是一个抽象层,不针对具体硬件。--内部是SX1262,就是semtech官方的驱动,不再描述

主要还是radio_s这个回调结构体和9个中断

??(6)LoRaWAN middleware--4大组件

The LoRa stack middleware is split into the following modules:
? LoRaMAC layer module (in Middlewares\Third_Party\LoRaWAN\Mac)
? LoRa utilities module (in Middlewares\Third_Party\LoRaWAN\Utilities)
? LoRa crypto module (in Middlewares\Third_Party\LoRaWAN\Crypto)
? LoRa LmHandler module (in Middlewares\Third_Party\LoRaWAN\LmHandler)

1)
The application layer和LoRaMAC layer之间采用request-confirm and? indication-response机制

?The LoRaMAC layer provides the following services:--被application主动调用
? MCPS services
In general, the LoRaMAC layer uses the MCPS services for data transmissions and data receptions.

? MLME services
The LoRaMAC layer uses the MLME services to manage the LoRaWAN network
? MIB services
The MIB stores important runtime information (such as MIB_NETWORK_ACTIVATION or MIB_NET_ID) and holds the configuration of the LoRaMAC layer (for example the MIB_ADR, MIB_APP_KEY).

The LoRaMAC user event functions primitives (also named callbacks) to be implemented by the application

--Response to a McpsRequest;

--Notifies the application that a received packet is available;

--MIB-No available functions.-MIB没有回调函数。,其它三个都有。

2)Middleware MAC layer timers-

3)Middleware LmHandler application function---这个重要lora_app.c就是实际业务文件。
?

LoRaWAN_End_Node and LoRaWAN_AT_Slave APIs used to access the LoRaMAC
services. The corresponding interface files are located in
Middlewares\Third_Party\LoRaWAN\LmHandler\LmHandler.c
The user must implement the application with these APIs.

?

(7)sequencer

?to execute tasks in the background and enters low-power?mode when there is no more activity.?

allowing any function to wait for an event (where particular?event is set by interrupt)

?MIPS and power to be easily saved in any application that implements “run to
completion” command.

Any task is run to completion and can not switch to another task like a RTOS can do
on RTOS tick unless a task suspends itself by calling UTIL_SEQ_WaitEvt.

Moreover, one single-memory stack?is used. The sequencer is an advanced ‘while loop’ centralizing task and event bitmap flag

?void UTIL_SEQ_Idle( void )
{
LPM_EnterLowPower( );在这里
}

(8)Timer server

The timer server allows the user to request timed-tasks execution. As the hardware timer is based on the RTC,the time is always counted, even in low-power modes.

The timer server provides a reliable clock for the user and the stack. The user can request as many timers as the application requires.

(9)Low-power functions

when the DMA is in use to?print data to the console, the system must not enter a low-power mode below Sleep mode because the DMA?clock is switched off in Stop mode

?

?Low-level APIs must be implemented to define what the system must do to enter/exit a low-power mode.----这个关键,stm32_lpm_if.c
?

(9)System time

(10)Trace

The trace module enables to print data on a COM port using DMA.
?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-03-12 17:43:47  更:2022-03-12 17:45:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:19:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码