串口通信的基础知识

(一)串口通信知识

(1) 串口通信是什么?

串口通信:可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接收的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串行接口电路。(串口按位(bit)发送和接收字节的通信方式。)
在这里插入图片描述

(2) 总线通信方式

上面,我们可以了解到串口通信的作用无非就是将并行数据字符转换为串行数据流,亦或是将串行数据流转换为并行数据字符。那么这里的串行数据以及并行数据是指什么呢?

2.1 串行通信

串行通信:是指通信双方按位进行,遵守时序的一种通信方式。串行通信中,将数据按位依次传输每位数据占据固定的时间长度,即可使用少数几条通信线路就可以完成系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信
在这里插入图片描述

应用
系统间通信(多主控制系统)
设备间(主控设备与附属设备)
器件间(主控CPU与功能芯片)
2.1.1 数据传输方向:单工、半双工、全双工
数据传输方向含义应用
单工数据传输只支持数据在一个方向上传输电视,广播
半双工数据传输能双向传输,但不能同时双向传输对讲机
全双工数据传输能同时双向传输电话
2.1.2 时钟线:同步、异步
时钟线方式含义
同步通信双方具有同频同相的同步时钟信号,在传送报文前附加特定传送字符,建立同步后就可以在同步时钟控制下进行逐位的发送/接收。
异步通信发送字符时,所发送的字符之间的时隙可以是任意的,但接收端必须时刻做好接收的准备。并且每一个字符需要加上开始位和结束位。(内部处理器在完成了相应的操作后,通过一个回调的机制,以便通知发送端发送的字符已经得到了回复)

二者区别

方面同步通信异步通信
效率
复杂度、误差复杂,时钟允许误差小简单,时钟可允许一定误差
应用方式点对多点点对点

2.2 并行通信

并行通信:数据的各个位同时传送,可以字或字节为单位并行进行。并行通信速度快,但用的通信线多、成本高,故不宜进行远距离通信
在这里插入图片描述

应用
计算机或PLC各种内部总线

(3) 串口通信的时序

在这里插入图片描述

3.1 波特率

波特率:衡量符号传输速率的参数。指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数,如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd,比特率为10位*240个/秒=2400bps。
注意:波特率和距离成反比。

3.2 数据位

数据位:当计算机发送一个信息包,实际的数据往往不会是8位的,标准的值是6、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位),扩展的ASCII码是0~255(8位)。(每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。)

3.3 停止位

停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。
注意:停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

3.4 奇偶校验位

奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位
方法

校验方法
奇校验原有数据序列中(包括所要加的校验位)的1的个数为奇数
偶校验原有数据序列中(包括所要加的校验位)的1的个数为偶数

例如
①(0)111 111
②(1)001 111

(4)串口通信协议

单片机CPU一般提供TTL电平的UART(通用异步收发器)通信接口,是一种通用的数据通信协议,包括RS232、RS422和RS485等接口标准规范。
TTL电平

方向定义
输出低电平小于0.8V,高电平大于2.4V
输入低电平小于1.2V即认为逻辑0,高于2.0V即认为逻辑1

4.1 RS-232

RS-232(ANSI/EIA-232标准):是IBM-PC及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。RS-232只限于PC串口和设备间点对点的通信RS-232串口通信最远距离是50英尺

主要特点影响
接口的信号电平值较高,易损坏接口电路的芯片RS232接口任何一条信号线的电压均为负逻辑关系。即:逻辑“1”为-3— -15V;逻辑“0”:+3— +15V ,噪声容限为2V。即要求接收器能识别高于+3V的信号作为逻辑“0”,低于-3V的信号作为逻辑“1”,TTL电平为5V为逻辑正,0为逻辑负 。与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。
传输速率较低,在异步传输时,比特率为20Kbps因此在51CPLD开发板中,综合程序波特率只能采用19200,也是这个原因。
接口使用一根信号线和一根信号返回线与地线构成共地的传输形式这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
传输距离有限最大传输距离标准值为50英尺,实际上也只能用在15米左右。

拓展
MAX232芯片可用于TTL电平与RS232电平的专用双向转换芯片。

4.1.1 DB9 串口引脚定义

在这里插入图片描述
公头引脚定义
在这里插入图片描述

4.1.2 DB25 串口引脚定义

在这里插入图片描述

引脚作用
1 屏蔽地线2 TXD 发送数据
3 RXD 接收数据4 RTS 请求发送
5 CTS 允许发送6 DSR 数据准备好
7 SG 信号地8 DCD 载波检测
9 发送返回(+)10 未定义
11 数据发送(-)12~17 未定义
18 数据接收(+)19 未定义
20 数据终端准备好 DTR21 未定义
22 振铃 RI23~24 未定义
25 接收返回(-)标准的细节

DB25转DB9
在这里插入图片描述

4.2 RS-422

RS-422:是Apple的Macintosh计算机的串口连接标准。RS-422使用差分信号RS-232使用非平衡参考地的信号。差分传输使用两根线发送和接收信号,对比RS-232,它能更好的抗噪声和有更远的传输距离。在工业环境中更好的抗噪性和更远的传输距离是一个很大的优点。

4.3 RS-485

RS-485是RS-422的改进,因为它增加了设备的个数,从10个增加到32个,同时定义了在最大设备个数情况下的电气特性,以保证足够的信号电压,是一个定义平衡数字多点系统中的驱动器和接收器的电气特性的标准。使用该标准的数字通信网络能在远距离条件下以及电子噪声大的环境下有效传输信号。RS-485使得连接本地网络以及多支路通信链路的配置成为可能
在这里插入图片描述
RS485电平

电压范围定义
差分信号-2500mv~-200mv逻辑0
差分信号+200mv~+2500mv逻辑1
差分信号-200mv~+200mv高阻态

4.4 RS-232与RS-485的区别

方面RS232RS-485
传输方式不平衡传输方式,单端通信平衡传输,差分传输方式
传输距离不超过20m几十米到上千米
通信数量一对一通信总线上允许连接128个收发器

(5) UART与SPI、I2C

这里只简单介绍SPI与I2C,有时间再另做一篇文章来说说三者关系以及区别。

5.1 SPI(串行外设接口)

SPI(Serial Peripheral Interface):串行外设接口,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议,比如AT91RM9200。

5.2 I2C

I2C(Inter-Integrated Circuit)总线:是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值