下面都是自己看到的各种常见的接口,是网上各种大神回答的汇总。
1、RS232接口与USB接口
RS232与USB接口虽然都属于串行接口,但它们的数据格式、通信协议、信号电平以及机械连接方式不同。
目前仪器设备大都采用RS232接口与计算机通信。但是随着计算机技术的发展,支持热插拔的USB标准接口将取代RS232接口,在生活中我们也可以看到,现在我们的笔记本基本上都没有RS232接口,基本上都是USB接口。
为什么设备都采用RS232接口与计算机通信,而不在设备上直接使用USB接口,而非得通过一些常见的USB转串口芯片(如CP2102,CH340、PL2303)将设备上的RS232接口转换为USB接口呢。
原因是这样的:USB协议的程序很复杂,说不定把设备(好多仪器设备控制芯片都为单片机或者一些嵌入式芯片)的存储容量都用完了都不一定能实现USB的功能。但是串口协议相对来说就简单的多了。普通的单片机要做出USB接口,那硬件就复杂了,成本也高了,不少单片机为了降低成本、复杂程度和功耗,是没有USB的。
其实实现RS232接口转换为USB接口,一般有两种方案:
1、从硬件底层固件(单片机端)开始全面开发系统,该方案由于开发成本高、难度大,加上单片机的限制,因而很少采用
2、采用USB/RS232桥接器件如CP2102、CP2103进行设计,计算机通过USB接口虚拟一个RS232接口,与传统设备器件连接,设备对计算机接口的形式为USB接口。
RS-232C接口定义(DB9)
引脚 | 定义 | 符号 |
1 | 载波检测 | DCD(Data Carrier Detect 数据载波检测) |
2 | 接收数据 | RXD(Received Data) |
3 | 发送数据 | TXD(Transmit Data) |
4 | 数据终端准备好 | DTR(Data Terminal Ready 数据终端准备好) |
5 | 信号地 | SG(Signal Ground) |
6 | 数据准备好 | DSR(Data Set Ready 数据准备好) |
7 | 请求发送 | RTS(Request To Send 请求发送) |
8 | 清除发送 | CTS(Clear To Send 清除发送) |
9 | 振铃提示 | RI(Ring Indicator) |
RXD、TXD
在原版英文资料中对RXD引脚的解释说是Serial data RXD pin for receive input and transmit output,是既可作输入又可作输出(I/O)。而Receive Data只含输入的意思呀。这是怎么回事儿?
RXD在DTE设备为接收,即输入,在DCE设备端同名RXD为发送端,即输出。在一对通讯系统中RXD信号在DTE设备端为输入信号,在DCE设备端为输出信号。原英文解释是综合译法,一般我们说的RXD是DTE端,即输入。
同样也可以理解TXD的含义。
DTE设备(数据终端设备):计算机、工控主机
DCE设备(数据通信设备):调制解调器、个别仪表
DCD、DTR、DSR、RTS、CTS表示什么意思?
DCD:载波检测。主要用于Modem通知计算机其处于在线状态,即Modem检测到拨号音,处于在线状态。
RXD:此引脚用于接收外部设备送来的数据;在你使用Modem时,你会发现RXD指示灯在闪烁,说明RXD引脚上有数据进入
TXD:此引脚将计算机的数据发送给外部设备;在你使用Modem时,你会发现TXD指示灯在闪烁,说明计算机正在通过TXD引脚发送数据。
DTR:数据终端就绪;当此引脚高电平时,通知Modem可以进行数据传输,计算机已经准备好。数据:Modem->计算机(计算机为终端,通知Modem我准备好了,你发数据吧)
GND:信号地;此位不做过多解释。
DSR:数据设备就绪;此引脚高电平时,通知计算机Modem已经准备好,可以进行数据通讯了。数据:计算机->Modem(数据设备准备好,通知计算机我准备好了,你发数据吧)
RTS:请求发送;此引脚由计算机来控制,用以通知Modem马上传送数据至计算机;否则,Modem将收到的数据暂时放入缓冲区中。
CTS:清除发送;此引脚由Modem控制,用以通知计算机将欲传的数据送至Modem。
RI:Modem通知计算机有呼叫进来,是否接听呼叫由计算机决定。
这几根线在通信时的作用:其中DTR、DSR、RTS和CTS被用作通信过程控制,即当PC欲发送数据时,他应先置位DTR和RTS为高电平,如果与它连接的数字设备有效,则该数字设备应设置DSR和CTS为高电平,说明数字设备已准备好,并允许PC发送信息。在常规的通信方式下,若PC检测不到DSR和CTS同时有效,将停发信息,使通信无法进行。同时,DSR无效时,接收也将失败。因此,在三线方式的串行通信中,为了使通信正常进行,需要将DTR与DSR、RTS与CTS短接,这样,当DTR与RTS有效时,DSR与CTS也随之有效,通信也就能正常进行。
举一个PC和Modem之间通信的例子:
RTS和CTS提供的是一种PC和Modem之间控制数据流的方法,
当Modem准备接收数据时,使CTS为1;当Modem不能接收更多数据时,使CTS为0;
类似的,当PC可以接收数据时,RTS为1,不能接收数据时,RTS为0。
DTR和DSR:PC开启DSR信号告诉Modem,PC机已经准备通信,Modem通常开启DSR来应答,让PC机知道Modem准备应答。
参考:http://www.sowsoy.com/topics-575.html