编辑: 5天午托 2019-11-30
振荡器 中颖公司 SH6xxx 系列单片机提供多种振荡器类型为系统提供系统时钟信号 源,是整个系统运行的引擎.

振荡器类型,有石英晶体谐振器(Crystal) ,陶瓷 谐振器(Ceramic) ,阻容振荡器(RC) ,芯片内建振荡器(internal RC)和外部 输入时钟(External clock)等.如此多种类的振荡器可以方便用户在实际应用中 自主选择最适合的振荡器. 中颖单片机的工作频率是振荡器频率的 1/4,例如用 4MHz 的晶振时,单片机 内部工作频率为 1MHz. 1. 石英晶体谐振器(Crystal)和陶瓷谐振器(Ceramic) 石英晶体谐振器(Crystal)和陶瓷谐振器(Ceramic)是单片机最常用(标准)的时钟源.中颖公司 SH6xxx 系列单片机提供 OSCI 和OSCO 管脚用于连接驱动 外部石英晶体谐振器和陶瓷谐振器. 如图 1-1 所示: OSCI OSCO C1 C2 Crystal Rf STOP 图1-1 Crystal/Ceramic 振荡器示意图 中颖公司对不同频率范围的振荡器提供不同的增益以获得最佳的振荡效果. 在实际开发过程中,用户需要注意选用的振荡器的频率范围,在填写掩膜(MASK) 相关的查检表格(checklist)和烧写 OTP 时,按相应的频率范围选择项进行选择即 可,十分方便. 在石英晶体谐振器和陶瓷谐振器的应用中,需要注意负载电容的选择.不同 厂家生产的石英晶体谐振器和陶瓷谐振器的特性和品质都存在较大差异,在选用 时,要了解该型号振荡器的关键指标,如等效电阻,厂家建议负载电容,频率偏 差等.在实际电路中,也可以通过示波器观察振荡波形来判断振荡器是否工作在 最佳状态.示波器在观察振荡波形时,观察 OSCO 管脚(Oscillator output),应 选择 100MHz 带宽以上的示波器探头,这种探头的输入阻抗高,容抗小,对振荡波 形相对影响小. (由于探头上一般存在 10~20pF 的电容,所以观测时,适当减小 在OSCO 管脚的电容可以获得更接近实际的振荡波形) .工作良好的振荡波形应该 是一个漂亮的正弦波,峰峰值应该大于电源电压的 70%.若峰峰值小于 70%,可适 当减小 OSCI 及OSCO 管脚上的外接负载电容.反之,若峰峰值接近电源电压且振 荡波形发生畸变,则可适当增加负载电容. 用示波器检测 OSCI(Oscillator input)管脚,容易导致振荡器停振,原因是: 部分的探头阻抗小不可以直接测试,可以用串电容的方法来进行测试. 如常用的 4MHz 石英晶体谐振器,通常厂家建议的外接负载电容为 10~30pF 左右.若取中心值 15pF,则C1,C2 各取 30pF 可得到其串联等效电容值 15pF.同 时考虑到还另外存在的电路板分布电容,芯片管脚电容,晶体自身寄生电容等都 会影响总电容值,故实际配置 C1,C2 时,可各取 20~15pF 左右.并且 C1,C2 使 用瓷片电容为佳. 另外,工作电压和环境温度对振荡也存在影响,温度降低及电压降低都会使 振荡减弱.所以,在设计定型时,要对最差环境进行考虑,保证电路对环境的兼 容性. 2. 外部阻容振荡器(RC) 外部阻容振荡器(RC)通过单片机的 OSCI 管脚外接电阻形成时钟电路,成本 低,但相对来讲其振荡频率漂移范围较大. 如图 1-2 所示: OSCI ROSC VDD 1000pF 图1-2 外部阻容振荡器示意图 其中,OSCI 管脚处对地所接电容是用于滤除电源噪声(不参与振荡) ,可以增强时 钟频率的稳定性.选用的振荡电阻(ROSC)值可以在对应的中颖单片机规格书中的 振荡频率与振荡电阻的关系图(R-F)中查到,如图 1-3 所示为 SH69P25 的R-F 参 考图.在应用阻容振荡器(RC)时应该注意电源的波动对工作频率的稳定度的影 响.供电电路自身产生的抖动和电路输出功率的剧烈变化等都会造成电源的波动. 另外,阻容振荡器(RC)的一致性较差,同样阻值的振荡电阻(ROSC)在不同单片 机上会获得不同的频率.在大批量产时,RC 振荡频率的一致性控制困难,所以对 工作频率有一定要求的设计应避免使用. 图1-3 振荡频率与振荡电阻的关系(SH69P25) 3. 芯片内建阻容振荡器(internal RC) 中颖单片机还提供芯片内建振荡器(internal RC) .这种振荡器完全在芯片 内部实现振荡功能,无需任何外部组件.所以在有些芯片中 OSCI 和OSCO 管脚可 以复用为 I/O 端口,可以最大程度对管脚资源加以利用.其内建振荡器的工作频 率都是固定的, 一般有 2MHz, 4MHz, 6MHz 和8MHz 可选. 内建振荡器 (internal RC) 的频率稳定度和一致性要高于外部阻容振荡器 RC,某些芯片频率范围可以控制在 2%~3%以内,比如 SH67P33C、SH66P51.此类振荡器被广泛应用于红外遥控器设计 中,其频率漂移完全满足红外遥控载波的频漂规范. 4. 外部输入时钟(External clock) 中颖单片机还可以通过 OSCI 管脚直接输入外部时钟信号作为工作时钟.外部 时钟源可以是有源晶振,外部谐振时钟或其它单片机提供时钟.频率范围为 30KHz~ 8MHz. 5. 双时钟振荡器单片机的使用 双时钟振荡器的类型和作用 部分中颖单片机包含两个振荡器(双时钟) ,其低频振荡器用于长时间计时和 待机时 LCD 的显示,高频时钟用于执行需要快速执行的操作.双时钟的设计可以 使产品在绝大多数的待机时间内,用最低的工作频率来维持必要的 LCD 显示输出、 计时等功能,同时获得较低的功耗,使电池的使用寿命得到最大程度的延长. 中颖单片机的双时钟由低频时钟(OSC)和高频时钟(OSCX)组成,如图 1-4. 低频时钟(OSC)是一个在低频条件下工作的振荡器,低频振荡器一般有低频 晶体(典型值 32.768kHz) ,RC(典型值 131kHz)振荡器等等,如果同时含有,一 般由代码选项选择. 高频时钟(OSCX)是为高频操作设计的.一般提供的类型有:陶瓷振荡器 (典 型值 455KHz~4MHz),石英晶体谐振器(典型值 2MHz~8MHz),外部 RC 振荡器 (2MHz~8MHz)或内建 RC 振荡器 (2MHz,4MHz,6MHz 或8MHz) ,如果同时含有, 同样由代码选项决定. 单片机通过软件控制寄存器完成高/低工作频率之间的相互切换,以达到在高 频时钟下进行高速运算处理,在低频时钟下获得较低维持功耗的目的. 双时钟单片机在上电复位后,低频 OSC 首先开始振荡,并自动为系统提供时 钟,同时 OSCX 为关闭状态. 在WDT 复位初始化后, 低频 OSC 振荡器打开而高频 OSCX 振荡器保持复位前的状态. OSCI OSCO OSCXI OSCXO Clock CPU Base Timer System clock &

Switching control Generator System clock Source Selector High Frequency Clock Oscillator Clock Oscillator Low Frequency 图1-4 双时钟振荡器框图 低频时钟振荡器 OSC 可以为 CPU 及其周边设备(LCD 液晶驱动)提供基本时钟脉 冲.而高频时钟振荡器 OSCX 可以由软件或代码选项选择为陶瓷振荡器或 RC 振荡 器作为 CPU 高频工作时的时钟. 如果芯片中硬件包含 OSCX 振荡器而实际应用中不使用,必须将其在代码选项 中选择为陶瓷谐振器并将 OSCXI 接地,避免引脚悬空导致漏电. 双时钟振荡器的控制 双时钟振荡器的控制寄存器结构如下所示: 地址 第3位第2位第1位第0位$xx OXM OXON 其中: OXON: OSCX 振荡器开/关.

0 : 关闭高频时钟 OSCX 振荡器

1 : 打开高频时钟 OSCX 振荡器 OXM: 切换系统时钟.

0 : 选择低频时钟 OSC 作为系统时钟

1 : 选择高频时钟 OSCX 作为系统时钟 双时钟荡器的编程注意事项 OSCX 振荡器从打开到稳定振荡至少需要 5ms 的时间.所以当 CPU 系统时钟振 荡器由 OSC 切换到 OSCX 时,用户必须注意此时 OSCX 振荡器必须已经稳定.OSCX 振荡电路启动的时间长短会随选用振荡器的不同而存在差异(RC 振荡启动的时间 较短,而陶瓷振荡器启动的时间较长) .因为低频振荡电路 OSC 一直为处于开启状 态,所以 CPU 从高频切换回低频工作时无需延时等待,可以直接切换.并且系统 电路设计中允许由 OSCX 转换到 OSC 的同时关闭 OSCX.在这种操作下,为了避免运 行出错, CPU 将自动延迟一个指令周期再执行关闭 OSCX 的操作. OSCXO OSCO SYS CLOCK High frequency operation Low frequency operation High frequency operation Switch from OSCX to OSC OSCX turn off OSCX turn on Warm-up time Switch from OSCX to OSC 图1-5 系统时钟切换时序图 系统时钟由低频切换为高频的程序实列如下(SH66P51) : ldi rzOSC ,1001b ;

turn on OSCX. call Delay_6ms ;

delay

6 ms. ldi rzOSC ,1011b ;

switch OSCX as system clock. 6. PLL振荡器 (1, 2, 4, 8MHz) 其结构如下图所示(SH69P55) : OSCI OSCO C1 C2 32.768 kHz PLL_C C3 = 2200p RPLL = 100K PLL 时钟源的控制 SH69P55/69K55内建一个锁相环路 (PLL), 能在当选择32.768kHz谐振器时提供最 大等于 8MHz 的时钟源.PLL 时钟通过系统控制寄存器开启或关闭.当PLL 时钟开 启时, PORTC.0 端口作为 PLL 阻容网络连接端口 (连接阻容网络).当PLL 关闭时, PORTC.0 作为 I/O 端口使用. PLL 控制寄存器$16 地址第

3 位第

2 位第

1 位第

0 位读/写 说明 $16 FS1 FS0 OXS OXON 读/写第0位: 打开 PLL 寄存器 第1位: 时钟源选择 (1: PLL, 0: 32.768kHz) 寄 存器 X X X

0 读/写 关闭 PLL X X X

1 读/写 开启 PLL (代码选项中选择 32.768kHz 谐振器) X X

0 X 读/写 选择 32.768kHz 谐振器作为时钟源 X X

1 1 读/写 选择 PLL 作为时钟源

0 0

1 1 读/写PLL 提供 8MHz 的时钟信号作为时钟源 (代码选项中一定需要选择 LVR 的电压范围是 4V)

0 1

1 1 读/写PLL 提供 4MHz 的时钟信号作为时钟源

1 0

1 1 读/写PLL 提供 2MHz 的时钟信号作为时钟源

1 1

1 1 读/写PLL 提供 1MHz 的时钟信号作为时钟源 注意: 1. PLL时钟使用说明: 首先, 在PLL 控制寄存器, 设置 FS1 和FS0 其次, 设置 OXON = 1, 打开 PLL 第三, 延时至少 2ms 最后, 设置 OXS = 1, 选择 PLL 作为时钟源. 2. 如果在代码选项中选择 LVR 的电压范围是 2.5V, 则PLL 只能提供低于 8MHz 的 时钟信号作为时钟源. 以上了解了中颖 MCU 振荡器的结构和部分使用注意事项,下面对实际应用中常遇 到的问题再加以举例说明: 1.振荡不起........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题