一种MCU时钟系统的设计
时钟系统是微控制器(MCU)的一个重要部分,它产生的时钟信号要贯穿整个芯片。时钟系统设计得好坏关系到芯片能否正常工作。在工作频率较低的情况下,时钟系统可以通过综合产生,即用Verilog/VHDL语言描述电路,并用EDA工具进行综合。然而,用工具综合存在电路性能低、优化率不高的问题,不适合应用在各种高性能微处理器芯片上。而采用人工设计逻辑并手工输入电路图甚至物理版图的方式,能使设计的电路灵活,性能更好。基于这些考虑,设计了一个MCU时钟系统。
1基本时钟输入的选择
(1)CPU核分微处理器(MPU)和微控制器(MCU),两者的基本时钟一般都以单频方波的形式提供。时钟有三种产生方式: (1)用晶体振荡器产生精确而稳定的时钟信号;
(2)用压控振荡器产生可调频率范围较宽的时钟信号;
(3)结合以上两种技术,用压控振荡器生成时钟信号。
基本时钟信号的产生可以有芯片外和芯片内两种方法。但是时钟信号必须是稳定的信号,对于稳定度要求特别高的场合(如MPU和MCU),采用芯片外提供是必不可少的。故本设计采用外接晶振的方法。
2 两相时钟方案
时钟技术是决定和影响电路功耗的主要因素,时钟偏差是引起电路竞争冒险的主要原因。为了消除竞争、提高频率、降低功耗,在基本时钟方案方面,MPU和MCU一般有三种选择:单相时钟、多相时钟和沿触发方案。在当前的设计中,沿触发方案由于在数据传递方面有一定困难已很少被使用。单相时钟方案因为在时序和传输上比较简单可靠,在所有的方案中使用的晶体管也是最少,所以被一些高性能芯片使用,如DEC公司(现被HP公司并购)的Alpha21664微处理器。但是,对CMOS电路来说,采用单相时钟就无法使用动态电路,而且因组合逻辑块中逻辑元件的速度高低都受到限制而呈现困难。
图1是一个单相有限状态机,圆圈内为组合逻辑块CL。
设TL+TH=TP,其中TP为时钟周期,TH和TL分别为时钟高电平和低电平时间。如果要使时钟定时与数据无关,则最长的传播延迟必须小于TP,信号(甚至可能是由于内部竞争冒险产生的尖峰所造成的假信号)到达CL输出端可能取的最短时间必须大于TH。令TCL代表CL延迟范围,则:
TH
(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电平变低之前结束。于是得:
TCL T1+ T3+ T4 或 TCL
其中,TP= T1+ T2+ T3+ T4
这样就可把双边约束(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),可以作为电平恢复器件,这样有利于保存信息。
3.2 二分频电路
通常把一周期指令的执行时间称为一个机器周期,并进一步划分为2~6个状态(高速MCU到标准MCU),每一状态有两相时钟,即为两个节拍,每个节拍持续一个振荡周期。如何向芯片内部提供一个两节拍的时钟信号呢?这就需要二分频电路对外部振荡信号进行分频,使得在每个时钟
- 基于CS5460A的数字电表的校准及修调(11-07)
- 采用混合信号控制器进行混合工作(11-09)
- 基于PIR的移动检测系统的实现(11-03)
- TMP275在手持式实时测温仪中的应用(03-15)
- 基于FPGA/MCU的光电式滚转角测量仪(11-13)
- MCU控制的光伏电池测试仪设计(04-09)