分享

详细讲解RS-232串口通信原理

 山峰云绕 2023-02-01 发布于贵州

https://m.toutiao.com/is/BFW9qng/ 

RS232详细介绍:

一、R232用图文简介

RS232串口是我们常用的通讯接口之一,它主要用来进行人机交互,它最常用的接口形式就是这种DB9的接口。

信号定义如图所示:

TxD(传输引脚):将数据从DTE传输到DCE。

RxD(接收引脚):将数据从DCE发送到DTE。

DTR(数据终端就绪):DTE准备接受请求。

DCD(数据载波检测):DCE从位于远程位置的DTE接收载波。

DSR(数据集就绪):DCE准备发送和接收信息。

RI(振铃指示器):检测电话线上的来电铃声。

RTS(发送请求):DCE的DTE调用以发送数据。

RTR(准备接收):DTE已做好准备以接收来自DCE的数据。

CTS(清除发送):DCE处于就绪状态,可以接受来自DTE的数据

我们平常简单的使用时只需要用到2,3,5脚就可以了。

这些信号的电平我们称为RS232电平,具有抗干扰能力强,传输距离较数字信号要远一些,但是传输速率要低一点。RS232电平逻辑 1 的电压范围为 -3 ~ -15V,逻辑 0 的电压范围为 +3 ~ +15V,它的噪声容限为2V。

我们常用的芯片串口电平大部分是1.8V,3.3V或者5V,要想变成RS232电平接口需要芯片进行电平转换。我们常用的有MAX3232,可以将3.3或5V的电平转成RS232电平。我们简单使用时,只需要用到TX和RX这两个信号就可以了。我们来看下电路图

二、MAX3232芯片介绍:

MAX3232设备有两路发送器、两路接收器,双电荷泵电路,并带有±15 kV ESD保护端子。

提供异步通信控制器和串行端口连接器之间的电气接口。该器件高达250kbit/s的数据信令速率,3.3V – 5V供电。

1) 芯片极限参数

VCC最大电压不能超过6V,最低电压不能低于-0.3V;电荷泵V+范围 -0.3 – 7V,电荷泵V-范围 -7 – 0.3V,V+与V-电压差不能超过13V,运行时芯片结温不能超过150°C。

2) 正常运行参数

VCC电压3.3V/5V,逻辑高电平要求大于2/2.4V,逻辑电平要求小于0.8V,运行时芯片温度不能超过70°C。MAX3232C为商业上用的,MAX3232I为工业上用的。

3) 温升参数

根据温升参数可以估算出芯片的运行温度,公式:芯片温度=环境温度+温升*功率

4) 芯片转换特性:

这是芯片的速率和高低电平转换延时时间,输入高,则输出低电平逻辑

5) TSSOP封装尺寸

三、RS232通讯格式

1)串口通信参数

波特率:数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200、115200波特;

数据位:标准值是5、7和8位;

停止位:用于表示单个包的最后一位;

奇偶校验位:检错方式

2)串口通信传输格式

串口通信中,线路空闲时,线路的TTL电平总是高,经过RS232芯片反向电平总是低,一个数据的开始RS232线路为高电平,结束时RS232为低电平,数据总是从低位向高位一位一位的传输。示波器读数时,左边是数据的高位。

例如,对于16进制数据55AAH,采用8位数据位、1位停止位传输时,如图

55H=01010101B,取反后10101010B,加入一个起始位1,一个停止位0,55H数据格式为1010101010B;

AAH=10101010B,取反后01010101B,加入一个起始位1,一个停止位0,55H的数据格式为1101010100B;

3)串口通信时接收过程:

RS232是异步通信,异步通信即接收器和发送器有各自的时钟,而同步通信的发送器和接收器共用同一个时钟源控制。

a) 开始通信时,信号线为空闲(高电平,逻辑1),当检测到由1到0的跳变时,开始对“接收时钟”计数;

b) 当计数到8个时钟时,对输入信号进行检测,若仍为低电平,则确认这是“起始位”,而不是干扰信号;

c) 接收端检测到起始位后,隔16个接收时钟,对输入信号检测一次,把对应的值作为D0位数据,若为逻辑1,作为数据为1,若为逻辑0,作为数据为0

d) 再隔16个接收时钟,对输入信号检测一次,把对应的值作为D1位数据,直到全部数据位都有输入;

e) 如果有校验位,检测校验位P;

f) 接收到规定的数据位个数和校验后,通信接口电路希望收到停止位S(逻辑1),对全部数据位进行奇偶校验,无校验错时,把数据位从移位寄存器中送数据输入寄存器,若校验错,在状态寄存器中置奇偶错标志;

g) 本帧信息全部接收完,把线路上出现的高电平作为空闲位;

h) 当信号再次变低时,开始进入下一帧的检测。

4)波特率和晶振对应关系

单片机常用11.0592M的晶振,波特率为9600BPS,每位位宽t1 = 1/9600s

晶振周期t2 = 1/11.0592/1000000s;单片机机器周期t3 = 12*t2

而t1/t3 = 96,即对于9600BPS的串口,单片机对其以96倍的速率进行采样,如果单片机晶振用的不正确,会对串口接收产生误码。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多