上次做RFID时,就有串口(UART)这么个问题,虽然用的是双工的,但是对其单工控制实现原理不懂,心里老有个疙瘩。最近做无线模块(GSM,GPRS)时,又有串口问题,发现技术文档里描述的跟自己想的不一样(文档是对的),于是就花了好些时间,搞这个RS-232.
RS-232协议:
RTS(requset /ready to send): 发送端请求发送数据
CTS(clear to send):接收端允许对方发送数据 ;接收端有一定的缓存用于存刚接收的数据,所以有clear
RTS/CTS控制具体数据(数据包)的发送
DTR(data terminal ready):数据终端可用控制
DSR(data set ready):数据通讯设备可用控制
DTR/DSR控制设备本身是否可用
DCE(Data Circuit-terminating Equipment):数据通讯设备
提供建立、保持和终止连接的功能。如MODEM
DTE(Data Terminal Equipment):数据终端设备
提供或接收数据。如计算机
DTE产生的信号:TxD,DTR,RTS
DCE产生的信号:RxD,DSR,CTS,DCD,RI
计算机和终端设备有DTE连机器,Modem和打印机等有DCE设备
TxD,RxD的传输方向是站在DTE位置上看的
DSR&DTR: (6脚) (4脚)
有效时,分别说明DCE和DTE可以正常工作,基本上是,一上电就有效的。
只表示设备本身可用,并不说明通信链路可以开始通信了,能否进行通信有RTS和CTS信号控制
RTS&CTS: (7脚)(8脚)
RTS:表示DTE请求向DCE发送数据,即当终端要发送数据时,使该信号有效
当DTE决定向DCE发送数据时,先有效RTS. DTE通过监测CTS(由DCE控制)是否有效判断可否发送
CTS:用来表示DCE准备好接收DTE发来的数据,是对请求发送信号RTS的响应信号。
当MODEM之类设备已准备好接收终端传来的数据并向前发送时,使该信号有效,通知终端开始沿发送数据线TxD发送数据。
这对RTS/CTS请求应答联络信号是用于半双工MODEM系统中发送方式和接收方式之间的切换。
在全双工系统中作发送方式和接收方式之间的切换。在全双工系统中,因配置双向通道,故不需要RTS/CTS联络信号使其变高。即全双工时,两个信号一直有效。
DCD: 数据载波检出(Data Carrier Dectection,DCD),也叫“接收线信号检出”(Received Line Dectection,RLSD) (1脚)
用来表示DCE已接通通信链路,告知DTE准备接收数据。当本地的MODEM收到由通信链路另一端(远地)的 MODEM送来的载波信号时,使RLSD信号有效,通知终端准备接收,并且由MODEM将接收下来的载波信号解调成数字数据后,沿接收数据线RxD送到终端。
RI: 振铃指示(Ringing,RI) (8脚)
当MODEM收到交换台送来的振铃呼叫信号时,使该信号有效(ON状态),通知终端,已被呼叫。
TxD:发送数据(Transmitted Data,TxD) (3脚)
通过TxD终端将串行数据发送到MODEM,(DTE→DCE)。
RxD:接收数据(Received Data,RxD) (2脚)
通过RxD线终端接收从MODEM发来的串行数据,(DCE→DTE)。
GND:5脚
下面这位的也不错