Air780EG —— 合宙4G定位解决方案

定位模式:

外部单片机控制模式(常见于AT固件客户):

开机 -> 搜星 -> 定位成功 -> 上报 -> 关机

780E自行控制模式(常见于二次开发客户,AT用户也可以使用):

开机 -> 搜星 -> 定位成功 -> 模块休眠,关闭GPS电源,但是备电不关 -> 需要定位时,热启动 -> 模块休眠,关闭GPS电源,但是备电不关 ->循环

低功耗方式的示例(LUA)

780EG Luatos的测试示例下载

两种模式优劣对比:

外部单片机控制模式:

优点:思路简单,功耗计算固定
缺点:不是最优解,且实际操作起来会发现每一次定位都需要至少30S左右,GPS搜星时间长,功耗较高

780E自行控制模式:

优点:功耗至少可降低为外部单片机控制模式的50%
缺点:功耗计算需要分段,需要工程师对GNSS[1]各种启动方式(冷启动[2]、热启动[3]、温启动[4])以及部分定位常见名词(例如星历[5]、AGPS[6]、有源天线[7]、无源天线[8]、半边天以及开拓地带[9]、定位纠偏[10]、重捕[11])有一个基础认知,且有耐心去设计

如何最大程度的减少功耗:

一、天线选型阶段:

1.尽可能选择无源天线

无源天线对PCB版要求较高,走线的线宽、线长、线序等都有一定要求。但是无源天线不会额外消耗电流。

2.有源天线选型

有源天线后面接了低噪放[12] (低噪声放大器),需要外部供电,内部低噪放的好坏直接影响了价格和功耗,实际测试了两款有源天线一款单价40元一款单价在8块左右,单测天线的功耗,40的那款平均功耗在4ma左右,8块的那款功耗直接飙到了42ma。

关于GPS天线的选型和设计方面可以参考这篇文章(https://doc.openluat.com/wiki/21?wiki_page_id=2614)

二、搜星阶段:

以有源天线+开阔地带举例:正常冷启动需要大约35S,780EG测试的搜星(捕获状态)功耗平均在68ma,如果有AGPS的话,可以将定位时间缩短在15S左右。由于AGPS需要连接两个服务器,一个基站定位服务器一个星历下载服务器,所以在计算使用AGPS的冷启动时,不能仅当作做冷启动捕获状态15S来算,还要加上基站定位一次和请求星历服务器一次的功耗(数据稍后测试,需要测的是所有情况下的AGPS功耗),但即使是加上了AGPS额外的功耗,也要比冷启动所需功耗低。
所以建议客户搜星阶段,启用AGPS来减少搜星时间,进而降低整体功耗。

三、定位成功后:

部分客户可能会觉得,反正定位已经成功了,数据也发送给服务器了,我的应用也只是半个小时或者10多分钟才发一次定位数据给服务器,不如直接把780EG关机,由单片机/780EG内部定时器控制模块开关机,这样更省电些,实则不然。
首先,如果由外部单片机控制780EG关机,直接断掉了780EG的vbat电压,则无法给内部预留的热启动管脚VBACKUP供电,直接影响就是,每次开机都需要重新进入冷启动,功耗较大,且本身4G模块开机重新驻网的功耗也比较大。
所以推荐用户在定位成功后,不要直接给780EG关机,建议给780EG发送休眠指令,进入您想要的休眠模式,(注:首次冷启动定位成功以后建议延迟两分钟,延迟时间取决于天线质量和当前区域星数的多少,2分钟到15分钟均为正常时间,主要目的是为了搜到完整的星历给GNSS模块)
这样可以使780EG内部的GNSS模块下次启动时进入热启动或者温启动,方便减少搜星所需时间,进一步降低功耗,关于休眠模式的介绍可以访问airpsm.cn,详细浏览我们的三种休眠模式,选择适合您的模式进入适合您的功耗最优解。

四、热启动/温启动阶段:

如果您的应用中包含以下场景,那么热启动或者温启动是更适合您的方案
1.定时定位,且上下两次定位间隔短不超过1小时,可以使用热启动
2.定时定位,且上下两次定位间隔短不超过4小时,可以使用温启动
3.非定时定位,但是定位期间,上下两次定位时间间隔小于1小时,可以使用热启动
4.非定时定位,但是定位期间,上下两次定位时间间隔小于4小时,可以使用温启动
如果上下两次定位间隔超过1分钟且不大于4小时的情况下,可以直接关闭GPS电源,但是不要关闭备电(GPIO23,AT/LUA版本都是默认拉高,用户无需操作,注意休眠状态下不要关闭GPIO23即可)

五、其他情况

如果您的的应用为非实时定位,例如共享单车/电动车/汽车、老人/小孩/宠物定位器、等既需要工作时实时定位又有不定时休眠状态下可能被唤醒场景,可能需要多种方式共用,例如:
通过GPIO触发唤醒780EG,随后重新打开内部GPS电源,此种方式常见于定位器行业,例如小孩睡觉时不移动或者开锁检测,直接进入指定的休眠模式,给GPS电源关闭,等到 GPIO唤醒后再打开GPS,此时可根据休眠时间的长短,自主决定定位模式为热启动还是冷启动+AGPS

几种常见的定位所需功耗实测:

测试标准:《北斗/全球卫星导航系统(GNSS) 定位设备通用规范》www.beidou.gov.cn

一、静止测试

测试条件满足测试标准章节的5.3节中关于测试场地场地的描述
[图片]

无源天线开阔地带,1分钟定位一次,并且发送包含经纬度在内的20字节数据给服务器,PSM+模式实测功耗。(此种模式可以采用GPS热启动)
该功耗分为四个部分:
第一部分,从开机到定位(冷启动)以及连接服务器发送定位成功后20字节数据。该段功耗数据如下
[图片]

第二部分,有GPS任务,无网络发送任务,GPS处于追踪状态 目的是使星历完整。此段时间需要客户自行测试得到最佳的时间长度,推荐时间2分钟,最长为16分钟,该段功耗数据如下
[图片]

第三部分,无GPS任务,无网络发送任务,纯粹的PSM+模式休眠。该段功耗数据如下
[图片]

第四部分,热启动GPS到定位成功后,发送给服务器。此后每次定时唤醒的功耗均如下图所示
[图片]

总计耗时2分40秒,此段整体功耗为
[图片]

如客户希望计算自己使用场景下的功耗,可以按如下公式计算
第一部分的固定功耗,因为这一段是所有模式无法降低的,所以就按34S定位成功并且发送给了服务器的642.191uaH来计算
第二部分此段由测试这段时间为60s(客户自行设定的延迟搜星状态时间长短计算 t1),功耗为730.212uAh。
第三部分由客户自行决定休眠时间长短,也就是(1.5353/60)休眠时间(单位:S)计算出的uah
第四部分因中间休眠唤醒到热启动定位成功再到发送数据给服务器这段时间可能会受测试环境影响,取到的最低功耗值为89.908uAh,建议取中间平均值,本段就按113.9229uAh来计算
设 发送次数为F,第二部分设定的搜星延迟时间为t1,休眠时间为t2
780EG进入PSM+以后的功耗计算公式为642.191+(730.212/60)t1+0.0256t2+113.9229F单位uah

例:间隔一分钟休眠,唤醒后发送一次数据,测试一小时。
t1=搜星延迟休眠时间60s,则 t2=16060,F=59
最低值功耗:642.191+(730.212/60)60+0.02563600+89.908*59 = 6769.135uah
平均值功耗:642.191+(730.212/60)60+0.02563600+113.923*59 = 8186.020uah

本次测试的全段数据都可在该文档中查看:https://doc.openluat.com/wiki/50?wiki_page_id=5062

名词解释:

[1]GNSS:混合定位,不同于GPS定位,狭义上讲的GPS系统,单指美国的24颗GPS卫星以及地面上1个主控站、3个数据注入站和5个监测站及作为用户端的GPS接收机组成的一整套系统。GNSS是指通过观测GNSS卫星获得坐标系内绝对定位坐标的测量技术。 GNSS是所有导航定位卫星的总称,凡是可以通过捕获跟踪其卫星信号实现定位的系统,均可纳入GNSS系统的范围。国内用户接触最多的应该是美国的24颗GPS卫星,以及中国的北斗卫星(截至到2023年5月17日10时49分,中国已有五十六颗北斗导航卫星),其余还有俄罗斯GLONASS、欧盟GALILEO、 日本的准天顶卫星系统、印度的IRNSS(独立的区域导航系统,覆盖印度领土及周边1500 km范围内,提供定位精度优于20米的服务)等其余定位系统。

[2]冷启动:指在一个陌生的环境下启动GPS,直到GPS芯片和可用卫星联系并且计算出坐标的过程。以下几种情况开机均属冷启动:

  1. 初次开机使用时;
  2. 电池耗尽导致GPS芯片内星历信息丢失时;
  3. 关机状态下将接收机移动1000公里以上距离。

也就是说,冷启动是通过硬件方式的强制性启动,因为物理距离较远,或者时间间隔很久,GPS芯片已经把内部的星历信息清除掉,或者内部的星历信息完全失效。GPS接收机失去卫星参数,或者已经存在的参数和实际接收到卫星参数相差太多,导致GPS芯片无法靠星历快速搜星,所以必须从新获得卫星提供的坐标数据。
这也是很多定位器(譬如车载定位器)启动后,搜星时间长、定位耗时久的原因

[3]热启动:指在上次关机的地方没有过多移动过,且距离上次定位时间小于2个小时。再次定位时,GPS芯片通过软件的方式,可以继续使用之前的星历快速搜星,实现秒定位。PS:普通的GNSS芯片,星历最长有效期为12小时,故此星历过期后,GPS芯片无法使用星历实现快速定位。(780E内部的GNSS芯片,GPS星历文件能保持4小时, BD的星历文件能保持1小时,且无法保存星历文件,所以需要外部写入)

[4]温启动:指距离上次定位时间超过2个小时的启动,搜星定位时间介于冷启动和热启动之间的情况。
譬如某时间使用过GPS定位实现3D FIX,GPS芯片内部生成星历(或者外部灌入AGPS数据),那么在2小时内启动GPS芯片进行定位的行为就属于温启动。启动后,GPS芯片首先会输出上次的位置信息。因为上次关机前的经纬度和高度已知,但由于关机时间过长,卫星状态发生了变化,之前3D FIX时的卫星接受不到了,所以星历中参数中的若干颗卫星已经和GPS接收机失去了联系,GPS芯片需要继续搜星补充位置信息,所以搜星的时间要长于热启动,短于冷启动。

[5]星历:是用于描述太空飞行体位置和速度的表达式———两行式轨道数据系统。卫星、航天器或飞行体一旦进入太空,即被列入NORAD卫星星历编号目录。列入NORAD卫星星历编号目录的太空飞行体将被终生跟踪。卫星、火箭残骸等飞行体成为太空垃圾时,仍被列入NORAD卫星编号目录,直到目标消失。卫星星历以开普勒定律的6 个轨道参数之间的数学关系确定飞行体的时间、坐标、方位、速度等各项参数,具有极高的精度。卫星星历能精确计算、预测、描绘、跟踪卫星、飞行体的时间、位置、速度等运行状态;能表达天体、卫星、航天器、导弹、太空垃圾等飞行体的精确参数;能将飞行体置于三维的空间;用时间立体描绘天体的过去、现在和将来。卫星星历的时间按世界标准时间(UTC)计算。卫星星历定时更新。

[6]AGPS:辅助全球卫星定位系统(英语:Assisted Global Positioning System,简称:AGPS)指的是一种GPS的运行方式。它可以利用地面基地站的资讯,配合传统GPS卫星,让定位的速度更快。

[7]有源天线:通常对于设备或车载机而言,由于设备与GPS接收模块之间往往有距离,考虑到安装的便利性可能会有超过1米的距离,在这种情况下我们只能选择有源GPS天线,由于天线长度的信号衰减需要进行补偿,一般有两级低噪声放大器(LNA)进行天线前端信号放大,放大后的信号经电缆输出,电缆同步提供LNA所需要的直流电压
由于天线收到的信号在有源天线接受头内完成信号接受与天线放大,并且远离GPS设备或其他电器设备,干扰源最小,而且安装位置由于天线距离延长安装位置可以选择非常理想的环境,所以实际使用时往往感觉信号较强。

[8]无源天线:使用无源GPS天线时,由于只有一个陶瓷片接收天空的卫星信号,直接连接到模块的RF-IN脚,这种联接方式结构简单,而且标准的25254的陶瓷片成本低廉,技术成熟,占空体积小,适合于强调紧凑型空间GPS导航产品,蓝牙GPS,手机GPS及其他小型GPS消费类产品。
这种天线的布局是从天线的引脚直达模块的RF-IN脚,这根导线需要进行50欧阻抗匹配,而且在天线附近不能有电磁干扰,对PCB的设计及整机的EMI设计要求较高,但如果设计得优良的无源天线GPS产品同样有非常好的表现效果,而且功耗比较低,无需考虑天线自身的功耗。

[9]半边天以及开拓地带:GPS卫星运行在距地36000KM的轨道上,信号强度相当弱(GPS 卫星的功率有多大?)。GPS的民用C/A码从卫星发出来的时候信号只有27W左右,达到地球的时候在-158.5dBW以上。用对数形式表示可能不直观,换算成十进制等于将近0.0000000000000001W,相当小。所以,只有室外开阔的、无遮挡、晴好的地方,才能搜到更多的卫星,SNR值更高(阴天都会有影响哦),GPS芯片才能更快、更好的实现定位。
半边天一般指楼宇内窗边,打开窗户,只能搜到一半天空的卫星。

[10]定位纠偏:OpenLuat 的所有GNSS模块均使用国际标准 WGS-84 坐标系,所以开发者在国内常见地图定位时,会发现与实际情况有几十米甚至上百米的误差。这并非模块问题, 而是国内地图采用了非标坐标系所致。
国内常见地图如高德地图使用 GCJ-02 坐标系, 百度地图使用 BD-09 坐标系,故此开发者需要对模块输出的经纬度进行加偏处理,才能在国内的地图上实现精确定位,坐标转换可在合宙提供的坐标转换网站上直观的展示处理

[11]重捕:是指接收终端在丢失所接收信号状态下,从重新接收到信号开始,至终端设备输出符合定位精度要求的定位结果所需的时间。失锁重捕时间反映了在接收机信号失锁,定位中断后重新恢复定位的速度。失锁重捕时间短的接收机在易中断环境中(如隧道等)的定位性能好,因此失锁重捕时间可以有效评估车载终端的性能

[12]低噪声放大器:主要用于接收信号的前端,放大天线从空中接收到的微弱信号,降低噪声干扰,以供系统解调出所需的信息数据。

[13]RTK(Real - time kinematic,实时动态)载波相位差分技术,指实时处理两个测量站载波相位观测量的差分方法,将基准站采集的载波相位发给用户接收机,进行求差解算坐标。RTK的精度可到厘米或厘米级。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/85057.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++新经典01--函数递归

函数的递归 #include <stdio.h> void diguifunc() {printf("diguifunc()函数执行\n");diguifunc();//自己调用自己 }void main(){diguifunc(); }把程序执行起来&#xff0c;等几秒钟&#xff0c;可以看到&#xff0c;屏幕不断滚动并输出如下内容&#xff1a; …

AP9235 dc-dc升压恒流电源驱动IC 2000ma SOT23-6

概述 AP9235B 系列是一款固定振荡频率、恒流输出的升压型DC/DC转换器&#xff0c;非常适合于移动电话、PDA、数码相机等电子产品的背光驱动。输出电压可达30V &#xff0c;3.2V输入电压可以驱动六个串联LED&#xff0c; 2.5V输入电压可以驱动两路并联LED&#xff08;每路串联…

Android Studio调试出现错误时,无法定位错误信息解决办法

做项目时运行项目会出现问题&#xff0c;但是找不到具体位置&#xff0c;如下图所示&#xff1a;感觉是不是很懵逼~&#xff0c;Log也没有显示是哪里的问题 解决方案&#xff0c;在右侧导航栏中选择Gradle——app——build&#xff0c;然后点击运行 运行结果如下&#xff0c;很…

YOLO目标检测算法调试过程学习记录

先前已经完成过YOLO系列目标检测算法的调试过程&#xff0c;今天主要是将所有的调试加以总结 这里的conda环境就不再赘述了&#xff0c;直接使用requirement.txt文件的即可&#xff0c;也可以参考YOLOX的配置过程5 数据集处理 YOLOv5有自己的数据集格式&#xff0c;博主的数据…

live555在Windows WSL2中编译、运行,搭建RTSP流服务器

文章目录 1. 背景2. 实施步骤2.1 下载live555安装包2.2 解压压缩包2.3 编译源码2.3 安装ffmpeg2.4 安装opencv-python2.5 视频文件格式转换2.6 启动推流2.6 安装VLC&#xff0c;验证 3. 用opencv-python接口接收视频流参考 1. 背景 想要通过RTSP往opencv的接口中推流&#xff…

选择靠谱商城系统的重要性

电子商务的蓬勃发展&#xff0c;越来越多的企业和商家开始进入电商领域&#xff0c;希望通过搭建自己的网上商城来实现业务增长和利润提升。然而&#xff0c;在选择合适的商城系统时&#xff0c;很多人往往会忽视靠谱性这一关键因素。下面就选择靠谱商城系统的重要性作一些简单…

DataSecurity Plus:守护企业数据安全的坚实屏障

在数字化时代&#xff0c;数据被誉为企业最重要的资产之一。然而&#xff0c;随着大数据的兴起和信息的日益增长&#xff0c;企业面临着前所未有的数据安全挑战。为了应对这些挑战&#xff0c;数据安全管理变得至关重要。在这个领域&#xff0c;ManageEngine的DataSecurity Plu…

一篇文章教你自动化测试如何解析excel文件?

前言 自动化测试中我们存放数据无非是使用文件或者数据库&#xff0c;那么文件可以是csv&#xff0c;xlsx&#xff0c;xml&#xff0c;甚至是txt文件&#xff0c;通常excel文件往往是我们的首选&#xff0c;无论是编写测试用例还是存放测试数据&#xff0c;excel都是很方便的。…

【Linux】进程间通信之信号机制2

文章目录 信号阻塞代码验证验证信号的阻塞验证信号的阻塞不影响信号注册验证可靠信号不会丢信号&#xff0c;不可靠信号会丢信号验证9号和19号信号不能被阻塞 用信号解决僵尸进程volatile关键字 信号阻塞代码验证 在上篇详解信号机制的博文中&#xff0c;我们提到了设置阻塞位…

Vue-9.集成(.editorconfig、.eslintrc.js、.prettierrc)

介绍 同时使用 .editorconfig、.prettierrc 和 .eslintrc.js 是很常见的做法&#xff0c;因为它们可以在不同层面上帮助确保代码的格式一致性和质量。这种组合可以在开发过程中提供全面的代码维护和质量保证。然而&#xff0c;这也可能增加一些复杂性&#xff0c;需要谨慎配置…

一文详解4种聚类算法及可视化(Python)

在这篇文章中&#xff0c;基于20家公司的股票价格时间序列数据。根据股票价格之间的相关性&#xff0c;看一下对这些公司进行聚类的四种不同方式。 苹果&#xff08;AAPL&#xff09;&#xff0c;亚马逊&#xff08;AMZN&#xff09;&#xff0c;Facebook&#xff08;META&…

【Java】Java如何生成随机数?

文章目录 前言一、Random类介绍二、Random类生成随机数1.生成随机数2.nextInt()方法 三、使用场景四、官方提示总结 前言 我们在学习 Java 基础时就知道可以生成随机数&#xff0c;可以为我们枯燥的学习增加那么一丢丢的乐趣。本文就来介绍 Java 随机数。 一、Random类介绍 …

docker的资源控制及docker数据管理

文章目录 docker的资源控制及docker数据管理一.docker的资源控制1.CPU 资源控制1.1 资源控制工具1.2 cgroups有四大功能1.3 设置CPU使用率上限1.4 进行CPU压力测试1.5 设置50%的比例分配CPU使用时间上限1.6 设置CPU资源占用比&#xff08;设置多个容器时才有效&#xff09;1.6.…

合宙Air724UG LuatOS-Air LVGL API--简介

为何是 LVGL LVGL 是一个开源的图形库&#xff0c;它提供了创建嵌入式 GUI 所需的一切&#xff0c;具有易于使用的图形元素、漂亮的视觉效果和低内存占用的特点。 LVGL特点&#xff1a; 强大的 控件 &#xff1a;按钮、图表、列表、滑动条、图像等 高级图形引擎&#xff1a;动…

【Visual Studio】生成.i文件

环境 VS版本&#xff1a;VS2013 问题 如何生成.i预编译文件&#xff1f; 步骤 1、打开VS项目属性&#xff0c;打开C/C\预处理器页面&#xff0c;【预处理到文件】选择是&#xff0c;开启。 2、生成文件如下。 3、正常编译需要关闭此选项。

ORB-SLAM2学习笔记9之图像帧Frame

文章目录 0 引言1 Frame类1.1 构造和重载函数1.1.1 双目相机1.1.2 RGBD相机1.1.3 单目相机 1.2 成员函数1.2.1 特征点去畸变1.2.2 特征点网格分配1.2.3 双目匹配1.2.4 RGBD相机深度计算 1.3 成员变量 2 Frame类的用途 0 引言 ORB-SLAM2学习笔记7详细了解了System主类和多线程和…

安卓图形显示系统

Android图形显示系统 Android图形显示系统是Android比较重要的一个子系统&#xff0c;和很多其他子系统的关联紧密。 Android图形系统比较复杂&#xff0c;这里我们从整体上理一遍&#xff0c;细节留待后期再去深入。Android图形系统主要包括以下几个方面&#xff1a; - 渲染…

Shell编程及自动化运维实现

Linux Shell编程及自动化运维实现 变量 Linux Shell编程及自动化运维实现 判断 Linux Shell编程及自动化运维实现 循环 Linux Shell编程及自动化运维实现 数组和函数 Linux Shell编程及自动化运维实现 三剑客 Linux Shell编程及自动化运维实现 综合实战 什么是…

API 接口选择那个?RESTful、GraphQL、gRPC、WebSocket、Webhook

大家好&#xff0c;我是比特桃。目前我们的生活紧紧地被大量互联网服务所包围&#xff0c;互联网上每天都有数百亿次API调用。API 是两个设备相互通讯的一种方式&#xff0c;人们在手机上每次指尖的悦动&#xff0c;背后都是 API 接口的调用。 本文将列举常见的一些 API 接口&…

code论坛系统测试

目录 一 项目介绍**项目名称****项目介绍****项目功能****项目展示** 二 测试用例设计和功能测试1.测试用例设计**①登录页面****②注册页面****③首页****④发布帖子页面****⑤修改个人信息页面** 2.功能测试环境3.实际执行功能测试的部分操作**①登录页面****②注册页面****③…