Sharing an article from an expert, covering everything from PCB design to layout, and finally getting Linux to run. Let’s learn together!
Author: laplace
After learning Allegro, I always wanted to design a board, create the schematic, layout it myself, and finally get Linux running. I also wanted to learn a bit of Linux, and I saw the H3 projects from experts on the forum, so I wanted to give it a try. First, I found the official documentation for H3 (downloaded from Wu Chuanbin), which provided a reference for the schematic design, making it quicker. Then, I started drawing the PCB.Configuration: USB2, HDMI, headphone, button1, 1 custom LED (for learning Linux LED control, haha), 1 MPU6050 gyroscope (to further learn Linux driver usage), DDR3 512M *2, EMMC 5.0, WIFI, TF card.
The PCB uses a four-layer design.Completed board: TOP layerGND layer 02
POWER layer 03 power distribution
BOTTOM layer
First, let’s talk about the DDR3 section, T topology. The board has a 50-ohm line width of 5.78 mil, which makes the routing quite compact, and I didn’t meet the 3W principle, using 2x line width instead. Referencing the manufacturer’s demo: different address lines are 600 mil long, and the same network is 50 mil long
Data lines within the group are 50 mil long
Clock lines are 50 mil long
DDR3 TOP layer routing:
The routing is quite messy, with small line spacing, mainly because the line width is a bit large. DDR3 BOTTOM layer routing: to ensure equal length, it also looks messy. The inner layers ensure the plane is complete: TOP layer references GND layer 02, BOTTOM layer references VCC_dram:
Today, I used DragonHD to test DDR3, I connected USB0, but for some reason, there was no response. When I clicked start, it just showed this:
I kindly ask the experts to explain how to use this software, do I need any drivers? I’m currently quite confused. EMMC: The EMMC is designed with 200 mil equal length, and I haven’t used EMMC yet
Referencing GND layer 02 VCC_IO_3.3V, ensuring the plane is complete. The TF card is also 200 mil equal length:
HDMI: The HDMI manufacturer requires not to use serpentine routing, and the equal length requirement is relaxed; a straight connection is sufficient, which is quite simple.
USB has an internal 5 mil maximum issue on the wifi-sdio: firstly, the routing is messy, and secondly, the data line reference plane is crossed over the split, which I didn’t notice at the time due to lack of experience.
Board Layout:I believe the overall layout of the board is not problematic, but the wiring is very messy, lacking aesthetic organization, so the layout needs significant improvement. The board took a total of 10 days to complete.