The application of GMSL in dual automotive electronic control units is analyzed in detail

Mondo Cars Updated on 2024-02-18

ADI's Gigamulti** Serial Link (GMSL) scheme enables the serial conversion of digital and audio data and then transmits it serially over a pair of twisted pairs. In addition, the integrated bidirectional control channel enables a single microprocessor (C) to program the serializer, deserializer, and all connected peripherals. Remote microprocessors and related components such as clock source crystals and low-voltage power supplies can be eliminated in typical applications. This solution simplifies the remote design and reduces system cost, size, and power consumption. However, there are cases where C still resides at both ends of the link in the system, taking into account special needs outside of GMSL. This application note describes how to connect two C's to control GMSL.

When using single C, if C is on the serializer side, the control direction selection pins (CDS) at both ends of the serializer deserializer are usually set low; If c is on the deserializer side, set the direction control selection high. However, if the CDS of the serializer is set low and the CDS of the deserializer is set high, each GMSL chip can be connected to its respective C at the same time (Figure 1).

Figure 1A simple double-C application schematic with CDS settings is shown in the diagram.

With both C's, both the serializer and deserializer's I2C hosts are disabled, and the RX SDA and TX SDL are configured as UART interfaces by their corresponding Cs. Since each device operates as a local device, it cannot go into hibernation. The corresponding active-low PWDN pin is used to control each device into a low-power state. It is important to remember that when waking up from a power-off state, all device settings are reset to their initial power-up values.

Figure 2Serializer state diagram (cds = low).

Figure 3Deserializer state plot (cds = high).

In the configuration shown in Figure 1, each C can communicate with the MAX9259 serializer, MAX9260 deserializer, or other C using the GMSL UART protocol. GMSL does not provide anti-conflict measures, and users need to provide their own conflict handling measures.

Stand-alone networking

The easiest way to prevent collisions is to have each C have its attached serializer deserializer fwdccen and revccen position 0 (0x04 d[1:0]). This scheme disables the receivers and transmitters of the forward and reverse control channels, and effectively splits the control network into two independent networks (Figure 4). Any communication over a serial link first requires C on each side to re-enable communication at the corresponding link end. This setup is in"Constant"It is very effective in the application, where the settings of the critical link-specific registers do not change from the initial state.

Figure 4Independently controlling the network avoids the possibility of conflicts.

Software Conflict Handling

In those applications where communication between serial links at both ends is essential, the user can avoid collisions through higher-level protocols (Figure 5). In the example below, each C waits for an ACK frame to determine if its instruction is successful. In the event of a collision, the serializer deserializer does not emit an ACK frame. After receiving an ACK frame that fails, C waits for a period of time based on their device address before resending the instruction. Because the microprocessors have different device addresses in this design, there are no conflicts when the communication is retried.

Figure 5An example of how the software handles conflicts.

Some apps don't require both C's to work at all times. During operation, if the CDS input on either end changes state, the device resumes operation following the link-start steps described in the MAX9259 data sheet. Switching between single-C and double-C operations as needed, and turning GMSL on hand will take up fewer resources. Off-use C can be turned off to reduce power consumption, helping to extend battery life.

In the following application, the deserializer side of the link is a display panel configured to turn the power on and off remotely. Both the board shutdown input and the single/dual C control are connected to the outputs of the MAX9260GPIO0 (Figure 6). Once powered up, the GPIO outputs high to keep the remote device off, and the deserializer is configured as the far end device due to the additional inverter. Since the MS is connected to the GPIO, the MAX9260 is powered up in sleep mode, and all other devices are in a low-power state.

To turn on the remote control panel, the serializer wakes up the MAX9260 and establishes a serial link. Then, C on the serializer side sets GPIO0 to low, so that MS is set low and the inverter output is high. The inverter sets the MAX9260 as a local device and wakes up the rest of the circuitry in the remote display panel. The MS must be set low to maintain the base mode of the MAX9260 UART interface.

To shut down the remote panel, the serializer sets GPIO0 high to shut down the remote device and sets the MAX9260 as the remote device. Then, set sleep = 1 within the MAX9260 to put the device into sleep mode.

Figure 6Single, double, and distal display examples.

Similar to the example above, the serializer side of the link is a camera module configured to turn off the power at the remote end. The MAX9259's INT output controls the board's shutdown input and single/dual C switching (Figure 7). In this application, the INT is used as a GPO to control the output by setting the INT input of the setint (0x0d d7 of the MAX9259) or the deserializer. Once powered up, the int output is low, keeping the remote device off. The inverter output is connected to the CDS, configuring the serializer as a remote device. Since active-low autos is set high, the MAX9259 is powered up in sleep mode.

To open the far panel, the deserializer wakes up the MAX9259 via the GMSL UART command. The deserializer then sets the MAX9259's int output high to power up all far-end devices. The inverter output places the MAX9259 as a local device and can receive UART instructions via local C.

To turn off the far-end panel, the deserializer sets the int output of the MAX9259 low, shuts down the remote device, and sets the MAX9259 to the remote device. The deserializer then sets sleep = 1 within the MAX9259 to put the device to sleep.

Figure 7Single-double-c remote camera example.

The double-C application is not limited to the above examples. Symmetrical, bidirectional control panel with real-time CDS and bypass settings (via MS) enables the initiation of numerous serializers, deserializers, and C configurations. Designers need more control to improve system capabilities and minimize system power consumption, maximizing the use of available resources.

If you need to purchase ADI chips, apply for sample testing, BOM matching orders and other needs, **Customer Service WeChat: 13310830171.

#adi#

Related Pages