如何理解UART中DTE和DCE设备(模式) 这样就可以理解UART流控了

要想理解什么是DTE和DCE以及CTS、RTS的流控,那么我们要回到远古时代,现在都是用网口(RJ45)上网的,你经历过用串口(DB9、DB25)上网的年代吗?

DTE (data terminal equipment) 是数据终端设备。例如电脑,打印机。这种设备一般用 公头DB9/DB25连接器。
DCE (data communication equipment) 是数据通讯设备。例如调制解调器。这种设备上一般用母头DB9/DB25连接器。下图就是一个串口的调制解调器,用了DB25的母口。
如何理解UART中DTE和DCE设备(模式) 这样就可以理解UART流控了_第1张图片


之所以定义DCE和DTE两种设备(或者模式),是为了区分串口通信中各个信号的方向。以DB9串口为例,信号方向定义如下。仔细看一下第2脚RXD,对于公头来说是输入,但公母对接之后,对于母头来说这个就是输出了。

如何理解UART中DTE和DCE设备(模式) 这样就可以理解UART流控了_第2张图片

引脚号 名称 DTE / 公头 DCE / 母头 描述
1 DCD (data carrier detct) - - 数据载波检测
2 RXD (received data) 输入 输出 串口数据输入
3 TXD (trasmitted data) 输出 输入 串口数据输出
4 DTR (data terminal ready) - - 数据终端就绪
5 GND (signal ground) - - 信号地
6 DSR (data send ready) - - 数据发送就绪
7 RTS (request to send) 输出 输入 发送数据请求
8 CTS (clear to send) 输入 输出 发送清除
9 RI (ring indicator) - - 铃声指示

现在很多ARM MCU或MPU都有DCE或DTE模式,这个模式就是为了切换信号方向的。如果在DTE模式,那么一般来说RXD就是输入。如果在DCE模式,那么RXD就是输出。但是也不一定,因为这个不是标准,没有标准组织来定义和维护,这个只是一个默认的规则。不管ARM的MCU或MPU如何定义,对于开发者来说,认准的是信号传输方向, 不要看名称是RXD还是TXD

你可能感兴趣的:(硬件设计,嵌入式接口,arm开发,单片机,嵌入式硬件)