首页
定位标签的固件设计
- Written by: zhang
- Category: 技术
定位标签的固件设计
定位标签没有使用RTOS,用“电工”们的说明就是“裸奔”:)。
定位标签可以通过USB与电脑连接,我们有一个标签配置程序,可以对标签的各项参数进行配置。标签配置程序内置有新版的标签固件,可以对标签进行固件升级。
标签的工作原理比较简单,平时处于休眠状态,设置的时间到了后,醒来,发一个UWB定位数据包,然后继续休眠。
按钮被按下也会唤醒标签,立即醒来发一个UWB定位数据包。
标签设计有电量提醒功能,当电池电压低于某个值的时候,红色LED会闪烁。这个功能可以通过配置程序打开或关闭。
定位标签发送的UWB数据包有几种类型。最基础的UWB数据包只有定位数据,长度最短,占用空中的时间最短,也最节省电量。
定位基站和定位标签的生产过程
- Written by: zhang
- Category: 技术
定位基站和定位标签的生产过程
产品的生产分为两个步骤:硬件生产、出厂初始化。
硬件生产:我们自行采购需要的元器件,向PCB生产厂下单制作PCB、委托贴片厂贴片(焊接),最后我们拿到的是PCBA,即安装好元器件的半成品板子。有时,因为采购周期时间上的原因,可能会有部分元件自己焊接。
拿到PCBA后,我们首先是上电,看是否正常。有时,板子上的元件可能会有虚焊或短路的情况。如果焊接没问题,板子上的一些LED会亮。
如果上电没异常,就可以刷入固件。板子上的固件分为两个部分:Bootloader和Firmware。
Bootloader是启动加载器,这是固定的、终生不变的。也就是说,一旦刷入到板子后,Bootloader就不变了,即使将来有新的Bootloader版本,也没法对用户那里的老板子进行更新。
Firmware是正常固件,其执行正常的功能,可以随时升级到新的版本。
我们使用专门的固件烧录器来刷入Bootloader,大多数工厂都会使用固件烧录器来刷固件。烧录器中的固件是加密的,可以防止被人读出。烧录器还有刷写计数,可以统计刷写了多少次。
Bootloader刷入后,还要做一个出厂初始化工作。
基站的出厂配置:对基站来说,接入到网络中(实际上前面说的上电,就是接入到网络中,因为使用POE供电嘛)。我们有一台专用电脑运行出厂初始化程序,这个程序会自动为新基站分配MAC地址和序列号,自动把Firmware写入到新基站,并自动写入缺省的基站配置。出厂配置程序还可以打印新基站的铭牌,即使用标签打印机打印出一个即时贴标签纸,上面注明基站的有关信息:如生产厂家、MAC地址、序列号、基站型号等信息。
出厂配置程序还同时会做一些测试工作,例如与基准基站通讯,确认UWB通讯正常;出厂配置程序假装自己是定位引擎,确认能正常收到新基站发来的数据包。
标签的出厂配置:标签的出厂配置与基站类似,不同在于标签使用USB数据线与配置电脑连接,而不是使用网络。配置电脑上运行“标签出厂配置程序”,配置程序会自动为标签分配EUI64地址,并上传标签固件到新标签中。
标签出厂配置也会与基准基站通讯,确认UWB通讯正常。
有些型号的标签,我们有内置一个RFID标签。我们使用了一个RFID读写器对RFID写入一些初始化信息。这个操作也由标签出厂配置程序来进行。
标签出厂配置程序还打印标签的铭牌。
标签低功耗分析
- Written by: zhang
- Category: 技术
标签低功耗分析
这是我们开发过程中的一个文档。
经过努力之后,当进入休眠状态,最低电流是15.x uA。
以下分析一下可能耗电的地方。
ADC分压电阻
使用了两个1M电阻分压对电池3.3V~4.2V进行ADC。
这个分压电路耗电 1.65 uA ~ 2.1 uA
XC6206P332 LDO
XC6206P332负责把电池电压转到3.3V
Datasheet上描述典型功耗为 1uA,最大 3uA。
电容漏电
看三星电容的Datasheet,通常两端的电阻在100MOhm左右,对于3.3V电源来说,相当于漏电流为3.3/100 uA,差不多可以忽略之。
BAV70充电部分二极管
在充电部分,BAV70提供单向导通。手册说在25V情况下,反向电流是 40 nA
也可忽略之。
Page 7 of 10