How do I find the output impedance of the STM32H743 (and potentially other similar devices)? I've looked through the datasheet (DS12110 Rev 5) and the reference manual (RM0433 Rev 5) however haven't found much information.
I'm mostly interested in the SPI lines, and want to match the track impedance to the output impedance using a series resistor. For now I've put in placeholders of 33R, thinking the PCB trace could be around 50R and the output impedance around 20R.
Answer
Output impedance of (typically CMOS) output driver for any MCU can be calculated/estimated from VOH and VOL electrical characteristics from datasheets.
The meaning of this table is that if a 8 mA load is connected to ground and GPIO is driven HIGH, the drop between Vcc and output is 0.4 V. It means that the internal equivalent impedance of GPIO port, per Ohm's Law, 400mV/8mA = 50 Ohms.
Same calculations are valid if the load is connected to Vcc, and the pin is driven to LOW. The table says the residual voltage is no more than 400 mV. Again, it is equivalent to 400/8=50 Ohms or less.
There is one caveat however.
Most MCU have simplified GPIOs, where the impedance depends on load. In this particular case the specifications (same Table 60) says that the voltage drop is 1300 mV if the load takes 20 mA, which makes the output to have roughly 1300/20 = 65 Ohms.
In short, VOH and VOL data at specified load give you an estimation of output impedance of CMOS GPIO driver under 65 Ohms worst case (for STM32H743), and likely close to 40-50 Ohms typical.
If your track's impedance is 70-100 Ohms, you will need to add a 22-33-47 Ohm series resistor at driving side if you want a neat waveform.
No comments:
Post a Comment