view DUART-cable @ 31:2e9719074e79

Handset-UI-fw: update for FC Luna
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 23 Sep 2020 23:06:58 +0000
parents f7ed8c45a8ec
children 78c2cc6ebbb8
line wrap: on
line source

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