用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

一种MCU时钟系统的设计

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:19:01
【本文由PB创新网为您整理】
摘要:介绍了一个基于MCU内核的时钟系统的设计,给出了其电路结构并详细地分析了系统的工作原理。该系统能生成两相不重叠时钟,利用静态锁存器保存动态信息,提供三种电源管理方式以适应低功耗应用。在上华(CSMC)0.6μm工艺库下,利用Cadence EDA工具对电路进行了仿真,仿真结果验证了设计的准确性。

    关键词:微控制器 时钟系统 两相不重叠时钟

时钟系统是微控制器(MCU)的一个重要部分,它产生的时钟信号要贯穿整个芯片。时钟系统设计得好坏关系到芯片能否正常工作。javascript:window.open(this.src);" style="cursor:pointer;"/>在工作频率较低的情况下,时钟系统可以通过综合产生,即用Verilog/VHDL语言描述电路,并用EDA工具进行综合。然而,用工具综合存在电路性能低、优化率不高的问题,不适合应用在各种高性能微处理器芯片上。而采用人工设计逻辑并手工输入电路图甚至物理版图的方式,能使设计的电路灵活,性能更好。基于这些考虑,设计了一个MCU时钟系统。

1 基本时钟输入的选择

CPU核分微处理器(MPU)和微控制器(MCU),两者的基本时钟一般都以单频方波的形式提供。时钟有三种产生方式:

(1)用晶体振荡器产生精确而稳定的时钟信号;

(2)用压控振荡器产生可调频率范围较宽的时钟信号;

(3)结合以上两种技术,用压控振荡器生成时钟信号。

基本时钟信号的产生可以有芯片外和芯片内两种方法。但是时钟信号必须是稳定的信号,对于稳定度要求特别高的场合(如MPU和MCU),采用芯片外提供是必不可少的。故本设计采用外接晶振的方法。
javascript:window.open(this.src);" style="cursor:pointer;"/>
2 两相时钟方案

时钟技术是决定和影响电路功耗的主要因素,时钟偏差是引起电路竞争冒险的主要原因。为了消除竞争、提高频率、降低功耗,在基本时钟方案方面,MPU和MCU一般有三种选择:单相时钟、多相时钟和沿触发方案。在当前的设计中,沿触发方案由于在数据传递方面有一定困难已很少被使用。单相时钟方案因为在时序和传输上比较简单可靠,在所有的方案中使用的晶体管也是最少,所以被一些高性能芯片使用,如DEC公司现被HP公司并购的Alpha21664微处理器。但是,对CMOS电路来说,采用单相时钟就无法使用动态电路,而且因组合逻辑块中逻辑元件的速度高低都受到限制而呈现困难。

图1是一个单相有限状态机,圆圈内为组合逻辑块CL。
javascript:window.open(this.src);" style="cursor:pointer;"/>
    设TL+TH=TP,其中TP为时钟周期,TH和TL分别为时钟高电平和低电平时间。如果要使时钟定时与数据无关,则最长的传播延迟必须小于TP,信号(甚至可能是由于内部竞争冒险产生的尖峰所造成的假信号)到达CL输出端可能取的最短时间必须大于TH。令τCL代表CL延迟范围,则:

TH < τCL < TP (1)

(1)式表明,信号通过CL的每一个延迟都必须介于TH和TP之间。正是这种双边约束特性使单相时钟难以实现。对于多相时钟,则可以消除这种双边约束,而使其转化为单边约束。图2(a)所示为采用两相非重叠时钟Φ1和Φ2(Φ1×Φ2=0),对应时钟波形示于图2(b),T1和T3分别是Φ1和Φ2为高电平时的时间,T2是Φ1到Φ2之间电平为低的时间,T4则是Φ2到Φ1之间电平为低的时间。当Φ2电平变高时信号开始通过CL传输,并且必须在Φ1电平变低之前结束。于是得:

τCL<T1+T3+T4 或 τCL<Tp-T2    (2)

其中,Tp=T1+T2+T3+T4

图4 二分频电路及时钟驱动器

    这样就可把双边约束(1)式简化为单边约束(2)式了。无论是有效信号或是无效信号,都可以以任意快的速度通过CL而不会造成竞争。

当然,相数过多又会使设计复杂度提高,因此这里选择了两相不重叠时钟。

3 时钟系统逻辑电路设计

3.1 两相不重叠时钟产生的方法

两相不重叠时钟产生电路如图3所示。clk为外部晶振产生的送入MCU的单相时钟,I1是MCU内部产生的保护信号,正常工作时I1为低电平,发生故障时如由于噪声干扰导致PSEN和RD、WR同时有效的错误发生时I1变成高电平而关闭时钟;当系统复位时,会使得图3中I1为低电平,恢复clk的输入。由于正常情况下PD为低电平,所以clk等同于经过三个非门变成图中的单相输入信号,加到用“或非”门交叉而构成的R-S触发器,单相时钟从左边加到一个“或非”门上,反相后加到另一个“或非”门上,这样得到的CK1和CK2是不重叠的。单相时钟与双相时钟的对应关系如图3所示。

当信号V变成高电平时(因为正常工作时PD一直保持为0),M1管关断,信号就一直保存在静态锁存器中。每当时钟信号变高时,就把静态锁存器的输出传给W,使得W一直处于低电平而不影响“或非”门A1,故图3中A1可以简化为二输入。

在时钟受到一个逻辑信号(也就是门控时钟)控制的情况下,可能会有一些动态节点不被刷新。为了避免这种错误,采用由一个NMOS控制管M2加两个交叉耦合反相器组成静态锁存器。其中反馈管采用的倒比W/L很小(<1),可以作为电平恢复器件,这样有利于保存信息。javascript:window.open(this.src);" style="cursor:pointer;"/>

3.2 二分频电路

通常把一周期指令的执行时间称为一个机器周期,并进一步划分为2~6个状态(高速MCU到标准MCU),每一状态有两相时钟,即为两个节拍,每个节拍持续一个振荡周期。如何向芯片内部提供一个两节拍的时钟信号呢?这就需要二分频电路对外部振荡信号进行分频,使得在每个时钟的前半周期,节拍1信号有效;后半周期,节拍2信号有效。

二分频电路是由两个静态锁存器组成的触发器,如图4所示。其中CK1和CK2是两相不重叠时钟,当CK1=0,CK2=1时,静态锁存器b的输出经过一个反相器提供CK3和CK4,使得CK3=0,CK4=1;经过半个周期后,CK1=1,CK2=0,M4断开,低电平信号存储在静态锁存器a中,使CK3的值不变,这样CK3延续了一个周期的低电平(高电平),就形成了两分频,如此形成的时钟信号周期增加一倍。CK4由CK3经过一个反相器形成,两者相位相反。

3.3 时钟驱动器及分配

影响时钟偏差主要有以下几个因素:

·连接时钟数的连线;

·时钟数的拓扑结构;

·时钟的驱动;

·时钟线的负载;

·时钟的上升及下降时间。

在MCU内部,时钟信号要驱动大的负载,是负载最重的信号,有可能导致电路延时和时钟偏差。消除的方法之一是增强驱动能力。设计的驱动器如图4(二分频电路除外)所示。最初的时钟信号由二分频电路输出的CK3和CK4提供。值得注意的是,为了提高翻转速度增加了旁路管,即PMOS晶体管M5、M7和NMOS晶体管M6、M8,而且它们的W/L比要取得足够大如设计的为350/1,这样就不需要外部附加自举电容。当然为了防止导通电流过激(di/dt),可以加入电阻起稳定作用。该时钟驱动器的一个重要特点,就是所产生的两相不重叠时钟的相位与时钟负载无关,输出Clk3和Clk4能高到VDD电平和低到地电平。

图6 IDL控制通生CPU内部的时钟信号

   

[1] [2]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:20,453.13000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号