Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 3 of 3

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

  1. #1
    Junior Member
    Join Date
    Aug 2019
    Posts
    10

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

    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/e.../00001725D.pdf

  2. #2
    Senior Member
    Join Date
    Jul 2020
    Posts
    905
    Quote Originally Posted by TnF View Post
    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/ww.../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)

  3. #3
    Junior Member
    Join Date
    Aug 2019
    Posts
    10
    Quote Originally Posted by MarkT View Post
    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/ww.../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

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •