Inter-chip transmission--high-speed data crosstalk
I have been debugging something these days. The FSMC of STM32 transmits data to the VGA controller made by Bingo. Since there is no direct connection to the board, the boards are connected with Dupont wires. The FMSC transmission mode is the fastest speed. The FSMC write timing is shown in the figure below. The fastest speed reaches 72M (HCLK). But I used Dupont wires. There is no other way... Magical things keep happening. Ghosts are always around. I would like to share my experience with you, although I only know the basics.
The following figure shows the connection of Dupont wire between STM32 and FPGA in my project. The Dupont wire is 20cm, and the maximum HCLK of FSMC is 72MHz. From right to left, they are D0-D15, CS, RS, WR, RD
First, I will post the chat records when the noble people helped me. The summary of everyone's experience is worth sharing:
High-speed bias transmission, summarized as follows:
(1) The DuPont line cannot be too long
(2) If the interference is large, you can add capacitors to avoid data crosstalk.
(3) The power supply needs to be stable, add decoupling capacitors
(4) Electromagnetic interference
(5) When the jump is huge, there will be interference. Isolate or separate the data line from the signal line.
(6) Asynchronous data must first be latched by a D flip-flop
(7) The jump board from Ffff to 0000 is too large, causing too much interference
solution:
I began to believe that it was a problem with the STM32 code, so I tested the code. The following is the test code I wrote, with 1024*768 data.
void LCD_ColorTest2(void)
{
u16 i,j;
LCD_Write_Address(0,0);//reset ram addr
LCD_WriteData_Begin();//Begin to Write data
for(i=0;i<768;i++)
{
for(j=0;j<1024;j++)
LCD_WriteData(i*j);
}
LCD_WriteData_End();
}
Every time it crashes at 2/3 of the screen, I finally found that at 2/3 of the screen, DATA=512*1024-1=ffff, the next data bit is 0000, the problem is here, because of the jump, the interference is too great, just as the chat record said, so I separated WR and RS and connected them to the pins on the side with the same function (fortunately the IO on the side also reserved FSCM IO). In this way, the signal line and the data line are separated, and strangely, the image transmission is complete, and there is no data loss. As shown in the figure below, the yellow is the WR and RS signal lines after the change.
I remember when I was drawing boards in the lab, high-speed communications, Ethernet, RFID, etc., signal lines had to be isolated with GND, and Dupont wires were the worst. I remember the 900M RF board back then, which was really a loss.
Hey, sharing experience, what's the crosstalk, summarizing errors, the theory is too lacking in theory...
Previous article:The best article for beginners on ARM
Next article:Three-phase electrical signal data acquisition system based on LPC2103
- Popular Resources
- Popular amplifiers
- Learn ARM development(16)
- Learn ARM development(17)
- Learn ARM development(18)
- Embedded system debugging simulation tool
- A small question that has been bothering me recently has finally been solved~~
- Learn ARM development (1)
- Learn ARM development (2)
- Learn ARM development (4)
- Learn ARM development (6)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- CGD and Qorvo to jointly revolutionize motor control solutions
- CGD and Qorvo to jointly revolutionize motor control solutions
- Keysight Technologies FieldFox handheld analyzer with VDI spread spectrum module to achieve millimeter wave analysis function
- Infineon's PASCO2V15 XENSIV PAS CO2 5V Sensor Now Available at Mouser for Accurate CO2 Level Measurement
- Advanced gameplay, Harting takes your PCB board connection to a new level!
- Advanced gameplay, Harting takes your PCB board connection to a new level!
- A new chapter in Great Wall Motors R&D: solid-state battery technology leads the future
- Naxin Micro provides full-scenario GaN driver IC solutions
- Interpreting Huawei’s new solid-state battery patent, will it challenge CATL in 2030?
- Are pure electric/plug-in hybrid vehicles going crazy? A Chinese company has launched the world's first -40℃ dischargeable hybrid battery that is not afraid of cold
- Can the comment statement in C language be written in the IF judgment condition in KEIL5?
- How to handle the error in calling the ti.osal.ae674 library when porting the FATFS routine of pdk_omapl138?
- Problems with functionality after reset
- ZTE's 7nm chip mass production still needs time to catch up with high-end chip track
- 【Qinheng RISC-V core CH582】Timer PWM drive servo
- Selection and use of bypass capacitors
- CircuitPython Holiday Wreath
- Application and advantages of mica capacitors
- First Battlefield
- Infrared remote control LED dot matrix