RS232 DB-9针串口引脚定义:
9芯 | 信号方向来自 | 缩写 | 描述 |
1 | 调制解调器 | CD | 载波检测 |
2 | 调制解调器 | RXD | 接收数据 |
3 | PC | TXD | 发送数据 |
4 | PC | DTR | 数据终端准备好 |
5 |
| GND | 信号地 |
6 | 调制解调器 | DSR | 通讯设备准备好 |
7 | PC | RTS | 请求发送 |
8 | 调制解调器 | CTS | 允许发送 |
9 | 调制解调器 | RI | 响铃指示器 |
对各个引脚的详细阐述:
1 :DCD :载波检测。主要用于Modem通知计算机其处于在线状态,即Modem检测到拨号音, 处于在线状态。
2 :RXD:此引脚用于接收外部设备送来的数据;在你使用Modem时,你会发现RXD指示灯在闪烁,说明RXD引脚上有数据 进入。
3 :TXD:此引脚将计算机的数据发送给外部设备;在你使用Modem时,你会发现TXD指示灯在闪烁,说明计算机正在通过TXD引脚发送数据。
4 :DTR:数据终端就绪;当此引脚高电平时,通知Modem可以进行数据传输,计算机已经准备好。
5 :GND:信号地;此位不做过多解释。
6 :DSR:数据设备就绪;此引脚高电平时,通知计算机Modem已经准备好,可以进行数据通讯了。
7 :RTS:请求发送;此脚由计算机来控制,用以通知Modem马上传送数据至计算机;否则,Modem将收到的数据暂时放入缓冲区中。
8 :CTS: 清除发送;此脚由Modem控制,用以通知计算机将欲传的数据送至Modem。
9 :RI : Modem通知计算机有呼叫进来,是否接听呼叫由计算机决定
RS232串行接口的电气特性:
数据线Txd和Rxd上逻辑电平的下定义:
●逻辑1:-3V~-15V
●逻辑0:+3V~+15V
在RTS、CTS、DSR、DTR和DCD等控制线上:
●信号有效(ON):+3V~+15V
●信号无效(OFF):-3V~-15V
由于RS232的电平定义与大部分单片机系统(各种外设都基于一个单片机系统构建)使用的TTL电平标准不相符,所以以一般单片机系统与RS232之间的连接通常都加了一个这两种电平之间的转换芯片,如常用的MAX232就属于此类电平转换芯片。
RS-232有下列特性:
- 使用9针的"DB-9"插头(旧式计算机使用25针的"DB-25"插头).
- 允许全双工的双向通讯(也就是说计算机可以在接收数据的同时发送数据).
- 最大可支持的传输速率为10KBytes/s.
DB-9插头
你可能已经在你的计算机背后见到过这种插头
它一共有9个引脚,但是最重要的3个引脚是:
- 引脚2: RxD (接收数据).
- 引脚3: TxD (发送数据).
- 引脚5: GND (地).
仅使用3跟电缆,你就可以发送和接收数据.
串行通讯
数据以每次一位的方式传输;每条线用来传输一个方向的数据。由于计算机通常至少需要若干位数据,因此数据在发送之前先“串行化”。通常是以8位数据为1组的。 。先发送最低有效位,最后发送最高有效位。
异步通讯
RS-232使用异步通讯协议。也就是说数据的传输没有时钟信号。接收端必须有某种方式,使之与接收数据同步。
对于RS-232来说,是这样处理的:
- 串行线缆的两端事先约定好串行传输的参数(传输速度、传输格式等)
- 当没有数据传输的时候,发送端向数据线上发送"1"
- 每传输一个字节之前,发送端先发送一个"0"来表示传输已经开始。这样接收端便可以知道有数据到来了。
- 开始传输后,数据以约定的速度和格式传输,所以接收端可以与之同步
- 每次传输完成一个字节之后,都在其后发送一个停止位("1")
让我们来看看0x55是如何传输的:
0x55的二进制表示为:01010101。
但是由于先发送的是最低有效位,所以发送序列是这样的: 1-0-1-0-1-0-1-0.
下面是另外一个例子 :
传输的数据为0xC4,你能看出来吗?
从图中很难看出来所传输的数据,这也说明了事先知道传输的速率对于接收端有多么重要。