Firmware Design of Location Anchor
The location anchor uses RTOS because the program is relatively complex. If the OS is not used, coordination between various functions will be difficult.
For UWB communication between the location anchor and the tag, the location anchor and the location anchor, we have defined several data packets. There are mainly clock synchronization packages (used for clock synchronization between anchors), basic location packages (containing only the most basic location functions), and extended location data packages (including battery voltage, button information, three-dimensional accelerometer information, etc.). Later, we also added TOF auxiliary location data packets and so on.
For communication with the location engine, we have also defined several data packets. Basically, the anchor just forwards the received UWB data to the location engine. Of course, some necessary data conversion needs to be done, such as using standard timestamps, etc. Theoretically, it is not necessary to send the clock synchronization packet to the location engine. We also support sending the clock synchronization packet to the location engine, which helps to monitor the clock synchronization situation.
An important function of the location anchor is clock synchronization. At least it is necessary to ensure that several anchors within a "location area" have unified clocks. Moreover, because the frequency of the crystal oscillator used by each DW1000 chip will be slightly different, clock synchronization needs to be performed frequently, otherwise the clock differences will accumulate more and more.
The DW1000 chip can be configured with some parameters to adapt to different usage environments. We developed a anchor configuration program to configure the anchor. For example, set some functions of the anchor, the UWB channel used, the IP address of the anchor, gateway and other parameters. The anchor configuration program is developed using Delphi7, and uses the network to communicate with the anchor.
The anchor configuration program also has built-in new version of anchor firmware, which can upgrade the anchor firmware.