Home
Firmware Design of Location Anchor
- Written by: zhang
- Category: Technology
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.
Firmware Design for Location Tags
- Written by: zhang
- Category: Technology
Firmware Design for Location Tags
The location tag does not use RTOS, and "electricians" describe it as "streaking" :).
The location tag can be connected to the computer via USB. We have a tag configuration program that can configure various parameters of the tag. The tag configuration program has a new version of tag firmware built-in, and the tag firmware can be upgraded.
The working principle of the tag is relatively simple. It is usually in a sleep state. After the set time is up, it wakes up, sends a UWB location data packet, and then continues to sleep.
When the button is pressed, the tag will also wake up and immediately wake up to send a UWB location data packet.
The tag is designed with a battery reminder function. When the battery voltage is lower than a certain value, the red LED will flash. This feature can be turned on or off via the configuration program.
There are several types of UWB data packets sent by location tags. The most basic UWB data packet only contains location data, has the shortest length, takes the shortest time in the air, and saves the most power.
The Production Process of Location Anchors and Location Tags
- Written by: zhang
- Category: Technology
The Production Process of Location Anchors and Location Tags
Product production is divided into two steps: hardware production and factory initialization.
Hardware production: We purchase the required components ourselves, place an order with a PCB manufacturer to make the PCB, and entrust a SMD(Surface Mounted Device) factory to do the surface mount (soldering). Finally, what we get is a PCBA, which is a semi-finished board with components installed. Sometimes, due to procurement cycle time, some components may be soldering by ourselves.
After getting the PCBA, we first powered on to see if it was normal. Sometimes, components on the board may have weak soldering or short circuits. If the soldering is OK, some LEDs on the board will light up.
If there is no abnormality when powering on, you can flash the firmware. The firmware on the board is divided into two parts: Bootloader and Firmware.
Bootloader is a boot loader, which is fixed and unchanged throughout life. In other words, once it is flashed to the board, the Bootloader will not change. Even if there is a new Bootloader version in the future, the user's device cannot be updated.
Firmware is normal firmware, which performs normal functions and can be upgraded to a new version at any time.
We use a special firmware Flasher to flash the Bootloader, and most factories will use a firmware Flasher to flash the firmware. The firmware in the Flasher is encrypted to prevent it from being read by others. The programmer also has a flash count, which can count how many times it has been flashed.
After the bootloader is flashed, a factory initialization work needs to be done.
Factory configuration of the anchor: For the anchor, it is connected to the network (in fact, the power on mentioned above means connected to the network, because it uses POE for power supply). We have a dedicated computer running the factory initialization program. This program will automatically assign a MAC address and serial number to the new anchor, automatically write firmware to the new anchor, and automatically write the default anchor configuration. The factory configuration program can also print the nameplate of the new anchor, that is, use a label printer to print out an instant label with relevant information about the anchor: such as manufacturer, MAC address, serial number, anchor model, etc.
The factory configuration program will also do some testing at the same time, such as communicating with the reference anchor to confirm that UWB communication is normal; the factory configuration program pretends to be a location engine to confirm that it can normally receive data packets from the new anchor.
Factory configuration of the tag: The factory configuration of the tag is similar to that of the anchor. The difference is that the tag uses a USB data cable to connect to the configuration computer instead of using the network. Run the "tag factory configuration program" on the configuration computer. The configuration program will automatically assign an EUI64 address to the tag and upload the tag firmware to the new tag.
The factory configuration of the tag will also communicate with the reference anchor to confirm that UWB communication is normal.
For some tag models, we have a built-in RFID tag. We use an RFID Reader and Writer to write some initialization information to the RFID. This operation is also performed by the tag factory configuration program.
The tag factory configuration program also prints the tag's nameplate.
Tag Low Power Analysis
- Written by: zhang
- Category: Technology
Tag Low Power Analysis
This is a document from our development process.
After trying hard, when the tag entering sleep state, the lowest current is 15.x uA.
Let's analyze the possible power consumption areas.
ADC voltage dividing resistor
Two 1M resistors are used to divide the voltage to perform ADC on the battery 3.3V~4.2V.
This voltage divider circuit consumes 1.65 uA ~ 2.1 uA
XC6206P332 LDO
XC6206P332 is responsible for converting the battery voltage to 3.3V
The typical power consumption described on the Datasheet is 1uA , with a maximum of 3uA .
Capacitor leakage
Looking at the Datasheet of Samsung capacitors, the resistance at both ends is usually around 100MOhm. For a 3.3V power supply, the leakage current is equivalent to 3.3/100 uA, which can be almost ignored.
BAV70 charging part diode
In the charging part, BAV70 provides one-way communication. The manual says that at 25V, the reverse current is 40 nA
It can also be ignored.
Page 7 of 10