Glossary of Terms
The page contains a list of definitions for some terms that are used in this website. Click each term to view its definition.
A Controller Area Network, or CAN bus, is a network designed for sending many signals, like voltages, over a few wires. A CAN bus can support at least 2048 different signals using the standard identifiers, or over 500 million signals using the extended identifiers. At top speed a CAN bus can update nearly 100,000 signals with 16-bit resolution.
The CAN bus guarantees to transmit the highest priority signals first, lower priority messages wait until the CAN bus is available. One main advantage of the CAN bus over other serial formats, like Ethernet or RS232, is that the technique for transmitting the signals is defined. No software is required to decode the signals on the CAN bus, so all devices on the CAN bus can send and receive without worrying about how the data is encoded. The way that the CAN bus encodes the data makes it ideal for real-time signals, like voltages from an ADC, but it is not suitable for sending an email or transferring a file.
It is possible to put many nodes on a CAN bus. Each node is a device that can send or receiver a signal (or both). Each node has a CAN bus controller that monitors the CAN bus for signals that it wants to receive and drives the CAN bus with a signal that it wants to send. A CAN bus uses two wires to transfer the data between the nodes. These are normally referred to as CAN High and CAN Low. One of the wires goes to the CAN High pins of all the nodes and the other wire goes to the CAN Low pins of all the nodes. The two wires must form a twisted pair and should have an impedance of 120R. The wires should be terminated at each end using a 120R resistor. In practice it is common for only one 120R resistor to be fitted to short CAN busses. Although technically a ground is not required, many CAN bus drivers do not have a large enough common-mode voltage range. When two devices have a large variation in voltage between them then the CAN bus can fail to work. It is always best to connect the ground between the two systems. Some CAN bus devices are isolated, meaning that their ground and the CAN bus ground are separate. This is not strictly necessary for short CAN busses but can be useful for longer ones.
The signals on the CAN bus are encoded in to messages. If the analogy of the signal is a wire, the analogy of the message is a cable containing several wires; the analogy of the CAN bus is a big cable containing lots of small cables (that contain several wires). Each message had an identifier. The analogy of the identifier is a marking on the “message cable”, like marking the cable with a number. The signals inside the message can range from 1-bit all the way to 64-bits. A message cannot be longer than 64-bits, so no signal can have more than 64-bits of precision. If the signals are 16-bits then 4 signals can be carried by the message.
Similarly, if the signals are 8-bits then 8 signals can be carried by the message. Signals of different precisions can be assembled in to one message too, so long as the message is not longer than 64-bits. Also, the length of a message is always a multiple of 8-bits. Specifying a signal on the CAN bus requires several bits of information: * Whether the message identifier is standard (11-bits) or extended (29-bits) * The message identifier itself * The Start Bit of the signal in the message * The Length or End Bit of the signal in the message * The encoding of the Signal in the message (signed integer, unsigned integer are most common). It is also customary to provide the scaling and offset of the encoding so that the signal can be scaled into its proper units.
A CAN DBC file, or CAN Database is a common format used to hold all the information on a CAN bus. If there are 200 or more signals on a CAN bus that you are interested in then it will take a very long time to enter them all in to your acquisition system. A company called Vector designed a database format that is very commonly used to specify all the messages and signals. Most data acquisition systems can use load Vector’s CAN DBC format.
If your sensor comes with a CAN DBC file then you will not need to load all the messages and signals yourself. The CAN DBC files are available for the RT3000.
GPS satellites transmit their information on two main frequencies. Additional frequencies are being added to new satellites for the future. The main frequencies that civilian GPS receivers can use are L1 and L2. The Coarse Acquisition Code, or C/A code, is one of the signals broadcast on the L1 carrier. This code is only broadcast on the L1 carrier. The other signals on the L1 carrier are the Precise Code, or P code, and the navigation message. The C/A code is used by civilian receivers to locate position. The code is used to determine pseudorange (the apparent distance to the satellite), which is then used by the GPS receiver to determine position. The C/A code is coarse compared to the P-code. The P code is more precise, but it is encrypted into the Y code (by something called Anti-Spoofing), and it cannot be decoded without having a key to the encryption. This is not available to civilian users. The P code is ten times as fast, which means it can determine the pseudorange ten times more accurately. However, it is much more difficult to search, which is why even the military needs the C/A code. The C/A and the P codes are pseudo random number (PRN) codes. This means that they have the characteristics of random noise. However, they are not random; they are very precisely defined. Out of all the possible random sequences, they have been very carefully selected so that they are as orthogonal to each other as possible. Orthogonal codes can operate at the same frequency and cause the minimum amount of interference. Up to 37 sequences have been defined for the C/A code. Each satellite has its own different C/A code sequence. The sequence is repeatedly broadcaster over and over again. The timing of the sequence is critical. It is this timing that allows the local GPS receiver to measure the pseudorange accurately. The C/A code sequence affects the phase of the L1 carrier wave. Conceptually the in-phase L1 carrier can be thought of as a zero and the reverse phase carrier can be thought of as a one. Each zero or one (in-phase or reverse-phase) of the carrier wave is called a chip. The C/A code is 1023 chips long and it broadcast at 1.023 Mega-chips per second. Therefore, the C/A code repeats every millisecond. The broadcast travels at the speed of light, so each chip is about 293 metres long and the whole sequence is about 300 km. There are 1540 cycles of the L1 carrier-wave for each chip and the frequency of the L1 carrier wave is 1.575GHz. Good GPS receivers can usually measure the pseudorange to about 1m or better. Several satellites averaged together can give differentially corrected positioning to 50cm or better. The GPS receiver can also measure the angle of the carrier wave, called the carrier phase. This can be measured to better than 1mm. On L2 civilian GPS receivers can only measure the carrier phase of the carrier wave. The actual information on the L2 frequency is P code; it is encrypted and only available to military users. Using the carrier phase of the L2 signal and all the information on the L1 signal it is possible for a differential GPS receiver to achieve accuracies of 1cm or better.
Heading is the angle where your vehicle is pointing compared to the angle of True North. Heading can also be measured to Magnetic North or Grid North. The exact definition of Heading means that you cannot use your velocity vector to compute it. The angle from the velocity vector should be called the Track Angle or the Course Over Ground. Many GPS products incorrectly use the term Heading to mean Track Angle.
An Inertial Measurement Unit contains three angular rate sensors or gyroscopes and three linear accelerometers. The sensors are normally arranged at 90 degrees to each other, so they can measure the three directions of our 3D universe.
Strapdown is a term used to describe how the accelerometers and angular rate sensors are configured in an Inertial Navigation System or in a Stabilized Platform. When the accelerometers and angular rate sensors are mounted on a fixed, rigid block then the system is called a strapdown system. A computer is used to rotate the measurements made by the accelerometers so that they are in North, East and Down directions. Then the acceleration measurements can be used for navigation. This is different to a platform system where the accelerometers are held in gimbals; the accelerometers are kept so that they point North, East and Down regardless of how the vehicle turns. The angular rate sensors, or gyroscopes are used to keep the platform pointing in the same inertial direction as the vehicle rotates.