With the development of embedded technology, serial bus technology is more and more used in various fields. For example, can is the abbreviation of controller area network (hereinafter referred to as can), which is an ISO international standardized serial communication protocol. In the current automotive industry, for the requirements of safety, comfort, convenience, low pollution and low cost, a variety of electronic control systems have been developed. Due to the different data types and reliability requirements used in the communication between these systems, there are many cases composed of multiple buses, and the number of wiring harness also increases. In order to meet the needs of “reducing the number of wiring harness” and “carrying out high-speed communication of a large amount of data through multiple LANs”, Bosch, a German electric company, developed can communication protocol for automobile in 1986. Since then, can has been standardized by iso111898 and iso111519, and now it is the standard protocol of automobile network in Europe.
In order to meet the needs of users for special serial bus debugging, some test instrument manufacturers have launched oscilloscopes with custom serial bus trigger and analysis functions. Users can simply set up according to their own needs to realize non universal serial bus debugging. In the following, take the dlm2000 oscilloscope newly launched by Yokogawa electric company as an example to explain this function in detail.
Bus, which is called “bus” in English, is our Chinese “public bus”, which is very vivid. For example, the route of the public bus is certain, and anyone of us can take the bus to any station of the public bus route. If we compare ourselves to electronic signals, that’s why we call it “bus” instead of “car” in English. Of course, from a professional point of view, bus is a structural form of describing electronic signal transmission lines, a collection of signal lines, and a common channel for information transmission between subsystems. Through the bus, the information among the components in the whole system can be transmitted, exchanged, shared and controlled logically. For example, in a computer system, it is a common channel for CPU, memory, input and output devices to transmit information. Each part of the host is connected by the host, and the external devices are connected by the bus through the corresponding interface circuit.
Trigger of custom serial bus:
Figure 1 custom serial bus trigger setting menu
Dlm2000 supports standard can / Lin / I2C / SPI / UART bus trigger, and one item in the serial bus trigger menu is (user define). Enter this item to set the trigger of custom bus. The following settings can be made in this menu:
Data source: Specifies the channel as the data signal source.
Active level: Specifies whether the high or low level is set to logic 1.
Clock: for the bus synchronized by clock, you can set the clock, select the clock source, and set the sampling at the rising or falling edge of the clock signal.
Chip selection (CS): when clock synchronization signal is used, the validity of data is controlled by chip selection signal. The chip selection source can be set, and the high level is valid or the low level is valid.
Latch: you can specify the time when the data source type of clock synchronous sampling is compared with the specified code type. It can be a fixed latch source, and it can be compared at the rising or falling edge of the latch source.
Trigger condition: data code type can be used as trigger condition. When the code type of the sampled data source is consistent with the specified code type, the trigger condition of data code type is established.
Figure 2 setting of trigger conditions for custom serial bus
The length of data code type can be set to 1 ~ 128 bits, and the code type can be set according to binary or hexadecimal.
Bit rate: when there is no synchronous clock source, the bit rate of the signal can be set, the setting range is from 1kbps to 50Mbps, and the step value is 1kbps.
The following is an example of a custom bus trigger with clock synchronization.
First of all, the clock source, data source, chip selection signal and latch signal are set correctly, and then the corresponding trigger conditions are set, which can trigger like the universal serial bus and capture the required signal waveform.
Figure 3 example of clock synchronization serial bus trigger
Analysis of custom serial bus
After triggering the custom bus, we can decode and analyze it. The corresponding settings should also be made. Similar to trigger setting, data source, clock source, chip selection source and latch source should be specified and set accordingly; For the bus without clock synchronization, the bit rate should be specified, and the setting range is 1kbps ~ 50Mbps. The reason why we need to set the decoding starting point is that the oscilloscope has no built-in custom bus protocol, so we can’t judge the frame structure of the bus, so we need to manually specify the decoding starting point.
Figure 4 custom serial bus analysis settings
Open the decoding display function, you can see the decoding result at the bottom of the data waveform. Because there is no built-in protocol, it cannot be displayed in frame structure.
Figure 5 custom serial bus decoding display format setting
If you want to find the data you want in a large amount of data, you can use the search function to specify the number of data bits and data code type for the search. After the search, the search results will be marked out and displayed in the zoom window. The search setting is similar to the trigger setting.
Taking the MVB serial bus commonly used on the train as an example, this paper introduces how to use the custom serial bus function.
MVB (multi function vehicle bus) is a bus standard defined by TCN (train communication network) to realize data communication between standard equipment in the same vehicle or different vehicles with fixed reconnection.
The serial data on the MVB bus adopts the asynchronous differential transmission Manchester code, and each data bit in the Manchester code shall be encoded according to the following specifications:
a) A “1” code is “high” in the first half of the bit and “low” in the second half;
b) The encoding of a “0” is “low” in the first half of the bit and “high” in the second half;
If the high level (NH) of the whole bit or the low level (NL) of the whole bit appears in the Manchester code, it is considered as a non data character and is used for special occasions, such as frame head and frame tail identification.
MVB bus belongs to asynchronous transmission bus, so there is no need to set clock source, chip selection and latch signal in trigger and analysis, just need to set the correct bit rate and appropriate start point. The bit rate of MVB bus is generally 1.5mbps, which can be set correctly.
It should be noted that the starting point is specified. Because MVB bus adopts Manchester code, it is different from the commonly used high and low level to determine the logic “0” and “1”. Therefore, only the position of the start point is suitable can it be correctly decoded.
After setting, the decoding result will be displayed below the waveform. Through manual comparison, we can simply judge whether the decoding is correct. The decoding result can be displayed in binary, hexadecimal or ASCII form through the display setting, which is easy to read.
Figure 6 trigger analysis of MVB serial bus
As shown in the above example, if the bus being debugged is not universal serial bus such as can, Lin, I2C, SPI and UART, the custom serial bus analysis function of dlm2000 can provide convenience for users’ analysis work to a certain extent, and does not need to pay high cost. This is also the original intention of developing this function.
User defined >