Hello all,
My project has got STM32F429ZIT6 microcontroller, IS42S16400J SDRAM and 3,5" TFT. I didn't make impedance controlled multi-layer PCB before. I'm working on it to learn the details of this issue. I learned many things from Dear Robert's contents. Thank's to him once more again.
I have got following questions. I'm very glad if anyone can guide me.
Thanks in advance for the answers.
ZD
My project has got STM32F429ZIT6 microcontroller, IS42S16400J SDRAM and 3,5" TFT. I didn't make impedance controlled multi-layer PCB before. I'm working on it to learn the details of this issue. I learned many things from Dear Robert's contents. Thank's to him once more again.
I have got following questions. I'm very glad if anyone can guide me.
- I didn't find a design guide about SDRAM. So i couldn't reach any information about impedance matching requirements of the chip. But when i google it, i found this web site: https://pcbartists.com/design/embedd...am-pcb-layout/ It says the following info.
- A square wave frequency of 200 MHz contains significant high frequency components as high as 1 GHz. All high speed routing layout rules need to be followed. No hard bends, no stubs on traces and no broken ground plane under any trace. MY QUESTION: Maksimum microcontroller frequency is 180MHz and minimum rise time is 2,5ns. How the releationship are there between the risetime and 1Ghz frequecny component?
- The trace impedance matters. Datasheet of IS42S16400J, an SDRAM chip compatible with STM32, uses 50 ohms load for deriving its IO characteristics. Trying to achieve roughly 50 ohms characteristic impedance on all traces is a good idea to prevent reflection of signals. While this is not absolutely important, it is important to use the same trace width for all traces to maintain uniform line impedance across all SDRAM signal lines. MY QUESTION : He says that it is not absolutely important and lenght matching is enough. I don’t understand why are they wrote like that? I didn’t find any information about Input / Output impedance of SDRAM except a schematic at page 17 at section AC Test conditions section. But i couldn’t comment it on how should i understand characteristic impedance should i set from the datasheet.
- All signal lines must be referenced to the clock line for length matching as all signals are valid at the rising edge of the clock. All signal lines should be matched to within +/- 400 mils of the clock trace. If multiple clock signals are routed, they must be matched to within +/- 20 mil of each other to prevent clock skew. MY QUESTION: How are they understand the +/- 400mils tolereance
- Consult the AC timing section of the SDRAM datasheet to find out the maximum allowable skew across signal lines. 0.15mm of unmatched length causes ~1ps of skew. 50ps of skew is acceptable in most STM32 SDRAM PCB layouts, but lower the skew – the better it is. MY QUESTION: I don’t understand where are they undersand it from the datasheet.
- Try not to push your luck to the boundary with inconsistent layout and length matching. While it might work most of the time, you may have data corruption as temperature swings around the system because propagation time and skew change based on temperature. MY QUESTION: Are they sure? 😊
- Should i think all the address/data lines and control lines like CS, WE, CLK, BA0/1 and etc as a 50ohm single ended line? Am i make all of them to lenght matching? What is the tolerance of the lenght matching? I'm asking it because it is not quite easy to do it with 4 layer board.
- How should i make the connections between the microcontroller and the TFT? Should i think them as a 50 ohm single ended line?
- I have spoken with 3 different PCB manufacturers. I expected that they has got a standart stack up. I should get them and enter it to the Altium. And then i will draw the PCB at required/calculated trace width/space. But all of them requested the design from us at the begining and then told me that they will calculate/check the design. But if they couldn’t manufacture it, i should redraw it completely. That’s why the logical way is to get at least the standart stack up at first. Am i wrong? Why the fabricators do it like that?
- One Fabricator write “copper 0,0175mm and plating to 0,035mm.” Which value shoud i write to the Altium stack-up settings?
- My 4 layer stack up is Signal Layer 1 / Ground Plane / Power Plane / Signal Layer 2. The referance layer of Signal Layer 1 is Ground Plane. It is ok. But referans plane of the Signal layer 2 is too far away from the Ground Plane. Can i imagine that the power plane is a referance plane of the signal layer 2?
Thanks in advance for the answers.
ZD
Comment