VSM3 User Guide Positioning Universal Inc. Version 1.0 Positioning Universal, Inc. - Confidential & Proprietary Model: VSM3 Document Revisions Date Version Number Document Changes 2020.02.19 1.0 First Release Positioning Universal, Inc. - Confidential & Proprietary 2 Model: VSM3 Regulatory Notice Federal Communications Commission (FCC) and Industry Canada (IC) Notice Electronic devices, including computers and wireless modems, generate RF energy incidental to their intended function and are therefore subject to FCC rules and regulations. This equipment has been tested to, and found to be within the acceptable limits for a Class B digital device, pursuant to Part 15 of the FCC Rules and Industry Canada ICES-003. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures:
- Reorient or relocate the receiving antenna.
- Increase the separation between the equipment and receiver.
-Connect the equipment into an outlet on a circuit different from that to which the receiver is connected.
-Consult the dealer or an experienced radio/TV technician for help
- This device and its antenna(s) must not be co-located or operating in conjunction with any other antenna or transmitter. This device complies with Part 15 of the Federal Communications Commissions (FCC) Rules and with Industry Canada (ICES-003). Operation is subject to the following two conditions:
This device may not cause harmful interference. This device must accept any interference received, including interference that may cause undesired operation. The manufacturer is not responsible for any radio or TV interference caused by unauthorized modifications to this equipment. Such modifications could void the users authority to operate the equipment. This equipment complies with FCC and IC radiation exposure limits set forth for an uncontrolled environment. This equipment should be installed and operated with minimum distance of 20 cm between the radiator and your body. This transmitter must not be co-located or operating in conjunction with any other antenna or transmitter. Positioning Universal, Inc. - Confidential & Proprietary 3 Table of Contents 1 Introduction 2 Hardware Physical and Electrical Specifications 2.1 2.2 13 Wire Harness 2.3 LED Indicators 3 Programming and Configuration Summary 3.1 DMAN Server 3.2 Applications 3.3 Settings Files 4 Tracking Behavior Summary 4.1 4.2 Power State Reporting Ignition and Virtual Ignition 4.3 Absolute G detection 4.4 Moving State 4.5 4.6 Stopped State Sleeping State 4.7 Heartbeat Reporting 4.8 Driver Behavior 4.9 AGPS 5 Detailed State Behavior 5.1 State Transitions 5.2 Moving to Stopped through Ignition OFF 5.3 Moving to Stopped through No Movement 5.4 Moving to Stopped through Low GPS Quality 5.5 5.6 5.7 5.8 5.9 Sleeping or Stopped to Moving through Ignition ON Sleeping or Stopped to Moving through Virtual Ignition Stopped to Moving through Movement Sleeping to Stopped through Absolute G change Sleeping to Stopped through Vibration Model: VSM3 6 7 8 8 9 10 10 10 10 12 12 12 13 13 13 13 13 13 13 14 14 14 14 14 15 15 15 15 15 Positioning Universal, Inc. - Confidential & Proprietary 4 Model: VSM3 15 15 16 16 16 17 17 17 17 17 17 17 18 18 18 18 18 19 20 21 21 21 21 21 5.10 Sleeping to Stopped through Heartbeat 5.11 Stopped to Sleeping through Quiescence 6 Detailed Moving Interval Reporting Logic 6.1 Moving Interval Locations 6.2 Moving Minor Locations 7 Detailed Reset Logic 7.1 Device Reboot Periodic Reboot Watchdog Reboot Update Reboot 7.2 Comm Module Reset No ACK Reset No AT Command Reset Command Based Reset 7.3 GPS Module Reset No Location Message Reset Command Based Reset 8 Message Resend Logic 9 Flash Storage Logic 10 Pinning, GPS Quality Filter, and AGPS 10.1 Pinning 10.2 Filter Parameters 10.3 Adding Events In Poor Coverage 10.4 AGPS Positioning Universal, Inc. - Confidential & Proprietary 5 Model: VSM3 Introduction 1 The VSM3 is a remote start and security tracking device that uses a GPS satellite receiver to determine location information and an LTE transceiver to communicate information to and from a land based server. This document outlines the operation and configuration of the VSM3 product line using the supplied tracking application. Integration of the VSM3 to a listening/parsing server and more details regarding hardware use, configuration, and troubleshooting are contained in the VSM3 Integration Guide. Positioning Universal, Inc. - Confidential & Proprietary 6 Model: VSM3 2 Hardware Positioning Universal, Inc. - Confidential & Proprietary 7 Model: VSM3 2.1 Physical and Electrical Specifications Dimensions: 160mm * 70mm * 27mm Weight: 6.5oz Input Voltage: 9-15VDC Power consumption:
- Active mode: 70mA 12VDC
- Low power mode: 15mA @ 12VDC Operating temperature: -40 to 80 Storage temperature: -40 to 85 2.2 Wire Harness The VSM3 Vehicle Tracker supports a varieties of wire harness for power and IO. For example, it can work with the 13 wire harness includes 3 connectors and 2 flying leads. Positioning Universal, Inc. - Confidential & Proprietary 8 2.3 LED Indicators There are 3 indicator LEDs on the device, which are used to indicate the status of cellular communications and GPS, and to indicate when messages are created and transmitted. The orange LED indicates communications status:
Model: VSM3 Off indicates modem is off Slow blinking indicates no PDP session is active searching for cell signal Fast blinking indicates network available Alternate Solid & Fast blinking indicates registered on network, no acknowledgement Solid indicates registered, with acknowledgement and active PDP session The white LED indicates GPS status:
Off indicates GPS is off Slow Blinking indicates searching for GPS signal Fast blinking indicates GPS time sync Solid indicates a good quality GPS fix The green LED indicates serial status:
Off indicates no DS4 device communication Solid indicates a good serial connection with DS4 unit Positioning Universal, Inc. - Confidential & Proprietary 9 Model: VSM3 3 Programming and Configuration Summary VSM3 is programmed and configured either via the serial UART connection or via an Over the Air (OTA) process on the cellular data network. 3.1 DMAN Server A Device Manager Server on the Positioning Universal infrastructure automatically updates Applications and Settings files for groups of devices. When an update of the application or new settings are released, they are loaded into the DMAN server and assigned to the Groups of devices that are to receive the update. The DMAN server automatically updates devices to the latest assigned versions. In normal operation, devices check in to the DMAN server regularly to report their health, and to check whether they are due to get updates. The application provides standard tracking functionality to the VSM3. The specific operation and variations in behavior are provided via parameters included in a Settings file. These parameter values may vary depending on the nature of the specific tracking application that the device is employed in. 3.2 Applications The Tracking Application is software developed to run on the VSM3 device family and provide functions that are typically used in vehicle and asset tracking. Updates to the application are provided by Positioning Universal to provide improvements, corrections, and add new functionality when it is ready for release. 3.3 Settings Files The parameters used by the application to control tracking and other functions are contained in a settings file on the DMAN server and loaded to devices over the air. A simple interface allows users to specify the values of relevant parameters for devices or groups of devices. Below is an example of the settings file creation interface. Please see the DMAN User Guide for details on how to create Settings Files. Positioning Universal, Inc. - Confidential & Proprietary 10 Model: VSM3 11 Positioning Universal, Inc. - Confidential & Proprietary Model: VSM3 4 Tracking Behavior Summary VSM3 applications address the needs of typical vehicle and asset tracking. Variations in functional behavior for specific applications is controlled via parameters in the settings file. 4.1 Power State Reporting The VSM3 can be configured to report power up and rebooting behavior in a variety of ways depending on what is desired. Cold Boot, Warm Boot, and first GPS Acquisition are reported if so configured following Power Up events, power cycling, commanded reboots, and configured periodic reboots. In addition, there is an option to report a Stop event following a reboot of a non-moving device to address some customer needs to ensure that the corner case of a reboot occurring at the end of a trip doesnt result in an error in trip or idle reporting by the server. If the device is equipped with a backup battery, then it will also report Power Disconnected and Power Connected events when primary power is removed and restored. Ignition and Virtual Ignition 4.2 The VSM3 power harness includes an input which is normally used to detect ignition status. This should be connected to a source on the vehicle or asset that provides a voltage only when the ignition is in the ON state. When connected, this provides the device with clear indication of when the ignition changes state (ie ignition is turned on or off). The device reports these events and uses them to enter and leave Moving state. A debounce value can be applied to the ignition signal. Debounce in this application means a minimum dwell time of the change in ignition state before the state changes. This is intended to avoid multiple messages being generated when the key switch in a vehicle may generate multiple transitions during the starting sequence. There are cases when an Ignition signal is not present, but it is desired to detect and change the state of the device. These include simple installations without a hardwired ignition line, towing of vehicles, or moving of assets that dont supply an ignition signal. Virtual Ignition is triggered by a sudden step up in voltage, consistent with starting a vehicle. A minimum voltage threshold can also be specified to further qualify an ignition event. A Virtual Ignition event is reported and the device enters Moving state. If the device GPS indicates that a device is moving, it will enter Moving state and start reporting based on the parameters set by the Settings file. If a device without hardwired ignition comes to a stop of sufficient duration, a Stop event is reported and the device enters Stopped state. Positioning Universal, Inc. - Confidential & Proprietary 12 Model: VSM3 4.3 Absolute G detection Absolute G is an algorithm that detects low frequency changes in the resultant vector of the acceleration reported by a MEMs accelerometer. This permits the device to detect things like vehicle acceleration without a GPS fix. Higher frequency activity like normal vibration, doors opening or closing, are filtered out. Exceeding the Absolute G threshold specified in the Settings file will wake a device and put it in the Stopped state. 4.4 Moving State A device enters Moving state either due to detection of a hardwired Ignition signal, an increase in the supply voltage, detection of movement by the GPS, or an Absolute G detection. While in Moving state, the device reports periodically as configured. Both primary Moving interval reports with full data, and minor intervals (with only latitude, longitude, speed, and time) for data compression can be reported while in Moving state. 4.5 Stopped State A device enters Stopped state when it wakes from Sleep, or when it exits Moving State due to an Ignition OFF signal, or detection of a Stop event. 4.6 Sleeping State A device enters Sleeping state from Stopped state when all of vibration, GPS movement, and primary voltage are quiescent for a sufficient duration. The qualifying duration of quiescence, and the degree of sleep encountered, are controlled by parameters in the Settings file. 4.7 Heartbeat Reporting The device reports a Heartbeat message at an interval specified regardless of state. If the device is sleeping when the Heartbeat timer expires, it will wake up and generate the Heartbeat message. Whether the device attempts a GPS fix for each Heartbeat message can be specified. 4.8 Driver Behavior Driver Behavior reporting is still in development and is not recommended for use at this time. Driver Behavior reporting generates alerts based on detection of g values that exceed thresholds specified in the Settings file. The direction of the acceleration determines whether the event represents Hard Acceleration, Hard Braking, or a Swerve. 4.9 AGPS Where the inbound server has the capability, Assisted GPS is employed if a GPS fix is not available following the detection of an Ignition ON or Virtual Ignition event. Positioning Universal, Inc. - Confidential & Proprietary 13 5 Detailed State Behavior 5.1 State Transitions The following diagram details possible state transitions. Sleep ing Movi ng Model: VSM3 Upda ting Stopp ed There are 3 main states in the software state machine: Moving, Stopped, Sleeping. There is also an Updating state when the application or settings information on unit are being updated. When in Updating state the device will ignore all normal behavior until unit is updated at which time it is rebooted. The parameters and thresholds applied for state transitions are primarily contained in the Settings File. 5.2 Moving to Stopped through Ignition OFF A device enters stopped state if a hardwired Ignition OFF is detected. A 1 second debounce is used on the ignition input to avoid chatter. 5.3 Moving to Stopped through No Movement A device enters stopped state if no locations exceed a specified threshold speed in a given amount of time. The threshold speed is usually a relatively low value like 5 kph. The stop time is usually on the order of 3-5 minutes. 5.4 Moving to Stopped through Low GPS Quality If GPS quality threshold is not achieved for the stop time period then the state will transition from moving state to stopped. Positioning Universal, Inc. - Confidential & Proprietary 14 5.5 Sleeping or Stopped to Moving through Ignition ON A device enters Moving state if a hardwired Ignition ON is detected. A 1 second debounce is used on the ignition input to avoid chatter. Model: VSM3 5.6 Sleeping or Stopped to Moving through Virtual Ignition If the absolute voltage VIN is changed by the amount specified then the unit is put in Moving state. This event will trigger if voltage increases or decreases by the specified percentage. Sampled every 5 seconds. This event will not be generated at all if the device is running off backup battery or if Ignition On has already been sensed. 5.7 Stopped to Moving through Movement There are two elements of a stopped to moving transition. A number of consecutive locations at a threshold speed value and, optionally, a minimum moving distance. GPS fixes are received at 5HZ. The thresholds include the minimum speed that device must travel to be considered for state transition, the number of consecutive fixes at this minimum speed in order for a transition to Moving state, and optionally, a minimum distance a device must travel at or above this speed. 5.8 Sleeping to Stopped through Absolute G change If the absolute sum of the 3 axis accelerometer changes by the specified percentage then the unit is put in Moving state. 5.9 Sleeping to Stopped through Vibration If the MEMs vibration sensing algorithm detects vibration, shock, or acceleration values that exceed the specified thresholds in a device in Sleeping state, then the device will wake up and enter Stopped mode. 5.10 Sleeping to Stopped through Heartbeat If the Heartbeat timer expires when the device is in Sleeping state, it will wake up and enter Stopped mode. Depending on configuration, the device may attempt a GPS fix before sending a Heartbeat message. 5.11 Stopped to Sleeping through Quiescence The Stopped to Sleep transition occurs when:
no accelerometer trigger events occur in specified time period no UDP packets are received during specified time period Positioning Universal, Inc. - Confidential & Proprietary 15 6 Detailed Moving Interval Reporting Logic Model: VSM3 6.1 Moving Interval Locations Move Interval Location messages are triggered by a time interval after the device has entered the Moving state. Messages are sent on this time interval until the unit moves into Stopped state. If the unit enters a poor GPS area then the Move Location message is populated with the last good latitude, longitude, satellites, horizontal accuracy. However, the VIN (main power voltage), battery voltage, IO state, and RSSI are updated to current values. 6.2 Moving Minor Locations Minor Move Location messages are size optimized messages which are appended to a Location message representing offsets from main Location message. If a device enters poor coverage, the minors associated up to the last good GPS location are reported with next Move Major Message. If a device receives an Ignition Off then all current minors are dumped with the Ignition Off message. However, if a device enters poor GPS coverage and then enters good GPS coverage during a Move Major timeout, only the minors associated with the current good GPS coverage are reported. So for example, if a device reports a Major Move then 10 seconds later enters poor GPS coverage and then 20 seconds later enters good GPS coverage and stays in good coverage until next Major Move report, only minors for the last 30 seconds are reported as part of the Major Move. If a unit moves more than 700 meters between minor locations then all minors are dumped and the minor location logic is restarted. Positioning Universal, Inc. - Confidential & Proprietary 16 7 Detailed Reset Logic Model: VSM3 7.1 Device Reboot Cold Boot Any time there is a physical power up event the device checks the status of the Cold Boot Settings parameter and sends a Cold Boot message, a GPS Acquired message, and a Stop message at the appropriate time if they have been specified. Warm Boot Any time there is a warm boot event the device checks the status of the Warm Boot Settings parameter and sends a Warm Boot message, a GPS Acquired message, and a Stop message at the appropriate time if they have been specified. Periodic Reboot Based on a parameter, the device can be set to perform a reboot periodically to address any unhandled issues that may arise in the device. Watchdog Reboot If the microprocessor hasnt been able to reach processor idle loop for 20 seconds then the unit is automatically rebooted. This is to stop any endlessly running loop from hanging the unit. This reboot is reported as a Cold Boot and is treated as a Cold Boot from the point of view of Boot Settings. Update Reboot Every time the device has its application or settings file updated, the device is rebooted. Also if the device times out during update it will reboot. This reboot appears on server as a Cold Boot and is treated as a Cold Boot from the point of view of Boot Settings. 7.2 Comm Module Reset There are a number of conditions which trigger the comm module be reset. No ACK Reset If a message has been sent requiring an ack then a timer is set. If no ack is received before the timer then the module will be reset. This logic is intended to cause the comm module to be reset if it is locked up but still reporting some kind of comm update. No Comm Available Reset If the module has not reported that it is available for comm within the time specified then the module will be reset. Positioning Universal, Inc. - Confidential & Proprietary 17 Model: VSM3 If no AT response has been received from the Comm module for a given time after sending an AT command, then the Comm module is reset. No AT Command Reset Command Based Reset If the device receives a comm,reset command through UDP or SMS or serial port, then the module is reset. 7.3 GPS Module Reset No Location Message Reset The GPS module is rebooted (physically powered off and then on) if no gps location is received from it for a specified number of seconds. This will prevent the GPS module being powered up and having sent a number of locations and then stopping. A typical value for this parameter is 30 seconds. Command Based Reset If the device receives a gps,reset command through UDP or SMS or serial port, then the module is reset. Positioning Universal, Inc. - Confidential & Proprietary 18 Model: VSM3 8 Message Resend Logic A send fails if an ack is not received within the specified retry interval. The interval of resend is specified through a parameter array in seconds, e.g. [15, 60, 300, 600]. In this case, a send fails if no ack received within 15 seconds on the first message send, 60 seconds on the second and so on. Each time a message is retried the backoff index is incremented by 1 so in example above after sending a message and not receiving a response the next message will be 15 seconds. When the last value of array is reached, it is repeated until a server ack is received. An ack reverts the logic to original state. Positioning Universal, Inc. - Confidential & Proprietary 19 Model: VSM3 9 Flash Storage Logic Pending location messages are stored in a small RAM based queue. Once more than 3 messages are queued in RAM then all queued locations and all subsequent locations are stored in flash memory until there are no outstanding locations at which point it reverts to a RAM queue. If the device enters sleep mode then all messages in RAM are stored in flash. Controlled reboots are caused by the reboot command, and periodic timeouts and result in the saving of RAM queue to flash. All other reboots cant be controlled and the up to 3 messages in the RAM queue will be lost. It is desirable to store as few locations to flash as possible since flash on device can wear out after 10K erase cycles so the RAM queue greatly reduces number of unnecessary write cycles. The VSM3 can store around 2150 messages in flash memory. Positioning Universal, Inc. - Confidential & Proprietary 20 Model: VSM3 10 Pinning, GPS Quality Filter, and AGPS The Quality Filter is needed to prevent poor quality gps data from triggering erroneous events. Only good quality locations which meet the quality filter are used in move locations. The GPS module reports locations on a 5 HZ interval. 10.1 Pinning Typically, the location reported by a GPS device is an estimate of location based on the calculations inside the GPS module. This estimate can vary over time, even for a stationary vehicle because of the effects of the moving satellites and atmospheric and local conditions. This can result in the module reporting a stationary object as moving slowly. In addition, occasional interferences or satellite signal reflections can result in errant location reporting. GPS quality is used to filter out suspect information based on the number of satellites whose signals are reaching the GPS module at any given time, in addition to estimates the module makes of how accurate the fix might be. To reduce the risk of falsely reporting that a stationary device is moving, the GPS module pins the device location to a fixed point when the fix appears to be stable and not moving a significant distance. 10.2 Filter Parameters A location will be considered good if it meets the following criteria:
has more than or equal to the minimum number of satellites has at least the minimum Horizontal Accuracy (HAC) estimate. Note that the minimum can vary based on Stopped or Moving state. A tighter HAC threshold is typically used in Stopped state to reduce the incidence of false indication of movement 10.3 Adding Events In Poor Coverage If a location is below the quality threshold then it will not be used for event reporting. Instead the last good location will be used for new events. This means that when a vehicle enters an underground garage, it will appear to stop at the entrance to the garage since the device probably hasnt received any good locations after it entered. 10.4 AGPS The device attempts to download GPS assist data from the DMAN server using current cell tower information when the following conditions are met:
The device has transitioned to Moving state The device doesnt have a valid GPS fix Positioning Universal, Inc. - Confidential & Proprietary 21 Model: VSM3 The AGPS delay timer has expired (since transition to Moving state) The transition to Moving state with an invalid GPS can only occur on Ignition On or Virtual Ign On event. The device must enter Sleeping state before another Moving state transition will cause another AGPS request. Positioning Universal, Inc. - Confidential & Proprietary 22