view DUART-cable @ 100:48ea323c1c47

Linux-DTR-RTS-flaw: import from freecalypso-hwlab
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 11 Sep 2023 06:22:47 +0000
parents 78c2cc6ebbb8
children
line wrap: on
line source

2020-09 update: we have now produced our own DUART28 adapter that takes the
place of PLDkit FT2232D breakout boards.  The article that follows was written
in 2019-12, before our DUART28 was even conceived, and it was written for
PLDkit FT2232D adapters.  The new cable that needs to be used with DUART28 is
different: DUART28 brings out a 10-pin header in the same pinout as our Calypso
boards, thus the connection between the two boards becomes a straight-through
10-wire ribbon cable.

Original 2019-12 article follows
================================

The Calypso chip has two UARTs, called MODEM and IrDA in the chip docs.  The
primary UART (MODEM) has 4 signals (TxD, RxD, RTS and CTS), whereas the other
UART (IrDA) has data leads only (TxD and RxD).  TI's C-Sample and D-Sample
boards have also established a convention whereby Calypso GPIOs 2 and 3 have
been assigned as supplementary modem control signals for the primary MODEM UART,
with GPIO 2 being an output from Calypso signaling DCD to the host and with
GPIO 3 being an input to Calypso receiving DTR from the host.  Note that DSR
and RI are still missing in this arrangement.

In FreeCalypso we have further established our own convention: all FC hardware
products that bring out both Calypso UARTs do so by way of a single 10-pin (2x5)
2.54 mm header in a fixed pinout given below.  This convention was started with
FCDEV3B, our first FC hw product, and is now being continued with MMTB1 and
other boards.  Our standardized DUART header pinout is as follows:

Header pin	Calypso signal
1		GND
2		GND
3		TX_IRDA
4		TX_MODEM
5		RX_IRDA
6		RX_MODEM
7		GPIO2_DCD
8		RTS_MODEM
9		GPIO3_DTR
10		CTS_MODEM

Pins 7 and 9 were originally left unused (they are unconnected on FCDEV3B), but
they have been assigned as DCD and DTR (from the host's perspective) starting
with MMTB1.  Note that while DCD and DTR in the table above are named from the
host's perspective, all Calypso signals ending with _MODEM or _IRDA are from
the chip's perspective, i.e., the opposite.

Our standard recommended practice for connecting to our two UARTs from a regular
PC or laptop is to use FT2232D breakout boards from the following vendor:

http://pldkit.com/other/ft2232d-module

FT2232D is a versatile USB-to-various-things adapter, but in its default
configuration which we use here it acts as a bridge from USB to two UARTs,
presenting both UARTs behind a single USB device.  The breakout board made and
sold by PLDkit has two rows of header pins, featuring 15 pins on each side, and
the two sides of the board neatly correspond to the A and B sides of FT2232D.

Our standard recommended method for connecting our two UARTs to a PLDkit FT2232D
board is to use a 10-wire ribbon cable that is custom-assembled as follows:

* One end is terminated with a 10-pin female connector that mates with the DUART
  header on our modem boards;

* The other end is split into two parts as described below, and each split end
  is terminated with a 15-pin female connector that mates with one side of the
  FT2232D breakout board.

The split between A and B sides on the FT2232D end is not symmetric, instead 7
wires go to side A for the MODEM UART and 3 wires go to side B for the IrDA
UART.  Assuming the standard color code, the 10-wire ribbon cable gets split
between violet and grey wires: brown to violet go to side A, grey to black go
to side B.  After each wire has been stripped and fitted with a crimp-on female
terminal, FT2232D side A wires need to be inserted into the connector housing
as follows:

Wire	Pin position	FT2232D signal	UART signal (host perspective)
brown	2		ADBUS0		TxD
red	3		ADBUS1		RxD
orange	4		ADBUS2		RTS
yellow	5		ADBUS3		CTS
green	6		ADBUS4		DTR
blue	8		ADBUS6		DCD
violet	15		GND		GND

FT2232D side B wires need to be inserted into the other connector housing as
follows:

Wire	Pin position	FT2232D signal	UART signal (host perspective)
grey	2		BDBUS0		TxD
white	3		BDBUS1		RxD
black	15		GND		GND

The wires on the other end of the cable (also stripped and fitted with crimp-on
female terminals) need to be inserted into another connector housing that will
mate with the DUART connector on FreeCalypso modem boards; the pin assignment
is as follows:

Pin position	Calypso signal	Wire
1		GND		black
2		GND		violet
3		TX_IRDA		white
4		TX_MODEM	red
5		RX_IRDA		grey
6		RX_MODEM	brown
7		GPIO2_DCD	blue
8		RTS_MODEM	yellow
9		GPIO3_DTR	green
10		CTS_MODEM	orange