搜索
您的当前位置:首页正文

RS232串口通信详解

来源:易榕旅网


RS232串口通信详解(引脚定义,电气特性,传输格式,接收过程,单片机晶振,RS485,RS422)

通信原理知识 2010-01-03 20:53 阅读1 评论0

字号: 大 中 小

RS232串口通信详解(引脚定义,电气特性,传输格式,接收过程,单片机晶振,RS485,RS422)

串口是计算机上一种非常通用的设备通信协议。

--------------------------------- 串口的引脚定义:

信号方向来

9芯

1 2 3 4 5 6 7 8 9

调制解调器 调制解调器

PC PC 调制解调器

PC 调制解调器 调制解调器

CD RXD TXD DTR GND DSR RTS CTS RI

载波检测 接收数据 发送数据 数据终端准备好

信号地 通讯设备准备好 请求发送 允许发送 响铃指示器

缩写

描述

两个串口连接时,接收数据针脚与发送数据针脚相连,彼此交叉,信号地对应相接即可。

--------------------------------- 串口的电气特性:

1)RS-232串口通信最远距离是50英尺

2)RS232可做到双向传输,全双工通讯,最高传输速率20kbps 3)RS-232C上传送的数字量采用负逻辑,且与地对称 逻辑1:-3 ~-15V 逻辑0:+3~+15V

所以与单片机连接时常常需要加入电平转换芯片:

--------------------------------- 串口通信参数:

a)波特率:RS-232-C标准规定的数据传输速率为每秒50、75、 100、150、300、600、1200、2400、4800、9600、19200波特。

b)数据位:标准的值是5、7和8位,如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位);扩展的ASCII码是0~255(8位)。

c)停止位:用于表示单个包的最后一位,典型的值为1,1.5和2位。由于数是在传输线上定时的,并且每一

个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。

d)奇偶校验位:在串口通信中一种简单的检错方式。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。 --------------------------------- 串口通信的传输格式:

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

例如,对于16进制数据55aaH,当采用8位数据位、1位停止位传输时,它在信号线上的波形如图1(TTL电平)和图2(RS-232电平)所示。

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

---------------------------------

串口通信的接收过程:(异步通信:接收器和发送器有各自的时钟;同步通信:发送器和接收器由同一个时钟源控制。RS232是异步通信)

(1)开始通信时,信号线为空闲(逻辑1),当检测到由1到0的跳变时,开始对“接收时钟”计数。 (2)当计到8个时钟时,对输入信号进行检测,若仍为低电平,则确认这是“起始位”,而不是干扰信号。 (3)接收端检测到起始位后,隔16个接收时钟,对输入信号检测一次,把对应的值作为D0位数据。若为逻辑1, 作为数据位1;若为逻辑0,作为数据位0。

(4)再隔16个接收时钟,对输入信号检测一次,把对应的值作为D1位数据。„.,直到全部数据位都输入。 (5)检测校验位P(如果有的话)。

(6)接收到规定的数据位个数和校验位后,通信接口电路希望收到停止位S(逻辑1),若此时未收到逻辑1,说明出现了错误,在状态寄存器中置“帧错误”标志。若没有错误,对全部数据位进行奇偶校验,无校验错时,把数据位从移位寄存器中送数据输入寄存器。若校验错,在状态寄存器中置奇偶错标志。 (7)本幀信息全部接收完,把线路上出现的高电平作为空闲位。 (8)当信号再次变为低时,开始进入下一幀的检测。

---------------------------------

单片机常用11.0592M的的晶振,这个奇怪数字是有来历的: 波特率为9600BPS每位位宽t1=1/9600s 晶振周期t2=1/11.0592/1000000S 单片机机器周期t3=12*t2 t1/t3=96

即对于9600BPS的串口,单片机对其以96倍的速率进行采样。 如果单片机晶振用的不正确,会对串口接受产生误码。 关于单片机晶振的选择和寄存器设置详见:

www.cainiao8.com/embedded/51danpianji/danpianji06_chuankou.html

--------------------------------- RS485和RS422

RS485总线,在要求通信距离为几十米到上千米时,广泛采用RS-485 串行总线标准。RS485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。RS485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。RS485用于多点互连时非常方便,可以省掉许多信号线。应用RS485可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。

RS422总线,RS485和RS422电路原理基本相同,都是以差动方式发送和接受,不需要数字地线。差动工作是同速率条件下传输距离远的根本原因,这正是二者与RS232的根本区别,因为RS232是单端输入输出,双工工

作时至少需要数字地线发送线和接受线三条线(异步传输),还可以加其它控制线完成同步等功能。RS422通过两对双绞线可以全双工工作收发互不影响,而RS485只能半双工工作,发收不能同时进行,但它只需要一对双绞线。RS422和RS485在19kpbs下能传输1200米。用新型收发器线路上可连接台设备。

串口通信电路图

文章出处:dzsc.com 发布时间: 2010-11-15 0:00:00 | 585 次阅读 | 0次推荐 | 0条留言

该系统实现串口模块主要是与上位机进行通信,单片机系统将采到的数据送到上位机进行处理,从而减轻单片机系统的处理负担。由于单片机与上位机进行通信时接口电平不同,因此需要进行接口转换,这里采用SP3220芯片来完成接口电平的转换。SP3220芯片具有功耗低、封装小等特点,在介绍具体电路之前先介绍一下SP32⒛芯片,SP32⒛芯片具有以下特点: ●宽电压供电。供电电压为:3.0V~5,5V. ●上传速率可以达到235Kb/s. ●低功耗的电流为1pA. ●增强性ESD规范.

SP3220芯片与一般的RS232芯片在使用上基本相同,下面给出该芯片的电路设计图,图为串口通信的电路图。

图 串口通信电路图

由图可以看出,通过一个上拉电阻将SHDN管脚拉高,使该芯片一直处于工作状态,如果系统需要处于低功耗状态,也可以通过单片机来控制该管脚,工作的时候将该管脚设置为低电平,需要处于低功耗的时候将该管脚设置为高电平,这样很容易实现控制。在管脚C1+、C1、C2+、C2、V十和V一分别放置0.1μF的电容实现充电作用,满足相应的充电泵的要求。管脚TIOUT、TIN、RIOUT和RIN分别是232转换的输入输出脚,实现单片机的TΓL电平与上位机的接口电平的转换。考虑到减小电源的干扰,还需要在芯片的电源输入腿加一个0.1μF的电容来实现滤波,以减小输入端受到的干扰。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top