LM403-JC外观图
LM403-JC原理
LM403-JC内嵌高性能MCU:STM32WL5JCI6,内部FLASH 256KB,RAM 64KB,适合于各种物联网节点的设计。
基于STM32WLE5系列丰富的外设,模块提供UART、I2C、SPI、ADC和GPIO供用户根据应用选用。用户也可以通过WSD接口下载自己的固件使用。
调制方式
LoRa® 是一种特别适用于物联网 (IoT) 应用的调制技术。它具有较高的抗干扰能力,这使其能够在复杂环境中进行通信。
(G)FSK 和 (G)MSK 都是较为常用的调制技术。它们具有较高的效率,这使其适用于需要传输大量数据的应用。
BPSK 是一种较为简单的调制技术。它具有较低的效率,但也具有较低的复杂性。
频段信息
LM403-JC-LB:433-510MHz
接口
UART 接口: x2
LPUART 接口: x1
SPI 接口: x2
I²C 接口: x3
ADC 接口: x12
电气特性
- 发射功率可调:最大22dBm
- 接收灵敏度低至-135dBm
- 支持休眠唤醒,功耗低至3uA
一般特性
- LCC封装
- 引脚:49个
- 供电电压:1.8V~3.6V,典型值3.3V
模组内部引脚
射频输出口味RFO_HP,RFO_LP未连接。
射频开关控制位RF_SW_CTRL1、RF_SW_CTRL3,2未使用。
天线及相关
天线是设计的关键部分,尤其是在若场环境下。天线的选择和合理的摆放对收发信号的性能有很大的影响。
LM403-JC模块支持IPEX和邮票孔两种天线接口方式,在模块上天线端口已匹配到50Ω。
当选择IPEX天线接口时,相对比较简单,在天线选型的过程中对天线的参数选择和应用有如下注意事项:
LM403-Pro-Kit
如图所示,LM403-Pro-Kit评估板由ST-LINK、跳线、LM403模组、按键、LED以及天线接口等组成。
USB连接PC即可以在线仿真、下载和串口打印调试输出、输入操作。
接口定义
电源开关:控制LM403模组的电源与LDO的3.3V的连通。
MicroUSB:板子供电及ST-LINK与PC机连接的接口。
外设说明
LM403功耗测试
测试LM403模组功耗时需断开SW3电源开关及ST-LINK的跳线,通过J1插座上的VCC_LORA与GND对LM403供电,排除其它部分的干扰。
Ping-Pong例程说明
Ping-Pong例程是两块LM403-Pro-Kit板之间的一个简单LoRa收发例程。
- 默认情况下,LM403-Pro-Kit评估板作为主设备,发送一个“Ping”消息然后等待回复。
- 第一个收到“Ping”消息的设备将变为从设备,并以“Pong”信息回复主设备。
- 当主设备收到“Pong”信息之后继续发送“Ping”信息,这样就建立了一个持续的Ping-Pong收发过程。
正常情况下,两个评估板建立Ping-Pong收发关系,只有一个LED灯闪烁。
- 接收到Ping消息时,LED3闪烁。
- 接收到Pong消息时,LED2闪烁。
当两个板完全同步时,即两个主板的RX窗口同步时,无法建立起Ping-Pong收发关系(两个LED长时间同时闪烁)。这时只需要重新启动其中的一块板即可。
Main主流程
MX_SubGHz_Phy_Init()调用SystemApp_Init()初始化定时器,复位外部端口,准备调测输出、配置低功耗等完成基本工作环境。
调用SubghzApp_Init()完成LoRa的PingPong配置,注册PingPong_Process任务。
MX_SubGHz_Phy_Process()调用UTIL_SEQ_Run(UTIL_SEQ_DEFAULT);完成基本的任务调度。
例程中提供了一个类似于RTOS的,事件驱动的调度机制。具体内容参考附录及stm32_seq.c。
PingPong流程
整个PingPong的执行由LoRa射频回调事件驱动,实现于subghz_phy_app.c。
主要有初始化SubghzApp_Init(),PingPong处理PingPong_Process以及LoRa射频回调函数TxDone、RxDone()、TxTimeout、RxTimeout()、RxError()组成。