王津飞 居水荣 白烁 郭凯鹏
摘 要:首先介绍了作者所设计的MC008X系列8位MCU的特点及功能框图,然后具体介绍了该系列微控制器的外围资源设计,包括晶振驱动电路、RC振荡器、低电压复位电路、电流型DAC、差分放大和恒流源输出。
关键词:微控制器;外围资源;RC振荡器;电流型DAC
中图分类号:TP332 文献标志码:A 文章编号:2095-2945(2019)06-0048-03
1 概述
通常的微控制器除了CPU内核之外,还应该包括以下外围资源:存储器(ROM、RAM)、显示驱动电路(如LCD驱动、LED驱动等)、语音输出(包括DAC转换、PWM控制等)、输入/输出端口、振荡器(如晶振、RC振荡器等)、上电复位电路和低电压检测电路等等。本文以一种8位低成本、低功耗微控制器——MC008X为例,具体介绍在尽量控制芯片成本的前提下,如何设计微控制器的这些外围资源,使得这颗微控制器的用户在使用过程中方便、好用、应用面广等。
2 MC008X系列MCU综述
在介绍MC008X系列微控制器的外围资源设计之前,为了对这个系列的MCU能够有一个比较全面、清楚的认识,先介绍一下这个系列MCU的特点:
(1)CPU:8-bit CISC微控制器。
(2)工作电压:2.4V~6.0V。
(3)工作电流:120μA/100kHz @3.0V(工作);<8μA@(睡眠模式)。
(4)工作频率:2MHz @ 3.0V。
(5)定时器/计数器:10-bit 定时器/计数器。
(6)LCD 点阵:LCD matrix
34x4或30x8。
(7)语音/音调:8-bit DAC 语音/音调或数字信号输出。
(8)看门狗:内建2Hz的看门狗定时器。
(9)唤醒:包括键盘输入唤醒、定时器唤醒。
(10)时钟源:双振荡器(32768晶振l、RC振荡器)。
(11)RAM/ROM:128x8 bits(RAM);7680x8 bits (ROM)。
(12)中断源:三种时基中断、定时器中断、外部中断。
(13)8個输入口:有键盘唤醒功能,并且包含四种组态。
(14)双向口:8个通用的双向口,8个特殊用途的双向口可用来开发各种应用。
(15)系统复位:外部复位;看门狗复位;上电复位、低电压复位。
MC008X系列微控制器功能框图如图1所示。
本文不涉及图中的CPU内核部分,而是把关注点放在其它的一些外围资源模块上。
3 外围资源的设计
3.1 具有较宽动态工作范围的晶振驱动电路设计
该微控制器的晶振模块的构架如图2所示。
当用户使用R-OSC来代替晶振时,图2中的Strong/Weak将不起作用,时基将不精确。复位程序执行完成后应该至少保持1秒的Strong模式,然后转入Weak模式以节省功耗。
为节约能源、降低功耗,本电路的晶振有Strong和Weak两种工作模式,由信号h122控制:h122=0时,电路工作于Weak模式;h122=1时,电路工作于Strong模式。两种模式的功耗大约相差15倍。
Strong模式的起振时间为45?滋s,Weak模式的起振时间为260?滋s。
晶振驱动电路中有两个电阻R2、R3,其作用就是在Weak模式下降低电路的工作电流,从而降低本电路的功耗。基于其作用,这两个电阻的取值不必过于精确,但是也不能过大,否则晶振将由于振幅过小而导致得不到时钟信号。
晶振驱动中设置倒比管P10和N10作为晶振的反馈电阻,如果P10和N10的长度太小(<70?滋m),晶振将无法起振;太大又会导致起振时间的延长。
3.2 恒流源作偏置的RC振荡器
MC008X中的RC振荡器由延时控制电路、恒流偏置电路和多谐振荡电路三部分组成。
(1)控制延时电路:该电路的作用主要是在h110由高变低时,产生一个约0.16?滋s的延时脉冲,开启N7,将B78拉为低电平,在延时脉冲结束后,振荡器起振。由于上电时B78由零电平开始上升,因此实际上该延时功能只在SLEEP→WAKEUP时才起作用。
(2)偏置电路:由Rosc(外接)、R2、N8、N9、N10、C8和P1、N3、N2、P5、N5组成。Rosc(50K)为偏置电路提供直流通路,N8、N10利用自身负反馈将B78点电位稳定于1.05V,供其他偏置电路使用。C8接于N10栅极起稳定作用。N3在B78的控制下作为恒流源为P6、P5提供偏置,使其作为振荡器负载工作于线性区以利于频率的提高。P2接成二极管起限幅作用。C1起稳定工作点、消除干扰的作用。
(3)振荡器部分由I19、I18、I0、I21、I4、
P0、N0、N1、P6、P3、P5、N4、C0、C2组成,其中I18、I0构成多谐振荡器,C0、C2为定时电容:P0导通时,C0放电,P0关闭时,C0充电,使N1瞬间关闭,产生一脉冲触发RS触发器,实现翻转振荡,h111输出4MHz的时钟信号。
仿真结论:
(1)Rosc、R2的变化对频率有影响,但是影响不大,因此可以通过调节R2来对振荡器频率进行微调:
(2)C0、C2对振荡频率影响较大。
3.3 利用电压比较器的低电压复位结构
MC008X总共有三种复位方式:上电复位和低电压复位。
上电时,h127为“0”,w1有一个从低电平上升到高电平的过程,这个低电平使h16上升为高电平,从而使系统内部开始复位;在RC振荡器时钟持续16个周期后,h127上升为高电平,使得h16降为低电平,上电复位结束,在这之后h127保持为32分频的周期性脉冲信号,在没有其他两种方式复位时,使h16保持低电平。上电复位时间为4?滋s。
低电压复位是指电路在工作过程中由于VDD的降低而引起的电路复位。电路的基本原理是:用1/3VDD与0.8V进行比较,若前者大于后者,则电路正常工作;否则电路复位。具体到逻辑图,1/3 VDD由R4、R5分压得到,0.8V则由二极管D0提供,因此电路的正常工作电压为>2.4V。当VDD>2.4V时,W10>0.8V,差动放大电路输出W4为低电平,使W6=0,net142保持为高电平,W1=1,从而h16保持为“0”;当VDD<2.4V时,W10<0.8V,差动输出W4为高电平,使W6=1,在随后到来的h127的第二个下降沿,net142由“1”变“0”,W1也就下降为“0”,h16上升为“1”,电路复位。如果以后VDD又上升到>2.4V,则电路又将转入正常工作状态。由以上分析可知,电阻R4/R5=1:2要求尽量准确。
3.4 等值恒流源电流型D/A
MC008X是一带语音/音调输出的8-bit 微控制器,它提供以电流型DA作为语音和单音曲调输出方式,可以直接驱动晶体管;除此之外,还提供了音调输出,可以直接驱动蜂鸣器,这两种模式共用一个AUD输出端。在电流型DA模式,为了减小关断电流型DA的噪声,应该平缓地关掉电流型DA输出至输出电流,直至为零,为了节省功耗,在电流型DA不用时应该关断它。音调输出是一个全幅(VDD和VSS)信号,它的频率源是定时器进位的频率除以2。
为了更清楚地说明这部分电路的功能,笔者详细地画出了这部分电路图,如图3所示。
图3就是一个电流标度的D/A轉换电路,共有三种工作方式:音调(TONE)模式、语音(Speech)模式、单音曲调(Melody)模式,下面将对这三种方式依次进行分析:
(1)TONE方式:在这种方式下,首先d<6>=0并被锁存,电路处于TOG状态,下面一路被选通,在周期性脉冲信号h47的作用下,AUD输出高、低电平分别为3V、0V的方波。
(2)Speech方式:首先寄存器$1E被选中,d<6>=1被锁存,电路处于DAC状态,这时最后一级倒向器的P管和N管都被关闭,AUD由D/A转换电路提供比例电流。D<6:1>的值越大,从AUD端输出的电流也越大,并且对于d<6:1>的某一个值,输出电流是恒定的。
(3)Melody:与Speech大致相同。不同之处在于,用于产生比例电流的只有d<5:1>,并且对于d<5:1>的某一个值,在AUD输出的电流是方波,其频率与h47的频率相同。假定某一个值在 Speech方式下的输出电流为I0,那么在Melody状态下,输出电流的振幅为(I0,Imax-I0)。I0的最大值为33/65Imax。
3.5 差分放大器作灵敏放大
H42为RAM写信号,h43为RAM读信号、差动放大器刷新信号。在每一次读写之前,H44为“1”,将RAM的数据线net84和net108刷新为1.83V,以提高RAM的读写速度。由于RAM中存储的高电平只有1.7V,因此在读出数据时有必要经过差动放大器的处理,从而在数据总线上得到正确的电平。在写RAM的同时灵敏放大器被刷新。而每一次读、写后RAM的数据线都将被刷新(h44=1)。
3.6 利用恒流源作ROM输出
从逻辑上看,D=DI,该部分电路一大堆复杂的逻辑,目的只是为了提高ROM输出的抗干扰能力。倒相器I24和latrom中的传输门的宽长比必须满足一定要求,现取1.8/0.6,当这些管子的宽长比为2.5/2.5时,会导致输出电平损失过大,使后级电路无法翻转,从而造成输出D恒为高电平。
4 结束语
微控制器的外围设计是相对于其CPU部分来说的。外围资源的丰富程度决定了该微控制器的使用范围,但外围资源的增加同时也会使得整个微控制器的芯片成本增加。本文给出了一种8位微控制器的外围资源设计实例,对于常见的8位微控制器设计有典型的参考意义。
参考文献:
[1]居水荣.一种带LCD驱动的8位微控制器[J].半导体技术,2002,27(1).
[2]居水荣.MC810X系列单片机及其应用特点[J].单片机与嵌入式系统应用,2002,16.
[3]朱建卫,等.一种可嵌入MCU的8位高速乘法器的设计[J].微电子学,2010,6.