串口基本原理解析
扫描二维码
随时随地手机看文章
有很多有过一定嵌入式开发工作经验的朋友在从事嵌入式开发的过程当中,主要在嵌入式软件,界面等方向做的研究较多,但经常也会用串口进行调试程序,只知道串口是用来传输数据用的。但串口具体怎么用来传输数据却不太清楚,对串口的工作原理也是一知半解。接下来分享下串口具体是怎么用来传输数据的。
串行通讯是指仅用一根接收线和一根发送线就能将数据以位进行传输的一种通讯方式。尽管串行通讯的比按字节传输的并行通信慢,但是串口可以在仅仅使用两根线的情况下就能实现数据的传输。
典型的串口通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,所以端口能够在一根线上发送数据同时在另一根线上接收数据。串口通信最重要的参数是波特率、数据位、停止位和奇偶的校验。对于两个需要进行串口通信的端口,这些参数必须匹配,这也是能够实现串口通讯的前提。
串口的定义:“串口”是串行通信接口的简称,所谓“串行通信”是指数据按位依次发送的通信方式。常见的串口有:RS232和RS485。虽然串口通信诞生的时间较早,但它仍然活跃在当今工业自动化控制领域。今天这篇文章,就带大家深入了解串口的原理及应用。
1、串口能解决什么问题?
我们要想解决两个设备间的通讯,就必须约定一个“通信规则”来定义双方都明白的内容。单片机电子电路中输出的是TTL电平信号,用 5V 表示二进制逻辑 “1”,使用 0V 表示逻辑 “0”。但是光有“1”和“0”,某一时刻传递1bit信息,只能表示2种状态信息,如果要传达更多信息,就必须增加bit位的数量,那么串行通讯协议就应运而生了,在串行通讯标准中,我们可以用8bit来表达一个ASCII字符,通过字符组成一个个字符串,这样就可以达到传递更多信息的目的。
在上面的通讯方式中,两个通讯设备的"DB9接口"之间通过串口信号线建立连接,串口信号线中使用"RS-232标准"传输数据信号。由于RS-232电平标准的信号不能被控制器直接识别,所以这些信号会经过一个"电平转换芯片"转换成控制器能识别的"TTL校准"的电平信号,才能实现通讯。
2、串口间正常通信的第一要素是什么?
通信的双方已经定义好了传输一个字节(Byte)包含多少位(Bit),都是通过“0”和“1”按顺序依次发送的,但是又如何来确定从哪里开始接收的信息是有效的呢?这个就要双方达成同步才行,一边开始发,另一边就同步开始收,这个同步的频率就是波特率。波特率的定义就是在单位时间内传输的字符的个数。波特率有一定的选择范围(并非任意值),常见的波特率有:9600,38400,56000,115200等。还有很多其它的值,通信双方约定好相同的波特率即可。
3、RS232和RS485有什么区别?
RS232串口可以实现点对点的传输,RS232接收-发送端的电信号是相对于公共地线(GND)的电压信号。当电压在+3V~+15V之间表示逻辑“0”,当电压在-3V~-15V之间表示逻辑“1”。由于电压值都是相对于地线的电压差,其发送电平与接收电平的差只有2~3V,所以共模抑制能力较差,容易受到共地噪声和外部干扰的影响,再加上信号线之间的分布电容,因此其传送距离最大为约15米,最高数据传输速率为20kb/s。
为了解决信号更稳定和远距离传输的问题,发展成RS485串口协议,RS485采用差分信号传输,逻辑电压值不再与地线比较,而是2条传输线之间的电压差来表示“0”和“1”,这样即使受到干扰,2条信号线的电压同时发生变化,二者的电压差值不变,意味着信号的传输也不会发生改变。这样大大提高了信号的稳定性和传输距离。
4、串口转接的不同形式
在我们的实际应用中,会遇到多种串口转接的情况,我们逐一来分析如何解决:
4.1 TTL转DB9:通常我们看到的设备外壳上自带的DB9串口,都是主板上的TTL电平转换电路引出的,方便我们与其它设备间通讯连接。一般设备主板上很少会预留4针的TTL电平信号接口,如果有遇到,那么就需要找到TTL转串口的转接线才能完成与其它外设的串口连接(如下图)。按TXD信息发送,RXD信号接收,GND地线,VCC供电线的对应针位,采用直连的方式接线即可。
4.2 DB9公转公或母转母:实际应用中,如果碰到2个设备的DB9接口相同,都是公头或都是母头,那么就需要找一条DB9转接线,我们以母转母为例,下图中的转接线两端都是公头,正好匹配设备间的母转母端口,需要注意的是,必须选用交叉转换线,因为相同端口的设备信号传输接线方式相同,中间需要对信息收发进行交叉才能正常通讯。
4.3 USB转DB9:我们将电脑与设备连接的时候,特别是现在笔记本取消了DB9端口,所以只能通过电脑USB口与设备的DB9端口相连,中间需要一条USB转DB9的转接线(如下图),对应选择USB转公头或母头即可。
4.4 USB转TTL:这种转接板通常用作设备控制程序调试,搭配TTL转DB9转接线使用,可以实现控制程序的调试,设备数据的读取。
串口在工业自动化控制中的应用非常广泛,了解完硬件接口的原理,其实也离不开软件的驱动;硬件层协议像是公路,可以让车辆顺利通过,而软件层协议和程序,更像是交通规则,可以让车辆按指定的方式通行。云燕信息在工业控制领域积累了丰富的实施经验,对于硬件的组网和软件的配套开发,已经形成了一套成熟的物联网方案,可以帮助工业企业快速搭建物联网,实现物联网设备的自动化控制目标。