NLM5系列有实时接收和超时休眠两种工作模式,修改寄存器 WKMOD 为 0 表示工作于实时接收模式,为 1表示工作于超时休眠模式。
实时接收模式: NLM 设备的 LoRA-A 接口一直处于接收状态,可接收任意前导码长度的 LoRA 数据。
超时休眠模式: 当没有操作超过预定的时长后,设备进入空闲状态节省电能,若长时间无数据交互时
进一步地进入停机状态。停机状态具有最低的电流消耗。 在省电模式下, LoRA-A 和 LoRA-B 会不断地监听有无 LoRA 唤醒信号,若有则会自动退出省电模式进入实时接收模式进行数据接收。
NLM5系列三种工作状态
工作于超时休眠模式的设备有三种状态(待机、空闲、停机)。
待机状态: NLM5xx 加电启动后的默认状态,在此状态下, NLM5xx 连续的侦听 LoRA-A 和 LoRA-B 是否接收到了有效的前导码①信号(时间间隔约 10mS),当接收到时切换至接收模式直到数据接收完毕。
空闲状态: 处于待机状态的设备运行时长超过 TIM_IDLE 规定的时长后自动进入空闲状态。空闲状态具有较低的电流消耗。在此状态下, NLM 设备的 UART 正常工作, LoRA 处于休眠侦听状态,每间隔 TIM_WUT 规定的时长进行一次前导码侦听。 当接收到 UART 数据或者 LoRA 前导码、或者预设的超时采发时间间隔到达时退出空闲状态进入待机状态。
停机状态: 处于空闲状态的设备运行时长超过 TIM_STOP 规定的时长后自动进入停机状态。停机状态具有最低的电流消耗。在此状态下, NLM 设备的 UART 处于省电状态, LoRA 处于休眠侦听状态,每间隔 TIM_WUT 规定的时长进行一次前导码侦听。 当接收到 UART 数据或者 LoRA 前导码、或者预设的超时采发时间间隔到达时退出停机状态进入待机状态。需要注意的是:处于停机状态的设备所接收到的第一包 UART 数据会不完整,因此不完整的数据包会被直接丢弃(不作任何处理)。当处于空闲或者停机状态的设备被数字接口的数据接收事件唤醒后,对接收到的数据进行处理(转发、存储、执行指令等),处理完毕后会立即再次进入空闲状态。若接收到的数据是针对设备本身的指令,则会执行指令并自动切换到待机状态并设置待机状态累计时长为 0(即:等待 TIM_IDLE 时长后才会再次进入空闲状态)。
①前导码: LoRA 通讯之前由发送方主动发送的一串同步信号,同步信号之后才是真正的数据内容。