0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用经济振荡器为8051微处理器提供时钟

星星科技指导员 来源:ADI 作者:ADI 2023-03-03 14:29 次阅读

使用基于8051的微控制器时,必须谨慎选择外部时钟基准,以确保满足控制器串行接口的时序要求。通常,8051串行端口RS-232发射器/接收器一起使用,以提供到另一个处理器或主机处理器的串行通信链路。RS-232规范具有特定的时序要求,必须满足这些要求才能保证与使用此协议的所有其他设备的通信。基于 8051 的处理器使用外部时序参考(晶体或时钟)和内部可编程分频器链的组合生成其串行端口时序。本应用笔记演示了如何使用EconOscillator满足外部时钟要求,并为8051内部串行端口控制寄存器的编程提供了计算帮助。

介绍

经济振荡器具有提供基本频率的内部振荡器,它们使用内置分频链将基本频率降低到所需速率。每个器件号可以划分四个基本频率速率(60MHz、66.67MHz、80MHz 或 100MHz),调整速度比基本器件频率慢 2052 倍。经济振荡器可用于任何类型的时钟逻辑,包括微处理器FPGACPLD 电路,具体取决于系统要求。

8051 微处理器和 RS-232 串行通信

选择时钟时,有两个因素值得仔细考虑:时钟速率和整个使用寿命内的时钟精度。在8051微处理器系统中,RS-232串行通信的使用通常决定了系统时钟速率。例如,考虑使用 1MHz 时钟(原始 12 的最大时钟速率)的异步模式 8051 串行通信。表 1 显示了建立标准波特率所需的定时器 1 自动重新加载值。

定时器 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%

表1中的实际波特率使用以下公式计算(转载自达拉斯半导体的高速微控制器用户指南):

poYBAGQBk9mALRZqAAAJ7GfMsGs105.gif

表编号基于以下计时器 1 条件:

设置为每个定时器递增12个时钟周期(DS87C520可每1或4个时钟周期递增定时器12)

已启用自动重新加载模式

波特率倍增器 (SMOD=0) 已禁用。

RS-232串行通信的大多数用户都同意,任何超过3%的波特率误差都可能导致通信错误,尽管在数据传输过程中开始和停止位同步,但仍会发生通信错误。3%的允许误差将12MHz晶体的最大通信速率限制在2400波特——这在1990年代初期还不错,但对于今天的标准来说有点慢。幸运的是,有一些晶体可以满足8051串行通信的需求:11.059MHz或22.118MHz晶体。使用这些晶体的微处理器在波特率方面有了显著的提高(表2),数据传输速率高达57.6 kbps(DS115C2使用波特率倍增器SMOD=87时为520.1 kbps),这对于当今大多数微处理器系统来说都是可观的。

计时器 1 自动重新加载值 Focc 时的
波特率 = 11.059MHz
Focc 时的
波特率 = 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 1199.98
160 299.99 599.99
64 149.99 299.99

注意:
要求波特率在指定速率的 3% 以内也会对时钟提出精度要求。即使为RS-232通信选择了理想的时钟速率,如果时钟变化超过3%,您也可能无法始终如一地进行通信。

使用DS1077经济振荡器为8051微处理器提供时钟

DS1077有多种基本型号,内部振荡器工作频率为133、125、120、100和66.667MHz。使用内部分频器链来减慢它们的速度,使其足以满足8051应用的需求,理论上可以使用这些部件中的任何一个。但是,如果您打算使用 8051 的串行端口,则应根据微处理器随附的波特率和波特率生成公式,选择最适合微处理器需求的基础部件。

在我们的示例中,对于8051微处理器,11.059MHz和22.118MHz的振荡器频率是理想的,并且波特率生成可以容忍大约3%的错误率。如果使用66.667MHz基频(DS1077-66),可将基频除以六(6)分频,直至11.111MHz。这与理想频率11.059MHz(0.47%)相比误差很小,即使最坏情况下与编程频率的偏差为1.25%,误差也保持在可接受的低水平。因此,DS1077-66在1.72MHz目标频率下允许最大误差为11.059%,足以满足速率高达28.8kbps的通信需求。

如果使用具有更高允许时钟速率的8051,例如DS87C520(最大时钟速率为33MHz),则可以简单地将时钟速率除以22到222.22MHz。对于任何118.<>MHz波特率的通信,最大误差仍然很好。更高的时钟速率还可以为您的其他应用需求提供更高水平的处理器性能。

DS1077采用8051设计的最大优势是灵活性。最初使用原始或等效的8051微处理器(最大时钟速率为12MHz)的设计可以通过重新编程振荡器和更换微处理器来简单地升级。根据设计的不同,您甚至可以对DS1077插座内重新编程。如果您使用的是40微处理器的8051引脚DIP版本,ADI公司和许多其他公司将生产多个100%兼容的替代芯片。其中最快的是ADI公司的DS89C430,性能比原来的50设计提高了8051倍,并且提供了一些可用的资源,包括看门狗定时器和电源管理,这是原来的8051所没有的。其他芯片,如DS87C520,性能提升高达11倍。(ADI公司还生产具有PWM和ADC的其他8051版本,用于控制应用,但它们不提供40引脚DIP封装。

硬件设置

要使用DS1077,需要建立一种对其EEPROM寄存器进行编程的方法。 对DS1077进行编程后,图1所示原理图显示了如何连接DS1077,以便与8051微处理器配合正常工作。注意DS1077的输出进入XTAL1,XTAL2未连接。XTAL2 通常是 8051 的晶体振荡器输出。将任何东西连接到该引脚只会将微处理器负载下来,当任何辅助时钟设备都可以与 XTAL1 上的微处理器并联时,这是不必要的。(这是假设辅助器件和8051的联合负载不超过DS1077的输出电流规格

pYYBAGQBk9qAGCi-AAApqGkjFI0858.gif

图1.使用DS1077振荡器为8051微处理器提供时钟的硬件设置。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21736

    浏览量

    603277
  • 振荡器
    +关注

    关注

    28

    文章

    3832

    浏览量

    139078
  • 微处理器
    +关注

    关注

    11

    文章

    2263

    浏览量

    82442
收藏 人收藏

    评论

    相关推荐

    使用运算放大器的RC相移振荡器设计

    振荡器是一种机械或电子结构,它根据几个变量产生振荡。我们都有需要振荡器的设备, 我们家里的传统时钟作为挂钟或手表,各种类型的金属探测,涉及
    的头像 发表于 04-10 09:49 2874次阅读
    使用运算放大器的RC相移<b class='flag-5'>振荡器</b>设计

    时钟振荡器的原理与作用详解

    时钟振荡器的原理是将外部时钟电路跟晶振放在同一个封装里面,一般都有4个引脚了,两条电源线里面的时钟电路
    发表于 09-24 16:40 4.4w次阅读
    <b class='flag-5'>时钟</b><b class='flag-5'>振荡器</b>的原理与作用详解

    振荡器基础知识

    时序对于世界上几乎一切电子应用都至关重要。振荡器广泛用于各种应用,用于控制微处理器,MCU,SoC以及其他许多器件或电路的时序。不同应用需要不同类型的振荡器。常常有些问题可通过某种类型的振荡器
    发表于 11-01 15:41

    晶体振荡器不能用于次级振荡器

    你好,我现在正在用PIC32MZ1024EFG100处理器我的新PCB做原理图。正如我在勘误表中看到的,晶体振荡器不能用于次级振荡器。相反,我必须使用外部
    发表于 03-23 09:33

    微处理器C8051F000资料推荐

    微处理器C8051F000资料下载内容包括:C8051F000功能C8051F000主要特点C8051F000引脚功能C
    发表于 03-23 07:42

    具有复位输出和使能硅振荡器MAX7382 电子资料

    概述:MAX7382硅振荡器可在3V、3.3V和5V应用中替代陶瓷谐振、晶体以及晶振模块,作为微处理器时钟。MAX7382含有一个工厂设定振荡器
    发表于 04-20 07:42

    MAX7378硅振荡器相关资料分享

    、辅时钟源以及复位功能。MAX7378具有在工厂编程的高速振荡器、32.768kHz振荡器时钟选择输入和一个
    发表于 05-17 06:57

    STM32的外部振荡器 精选资料分享

    原因 在实际应用中,经常出现由于晶体振荡器在运行中失去 作用,造成微处理器时钟源丢失,从而出现死机的现象,导致系统出错。严重时,由于系统的死机造成监控失效, 导致无法挽回的损失!目的STM32作为
    发表于 08-16 06:09

    8051微处理器由哪几部分构成?

    8051微处理器由哪几部分构成?8051微处理器具有哪些引脚功能?
    发表于 01-18 07:26

    可用的石英晶体振荡器配置类型有哪些?

    和输出之间产生了低阻抗。水晶用于大多数数字计时时钟和手表。在电路中,R1用于控制反馈量。  微处理器晶体振荡器    图8.微处理器晶体
    发表于 02-20 14:37

    数字仪表中的时钟振荡器

    摘要:介绍了时钟振荡器的结构、特点、原理及应用,给出了实际电路图,并说明了电路元件参数的选择.关键词:RC时钟振荡器;555时钟
    发表于 05-24 09:25 36次下载

    时钟晶体振荡器作用是什么 时钟晶体振荡器种类

    于是就有了时钟振荡器,将外部时钟电路跟晶振放在同一个封装里面,一般都有4个引脚了,两条电源线里面的时钟电路
    发表于 08-07 11:51 1.7w次阅读
    <b class='flag-5'>时钟</b>晶体<b class='flag-5'>振荡器</b>作用是什么 <b class='flag-5'>时钟</b>晶体<b class='flag-5'>振荡器</b>种类

    浅谈外部微处理器参考振荡器 (RO) 的 TH7122x 收发

    本应用笔记介绍了使用外部微处理器参考振荡器 (RO) 的 TH7122x 收发。它提出了一个基于皮尔斯拓扑的典型微处理器时钟
    的头像 发表于 06-21 18:08 1794次阅读
    浅谈外部<b class='flag-5'>微处理器</b>参考<b class='flag-5'>振荡器</b> (RO) 的 TH7122x 收发<b class='flag-5'>器</b>

    浅谈外部微处理器参考振荡器(RO)的TH7122x收发

    本应用笔记介绍了使用外部微处理器参考振荡器 (RO) 的 TH7122x 收发。它提出了一个基于皮尔斯拓扑的典型微处理器时钟
    的头像 发表于 07-23 17:37 673次阅读
    浅谈外部<b class='flag-5'>微处理器</b>参考<b class='flag-5'>振荡器</b>(RO)的TH7122x收发<b class='flag-5'>器</b>

    替代SiTime,可编程振荡器用于视频处理器稳定时钟信号

    替代SiTime,可编程振荡器用于视频处理器稳定时钟信号
    的头像 发表于 06-28 09:50 370次阅读
    替代SiTime,可编程<b class='flag-5'>振荡器</b>用于视频<b class='flag-5'>处理器</b>稳定<b class='flag-5'>时钟</b>信号