首页
定位基站的固件设计
- Details
- Written by: zhang
- Category: 技术
定位基站的固件设计
定位基站使用RTOS,因为程序比较复杂,如果不使用OS,各功能间的协调比较困难。
定位基站与标签、定位基站与定位基站之间的UWB通讯,我们定义了几种数据包。主要有时钟同步包(用于基站之间的时钟同步)、基础定位包(只包含最基础的定位功能)、扩展定位数据包(包含电池电压、按钮信息、三维加速度计信息等)。后期我们还增加了TOF辅助定位数据包等等。
与定位引擎之间的通讯,我们也定义了几种数据包。基本上,基站就只是把收到的UWB数据转发给定位引擎。当然,需要做一些必要的数据转换,例如使用标准时间戳等。理论上,时钟同步数据包是没有必要发送到定位引擎的,我们也支持把时钟同步包发送到定位引擎,这有助于对时钟同步情况进行监控。
定位基站有一个重要的功能是时钟同步。至少要保证一个“定位区域”内的几个基站之间有统一的时钟。并且,因为各个DW1000芯片使用的晶振的频率会有细微的差异,所以时钟同步工作需要经常性的进行,否则时钟的差异会积累得越来越大。
DW1000芯片可以配置一些参数,以适应不同的使用环境。我们开发了一个基站配置程序对基站进行配置。例如对基站的一些功能、使用的UWB频道、基站的IP地址、网关等等参数进行设置。基站配置程序使用Delphi7开发的,与基站之间使用网络进行通讯。
基站配置程序还内置了新版的基站固件,可以对基站对固件进行升级。
定位标签的固件设计
- Details
- Written by: zhang
- Category: 技术
定位标签的固件设计
定位标签没有使用RTOS,用“电工”们的说明就是“裸奔”:)。
定位标签可以通过USB与电脑连接,我们有一个标签配置程序,可以对标签的各项参数进行配置。标签配置程序内置有新版的标签固件,可以对标签进行固件升级。
标签的工作原理比较简单,平时处于休眠状态,设置的时间到了后,醒来,发一个UWB定位数据包,然后继续休眠。
按钮被按下也会唤醒标签,立即醒来发一个UWB定位数据包。
标签设计有电量提醒功能,当电池电压低于某个值的时候,红色LED会闪烁。这个功能可以通过配置程序打开或关闭。
定位标签发送的UWB数据包有几种类型。最基础的UWB数据包只有定位数据,长度最短,占用空中的时间最短,也最节省电量。
定位基站和定位标签的生产过程
- Details
- 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写入一些初始化信息。这个操作也由标签出厂配置程序来进行。
标签出厂配置程序还打印标签的铭牌。
标签低功耗分析
- Details
- 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