嗨,我是有人菌~
之前我们有简单介绍过串行通信。详细的介绍指路https://zhuanlan.zhihu.com/p/157242216
想要更好的理解串口通信,我们还需要了解几个串口通信当中的基本概念。
(1)发送时钟:发送数据时,首先将要发送的数据送入移位寄存器,然后在发送时钟的控制下,将该并行数据逐位移位输出。
(2)接收时钟:在接收串行数据时,接收时钟的上升沿对接收数据采样,进行数据位检测,并将其移入接收器的移位寄存器中,最后组成并行数据输出。
(3)波特率因子:波特率因子是指发送或接收1个数据位所需要的时钟脉冲个数。
除了以上概念之外,我们还应该简单了解一些硬件知识。
首先,我们来了解下什么是接口?
常用的串口接头有两种,一种是9针串口(简称DB-9),一种是25针串口(简称DB-25)。每种接头都有公头和母头之分,其中带针状的接头是公头,而带孔状的接头是母头。9针串口的外观下图所示。
从上面的图片中,我们可以看出,在在9针串口接头中,公头和母头的针脚定义顺序是不一样的。
那么,这些针脚都有什么作用呢?9针串口和25针串口又有什么不同呢?
下面,我们从一张图上来了解下这两者的区别。
从上图我们可以看出,DB9和DB25不同的针脚代表不同的功能。在使用的过程中,根据实际需要进行不同的连接就可以啦。
串行通信中,我们常见的接口有RS232、RS422、RS485。
今天,我们简单来了解下RS232。
(RS485我们在之前已经介绍过啦,详细内容指路https://zhuanlan.zhihu.com/p/158587140)
RS-232作为串行通信接口的电气标准定义了数据终端设备(DTE:data terminal equipment)和数据通信设备(DCE:data communication equipment)间按位串行传输的接口信息,合理安排了接口的电气信号和机械要求,在世界范围内得到了广泛的应用。
电气特性:
RS232对电器特性、逻辑电平和各种信号功能都做了规定,如下:
在TXD和RXD数据线上:
(1)逻辑1为-3~-15V的电压
(2)逻辑0为3~15V的电压
在RTS、CTS、DSR、DTR和DCD等控制线上:
(1)信号有效(ON状态)为3~15V的电压
(2)信号无效(OFF状态)为-3~-15V的电压
由此可见,RS232是用正负电压来表示逻辑状态,与晶体管-晶体管逻辑集成电路(TTL)以高低电平表示逻辑状态的规定正好相反。
信号线分配:
RS-232C标准接口有25条线,其中,4条数据线、11条控制线、3条定时线以及7条备用和未定义线。
那么,这些信号线在9针串口和25针串口的针脚上是如何分配的呢?9针串口和25针串口信号线分配如下图所示。
下面我们对这些信号线做个简单的介绍:
(1)数据装置准备好(DSR),有效状态(ON)表示数据通信设备处于可以使用状态。
(2)数据终端准备好(DTR),有效状态(ON)表示数据终端设备处于可以使用状态。这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信要由下面的一些控制信号决定。
(3)请求发送(RTS),用来表示数据终端设备(DTE)请求数据通信设备(DCE)发送数据。
(4)允许发送(CTS),用来表示数据通信设备(DCE)已经准备好了数据,可以向数据终端设备(DTE)发送数据,是对请求发送信号RTS的响应。
请求发送(RTS)和允许发送(CTS)用于半双工的通信系统中,在全双工的系统中,不需要使用请求发送(RTS)和允许发送(CTS)信号,直接将其置为ON即可。
(5)数据载波检出(DCD),用于表示数据通信设备(DCE)已接通通信链路,告知数据终端设备(DTE)准备接收数据。
(6)振铃指示(RI),当数据通信设备收到交换台送来的振铃呼叫信号时,使该信号有效(ON),通知终端,已被呼叫。
(7)发送数据(TXD),数据终端设备(DTE)通过该信号线将串行数据发送到数据通信设备(DCE)。
(8)接收信号(RXD),数据终端设备(DTE)通过该信号线接收从数据通信设备(DCE)发来的串行数据。
(9)地线(SG、PG),分别表示信号地和保护地信号线。
好啦,今天的知识介绍就到这里啦~
想要了解更多的物联网知识,请点个关注哦~