Teensy and differential inputs/outputs (hooking DisplayPort AUX CH)

Status
Not open for further replies.

TnF

Member
Hello. I started a personal project where i design a device that includes these 2 functions:

1) Read/Sniff the EDID data of a DisplayPort downsteam device (i.e. a PC monitor)
2) Send/Emulate the EDID data to the upstream device (i.e. a GPU)

While i thought i could use an AVR board to do this (i.e. ATmega32U4), i've just changed my mind because i think the limitations make it more difficult that it needs to be.
So i think a Teensy LC/3.2/4.0 is a better choice (in fact i have all 3 at home ready to use anytime; i always keep one of each in "stock" just for such sudden projects &#128514

From what i understand so far EDID data on Displayport are transmitted via the AUX Differential Pair channel of which has 2 available modes for operation (page 329):
- 1Mbps stream Manchester-II code
- 720Mbps stream FAUX 8B10B encoding

For snooping, i plan on hooking to the AUX CH via a dedicated differential pair input (of which i hope the Teensy's have on chip since i haven't checked the datasheet yet).
Still i'm not sure if the input impedance will have any negative effects.

Now for the output i am completely unsure of the suitability of the controllers and which pins would be acceptable to use.

So my question is which teensy should be suitable in terms of processing speed in order to sample and decode the signal, and to be able to generate and output a 1Mbps Manchester-II code differential signal.

Maybe i'll need to use a kind of dedicated driver or decoder instead for both cases.

Also if Teensy 3.2 is suitable is there a reason not to use Teensy 4.0 considering they cost the same?


ps. For the AUX CH switching from the monitor to the microcontroller i'll just use a USB switch IC, example the USB3740B i've used in the past which should be suitable

Kind regards

Datasheets:

Displayport v1.2 standard:
https://glenwing.github.io/docs/DP-1.2.pdf

USB3740B:
http://ww1.microchip.com/downloads/en/DeviceDoc/00001725D.pdf
 
Hello. I started a personal project where i design a device that includes these 2 functions:

1) Read/Sniff the EDID data of a DisplayPort downsteam device (i.e. a PC monitor)
2) Send/Emulate the EDID data to the upstream device (i.e. a GPU)
From what i understand so far EDID data on Displayport are transmitted via the AUX Differential Pair channel of which has 2 available modes for operation (page 329):
- 1Mbps stream Manchester-II code
- 720Mbps stream FAUX 8B10B encoding

For snooping, i plan on hooking to the AUX CH via a dedicated differential pair input (of which i hope the Teensy's have on chip since i haven't checked the datasheet yet).
Good question - I've not heard of such, but these chips have big datasheets!
Still i'm not sure if the input impedance will have any negative effects.
Any differential receiver ought to be high impedance, and at 1Mbps / 100ohms pin capacitance is unlikely to be an issue.
So my question is which teensy should be suitable in terms of processing speed in order to sample and decode the signal, and to be able to generate and output a 1Mbps Manchester-II code differential signal.
1Mbps shouldn't be a problem (certainly for the T4), but definitely not 720Mbps! However I've no real idea how easy the
coding is.
Maybe i'll need to use a kind of dedicated driver or decoder instead for both cases.

From what I see in https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/an/an_745.pdf
the AUX channel is LVDS and would probably want a suitable receiver/transceiver chip to
convert to single-ended logic - but I wouldn't be too surprized if there's some sort of LVDS
hardware inside some of the Teensies - even if its there it might not be pinned out.

From a quick search of the T4 chip manual it seems it only supports LVDS for clock input
and output though. Haven't got the other manuals to hand.

And any use of LVDS signalling needs careful attention to impedance matching and termination,
as its a transmission line. (although 1Mbps isn't super critical)
 
Good question - I've not heard of such, but these chips have big datasheets!

I see what you did there ;p Of course i'll have a deeper look in them, but a datasheet is not a tutorial;p

Any differential receiver ought to be high impedance, and at 1Mbps / 100ohms pin capacitance is unlikely to be an issue.

In general that's the theory, in practice though you never know;p

1Mbps shouldn't be a problem (certainly for the T4), but definitely not 720Mbps! However I've no real idea how easy the
coding is.
Coding should be doable with enough time spend in figuring it out;p
T3.2 should be capable of 1mbps too to be honest; i'll see if i can make the pinouts compatible so i can try both.

From what I see in https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/an/an_745.pdf
the AUX channel is LVDS and would probably want a suitable receiver/transceiver chip to
convert to single-ended logic - but I wouldn't be too surprized if there's some sort of LVDS
hardware inside some of the Teensies - even if its there it might not be pinned out.

From a quick search of the T4 chip manual it seems it only supports LVDS for clock input
and output though. Haven't got the other manuals to hand.

Using a LVDS transceiver/receiver is definitely the safer option though.

And any use of LVDS signalling needs careful attention to impedance matching and termination,
as its a transmission line. (although 1Mbps isn't super critical)


That is one thing i have experience on (routing USB signals, first try i've partially failed) ;p
 
Status
Not open for further replies.
Back
Top