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

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

3天内不再提示

使用可编程振荡器生成和控制系统时钟

星星科技指导员 来源:ADI 作者:ADI 2023-05-08 11:19 次阅读

处理器控制的系统中,功耗与处理器的时钟速度成正比。如果处理器上的计算负载很小,则大部分功率都会被浪费。将处理器速度调制到尽可能慢的频率,同时保持执行手头任务的最低计算能力可以减少这种浪费。本应用笔记描述了使用DS1077通过PC主机控制来控制8051型微处理器的时钟速度。

介绍

DS1077为固态CMOS振荡器,能够产生8kHz至133kHz的频率 33.2MHz. 它可以用作固定频率的独立振荡器,或用作处理器控制的频率 发电机。两个同步振荡器输出的频率可由用户调节,子倍数为 主频率通过使用两个片上可编程预分频器和分频器。频率和 模式设置可“即时”配置,并使用1077线串行接口存储在EEPROM中,该接口可以 在一条2线总线上最多可容纳0个DS1。两个数字控制输入,CTRL1077 和 CTRL3 也是 能够控制频率或模式。此外,DS1077L是4V版本的 DS87,能够产生66.66kHz至3.5MHz的频率。在其余部分 除非另有说明,否则DS1077的1077V和<>V版本均参考 作为DS<>。

本应用笔记将举例说明DS1077的使用实例。展示DS1077的使用方法 代替晶体来为 8051微控制器和微芯片PIC 提供时钟™微控制器。这 应用笔记还将说明如何在单条1077线总线上使用多个DS2。最后,示例 8051 包括固件,以展示如何实现2线主站以及下层通信与总线上每个DS1077通信的例程。

系统概述

图1中的参考原理图显示了两个相互独立的系统。两个系统 工作频率由DS1077产生。在此示例中,尽管每个系统都独立于 它们都由一个公共的2线主控器控制。该 2 线主站可以是更大主机的一部分 需要控制其子系统的系统。主站可以决定降低工作频率 目前不需要的子系统,以节省电力,在某些情况下减少热量,或者可能 甚至减少电磁干扰。有时使用DS1077可以避免高频运行 整个大型系统的时钟,如背板上的时钟。分发相对容易和安全得多 低频 2 线总线。同样,也可以设想使用DS1077来减少系统。 工作频率而不是微控制器(许多微型处理器会降低其速度甚至进入低电平 当前睡眠模式),因为DS1077可以降低整个系统的频率,而不仅仅是微型 独自。综上所述,使用DS1077的应用可能很大很复杂,但为此,应用可能很复杂。 应用笔记中,示例原理图已大大简化,旨在说明几点。它 显示了公共总线上的多个DS1077,也显示了DS1077可以直接驱动一些 流行的微控制器。

使用DS1077作为系统时钟

在参考原理图中,U1(DS1077Z-125)用于生成U3(8051 微控制器。用于开发附录 A 中发现的固件的特定 8051 是 DS87C520.DS87C520的工作频率高达33MHz。由于U1是125MHz版本 在DS1077中,OUT0只能产生125MHz、62.5MHz、31.025MHz和15.625MHz。虽然这会 如果我们的应用只需要全速和半速(使用66MHz版本的DS1077),那就没问题了, 但同样,对于固件的开发,希望将微控制器一直运行到 千赫范围。OUT0 没有分频器,只有一个除以 1、2、4 或 8 的预分频器。另一方面,除了预分频器之外,OUT1 还有一个分频器,可以将频率进一步除以 2 到 1025。因此,选择了 OUT1 来为 8051 计时。然后,OUT0 仍可用于为系统的其他组件提供时钟。为了简单起见,没有使用 CTRL0 和 CTRL1,而是与 GND 相关联。然而 请注意,如果使用 CTRL0 和 CTRL1 输入禁用输出或输入,则必须小心 省电模式,因为微控制器的晶体输入浮动会导致不必要的振荡或 错误时钟。

wKgZomRYb4-ANWniAADQaVFq3uw173.png

图1.参考原理图。

参考原理图所示的第二个系统为U2,DS1077为U1的OSC4引脚提供时钟。 PIC 微控制器。同样,DS1077代替固定频率晶体。此处使用的事先知情同意 示例可以工作在高达 20MHz 的频率,因此与 8051 示例一样,使用 OUT1 以利用 的 2-1025 分频器,仅由 OUT1 提供。OUT0 可由 系统。但是,如果未使用任一输出,因此未连接,则明智的做法是禁用 使用相应的 CTRL 引脚未使用的输出。这将导致供应明显减少电流,以及降低不必要的EMI辐射的可能性。虽然,与 8051 系统一样, 简单性 CTRL0 和 CTRL1 未使用并接地。

像往常一样,提供足够的解耦很重要。同样,重要的是 去耦电容C1和C2具有良好的高频性能,并且物理位置很近 尽可能使用短PCB走线,使每个DS1077都走线。

使用DS1077优于晶体的优势

DS1077可能优于晶体有几个重要原因。一、DS1077 频率可以改变。实际上,它可以即时更改,甚至可以禁用。其次,DS1077提供 双路、同步、可单独控制的输出。此外,DS1077 无需使用杂乱的油箱 晶体在其谐波频率之一下工作时的电路(对于高于30MHz的晶体)。最后, DS1077比晶体更不容易受到振动的影响。

控制DS1077

DS1077可用于固定频率应用和变频应用。在固定频率下 应用中,不需要2线主站,CTRL输入是可选的。但对于 需要控制频率或模式、CTRL 输入和/或 2 线主站的应用必须 根据所需的灵活性使用。

CTRL0 和 CTRL1 输入

如果应用需要指示DS1077进入关断模式以节省能源,或者如果 应用程序想要关闭(三态)振荡器输出,则必须使用 CTRL0 和 CTRL1。 虽然没有特定的2线命令进入省电模式或禁用输出,但有 可以在固件中完成的一些技巧以达到相同的结果。例如,当 CTRL 输入是 在已知状态下,可以设置或清除 MUX寄存器中的相应位,以打开和关闭所需的 功能。

2线接口

当应用需要生成除 1、2、4 或 8 以外的频率时,则 2 线接口 是必需的。与现有2线总线的接口很简单。只需连接SDA和SCL(和GND)。确保 总线某处包含总线上拉电阻。这些是参考原理图中的R1和R2。 虽然本例中使用了4.7kΩ电阻,但可能需要根据总线进行调整。电容、总线上的设备数量以及所需的通信速度。但是,4.7kΩ 会 适用于大多数应用程序。如果没有现有的总线,则可以使用微型创建一个总线。 附录 A 中提供了 8051 微控制器的示例固件。此外,如果 2 线接口不会 在应用中使用,确保SDA和SCL绑定到明确定义的逻辑电平,而不是离开 浮动。

请注意,在本例中,同一总线上有多个DS1077。为了2线主站 为了与每个DS1077单独通信,每个DS8都需要有一个唯一的地址。总线中的三位 寄存器允许总线上同时最多连接1077个DS1。U000被编程为地址为“2”,而U001 被编程为地址为“2”。有关1077线通信的示例,请参考DS1077或 DS<>L数据资料以及附录A中列出的固件。

DS1077控制2线主机

读到这里,人们可能想知道为什么在示例应用中使用额外的2线主站。 当有两个精细的微控制器能够生成所需的2线协议时 与DS1077通信。虽然可以做到,但很危险,必须格外小心。第一个 所有,当微控制器的频率发生变化时,2线例程的时序也会发生变化。此外,就像 对于 8051 示例和 PIC 示例,某些微器件可能具有最低工作频率规格 添加到最大频率。最后,禁用输出是不可能的,因为微会 不再计时,因此无法再发出命令以重新启用振荡器。但如果 必须这样做,检查正在使用的微控制器的数据表非常重要。

固件

基于 8051 的系统的固件包含在附录 A 中。它旨在展示一个较低的示例 需要与DS1077通信的层例程。但是,请注意,固件实现了开环 系统。闭环非常特定于应用程序。但为了说明示例 与DS1077通信,基于菜单的开环示例是有益的。一个PC终端程序是 用于发出DS1077s命令。然后可以在固件中查找命令以准确查看 正在执行什么。基本菜单命令如下:

读取选定的DS1077并显示寄存器

编辑多路复用字

编辑 DIV 字词

编辑总线字

写入DS1077,地址为“000”

写入DS1077,地址为“000”

写入DS1077,地址为“001”

写入DS1077,地址为“001”

更改固件 2 线通信地址

由于DS1077设置存储在EEPROM中,因此DS1077上电至存储在EEPROM中的值。 可以使用相应的菜单命令写入 MUX、DIV 和 BUS 寄存器的值。 菜单命令 2 至 8 的固件显示了如何执行 2 线写入的示例,而菜单 命令 1 显示 2 线读取。最后,菜单命令 9 显示了如何更改 2 线地址,该地址将 被解决。

以下是将1234h写入DS1077地址“000”的DIV寄存器的示例:

LCALL START2WIRE ; 2-WIRE START MOV A,#0B0H ; DEVICE IDENTIFIER, SLAVEADDRESS, WRITELCALL WRITEBITS ; SEND COMMAND BYTE LCALLACKSLAVEWRITE ; CHECK FORSLAVE ACKNOWLEDGE MOV A,#01H ; ACCESS DIV COMMAND LCALL WRITEBITS ; SEND COMMAND BYTE LCALL ACKSLAVEWRITE ; CHECK FOR SLAVE ACKNOWLEDGE MOV A,#12H LCALL WRITEBITS ; SEND MSB LCALL ACKSLAVEWRITE ; CHECK FOR SLAVE ACKNOWLEDGE MOV A,#34H LCALL WRITEBITS ; SEND LSB LCALL ACKSLAVEWRITE ; CHECK FOR SLAVE ACKNOWLEDGE LCALL STOP2WIRE ; 2-WIRE STOP To write the same to the DS1077 at address '001',simply replace: MOV A,#0B0H ; DEVICE IDENTIFIER, SLAVE ADDRESS, WRITE with the following: MOV A,#0B2H ; DEVICE IDENTIFIER, SLAVE ADDRESS, WRITE

下面是在地址“1077”DIV寄存器处读取DS000的示例。

LCALL START2WIRE ; 2-WIRE START MOV A,#0B0H ; DEVICE IDENTIFIER, SLAVE ADDRESS, READ LCALL WRITEBITS ; SEND COMMAND BYTE LCALL ACKSLAVEWRITE ; CHECK FOR SLAVE ACKNOWLEDGE MOV A,#01H ; READ DIVREG COMMAND LCALL WRITEBITS ; SEND COMMAND BYTE LCALL ACKSLAVEWRITE ; CHECK FOR SLAVE ACKNOWLEDGE LCALL START2WIRE ; REPEATED 2-WIRE START MOV A,#0B1H ; DEVICE IDENTIFIER, SLAVE ADDRESS, READ LCALL WRITEBITS ; SEND COMMAND BYTE LCALL ACKSLAVEWRITE ; CHECK FOR SLAVE ACKNOWLEDGE LCALL READBITS ; READ DATA FROM DS1077 A MOV DIVDATAMSB,A ; SAVE MUX MSB TO A VARIABLE LCALL ACKSLAVEREAD ; ACK SLAVE SO WECANREAD NEXT BYTE LCALL READBITS ; READ DATA FROM DS1077 A MOV DIVDATALSB,A ; SAVE MUX LSB TO A VARIABLE ;LCALL ACKSLAVEREAD; NO ACK - NO MORE TO READ LCALL STOP2WIRE ; 2-WIRE STOP

结论

DS1077通常可以替代晶体,当需要更大的灵活性和控制时。 此外,DS1077还可用于产生从kHz范围到kHz的宽范围频率。 133兆赫。根据所需的控制量,它可以独立运行,也可以由处理器控制 使用2线接口。虽然示例电路很简单,但它展示了 DS1077.考虑在下一个应用中使用DS1077。

审核编辑:郭婷

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

    关注

    68

    文章

    18823

    浏览量

    226496
  • 振荡器
    +关注

    关注

    28

    文章

    3732

    浏览量

    138368
  • 发电机
    +关注

    关注

    26

    文章

    1580

    浏览量

    67148
收藏 人收藏

    评论

    相关推荐

    可编程时钟振荡器用作FPGA系统的时序参考有何优势?

    内在 可编程的硅 MEMS 时钟 振荡器架构能够帮助采用 FPGA 的 系统设计人员解决许多难题。这种微型机电 系统架构能够轻松整合一些其它功能,如
    发表于08-15 11:12 2675次阅读
    <b class='flag-5'>可编程</b><b class='flag-5'>时钟</b><b class='flag-5'>振荡器</b>用作FPGA<b class='flag-5'>系统</b>的时序参考有何优势?

    利用可编程振荡器增强FPGA应用

    可编程 时钟 振荡器用作FPGA 系统的时序参考,可提供一系列优势。其中首要优势是为了实现 时钟树优化而进行高分辨率频率选择时所带来的设计灵活性,另
    发表于03-31 11:56 1398次阅读

    爱普生可编程石英振荡器都有哪些系列?具有什么使用特点?

    的这些参数在电脑 控制器上,输入你所提供的参数,然后按下确定键就可以把频率,电压等参数写入到空白的晶振片上。爱普生晶振最新 可编程晶体 振荡器SG-8101系列以及SG-9101系列具相较于普通有源晶振
    发表于01-04 10:18

    了解今天的可编程振荡器

    了解今天的 可编程 振荡器
    发表于03-28 16:19 518次阅读

    设计可编程控制系统时的故障防范

    设计 可编程控制系统时的故障防范 在现代化的工业生产中,大量采用了 可编程序控制系统可编程序控制器能在恶劣的工作环境下正常
    发表于06-17 14:43 447次阅读

    可编程振荡器,什么是可编程振荡器

    可编程 振荡器,什么是 可编程 振荡器 可编程 振荡器是20世纪90年代早期为克服常规
    发表于03-22 14:40 2529次阅读

    基于可编程控制器多谐振荡器的设计与分析

    本文以日本三菱公司型号为FX2-24MR的 可编程控制器为例进行程序设计,并仿真验证,设计了一款用 可编程控制器构成的多谐 振荡器
    发表于08-15 10:23 2067次阅读
    基于<b class='flag-5'>可编程控制器</b>多谐<b class='flag-5'>振荡器</b>的设计与分析

    可编程时钟振荡器的电路原理图免费下载

    本文档的主要内容详细介绍的是 可编程 时钟 振荡器的电路原理图免费下载。
    发表于03-21 11:32 11次下载
    <b class='flag-5'>可编程</b><b class='flag-5'>时钟</b><b class='flag-5'>振荡器</b>的电路原理图免费下载

    AN-585:AD5232-使用数字电位可编程振荡器

    AN-585:AD5232-使用数字电位 可编程 振荡器
    发表于04-18 16:52 3次下载
    AN-585:AD5232-使用数字电位<b class='flag-5'>器</b>的<b class='flag-5'>可编程</b><b class='flag-5'>振荡器</b>

    AN-580:采用数字电位可编程振荡器

    AN-580:采用数字电位 可编程 振荡器
    发表于04-24 15:37 1次下载
    AN-580:采用数字电位<b class='flag-5'>器</b>的<b class='flag-5'>可编程</b><b class='flag-5'>振荡器</b>

    如何使用数字电位计构建可编程振荡器

    可以极大地促进开发。本文介绍了一种相对容易构建 可编程 振荡器的方法,该方法通过使用digiPOT可以相互独立地调整 振荡频率和幅度。
    的头像 发表于12-21 10:46 1036次阅读
    如何使用数字电位计构建<b class='flag-5'>可编程</b><b class='flag-5'>振荡器</b>

    振荡器可编程延迟定时-74HC5555

    振荡器可编程延迟定时 -74HC5555
    发表于02-21 19:20 0次下载
    带<b class='flag-5'>振荡器</b>的<b class='flag-5'>可编程</b>延迟定时<b class='flag-5'>器</b>-74HC5555

    使用可编程振荡器生成控制系统时钟

    在处理 控制系统中,功耗与处理 时钟速度成正比。如果处理 上的计算负载很小,则大部分功率都会
    的头像 发表于03-01 15:12 441次阅读
    使用<b class='flag-5'>可编程</b><b class='flag-5'>振荡器</b><b class='flag-5'>生成</b>和<b class='flag-5'>控制系统</b><b class='flag-5'>时钟</b>

    使用可编程振荡器生成控制系统时钟

    在处理 控制系统中,功耗与处理 时钟速度成正比。如果处理 上的计算负载很小,则大部分功率都会
    的头像 发表于06-01 19:05 482次阅读
    使用<b class='flag-5'>可编程</b><b class='flag-5'>振荡器</b><b class='flag-5'>生成</b>和<b class='flag-5'>控制系统</b><b class='flag-5'>时钟</b>

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

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