Differential IO Standards on E1/E2 Connectors

Placement, modules, components and accessories; the ones that exist and the the nice-to-be's
Post Reply
Crt Valentincic
Posts: 67
Joined: Wed May 28, 2014 12:15 pm

Differential IO Standards on E1/E2 Connectors

Post by Crt Valentincic » Wed Jun 18, 2014 3:48 pm

Originally posted by Tom Gardner:
Which differential input and output standards can be used for inputs and outputs on the E1 and E2 connectors.
I'm particularly interested in (1) differential standards for high speed IO, and (2) what differential terminations exist on the board or can be used in the Zynq.
I guess Vcco is fixed at 3.3V, but what about Vref? If I understand the Zynq literature, 3.3V implies both LVDS and internal differential terminations are impossible.
A schematic would, of course answer (2) unambiguously!

Crt Valentincic
Posts: 67
Joined: Wed May 28, 2014 12:15 pm

Re: Differential IO Standards on E1/E2 Connectors

Post by Crt Valentincic » Wed Jun 18, 2014 3:48 pm

We would suggest you to use TMDS_33 or LVCMOS. All GPIO pins are connected directly to FPGA and there are no terminations on the Red Pitaya itself. Vref cannot be used.

tggzzz
Posts: 4
Joined: Wed Jun 18, 2014 10:04 pm

Re: Differential IO Standards on E1/E2 Connectors

Post by tggzzz » Wed Jun 18, 2014 10:14 pm

LVCMOS is not a differential IO standard.

I do not see how TMDS_33 can be used without unacceptable signal integrity problems since, according to ug471 "7 Series FPGAs SelectIO Resources User Guide", p95
The TMDS standard requires external 50Ω pull-up resistors to 3.3V on the inputs
I suggest you remove references to differential signalling on the E1/E2 connectors and explicitly state which standards can be used (presumably LVTTL is allowed).

Crt Valentincic
Posts: 67
Joined: Wed May 28, 2014 12:15 pm

Re: Differential IO Standards on E1/E2 Connectors

Post by Crt Valentincic » Mon Jun 23, 2014 2:41 pm

TMDS_33 should work fine also if you put 50 ohm pull-ups near extension connector and there is also a possibility to create differential interface by use of complementary LVTTL or LVCMOS logic. Can you provide more information about what are you going to connect to these IOs?

tggzzz
Posts: 4
Joined: Wed Jun 18, 2014 10:04 pm

Re: Differential IO Standards on E1/E2 Connectors

Post by tggzzz » Wed Jul 02, 2014 1:25 pm

My basic requirement is to get a few high speed signals into the Zynq's PL fabric, capture them and use a combination of PL and PS to analyse them.

The data sources for such high speed signals are typically some differential ECL variant, such as PECL or LVDS. Since the rise/fall times can be 250ps or less, signal integrity becomes an issue if pattern-sensitivity problems are to be avoided. Arguably even for non-ECL signals, it is prudent to assume sub-nanosecond rise times (I first encountered such risetimes 20 years ago!)

I am currently experimenting with a MicroZed and a custom external carrier board to determine the maximum bit rate possible; I hope to exceed 1Gb/s. The main reason I chose the MicroZed is that it has a very good physical IO structure designed to minimise signal integrity issues, e.g. high speed connectors (which are less easy to "use" than 0.1" headers), and one ground for every two signals, evenly distributed along the connector, and uncommitted Vccio voltage. I will be using the Zynq PL fabric's built-in terminations for LVDS signals.

Part of the application I have in mind would be a useful adjunct to the Red Pitaya's main function, and so I am curious whether it would be possible to use the Red Pitaya. The major stumbling blocks I have identified are:
  1. Vccio=3.3V so cannot use built-in termination - thus external termination is mandatory
  2. TMDS could be used instead of LVDS, if terminated correctly
  3. distribution of grounds on the E1/E2 connector is probably adequate for one (possibly two) differential pairs
  4. the rule-of-thumb for unterminated tracks is that they will not cause problems if the length is less than 1/6 the signal's risetime. An off-board termination plus a 30mm on-board unterninated track would be OK for signals with, say, >900ps risetime. N.B. I have not verified that by simulation.
Unfortunately, therefore, 50ohm terminations on the external board are unlikely to be adequate for my application, unless system performance is reduced.

As far as I can see, the Zynq does not have IO structures supporting differential TTL/CMOS signals, so I would be grateful if you could indicate your strategy for using complementary TTL/CMOS signals. I have not yet seriously considered whether it is beneficial to synthesise differential TTL/CMOS from two single-ended signals.

Nonetheless, congratulations on getting the Red Pitaya into production - it cannot satisfy all requirements, and "the best is the enemy of the good"

dpryan
Posts: 1
Joined: Wed Jul 16, 2014 11:40 pm

Re: Differential IO Standards on E1/E2 Connectors

Post by dpryan » Wed Jul 16, 2014 11:46 pm

Hi tggzzz -- I'm looking to do something similar. How about using the SATA connectors on the Red Pitaya? I can't find a hardware schematic to verify, but from what I'm reading in the documentation, those connectors provide two differential pairs each.

tggzzz
Posts: 4
Joined: Wed Jun 18, 2014 10:04 pm

Re: Differential IO Standards on E1/E2 Connectors

Post by tggzzz » Thu Jul 17, 2014 1:04 am

Could the SATA connectors be used? I don't know, so this is mere speculation...

The SATA connectors are intended to allow multiple Red Pitayas to be daisy-chained together, Clearly that functionality would be lost, and it would also be necessary to change/remove the Zynq PL code to avoid conflicting with your use of the SATA connectors. I have not looked to see if that is practical.

It is also necessary to have appropriate termination and PCB layout. I don't think the hardware definition has been released; the only information available is the PL source code. In file
https://github.com/RedPitaya/RedPitaya/ ... ya_daisy.v
we see

Code: Select all

OBUFDS #(.IOSTANDARD ("DIFF_SSTL18_I"), .SLEW ("FAST")) i_OBUF_clk
(
  .O ( daisy_p_o[1] ),
  .OB ( daisy_n_o[1] ),
  .I ( txs_clk )
);

IBUFGDS #(.IOSTANDARD ("DIFF_SSTL18_I")) i_IBUFGDS_clk
(
  .I ( daisy_p_i[1] ),
  .IB ( daisy_n_i[1] ),
  .O ( rxs_clk )
);

IBUFDS #(.DIFF_TERM ("FALSE"), .IOSTANDARD ("DIFF_SSTL18_I")) i_IBUFDS_dat
(
  .I ( daisy_p_i[0] ),
  .IB ( daisy_n_i[0] ),
  .O ( rxs_dat )
);
so perhaps it is possible.
(Q: why does one input have "DIFF_TERM ("FALSE"),"?

Post Reply
jadalnie klasyczne ekskluzywne meble wypoczynkowe do salonu ekskluzywne meble tapicerowane ekskluzywne meble do sypialni ekskluzywne meble włoskie

Who is online

Users browsing this forum: No registered users and 18 guests