异步串行通信设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
串行通信可以分为同步通信和异步通信两类。同步通信是按照软件识别同步字符来实现数据的发送和接收,异步通信是一种利用字符的再同步技术的通信方式。
异步通信所传输的数据格式(串行帧)由1个起始位、7个或8个数据位、1~2个停止位(含1.5个停止位)和1个校验位组成。起始位约定为0;空闲位约定为1。异步通信实质是指甲乙通信双方采用独立的时钟,每个数据均以起始位开始,停止位结束,起始位触发甲乙双方同步时钟。每个异步串行帧中的1位彼此严格同步,位周期相同。所谓异步是指发送、接收双方的数据帧与帧之间不要求同步,也不必同步。
2.3 系统组成
2.3.1 AT89C51单片机
在系统设计中使用AT89C51单片机作为下位机,与PC机进行串口通信。AT89C51是美国ATMEL公司生产的低电压,高性能的CMOS8位单片机片,内置4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存储器(RAM),器件采用ATMEL公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。
RS-232C标准中的许多信号是为通信业务联系或信息控制而定义的,在计算机串行通信中主要使用如下信号:
①数据传输信号: 发送数据(TXD)、接收数据(RXD)。
②调制解调器控制信号:请求发送(RTS)、清除发送(CTS)、数据通信设备准备就绪(DSR)、数据终端设备准备就绪(DTR)。
③定位信号:接收时钟(RXC)、发送时钟(TXC)。
(3)半双工(Half-duplex):数据传送也是双向的,但是在这种传输方式中,除地线之外,一般只有一根数据线。任何时刻,只能由一方发送数据,另一方接收数据,不能同时收发。
1.
通信协议是通信设备在通信前的约定。单片机、计算机有了协议这种约定,通信双方才能明白对方的意图,以进行下一步动作。假定我们需要在PC机与单片机之间进行通信,在双方程式设计过程中,有如下约定:
④信号地和保护地。
第三章硬件电路设计
3.1
由于AT89C51单片机最大工作电压为6V,所以在与PC机进行串口通信的时候需要进行EIA-RS-232逻辑电平转换。EIA-RS-232 是美国电子工业协会(EIA)制定的串口通信协议,“C”表示标准修第几次修改,其信号电平采用负逻辑,逻辑“1”的电平是-5V~-15V,逻辑“0”的电平为+5V~+15V,因为其有2V的噪声容限,故最终限制接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号 作为逻辑“1”。因此,实际工作时,应保证电平在±(3~15)V之间。
1
51单片机是一种集CPU,RAM,FLASH ROM,I/O接口和定时中断系统于一体的微型计算机。只要有外加电源和晶体振荡器就可以独立完成对数字信号的算术运算,逻辑控制,串行通信等功能。当需要处理较复杂数据或需要对多个采集数据进行综合处理以及需要进行集散控制时,单片机的算术运算和逻辑运算能力显的不足,这时往往需要借助计算机系统。将单片机采集的数据通过串行口传给PC机,由PC机高级语言或数据库语言进行处理,或者实现PC机对远程单片机进行控制。
关键词:串行通信;异步通信;单片机
目前,远程控制以及数据采集系统多采用上位机和下位机的主从工作方式, 微机的分析处理能力较强,有很好的人机界面和大容量的多种存储方式,所以上位机一般采用微机。而单片机具有价格低,功能强,抗干扰能力好,以及面向控制等特点,所以下位机采用单片机来构成主从式多机工作模式。在许多单片机应用系统中,上、下位机分工明确,作为下位机核心器件的单片机往往只负责数据的采集和通信,而上位机通常以基于图形界面的Windows系统为操作平台。
0xA1:单片机读取P0端口数据,并将读取数据返回PC机;
0xA2:单片机从PC机接收一段控制数据;
0xA3:单片机操作成功信息。
系统工作过程中,单片机接收到PC机数据信息后,便查找协议,完成相应的操作。当单片机接收到0xA1时,读取P0端口数据,并将读取数据返回PC机;当单片机接收到0xA2时,单片机等待从PC机接收一段控制数据;当PC接收到0xA3时,就表明单片机操作已经成功。
1.2
串行通信的传输方式有:
(1)单工(Simplex):数据传送是单向的,一端为发送端,另一端为接收端。这种传输方式中,除了地线之外,只要一根数据线就可以了。有线广播就是单工的。
(2)全双工(Full-duplex):数据传送是双向的,且可以同时接收与发送数据。这种传输方式中,除了地线之外,需要两根数据线,站在任何一端的角度看,一根为发送线,另一根为接收线。一般情况下,MCU的异步串行通信接口均是全双工的。
接受或发送的数据都要先送到SBUF缓存。有两个,一个缓存,另一个接受,用同一直接地址99H,发送时用指令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取出。
2串行控制寄存器(PCON)
SCON用于串行通信方式的选择,收发控制及状态指示。SM0,SM1:串行接口工作方式选择位,这两位组合成00,01,10,11对应于工作方式0、1、2、3。串行接口工作方式特点见下表1-1所示:
单片机和PC机之间的通信选用异步串行通信。串行通信方式从原理上可以分成两种:同步串行I/O和异步串行I/O。
(1)异步通信方式
异步方式实现简单,在微型计算机中大量使用异步串行I/O方式,为了避免连续传送过程中的误差积累,每个字符都要独立地 确定起始和结束位,字符和字符间还可能有长度不定的空间时间。
异步通信方式每传送一个字符都要附加一些标志信息,因此其传输效率低,一般用于低速通信系统。但由于接收方接收每个字符时都重新同步,故少量的漂移不会造成太大的影响。
51系列单片机内部的串行口具有通信的功能,该串行口可以作为通信接口,利用该串行口与PC机的高级语言或数据库语言进行整理及统计等复杂处理就能满足实际的应用需要。51单片机的开发除了硬件支持外,同样离不开软件。用汇编语言或C语言等高级语言编写的源程序必须转换为机器码才能被执行。
1.5
1数据缓冲器(SBUF)
1.1
串行通信,是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。 计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。
图 2.1 AT89C51
2.3.2 RS-232串行接口
目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通信中增加通信距离的单端标准。RS-232C总线标准, 是美国电子工业协会(Electronic Industry Association)的推荐标准。
******************
实践教学
摘 要
在计算机技术迅速发展及其广泛应用的今天,远程控制以及数据采集系统多采用上位机和下位机的主从工作方式,串行通信具有高效可靠、价格便宜,遵循统一的标准等特点,因而成为主要的通信手段。
本次课程设计主要是系统中上位PC机与下位单片机之间进行异步串行通信的解决方案,实现了上位机向下位机发送信息以及下位机接收上位机的数据并能够向上位机发送数据的功能。在此系统中,上、下位机分工明确,作为下位机核心器件的单片机只负责数据的采集和通信,而上位机以基于图形界面的Windows系统为操作平台。在软件设计中,采用VC++6.0设计异步串口通信程序。
SM0
SM1
工作方式
功能
波特率
0
0
0
8位同步移位寄存器(用于I/O扩展)
fORC/12
0
1
1
10位异步串行通信(UART)
可变(T1溢出率*2SMOD/32)
1
0
2
11位异步串行通信(UART)
fORC/或fORC/32
1
1
3
11位异步串行通信(UART)
可变(T1溢出率*2SMOD/32)
表1-1 串行接口工作方式
2.2
为实现该系统的生成,主要包含两大模块,即单片机模块和通信模块。
1.单片机模块
单片机模块中主要包括单片机、复位电路、晶振电路、上拉电阻和端口扩展等。端口扩展部分可以通过跳线将单片机的I/O口在系统板上的功能释放,并将其连接到扩展上。
2.通信模块
通信模块中采用MAX232作为通信电平转换电路、实现RS-232的数据传输,可以直接与PC进行通信。
现阶段这种应用的核心便是数据通信,它包括单片机和上位机之间、客户端和服务器之间以及客户端和客户端之间的通信,而在单片机和上位机之间的数据通信则是整个系统的基础。单片机和PC的通信是通过单片机的串口和PC机之间的硬件连接实现。鉴于PC机具有强大的监控和管理功能,单片机则具有快速以及容易控制的特点,在数据量不大、传输要求不高的情况下,一般都采用给PC机配置的RS-232标准串行接口COM1、COM2等相连接来实现应用系统与PC机之间的数据交换。
(2)同步通信方式
在同步通信中,在数据或字符开始传送前用同步字符来指示,由时钟来实现发送端和接收端同步,当检测到规定的同步字符后,就连续按顺序传送数据。同步字符是一种特定的二进制序列,在传送的数据中不会出现。
同步传送方式传输效率高,但是硬件复杂,成本高,一般用于高速率,大容量的数据通信中。在比较同步通信和异步通信的优缺点之后,我们可以在本次设计中采用异步通信方式。
SM2:多机通信控制位。
REN:接收允许控制位。软件置1允许接收;软件置0禁止接收。
TB8:方式2或3时,TB8为要发送的第9位数据,根据需要由软件置1或清0。
RB9:在方式2或3时,RB8位接收到的第9位数据,实际为主机发送的第9位数据TB8,使从机根据这一位来判断主机发送的时呼叫地址还是要传送的数据。
同步通信所传输的数据格式(也称同步串帧)是由多个数据帧构成的,每帧有两个同步字符作为起始位以触发同步时钟开始发送或接收数据。空闲位需发送同步字符。因此,同步是指发送、接收双方的数据帧与帧之间严格同步,而不只是位与位之间严格同步。
异步通信比较灵活,适用于数据的随机发送/接收;而同步通信则是成批数据传送。异步传输一批数据因每个字节均有ቤተ መጻሕፍቲ ባይዱ始位和停止位控制而使发送/接收速度有所降低,一般适用于每秒50~9600位,而同步传输速度较快,可达每秒80万位。所以本次设计选用串行异步通信。
TI:发送中断标志。发送完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续发送。
RI:接收中断标志。接收完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续接收。
3波特率发生器
波特率发生器用来控制串行通信的数据传输速率的,51系列单片机用定时器T1作为波特率发生器,T1设置在定时方式。波特率时用来表示串行通信数据传输快慢程度的物理量,定义为每秒钟传送的数据位数。
现今我国工业迅速发展的情况下,对工业中的计算机控制提出了较高的要求。比如在常见的现场数据采集中,对各个采集点需要采集不同的数据,比如温度、湿度、压力、照度,这就需要单片机对计算机发出的不同的指令做出不同的反应,并且返回相应的采集到的数据。这就需要单片机和PC机进行双向数据通信。这也是本设计可以应用到的地方之一。
AT89C51包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线.
本设计中主要是利用AT89C51的异步通信(UART)模式原理实现单片机与PC机之间的串口通信的。由于CPU与接口间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,要由接收移位寄存器把串行方式转换成并行方式,由发送移位寄存器把并行方式转换成串行方式。
4电源控制寄存器PCON
其最高位为SMOD。
5波特率计算
当定时器T1工作在定时方式的时候,定时器T1溢出率=(T1计数率)/(产生溢出所需机器周期)。由于是定时方式,T1计数率= fORC/12。产生溢出所需机器周期数=模M-计数初值X。

2.
本文要求设计一个单片机与PC串口间通讯系统,实现单片机与PC机之间的远程通信。设计分发送和接收两大模块,发送部分通过硬件电路的引用。其中包括RS-232接口电路、MAX232接口电路,引用相应的管脚相连,并将相应的软件程序转入电路中,即可运行。当电路是相对独立时,可直接调速电路参数值,其影响和干扰就小。在满足发射和接收模块的要求后可单独对控制进行调整,程序的编入,接收部分相应的结果即以实现,因此实现了PC机对远端单片机的控制。
相关文档
最新文档