高效型振荡器为8051单片机实现高速串行通信的时钟配置

发布者:Xiangtan最新更新时间:2015-01-27 来源: laogu关键字:振荡器  单片机  高速串行通信  时钟配置 手机看文章 扫描二维码
随时随地手机看文章

引言
    当今许多实时监测系统与通信设备领域中,经常需要进行远距离的数据传送。为此,如何实现高速、可靠及低成本的数据传输是作为前级机或发送级的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自动重新装载值。
表l中实际波特率是按照以下计算公式得出的:波特率所需的定时器I自动重新装载值。

其中:BaudRate为波特率;SMOD为波特率倍增位;fosc为振荡频率;THl为定时器l自动重新装载值。
表1中数值基于以下定时器 1状态:
* 每12个时钟周期定时器增l(单片机DS87C520的定时器可以每4个或12个时钟周期增1)。
* 自动重装载模式。
* 禁止波特率倍增(SMOD=0)。
表l为早期的单片机采用晶体时的波特率和波特率误差
表l  波特率和波特率误差
  定时器1自动重装载值
实际波特率
波特率误差
255
31250(28800)
8.5%
254
15625(14400)
8.5%
253
10417(9600)
8.4%
249/250
4464/5208(4800)
7%,8.5%
243
2404(2400)
0.16%
一般情况下的RS-232串行通信.一旦波特率误差超出3%,尽管数据传送中有起始位或停止位进行同步,就有可能造成通信错误。3%的容许误差使12MHz晶振时的最高通信速率限制在2400波特,这在90年代初还不算坏,但对今天的标准来讲是一个不能忽略的大问题丁。
而现在适应于8051单片机串行通信的晶体;11.059MHz或22.118MHz,已开发出。单片机采用这种晶体后波特率有很大改善,见表2所示。数据传送率可达57.6kps(使DS87C520单片机波特率倍增,当SMOD=1后可达115.2kps),这样高的通信速率——波特率对于当前大多数单片机(或微处理器)系统已是很可观了。随着晶体11.059Mhz或22.118MHz产品逐步市场化,使单片机应用糸统大为拓宽。
表2采用RS-232串行通信造选择的晶振频率时所产生的波特率
定时器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%,仍然会影响到通信的稳定.

用DS1075为8051单片机提供时钟
    为什么现采用新型芯片DSl075芯片-Econ oscillator为8051单片机提供时钟是当前的最佳选择?因为它最大优点是方便、灵活、简单、可靠。
该类型号可提供四种基本振频率(60MHz、66.67MHz、80MHz、100MHz)。并利用内部分频器可将振荡频率降至足够低,以满足8051单片机系统的应用需求.从理论上讲,四种基本振荡频率均可用于8051系统。但是,如果打算选用8051的串行口,则应选择的基频应符合单片机要求的晶体型号,这取决于所要求有的波特率和单片机所提供蛄弛波特率发生器的格式。
    对于8051单片机来讲,11.059MHz和22.118MHz的晶体振荡频率比较满意,所产生的波特率符合将近3%的容差要求。如果选用基频为 66.667MHz的振荡器,对该基频66.667MHz进行六次分频后得到11.111MHz的时钟信号,这与理想频率11.059MHz相差甚徽 (047%),即使是在最坏情况下,与设定偏差为1%,其误差值仍保持在可以接受的3%范围内,DSl075-66与理想频率11.059MHz的最大偏差是1.47%,符合通信速率28.8kbps
的要求。
因为采用DSl075芯片-Econ oscillator 的一个很大的好处是灵活。在8051应用设计中,若当初用的是早期的8051或与之相近的单片机或微处理器 (最大时钟频率为12MHz),则现在只需重新编程振荡器,就可非常简单地以得到升级.在有些设计中甚至可以在线重新编程DSl075;若正在使用早期的 40脚双列8051型单片机,则现在除了Dallas Semiconductor公司外还有不少其它公司可提供多种型号而且完全兼容的芯片来替代,其中典型芯片Dallas Semiconductor公司产的DS87C520,它采用了架构一世界上最流行的8051微控制器之一,
简单易用、丰富的I/O资源使它深受设计者的喜爱,并被广泛接受。它的流行已涉足到了便携式领域,它与早期的8051相比,非但速度快而且指标性能提升了11倍,并且不采用双列40脚的封装。
    为此,选择时钟速率更高的805l系列的DS87C520单片机(最高时钟达33MHz),则可将时钟基频简单的三分频至22.222MHz,此时,最大误差为l .47%,仍适合于22.118MHz晶体波特率的应用,根据需要选用较高的时钟频率可获得较高的处理器性能。

硬件设置
    使用DS1075时,需要建立对DSl075内含EEPROM存储编程器的途经,简单的方法是:直接购买DSl075K编程/评估板,备有样品的评估板和 Windows 2000或XT (正版)软件将大大简化了器件的编程,为设计提供了捷径.即只要将芯片DSl075扦入DSl075K编程/评估上,然后再与能供+5V电源、振荡源的应用板相连,则就可以建立编程。完成DSl075编程后,按图l所示,将DSl075与DS87C520单片机进行连接。    -
    注意:DSl075的输出连接到XTALl引脚,而XTAL2引脚浮空。一般情况下XTAL2引脚是805l的晶振输出端,所以若该引脚接任何元器件只能增加8051单片机的负载,为此,任何附加时钟器件能与8051单片机的XTALl引脚并行连接时,XTAL2引脚都要浮空,此时8051不会超出DSl075所规定的输出电流。

结语
用DSL075芯片Econ Oscillator为8051系列单片机提供时钟,是解决当今用8051系列单片机串行通信在工业控制和通信等领域中数据进行高速传输的新技术,该设计方案的实施可获得较高的性能价格比。

关键字:振荡器  单片机  高速串行通信  时钟配置 引用地址:高效型振荡器为8051单片机实现高速串行通信的时钟配置

上一篇:keilc51用户上电初始化程序解读
下一篇:使用语音识别密码的智能电话远程控制系统

推荐阅读最新更新时间:2024-03-16 13:52

构造一个51单片机的实时操作系统的方法
目前,大多数的产品开发是在基于一些小容量的单片机上进行的。51系列单片机,是我目前使用最多的单片机系列之一,有非常广大的应用环境与前景,多年来的资源积累,使51系列单片机仍是许多开发者的首选。针对这种情况,近几年涌现出许多基于51内核的扩展芯片,功能越来越齐全,速度越来越快,也从一个侧面说明了51系列单片机在国内的生命力。 多年来我们一直想找一个合适的实时操作系统,作为自己的开发基础。根据开发需求,整合一些常用的嵌入式构件,以节约开发时间,尽最大可能地减少开发工作量;另外,要求这个实时操作系统能非常容易地嵌入到小容量的芯片中。毕竟,大系统是少数的,而小应用是多数而广泛的。显而易见,μC/OS—II是不太适合于以上要求的,而Keil
[单片机]
单片机模块化编程方法
  目前我们在学习和开发单片机时广泛采用 c 语言进行编程,当我们开发的单片机项目较小时,或者我们所写的练习程序很小时,我们总是习惯于将所有代码编写在同一个 c 文件下,由于程序代码量较少,通常为几十行或者上百行, 此时这种操作是可行方便的, 也没有什么问题。但如果要开发的项目较大,代码量上千行或者上万行甚至更大,如果你还继续将所有代码全部编写在仅有的一个 c 文件下, 这种方式的弊病会凸显出来, 它会给代码调试、更改及后期维护都会带来极大的不便。试想一下,当你尝试着从几千几万行代码中定位到某一位置或者去寻找某一错误点,上下拉动巨长的滚动条慢慢地、一点点地浏览整个 c 文件, 是件多么令人眼花缭乱,头昏脑胀的事。 模块化编程可解决
[单片机]
<font color='red'>单片机</font>模块化编程方法
51单片机中断解释
解释 void timer0() interrupt 1 using 2 1、返回值 函数名 interrupt n 其中n 对应中断源的编号,其值从0 开始,以80C51 单片机为例,编号从0~4,分别对应外中断0、定时器0 中断、外中断1、定时器1 中断和串行口中断。 2、在C51 中,寄存器组选择取决于特定的编译器指令,即使用using n 指定,其中n 的值是0~3,对应使用四组工作寄存器。 例如可以这样来写: void timer0() interrupt 1 using 2 {…} 即表示在该中断程序中使用第2 组工作寄存器。 using ** 不要写,写了易出错,不写绝对不出错. int
[单片机]
飞思卡尔推出汽车动力管理MCU的虚拟型号
飞思卡尔半导体不断扩展其开发生态系统,在其使用 VaST 系统建模技术的汽车 Power Architecture® 微控制器( MCU )系列中又包含了虚拟样机。这些虚拟样机能使汽车开发人员解决不断增长的软件复杂性问题,加快产品上市步伐。 为了满足严格的排放和燃油效率标准,动力传动系统管理的复杂性和性能要求均大幅提高。与此同时,行业的质量、可靠性和更快面市需求也在提高。汽车生态系统正极力应对这些挑战,虚拟平台作为一个极具吸引力的解决方案应运而生。 VaST 系统技术实现了高度的循环计数准确性、快速模拟速度以及众多电子控制单元( ECU )供应商所需的功能准确性。这些汽车系统供应商使用模拟和建模策略
[汽车电子]
单片机系统常用软件抗干扰措施
  单片机的可靠性设计是一项系统工程,单片机系统的可靠性必须从软件、硬件以及结构设计等方面全面考虑。硬件系统的可靠性设计是单片机系统可靠性的根本,而软件系统的可靠性设计起到抑制外来干扰的作用。软件系统的可靠性设计的主要方法有:开机自检、软件陷阱(进行程序“跑飞”检测)、设置程序运行状态标记、输出端口刷新、输入多次采样、软件“看门狗”等。通过软件系统的可靠性设计,达到最大限度地降低干扰对系统工作的影响,确保单片机及时发现因干扰导致程序出现的错误,并使系统恢复到正常工作状态或及时报警的目的。   一、开机自检 开机后首先对单片机系统的硬件及软件状态进行检测,一旦发现不正常,就进行相应的处理。开机自检程序通常包括对RAM、ROM、I/O
[单片机]
STM32F103C8T6单片机程序烧录教程
本次使用STM32F103C8T6型号单片机进行程序烧录演示,采用ST-Link方式烧录程序,程序烧录前确保已经安装好Keil MDK软件和ST-Link驱动。如没请在公众号菜单栏的软件获取Keil MDK软件和ST-Link驱动(在Keil MDK软件安装的最后部分有驱动安装教程)。PS:下图烧录器示意图的引脚与烧录器实物的引脚位置是不一样的,图片仅供参考。 1、硬件连接:其中烧录器的SWCLK接系统板的DCLK,烧录器的SWDIO接系统板的DIO,烧录器的GND连接系统板的GND,烧录器的3.3V接系统板的3.3。 2、打开程序。 3、在Keil MDK软件中设置ST-Link烧录程序方式:点击”Option
[单片机]
STM32F103C8T6<font color='red'>单片机</font>程序烧录教程
基于单片机的IDE硬盘控制的研究与设计
1.概述     近年来作为数据存储介质的硬盘,其接口智能化程度越来越高,容量不断增大,反而体积在变小,并可脱离系统主机,控制起来比较方便,已经受到人们的普遍重视。现今,在许多以单片机为核心的持续数据采集存储应用系统中,数据存储是一项关键技术,因此,若能将脱机高速大容量硬盘应用到此类系统中,则可提高读写速度、降低单位成本、具有很大优势。但是,硬盘读写是一个复杂的过程,它涉及到硬盘的接口方式、寻址方式、控制寄存器模型等。这样以来,我们就急需找到一种方案,占用较少的单片机资源,却能比较方便的控制硬盘.本文通过8255 对单片机进行I/O扩展,驱动IDE硬盘,成功的解决了上述问题,从而使硬盘可以应用到许多智能系统中。 2. 系统
[单片机]
基于<font color='red'>单片机</font>的IDE硬盘控制的研究与设计
增强型51系列单片机W77E58的存储器访问
     摘要: W77E58是Winbond公司推出的新一代增强型51系列单片机,文中介绍了W77E58对存储器访问的特点,并举例给出多种有关的应用程序实例。     关键词: 单片机  存储器  程序  W77E58     增强型51系列单片机W77E58可与标准的8052兼容,它内含4个8位I/O口、3个16位计数器和全双工串行通信接口。由于W77E58对处理器内核进行了重新设计,因而其性能较之于标准的8052有了很大提高。     W77E58改进了传统处理器的时序。机器周期与时钟之比可以由软件来控制,最快时一个机器周期仅需4个时钟,最慢时一个机器周期需1024个时钟。在同样的时钟频率下,当时钟
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved