LoRa Basics Modem和LoRa Edge文档

场景—GNSS辅助扫描

介绍

LoRa Edge™平台的关键特性之一是能够扫描GNSS信号并为导航系统提供测量结果LoRa Cloud™调制解调器和地理定位服务确定某物的位置终端设备。在本章中,我们回顾了使用LR111x设备完成辅助GNSS扫描并将该数据返回到MCU的要求。

GNSS辅助提供的信息限制了GNSS扫描算法在搜索信号时必须考虑的变量数量。这有助于缩短GNSS扫描所需的时间。通过提供大致时间(30秒内)、辅助位置(150公里内)和GNSS年鉴,该算法可以估计哪些卫星在视野中,以及扫描时它们的多普勒。辅助数据还提供了关于全球导航卫星系统信号频率偏移的信息,这限制了对可见光卫星信号的搜索时间。

兼容性

LoRa Basics™调制解调器

罗拉边缘™LR1110收发器

先决条件/依赖关系

常见的

  • 必须将LR111x时钟与时钟同步处理(或其他来源)在120秒内(理想情况下在10秒内)

  • 必须有少于15周的年历(最好是少于4周)

  • 必须有一个辅助位置,从应用服务器或其他来源优于150公里(理想情况下在50公里以内)

  • 必须有一个SPI连接来交换设备应用程序和LR111x芯片之间的信息

  • 对于GNSS操作,必须具有精确到5ppm以内的温度补偿晶体振荡器(TCXO)

使用LoRa Basics™Modem的前提条件

  • 不适用

LoRa Basics™Modem-E的先决条件

  • 无额外要求

收发模块必备条件

  • 如果使用LoRaWAN®网络执行时钟同步MCU必须具有LoRaWAN堆栈。

循序渐进的过程

LoRa基础知识Modem-E

  1. 完成上面提到的时钟同步/时间转移、年历和辅助位置步骤。

    请注意

    如果时钟同步、年历或辅助位置需要网络服务器或LoRa云服务,加入网络也是必需的。

  2. 可选地,指定要扫描的星座。(默认情况下,GPS和北斗都会被扫描。)

  3. 通过SPI接口,主MCU调用GNSS辅助扫描命令(0 x0431)配置LoRa Basics Modem-E。

    请注意

    • 扫描选项包括:Effort Mode, ResultMask和NbSvMax。

    • 根据努力程度,每个星座的扫描可能需要2-10秒。

    • 一个NbSvMax值大于10会导致功耗,对于LR111x几乎没有好处。一个NbSvMax为了节省数据采集和扫描结果传输的电量,建议小于等于10。

  4. 扫描完成后,LoRa Basics Modem-E的EVENT信号设置为高电平。

  5. 设备应用程序调用GetEventsize(命令0 x0633),GetEvent(命令0 x0600).

  6. LoRa Basics Modem-E返回辅助的GNSS扫描结果。

  7. LoRa Basics Modem-E将EVENT信号设置为低电平。

@startuml asssted_gnss_scanbox“End-Device”#ADD8E6参与者“Application”作为MCU #ADD8E6参与者“LoRa Basics™\nModem-E”作为LR1110 #00ADEFend boxbox LoRaWAN®#AAAAAA参与者“Gateway”作为GW #D3D3D3参与者“Network Server”作为NS #D3D3D3end boxbox Cloud #ADD8E6参与者“Application Server”作为AppS #ADD8E6end boxbox LoRa Cloud™#00ADEF参与者“Modem & Geolocation Services”作为LCS #00ADEFend boxlegend left|= |= Owner || <#00ADEF> | Semtech|| <#ADD8E6>    | Customer || <#D3D3D3>    | Ecosystem |endlegend== Precursor-Join (if using Network/Cloud for Clock Sync, Almanac or Assistance Position) ==note over MCU, NS #AAAAAA: Join LoRaWAN network== Precursor-Clock Sync (Network/Cloud not required, may be supplied locally by Application) ==note over MCU, LCS #AAAAAA: Exchange Clock Sync data== Precursor-Almanac (Network/Cloud not required, may be supplied locally by Application) ==note over MCU, LCS #AAAAAA: Download Almanac data== Precursor-Assistance Position (Network/Cloud not required, may be supplied locally by Application) ==note over AppS, MCU #AAAAAA: Position from Network (Application Server example)MCU -> LR1110 : Request Assistance PositionLR1110 -> GW : Request Assistance PositionGW -> NS : Request Assistance PositionNS -> AppS : Request Assistance PositionAppS -> NS : Assistance PositionNS -> GW : Assistance PositionGW -> LR1110 : Assistance PositionLR1110 -> MCU : Assistance PositionMCU -> LR1110 : GnssSet Assistance Position (Cmd 0x0410)LR1110 -> MCU : Assistance Position command confirmednote over LR1110, MCU #AAAAAA: Position Directly from the ApplicationMCU -> LR1110 : GnssSet Assistance Position (Cmd 0x0410)LR1110 -> MCU : Assistance Position command confirmednote over LCS, LR1110 #AAAAAA: This may be provided automatically by the Modem & Geolocation Services under certain conditions== Optional-Set GNSS Constellations to scan ==note over LR1110, MCU #AAAAAA: Set GNSS Constellations (default: GPS+Beidou)MCU -> LR1110 : GNSS Set Constellation to use (Cmd 0x0400)note right: Requires the bitmask documented in the \nLR1110 User Manual (bit 0=GPS, bit 1=Beidou)LR1110 -> MCU : Setting confirmed== Assisted GNSS Scan == MCU -> LR1110 : GNSS assisted scan (Cmd 0x0431)note right: Options\: EffortMode,ResultMask,NbSvMaxLR1110 -> MCU : Event high note right: Event\: GNSS scan doneMCU -> LR1110 : GetEventsize (Cmd 0x0633), GetEvent (Cmd 0x0600)LR1110 -> MCU : GNSS scan done + Resultsnote right: Scan results ready for trasmission or local storageLR1110 -> MCU : Event low        @enduml

收发器

  1. 完成上面提到的时钟同步/时间转移、年历和辅助位置步骤。

    请注意

    如果时钟同步、年历或辅助位置需要网络服务器或LoRa云服务,加入网络也是必需的。

  2. 可选地,指定要扫描的星座。(默认情况下,GPS和北斗都会被扫描。)

  3. 通过SPI接口,主MCU调用GNSS辅助扫描命令(0 x040a)。

    请注意

    • 扫描选项包括:Effort Mode, ResultMask和NbSvMax。

    • 根据努力程度,每个星座的扫描可能需要2-10秒。

    • 一个NbSvMax值大于10会导致功耗,对于LR111x几乎没有好处。一个NbSvMax为了节省数据采集和扫描结果传输的电量,建议小于等于10。

  4. 扫描时,BUSY信号高。

  5. 扫描完成后,IRQ信号(如果启用了GNSSDoneLR111x上的)设置为高,BUSY信号设置为低。

  6. 设备应用程序调用GnssGetResultSize(命令0 x040c),GnssReadResults(命令0 x040d).

  7. LR111x芯片返回辅助GNSS扫描结果。

  8. 如果使能,LR111x芯片将IRQ信号置低。

@startuml asssted_gnss_scan_trxbox“End-Device”#ADD8E6参与者“Application”作为APP #ADD8E6参与者“LoRaWAN®Stack”作为LWS #ADD8E6参与者“LR111x\nTransceiver”作为LR1110 #00ADEFend boxbox LoRaWAN™#AAAAAA参与者“Gateway”作为GW #D3D3D3参与者“Network Server”作为NS #D3D3D3end boxbox云#ADD8E6参与者“Application Server”作为AppS #ADD8E6end boxbox LoRa Cloud™#00ADEF参与者“Modem & Geolocation Services”作为LCS #00ADEFend boxlegend左|= |=所有者|| <#00ADEF> | Semtech || <#ADD8E6> |客户|| <#D3D3D3> |生态系统|endlegend== pre -Join(如果使用Network/Cloud进行时钟同步,日历或辅助位置)==note over APP, ns# AAAAAA:加入LoRaWAN网络== pre -Clock CSYNC(网络/云不需要,可能由应用程序本地提供)==note over APP, LCS #AAAAAA:Exchange Clock SYNC数据==前体-年鉴(不需要网络/云,可能由应用程序本地提供)== APP上的注释,LCS #AAAAAA:下载年鉴数据==前体-辅助位置(不需要网络/云,可能由应用程序本地提供)== APP上的注释,APP #AAAAAA:来自网络的位置(应用服务器示例)APP -> LR1110:请求辅助位置LR1110 -> GW:请求辅助位置w -> NS:请求辅助位置NS -> AppS:请求援助PositionAppS -> NS:援助PositionNS -> GW:援助positionw -> LR1110:援助PositionLR1110 -> APP:援助PositionAPP -> LR1110: GnssSet援助位置(Cmd 0x0410)LR1110 -> APP:援助位置命令确认说明LR1110, APP #AAAAAA:直接从ApplicationAPP -> LR1110: GnssSet援助位置(Cmd 0x0410)LR1110 -> APP:辅助位置命令确认==可选-设置GNSS星座扫描==备注超过LR1110, APP #AAAAAA:设置GNSS星座(默认:GPS+北斗)APP -> LR1110: GNSS设置星座使用(Cmd 0x0400)备注右:要求在\nLR1110用户手册中记录的位掩码(比特0=GPS,比特1=北斗)LR1110 -> APP:设置确认==辅助GNSS扫描== APP -> LR1110: GNSS辅助扫描(Cmd 0x040A)备注右:选项\:EffortMode,ResultMask,NbSvMaxLR1110 -> APP:BUSY high note右:IRQ高(如果启用GNSSDone), BUSY low\nGNSS扫描doneAPP -> LR1110: GnssGetResultSize (Cmd 0x040C), GnssReadResults (Cmd 0x040D)LR1110 -> APP: GNSS扫描完成+结果注释右:扫描结果准备传输或本地存储elr1110 -> APP: IRQ低(如果启用)@enduml

所使用的

设备应用,LR111x芯片,LoRaWAN网络服务器,LoRa云接入服务器

故障排除

如果GNSS事件以0 x00负载不会被发送到应用服务器进行处理。调用此GNSS事件消息主机MCU的GNSS事件在参考手册中,不包含导航信息。检查第二个字节,并参考LR111x用户手册了解其重要性。