“Recently, the Raspberry Pi 4 Model B (Raspberry Pi 4B) was officially released. It has been fully upgraded in terms of processing capabilities, communication methods, and external interfaces, bringing good news to embedded developers.
Recently, the Raspberry Pi 4 Model B (Raspberry Pi 4B) was officially released. It has been fully upgraded in terms of processing capabilities, communication methods, and external interfaces, bringing good news to embedded developers.
After receiving the goods, many developers began to try to use it with excitement, but found that the USB-C interface had serious problems in the design specification.
Raspberry Pi 4 with USB-C port
After actual testing, it was found that the CC1 and CC2 of the USB-C interface on the Raspberry Pi 4 are connected together, and share a 5.1k resistor to pull down to the ground.
This design seems to be very ingenious, and the control of the USB-C interface is extremely simple, requiring only a 5.1k pull-down resistor. When the external USB-C data cable is without Emark chip, it can work normally.
Because the CC2 of this type of USB-C data cable is suspended, only CC1 is connected to the opposite end, so this data cable is connected to the USB-C interface socket of the Raspberry Pi 4B, which is very suitable for Sink. The design specification for the terminal, that is, on CC1, has a 5.1k resistor pulled down to ground.
Raspberry Pi 4B connection when using the cable without Emark chip
However, in the USB TYPE-C specification, a data cable with an Emark chip is also specified. There is a 1K pull-down resistor on CC2 of this data cable, which is used to inform the CC identification chip on the DFP side. VCONN Source is available on CC2.
Once connected to such a data line, the Raspberry Pi 4 Model B will have serious problems, because after CC1 and CC2 are connected, they will be connected in parallel with the 1K-to-ground resistance on the data line, forming an impedance smaller than the 1K resistance. , which satisfies the connection specification of Audio Adapter Accessory Mode in the USB-C specification, and is mistaken by the power supply as an analog headphone device, thus refusing to supply power.
Raspberry Pi 4B connection when using the cable with Emark chip
From the above figure, we can see that the 1k resistor on the Emark connection line will cause the CC1 to fail to establish, and the parallel connection of the 1k resistor and the 5.1k resistor will cause the Raspberry Pi 4B to be considered as an Audio Adapter Accessory Mode.
The solution to this problem is also very simple, just connect a 5.1K resistor to the ground on each of CC1 and CC2, and they are independent of each other.
The design of the Raspberry Pi 4B on the USB-C interface is actually an entry-level design, because this interface is only used for 5V power supply and a USB2.0 communication, and there is no complicated audio, video and USB 3.0 functions.
In actual embedded development, the function of a USB-C interface may be far more than that. Next, we will elaborate on the three points of high-power power supply, high-speed signal transmission, and dual C-port DRP control.
First, you need to use the USB-C interface to obtain a power supply voltage of 9V/12V/15V/20V.
Many embedded systems have very complex functions, and only 5V power supply cannot meet the requirements. At this time, it is not enough to set 5.1k pull-down resistors on CC1 and CC2 separately. Instead, a USB PD control chip must be used, preferably a USB PD control chip that can flexibly configure various voltages, such as LDR6015 and LDR6021 This function can be achieved.
In some system designs, it is even hoped that the USB PD control chip will automatically determine the highest power level of the adapter, so that the power adapter can directly supply the highest power to the embedded system. highest power.
Second, it is necessary to use the USB-C interface for application development of high-speed video signal transmission.
The USB-C interface can support 10G/b USB 3.1Gen2 data transmission and 4K high-definition video transmission at the same time. But to make the sink end enter the DP ALT mode, this one must use a USB PD Controller, such as LDR6282, etc.
This type of USB PD control chip plays the role of a traffic administrator. It configures the high-speed differential pair path in the USB-C data line through USB PD communication, so that the data signal and video signal are adapted to the appropriate differential pair. superior.
Third, dual C port DRP function control.
Many embedded applications not only use a single USB-C port, but may also have two USB-C ports, one of which is used for power supply, and the other is used for high-speed data and video signal transmission.
However, users are not sure which of the two ports will be plugged into the power supply or multimedia equipment during use. Therefore, it is necessary to meet the identification and control of blind plugging of dual C ports. The most typical application is the Display and control of the USB-C interface. projector.
This is a more complex USB PD control function. Currently only the LDR6282 on the market can meet this demand.
USB PD chip LDR6282 for dual C port DRP control
To sum up, we can see that for embedded systems where the USB-C interface is only used for power supply and Debug functions, the USB-C interface does not need to use any chip control, and pull down a 5.1k resistor independently through CC1 and CC2. Just get there. For embedded designs that require high-power power supply or high-definition video transmission, a USB PD control chip must be used.