博客年龄:17年7个月
访问:?
文章:852篇

个人描述

生活只能以玩为主,任时光在玩乐中流逝

RS-232 接口(2)

分类:技术园地
2007-12-22 10:55 阅读(?)评论(0)

3.       RS-232 接口的信号 

现在的RS-232接口常用于异步(Asynchronous)串行通讯,实际上也可以用于同步(Synchronous)串行通讯。

3.1RS-232 接口信号引脚及定义

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

数据传输分别使用PIN2和PIN3,DSR指示DCE(如MODEM)已启动,而DTR指示DTE(如计算机)已启动,DCD指示远端MODEM已接收到良好的载波信号。

DTE发出的RTS和DCE发出的CTS 用于控制。在多数异步传输方式下,RTS和CTS 在通讯过程中保持不变。然而在DTE连接在多点传输线上时,RTS用来打开和关闭MODEM的载波,因为多点传输线上在某个时间只能有一个发送者,以使多终端共用一对电话线。 每当一个DTE要发送数据,就使RTS有效, MODEM于是发出载波,一般要等待几毫秒使载波稳定,然后使CTS有效。DTE在收到CTS后开始发送数据。当DTE完成发送数据,就使RTS无效,MODEM于是使CTS无效并关闭载波。

时钟信号(PIN15、17和24) 仅用于同步通讯(synchronous communications)。MODEM从数据码流中取出稳定的时钟信号并发给DTE。注意,即使波特率相同时,发送和接收的时钟信号也不一定相同。

RS232 DB25

3.2PC机常用的RS-232 接口信号引脚及定义

IBM制造PC 机时将RS-232 简化成了DB-9连接器,后来成为事实标准。

 

 

 

 

 

 

 

 

 

 

旧式的PC 机有些带有DB-25针插座的串口连接器(一般为COM2),为公头插座(或称MALE),这与常见的DB-25的并口连接器不同,DB-25的并口使用25 芯孔插座(也称为母头或FEMALE)。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.3)信号电平及电平转换

在RS-232-C中任何一条信号线的电压均为负逻辑关系。即:逻 辑“1” 为-5— -15V;逻辑“0”为 +5— +15V。噪声容限为2V,即 要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号 作为逻辑“1” 。+3V到-3V之间称为死区,为抵抗线路噪声的干扰。但不同的设备有可能使用不同的电平门限,比如CCITT V.10 定义死区为+0.3V to -0.3V。也有的接收机把门限设为1V或更低。

逻 辑“1”表示 "idle" 状态(也称OFF或MARK),逻辑“0”表示"active"状态(也称ON或SPACE)。

这种信号方式源于当时主要使用的DTL电平,与现在数字电路常用的TTL电平不同,不能直接相连,中间需要加电平转换电路。

RS-232-C规定了25条引线,实际中有许多是很少使用的,如PC 机一般只有9条引线,3条输出5条输入,因PC 机有+12V和 -12V电源,常用的电平转换芯片为SN75185、GD75232等芯片,也有单独的驱动芯片MC1488、SN75188和接收芯片MC1489、SN75189。而DCE(数据通信设备)方有3条输入5条输出线,需使用对应驱动芯片SN75196、GD75323,但往往DCE只有5V单电源,这时一般使用内带电荷泵的芯片MAX207、SN65C3238、SN65C3243等, 甚至也有使用3.3V单电源的芯片。

一些情况下,设备与PC 机连接的RS-232 接口,不使用控制信号,仅使用三条接口线RXD、TXD、GND(如单片机通过UART连接PC 机),也只有单电源,使用内带电荷泵的单路收发芯片,MAXIM、TI、SIPEX、ST等公司都有这种芯片。

3.4)信号格式

RS-232最常使用异步串行传输,每个数据包含有7 或 8 bit数据位和起始位start,停止位stop, 校验位parity (可选用,也可用于指示位)。 传输数据的样值如图所示:起始位(低有效,通常在+3v到+15v之间),紧接着数据位(7或8 bit),校验位(根据协议选用),由停止位结束(通常返回逻辑高,电压在-3v到-15v之间)。注意:RS-232使用负逻辑。

3.5)串口鼠标

早期PC机使用串口鼠标,以标准的RS-232-C 输出信号 (+-12V) 作为输入。鼠标取用RS-232-C的输出线的电流(大约10mA),并发送计算机RS-232-C接收芯片可以识别的电平信号。鼠标一般输出信号为+-5V或0-5V ,有些输出+-12V。鼠标电路一般使用+5V电压,一般从DTR和RTS线产生MCU使用的正电源,而负电源一般取自TD,典型的机械鼠标需要4只红外LED做移动检测,一般使用二极管从DTR和RTS线取电,然后通过电阻加到4只LED上。鼠标总体需要10 mA 电流,工作电压6-15V。

 

 

 

 

 

 

鼠标能够正常工作,RTS和DTR线必须为正电压, DTR-DSR和RTS-CTS之间不要连接。当DTR正常,鼠标要发一个包含字母"M" (ascii 77) 的字节来识别自身。而冷启动后,RTS 一般设为负电压,这时需要把RTS转换为正,称为反转RTS。要完成RTS电压的反转,负脉冲宽度至少为100ms。

串口鼠标使用格式为1200bps, 7 data bits, 1 stop-bit,发送的数据包为3字节长度,每次鼠标状态改变(移动或按键的按压与释放) 都要向计算机发送数据。数据格式如下:

 

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

byte1

X

1

LB

RB

Y7

Y6

X7

X6

byte2

X

0

X5

X4

X3

X2

X1

X0

byte3

X

0

Y5

Y4

Y3

Y2

Y1

Y0

字节1(byte1)首先发出,然后是其他2个字节。字节1的bit6用做同步数据包。

LB是左键的状态(1表示按下),RB是右键的状态(1表示按下);X7-X0表示从上次数据包发出后沿X方向移动的距离,Y7-Y0表示从上次数据包发出后沿Y方向移动的距离。

用X表示的位,在使用7 bits数据和2 bits停止位格式时为0;而使用8 bits数据和1 bits停止位格式时为1 。最安全的方式是使用7 bits数据和1 bits停止位的接收格式。

3.6)信号规格表

 

 

 

 

 

 

 

   阅读(?)评论(0)
 
表  情:
加载中...
 

请各位遵纪守法并注意语言文明