[Arm-netbook] HDMI High-Frequency Layout: Recommendations

Luke Kenneth Casson Leighton lkcl at lkcl.net
Wed Sep 20 23:22:53 BST 2017


---
crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68


On Wed, Sep 20, 2017 at 8:27 PM, Richard Wilbur
<richard.wilbur at gmail.com> wrote:

>>>  I'm interested to see what
>>> holes/voids and connections the power and ground planes have.
>>
>>  there are *no* connections on the GND planes.  the power plane (and
>> GND layers) interestingly have done a full surround on the HDMI vias.
>> remember i had to separate them by an unusual distance.
>
> What clearance to the fill do you have on the HDMI differential signal
> vias on layer 3, as opposed to 2, 4, and 5?  I see it leaves a void on
> layer 3 but not on layer 4 (or presumably 2 or 5).

 yehyeh.  to be honest: i don't know exactly.  or, i worked it out a
long while ago, and can't remember precisely what it was.

>>> What are the names of the power pins on the A20?  What voltages do you
>>> supply it?
>>
>>  1.1, 1.25, 2.5 and 3.3v.
>>
>>>  (Are any of them Vdiff+/-, e.g?)
>>
>>  no.
>
> Good to know.  Thanks.
>
>>> I'm interested in
>>> tracking down the power supply pins for the differential HDMI signals
>>> as that is where our return path for common-mode signal has to go.
>>
>>  there's no specific power pin for HDMI.  the GND pins are grouped in
>> with a whole stack of other GND pins, there's absolutely no way it's
>> practical to get a special GND plane to it: the board is extremely
>> full already.
>
> I'm not looking to provide any special connection to the power or
> ground pins.  I just want to make sure we don't obstruct the return
> current path any more than necessary on its way from bottom reference
> ground plane (layer 5) to top reference ground plane (layer 2) to the
> power supply pins of the differential drivers:
> 1.  ground plane (layer 2) via to SoC ground pin land (layer 1)
> 2.  ground plane (layer 2) via to power supply decoupling capacitor
> ground land (layer 1), through decoupling capacitor to land on power
> supply trace (layer 1), through trace to SoC power supply pin land
> (layer 1).
>
> The goal is to avoid unnecessarily impeding this return current path.
> I'm trying to avoid making the path >~200mil and putting any major
> obstruction (like a huge layer void) in the way.

 ok - i think i understand.  the distance from the first set of vias
to the nearest decoupling capacitors is 180mil.  those are all at the
centre of the A20 processor.

>>> I've read a little (not nearly as much as I'd like, but I lack time)
>>> about using a taper to match impedance differences while minimizing
>>> the reflection coefficient.[*]  I'm thinking we can use it at both
>>> ends of this layout to great advantage.  We taper from 5mil clearance
>>> around the A20 on layer 1 to 15mil clearance on layer 6.  Later we
>>> taper from 15mil clearance to whatever the closest copper is at the
>>> ESD and connector lands.
>>
>>  that's something that it would be helpful to have a rough diagram,
>> even if it's hand-drawn [but see below: i think i understand it]
>
> Once I figure out the frequency => characteristic taper length
> situation I'll try to send a drawing and/or image.  In the meantime
> I've been looking at [*].

 ooo wow fascinating.

 hmmm... a bit too much to implement though.  PADS can't really
conveniently handle that kind of drawing (ok it can but it's a
complete fricking pain.  you're limited to 45 degree angles, and the
mouse-drag is.. erratic in what it decides to allow you to move ).

>>> Is the closest copper on layer 1, around the A20, 5mil from the HDMI
>>> differential signals?
>>
>>  yes.  everything's 5 mil design rule.
>>
>>> What is the distance to the closest copper to the HDMI signals at the ESD lands?
>>
>>  5 mil
>>
>>> What is the distance to the closest copper to the HDMI signals at the
>>> connector lands?
>>
>>  5 mil
>>
>>> (I'm guessing in both cases it is likely the neighbouring lands.  Is
>>> that correct?)
>
> In retrospect I didn't phrase those questions sufficiently clearly.
> Let me try again.

 sorry!

> I understand that we are using a 5mil design rule clearance for the
> whole board.

 except for the board edge, yes.

> We have attempted to impose an additional requirement on
> the differential pairs for most of their length that the traces of the
> pair be 5mil from each other but at least 15mil from anything else
> (including other pairs).  What I'm curious about is what copper
> violates this additional requirement that can't be moved, where is it,
> and how close does it actually come?

 ah.  ok.  it's components.  so, the EMI components, and the VIAs.
and if the hand-drawn keepout isn't quite the right distance.    ah.
and IPSOUT (main power DC line) which i've just adjusted to be outside
the 15mil boundary.

 and... from the A20's pins: i put a GND trace round the back of the
VIAs because the next row up includes all the USB signals.  i didn't
feel comfortable leaving that without a separation (again, 5mil
clearance).

> If we move the violating copper out to the 15mil boundary, that's
> great:  problem solved.  If we can't (or would really rather not),
> then let's consider where it is along the signal path, how close it is
> to the differential signals, and what net (signal) it is.
>
> 1.  When in the signal path can we open up from 5mil to 15mil?
>
> If that is part way down the first signal vias then we can try scaling
> the keepouts on our way through the board.  From what I've seen, it
> looks like we have to get past sorting the signals out into pairs on
> layer 6 before we have room to do more than 5mil to foreign copper.
> Is that your understanding?

 no - that whole bottom area coming out from the A20 pins, on layer 1
is completely clear except for the GND vias which are staggered in
between where they (immediately... 60 mil...) transition to layer 6.

 on layer 6 they're clear of copper as well.

> 2.  When do we need to scale back down to 5mil?
>
> Is that at the signal vias for the two pairs that jump first to layer
> 1 for ESD?  Or is it at the ESD lands?

 that sounds like a question you're asking yourself :)

>>> What is the minimum frequency we will be running the HDMI at?  (With
>>> version 1.4 the highest clock is 340MHz which implies 3.4GHz data rate
>>> on each data line.  Thus I would expect good edges if we design for
>>> harmonics of 34GHz.;>)
>>
>>  :)  1920x1080p60.  honestly though if it works at 1280x720p60 i'll be happy.
>
> Again I wasn't clear enough with the question--I misled you by
> mentioning the highest clock frequency.  To calculate the length
> characteristic for this taper, I need to figure out the lowest
> frequency (minimum) for which we want it to exhibit this impedance.

 ah: i missed "minimum" rather than "maximum".  ok 640x480 at 30hz is the
lowest possible resolution that people would use...

>>> The idea is we can taper the keepouts on our signal vias near the A20
>>> by the layer and avoid such an abrupt change from layer 1 to layer 6.
>>
>>  i would very much like to have used layer 3 instead of layer 6 for
>> the HDMI signals long straightaway but it is too late now
>
> It would then be stripline (uses 3 layers) instead of microstrip (2
> layers).  Stripline uses over and under reference planes.

 mmfh.  ok understood.

>>  ok i did the taper at the DC3 connector end, and i think i got it
>> reasonably ok at the A20 end.  haven't run flood-fill.  A20 end is a
>> bit of a mess, bit unavoidable.  left side is ok.  right side...
>> because of the immediate turn and the TX2 line...
>
> The fine point of it is there is a particular curve involved in
> Klopfenstein and it requires a length which determines the frequency
> band over which you get the low reflection coefficient.

 yes.  i saw the paper.  that's going to be too complex to do.  i'd
have to construct it by hand in steps, of 45 degrees.  or i can
actually hand-edit the points and enter in numbers... but i have to
create approximate points first (to get a valid non-intersecting
polygon...)

 honestly it's a bit too much hard work.  if i was able to manipulate
these things in e.g. python i'd say "let's go for it", immediately.

> That's why
> I'm trying to figure out what frequencies we care about and then see
> whether we can accommodate the length needed or we just have to make
> an approximation that is better than nothing.

 one step is fine - two or more gets _really_ awkward.

>> so.  i really want to wrap this up, and get the gerbers out.
>>
>>  loootta work... :)
>
> Indeed.  I am trying to reduce the feedback loop delay on this end.

 thx richard.

> Reference:
> [*]  https://www.microwaves101.com/encyclopedias/klopfenstein-taper

 absolutely fascinating.



More information about the arm-netbook mailing list