Hardware pinouts information and cables schemes

PC serial port (RS-232 DE9) pinout

serial interface

bookmark this page

This RS232C DE-9 (usually miscalled DB-9) port is very common and available at almost any PC, some Sun (at least Ultra 5/ 10, Blade 100/150) and many other computers. Document includes description of how PC serial mouse works.



Almost each PC nowdays equiped with one/two/four serial interface (RS232C). This PC serial port interface is single ended (connects only two devices with each other), the data rate is less than 20 kbps. It's a voltage loop serial interface with full-duplex communication represented by voltage levels with respect to system ground. A common ground between the PC and the associated device is necessary.

DB-9 Pin IDC internal
pin name*
Name Dir Description
11CD <--Carrier Detect
23RXD <--Receive Data
35TXD -->Transmit Data
47DTR -->Data Terminal Ready
59GND ---System Ground
62DSR <--Data Set Ready
74RTS -->Request to Send
86CTS <--Clear to Send
98RI <--Ring Indicator

Note: Direction is DTE (Computer) relative DCE (Modem)
* Pin assignment of internal connector may be different for different motherboard models. Pin 10 removed in connector. Internal IDC connnector wired to external port with a simple flat ribbon cable.

PC serial port pinout signals explanations

Since PC serial port is based on RS-232 standard, you may find signal details in the RS-232 interface pinout document

Standard RS232 data packet

RS232 data usually is sent as a packet with 7 or 8 bit words, start, stop, parity bits (may be varied). Sample transmission shown on picture: Start bit (active low, usually between +3v and +15v) followed by data bits, parity bit (depends on protocol used) and finished by stop bit (used to bring logic high, usually between -3v and -15v).

Sample serial port device. How serial mouse works

Typical PC mouse controlling system has the following parts: sensors -> mouse controller -> communication link -> data interface -> driver -> software. Sensors are the movement detectors (typically optomechanical) which sense the mouse movement and button swiches which sense the button states. Mouse controller reads the state of those sensors and takes acount of current mouse position. When this information changes the mouse controller sends a packet of data to the computer serial data interface controller. The mouse driver in the computer received that data packet and decodes the information from it and does actions based on the information.

PC serial mouse voltage levels:

Mouse takes standard RS-232C output signals (+-12V) as its input signals. Those outputs are in +12V when mouse is operated. Mouse takes some current from each of the RS-232C port output lines it is connected (about 10mA). Mouse send data to computer in levels that RS-232C receiver chip in the computer can uderstand as RS-232C input levels. Mouse outputs are normally something like +-5V, 0..5V or sometimes +-12V. Mouse electronics normally use +5V voltage.

Serial device hardware implementation

PC serial mouse uses typically DTR and RTS lines for generating +5V power for microcontroller circuit in the mouse. Because typical optomechanical mouse also needs power for 4 leds in the optocoupler movevement detectors, there is not much power to loose. A typical approach is to use diodes to take current fron DTR and RTS lines and then feed it through resistor to all of the (infrared) leds in the movement detectors. The positive power supply usually taken from RTS and DRT lines (just after the diodes and before the resistor going to leds). The negative supply for transmitter is taken from TD pin. Typical PC serial port mouse takes 10 mA total current and operates at voltage range of 6-15V. The data itself in sent using standard asuncronous RS-232C serial format:

              Start D0  D1  D2  D3  D4  D5  D6  D7  Stop
   Logic 0      ___ ___ ___ ___ ___ ___ ___ ___ ___
  +3..+15V     |   |   |   |   |   |   |   |   |   |
               |   |   |   |   |   |   |   |   |   |
               |   |   |   |   |   |   |   |   |   |
   Logic 1     |   |   |   |   |   |   |   |   |   |
  -3..-15V  ___|   |___|___|___|___|___|___|___|___|____

Serial mouse pinout explanation

Pin Signal Description
shellProtective Ground  
3TD Serial data from host to mouse (only for power)
2RD Serial data from mouse to host
7RTS Positive voltage to mouse
8CTS  
6DSR  
5Signal Ground  
4DTR Positive voltage to mouse and reset/detection

RTS = Request to Send CTS = Clear to Send DSR = Data Set Ready DTR = Data Terminal Ready

When DTR line is toggled, mouse should send one data byte containing letter "M" (ascii 77) to identify itself. To function correctly, both the RTS and DTR lines must be positive. The lines DTR-DSR and RTS-CTS must NOT be shorted. Implement the RTS toggle function by setting the RTS line negative and positive again. The negative pulse width is at least 100ms. After a cold boot, the RTS line is usually set to a negative level. In this case, setting the RTS line to a positive level is also considered an RTS toggle.

Serial data parameters and packet format

1200bps, 7 databits, 1 stop-bit

Data packet is 3 byte packet. It is send to the computer every time mouse state changes (mouse moves or keys are pressed/released).

        D7      D6      D5      D4      D3      D2      D1      D0
 
1.      X       1       LB      RB      Y7      Y6      X7      X6
2.      X       0       X5      X4      X3      X2      X1      X0      
3.      X       0       Y5      Y4      Y3      Y2      Y1      Y0
Note: The bit marked with X is 0 if the mouse received with 7 databits and 2 stop bits format. It is also possible to use 8 databits and 1 stop bit format for receiving. In this case X gets value 1. The safest thing to get everything working is to use 7 databits and 1 stopbit when receiving mouse information (and if you are making mouse then send out 7 databits and 2 stop bits).

The byte marked with 1. is send first, then the others. The bit D6 in the first byte is used for syncronizing the software to mouse packets if it goes out of sync.

LB is the state of the left button (1 means pressed down); RB is the state of the right button (1 means pressed down); X7-X0 movement in X direction since last packet (signed byte); Y7-Y0 movement in Y direction since last packet (signed byte)

10 pin IDC male connector diagram

10 pin IDC male connector
at the inside, at motheboard

Related Links:
Pinouts.ru > RS-232 and other serial ports and interfaces pinouts listing >  Pinout of PC serial port (RS-232 DE9) and layout of 9 pin D-SUB male connector and 10 pin IDC male connector
Document status: correct
Source(s) of this and additional information: partially by Tomi Engdahl 6 reports
Last updated at Sun Jun 25 2006. Submit additions or corrections for this document. Is this document correct or incorrect? What is your opinion?
[Discuss at the forum] [Back to index] [SUBMIT new pinout]
This page contain parts under Copyright © 2000-2007 by pinouts.ru team.
No any portion of this webpage may be reproduced in any form without visible direct link to this page provided. Webmaster permission required in any other cases.
Efforts have been made to ensure this page is correct, but it is the responsibility of the user to verify the data is correct for their application.
141490 hits since March 4, 2005