Serial adapters
This page contains information about a +3.3V serial/RS-232/USB adapter that is used in low level laptop development.
Hardware
OLPC has two different serial adapters for obtaining serial output from the laptop: the original +3.3Vdc serial/RS-232 level converter that came with the ´´ATest´´ boards, and a new multi-purpose serial adapter which supports +3.3V serial to RS-232 or USB.
XO Serial Ports
The XO laptop has two serial ports provided for low level debugging. One (J1) is connected to the serial console on the main processor (Southbridge, actually). The second (CN24) is connected directly to the embedded controller on the motherboard.
The signals levels are 0v/3.3volt TTL.
XO Serial Ports - electrical interface
Console/Serial connector - J1
The J1 pinout of the serial connection on the laptop is:
Pin | Function |
---|---|
1 | +3.3V is provided by the laptop on this pin, for use by the serial adapter |
marked on PCB with white circle near the J1 designator. | |
2 | TX serial data |
3 | RX serial data |
4 | GND return for both data and power |
marked with a small number 4. |
EC Serial connector - CN24
In addition, the EC serial connector (CN24) has an additional pin (5), used to provide a clock for programming the serial ROM in recovery mode. This pin expects a +3.3V compatible 65 MHz clock signal, if used. The EC serial port may be used for monitoring by connecting a laptop/serial adapter cable to the first four pins of the connector.
Pin | Function |
---|---|
1 | +3.3V is provided by the laptop on this pin, for use by the serial adapter |
2 | TX serial data |
3 | RX serial data |
4 | GND return for both data and power |
5 | G3.3v 65 Mhz clock signal (optional). |
The Pinout of the EC serial connector is identical to that of J1 except for the extra pin 5. The 4 pin connector works fine when plugged up to the EC serial port if its justified to Pin 1.
XO Serial Ports - physical interface
Both connectors are very close (though not quite identical) to a 1.25 pitch MOLEX picoblade. The latter will fit perfectly. See the image below:
The authoritative drawing for from the manufacturer can be found at File:J1 CN24 male.pdf and File:J1 CN24 female.pdf. The dimensions are listed as CKT 4 for the J1 and CKT 5 for CN21 - both one row.
Generally the plastic connector is sold separate from the metal socket. And you assemble those by crimping a wire to the socket and then inserting it into the connector. The type of socket used requires a special crimping tool.
Some vendors sell ready made 150mm or 300mm cables; with a socket on one and and a tinned lead on the other - which means you can postpone buying the expensive crimp tool for a bit.
Molex numbers
Datasheets: http://www.molex.com/catalog/pdf/MX53047.pdf (wire to board header) and http://www.molex.com/catalog/pdf/MX51021.pdf (terminal and receptacle). ABOVE LINKS BROKEN danceswithcars 15:56, 7 December 2009 (UTC)
Right angle Molex Pico Blade 1.24 (0.49") PCB 90 degree headers (male, connector) and matching cable sockets (female); SMD is used on the board; the non SMD version can be made to fit and is slightly easier to solder; and much easier to source.
Connector | pins | board header (male) | receptacle on cable (female) |
---|---|---|---|
J1 | 4 | 53048-0410 (non SMD) | 51021-0400 |
4 | 53261-0471 (SMD) | 51021-0400 | |
CN24 | 5 | 53048-0510 (non SMD) | 51021-0500 |
5 | 53261-0571 (SMD) | 51021-0500 |
Along with matching socket's (above female connectors are just the 'plastic receptacles'), see item 50125/50133 (http://www.molex.com/catalog/pdf/MX51021.pdf) depending on wire thickness.
Technical drawings of the board socket: http://www.molex.com/pdm_docs/sd/532610271_sd.pdf and for the receptacle http://www.molex.com/pdm_docs/sd/510210400_sd.pdf (J1) or http://www.molex.com/pdm_docs/sd/510210500_sd.pdf (CN24)
Digikey numbers
Equivalent digikey numbers (of above MOLEX-es):
Connector | pins | board header (male) | receptacle on cable (female) |
---|---|---|---|
J1 | 4 | WM7622CT-ND | WM1722-ND |
CN24 | 5 | WM7623CT-ND | WM1723-ND |
See DigiKey page 1 and DigiKey page 2 for more details.
Depending on the wire thickness - you will need 4 or 5 sockets to wire things up - which have digikey number WM1775-ND (22AW) or WM1142CT-ND (24AQ). The Crimp tools are WM9931-ND, WM9978-ND, WM9932-ND or WM9933-ND depending on the wire.
RS-Component numbers
RS Components only has the receptacles:
Connector | pins | receptacle on cable (female) |
---|---|---|
J1 | 4 | 279-9162 (http://nl.rs-online.com/web/2799162.html) |
CN24 | 5 | 447-6580(http://nl.rs-online.com/web/4476580.html) |
And a 300mm socket to socket premade wire can be found at # 279-9522 (http://nl.rs-online.com/web/2799522.html) - or alternatively you can order individual sockets and crimp these.
Multipurpose Serial Adapter
The new adapters are able to do the conversion from LVTTL (3.3V TTL) to RS232 and USB. The also have a mode for converting RS232 to USB. In the RS232 modes they are able to work with both straight and NULL modem cables. Because of this they are a bit more complicated than the ATest adapters.
This complexity is in the form of 2 jumper blocks on the adapters. Blocks J4 and J6.
J4: Mode select block
J4 selects between the 3 modes of operation.
Mode 1: TTL<->USB
- Jumper 1&2, 5&6
Mode 2: RS232<->USB
- Jumper 3&4, 7&8
Mode 3: TTL<->RS232
- Jumper 2&4, 6&8
Note: in the same PCB this conventions are clearly marked
J6: Null Modem block
In the RS232 modes 2 & 3, J6 will swap the TX and RX lines. Normally changing these jumpers is not necessary.
- RS232 NULL Modem: 1&2, 5&6
- RS232 Normal: 3&4, 7&8
To make the adapter appear like a serial port you would find on a PC you would use normal wiring. Connection between the adapter and the PC would use a NULL modem or crossover cable. Just like you would use if you were connecting 2 PC's to each other.
If you are using a serial cable that is wired to be straight through then you would use NULL modem wiring.
If you are using Mode 1 then the settings for J6 do not make any difference because the DB9 is not used.
Power
The device is powered from either the 3.3V from the laptop or by USB. Both may be plugged up at the same time.
Schematics and Board Layout
Original Serial Adapter
The original adapter that came with the ´´ATest´´ boards
was very simple and only does +3.3V serial to RS232 voltage level conversion.
Hooking Up the New (4Q 2009) Mini Serial Adapter
On an XO-1 C board, the J1 pinout is: 2 - TX serial data, 3 - RX serial data, 4 - common ground. When the adapter_cable that came with my mini-adapter gets plugged into J1, an orangy wire connects to pin 4 (ground).
The other end of my adapter_cable has a male 5-prong plug, whereas the mini-adapter itself has a female 6-wire_socket receptacle. Unless the adapter_cable is correctly plugged in, the mini-adapter setup will not work.
Holding the mini-adapter component-side up, at the cable receptacle the PCB markings label the 1st (top) wire_socket as 'GND'. I inserted the plug end of my adapter_cable so that the orangy wire connected to that wire_socket. That let the two data wires in the cable connect to the 4th+5th wire_sockets (labeled TXO and RXI) on the receptacle. Now the serial adapter connection worked.
Third Party Adapters
Very similar adapters are readily available at relatively low cost. Some examples include:
- DLP EVAL232R (EVAL232R)
- FTDI Basic Breakout (DEV-08772)
- FTDI Breakout Board (BOB-00718)
Software
The TTL<->USB chip is a a FT232R made by FTDI and has drivers for all major operating systems. The serial console can then be operated through any standard terminal application using the following settings:
- 115200 baud
- 8 data bits
- No parity
- 1 stop bit
- Handshake disabled
- Hardware flow control disabled
- In the USB modes the hardware flow control pins are wired so that they are de-asserted. Therefore the hardware flow control setting does not matter. The RS232 flow control lines on the DB9 were left unconnected and can float such that the flow control is asserted. So in RS232 modes hardware flow control must be disabled.
- Initialization string: none
- Reset string: none
Linux
The ftdi driver is included the 2.6.x series of kernels and is included by most distributions plug it in and it should just "work". The device will usually be available at /dev/ttyUSB0.
You can use minicom to access the serial console. This is packaged in all major Linux distributions.
First, run "minicom -s" and configure the serial port with the settings suggested above. Remember to adjust the device path (e.g. set it as /dev/ttyUSB0 if connecting with USB). Then simply running "minicom" after connecting the USB adapter will activate the serial console. This can even be done from an XO.
Windows
Download and install the driver using the instructions.
The hardware will appear as a COM device and can be operated through HyperTerminal (included in a standard Windows install).
Macintosh
Download and install the driver using the instructions
Quirks and Known Problems
Conflict with Braille TTY (brltty) software
Debian (and derivative) distros come with the brltty package installed. This package conflicts with using the device as a plain serial port. Upon insertion the brltty driver takes over the device and disconnects the /dev/ttyUSBn device. The solution to this is to remove or disable the brltty package. On Debian (and derivatives) you can do this with
sudo apt-get remove brltty