访问电脑版页面

导航:老古开发网手机版51单片机51单片机串口

8051单片机实现高速串行通信的设计

导读:
关键字:
8051单片机,串行通信,

引言

当今许多实时监测系统与通信设备领域中,经常需要进行远距离的数据传送。为此,如何实现高速、可靠及低成本的数据传输是作为前级机或发送级的8051单片机迫切需要解决的新技术。据此,我们采用由Dallas SEMIconductor公司的芯片DSl075--Econ oscillator(高效型振荡器)为8051系列的DS87C520高速型单片机提供时钟的配置设计方案,实现单片机串行通信的高速波特率。

Econ oscillator(高效型振荡器)含有一个内部振荡器,用以产生一个基本频率;还内置了一个分频链,可以将基本频率降低到需要的速度。Econ oscillator 的每种型号提供四种基本频率(60MHz、66.67MHz、80MHz、100MHz),可调节的分频系数最高可达2052。Econ oscillator能根据系统需要配置为任何类型的钟控逻辑,包括单片机(微处理器)、FPGA、CPLD电路等。

8051单片机以及RS-232串行通信

选用时钟时,应认真考虑两个因素,即时钟频率和工作期限内的时钟精度。在8051单片机系统中,时钟频率取决于所采用的串行通信RS-232。例如,考虑一个采用12MHz时钟(早期8051的最高时钟频率)的异步模式1串行通信。表l列出了建立标准波特率所需的定时器1自动重新装载值。

8051单片机实现高速串行通信的设计

表l中实际波特率是按照以下计算公式得出的:波特率所需的定时器I自动重新装载值。

8051单片机实现高速串行通信的设计

其中:BaudRate为波特率;SMOD为波特率倍增位;fosc为振荡频率;THl为定时器l自动重新装载值。

表1中数值基于以下定时器 1状态:

·每12个时钟周期定时器增l(单片机DS87C520的定时器可以每4个或12个时钟周期增1)。

·自动重装载模式。

·禁止波特率倍增(SMOD=0)。

表l为早期的单片机采用晶体时的波特率和波特率误差。

一般情况下的RS-232串行通信.一旦波特率误差超出3%,尽管数据传送中有起始位或停止位进行同步,就有可能造成通信错误。3%的容许误差使12MHz晶振时的最高通信速率限制在2400波特,这在90年代初还不算坏,但对今天的标准来讲是一个不能忽略的大问题丁。

而现在适应于8051单片机串行通信的晶体:11.059MHz或22.118MHz,已开发出。单片机采用这种晶体后波特率有很大改善,见表2所示。数据传送率可达57.6kps(使DS87C520单片机波特率倍增,当SMOD=1后可达115.2kps),这样高的通信速率—波特率对于当前大多数单片机(或微处理器)系统已是很可观了。随着晶体11.059MHz或22.118MHz产品逐步市场化,使单片机应用糸统大为拓宽。

8051单片机实现高速串行通信的设计

定时器1自动重装载值

Fosc=11.059MHz时的波特率

Fosc=22.118MHz时的波特率

255

28,799.5

57598.9

254

14399.7

28799.5

253

9599.8

19199.6

250

4799.91

9599.83

244

2399.95

4799.91

232

1199.98

2399.95

208

599.98

119.98

160

299.99

599.99

64

149.99

299.99

注:波特率与规定速率的偏差3%对于时钟精度提出了要求,即便采用专为RS-232串行通信优选的时钟频率,如果时钟频率变化超出3%,仍然会影响到通信的稳定.

来源:工程师周亮   作者:lhl545545  2019/5/9 15:38:00
栏目: [ 51单片机串口]

相关阅读

在VB下PC机与MCS-51单片机的串行通信

51单片机串口通讯编程的方式解析

AT89S51单片机串行口的内部结构及功能介绍

如何计算8051单片机的波特率

51单片机IO口模拟串口的实现

51单片机IO口模拟串口通讯的设计

51单片机的串口通信协议

C51单片机串口的使用方法解析

MCS-51单片机多机通信的工作原理解析

AT89S51单片机串行口的结构

如何设置51单片机的串行口来实现与PC机通信

51单片机三种模拟串口的设计方案解析

51单片机与PC机的串口通讯设计

AT89S51单片机串行口的内部结构解析

8051单片机实现高速串行通信的设计

8051单片机的UART0串口初始化

C51单片机串口通讯的硬件电路图

51单片机实现串口接收和发送数据的两种方法解析

AT89S51单片机串行口的内部结构及工作原理介绍

MCS-51单片机串行口IP核的实现