原创 RS-232 接口(2)

2008-12-3 15:35 4331 9 4 分类: 通信

3.       RS-232 接口的信号 


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


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


6bd1bb15-cc7f-4c0f-afc8-fee9abad555e.jpg


数据传输分别使用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


92031d11-9fb7-4128-87fe-a393b0e691dd.jpg


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


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


7e78fb50-799f-46d4-9275-c72d194b8c60.jpg


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



 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 



1c3cdd61-c5aa-4b13-81c9-36df908ac140.jpg


2a92eaf8-b2d4-4985-9efc-8f512852c006.jpg


870f46bb-985b-4af3-aa9c-6d55ef2af668.jpg


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使用负逻辑。


c9ee8738-4f1d-4b86-93c1-6ff95dc8bd1d.jpg


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。


df44bfe5-7695-409b-b921-ebc61eb3a9c3.jpg


鼠标能够正常工作,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)信号规格表


df25abf4-b7ba-44df-a18f-f47e4839e2eb.jpg

文章评论0条评论)

登录后参与讨论
我要评论
0
9
关闭 站长推荐上一条 /2 下一条