作者:杨勇,王福源
在对嵌入式系统的体积、耗电、集成度等指标要求越来越高的今天,仅仅有带AD变换电路的MCU已经越来越难以处理外围的其他模拟电路。据此,相继有一些MCU制造商推出了混合了模拟电路的MCU,为设计者提供了新的选择。微芯(Microchip)公司的PICl6C78X系列即为其中的一种8位MCU,该电路集成了通用运算放大器、8位DAC变换器、8位ADC变换器、可编程开关模式控制器(PSMC)、比较器和精密参考电压于20脚的芯片内。同时具有用户可编程的低电压检测、内部振荡器、节电睡眠模式和在线编程的功能。
集成了上述模拟电路的混合式芯片具有广泛的应用,特别适合需要作闭环控制的场合。例如在电源开关控制系统的设计中,PSMC可以作开关的切换控制,DAC作电压指示,ADC、运放和比较器则用作系统监测和稳定性和动态特性的控制。
本文对PICl6C78系列电路的内部模拟电路资源和所用的指令等做一介绍,同时给出典型的应用实例。
1 PICl6C78系列芯片的内部结构
PICl6C78系列芯片有781和782两种。两者均有128b的用户RAM,最高可在20MHz振荡频率下工作,有16个I/O口,4MHz内部振荡器,1个16位定时器和1个8位定时器/看门狗定时器。所不同的是16C781有1024X14位的 OTP程序存储器,而16C782有2048X14位。图1为781和782的内部结构和引脚定义,两者均有PDIP,SOIC和SSOP等多种封装形式,并有OTP和MTP编程芯片供选择。
1.1 MicroController 一 微控制器
他是一个8位的控制器。除了有通常PIC系列单机所有的功能外,他还具有RESET和监视功能。RESET又包括主复位和掉电复位。其中主复位又包括内部和外部(RA5)复位;掉电复位有4个电压设置点。监视功能包括看门狗定时器和EPROM代码保护。
1.2 Votage Refference 一 参考电压(VR)
在25℃,5V条件下,他可以精确到3.072V±0.7%,内部连接到ADC和DAC。也可在引脚RB0输出(具有5mV拉电流/灌电流能力)。
1.3 ADC一 模数转换器
ADC具有8位分辨率,8个外部输入通道(AN7:0),2个内部输入通道(来自VR和数模输出电压VDAC),参考电压可以来自片脚AVDD,V,VR或VDAC。转换完成后自动触发中断服务。本模块即使在SLEEP模式下也可实现转换。
1.4 OSCILLATOR一振荡器
可以使用标准的LP,XT,HS和RC振荡器,其中内部INTRC振荡器可以选择4MHz或37kHz两种频率中的一种。
1.5 PAMP一运算放大器
此模块的漏电流输入仅为50nA,有3 MHz和30kHz两种增益带宽乘积供选择,偏置电压校准有两种模式Vos~200μV或选择到DAC调节输出电压。他还可以选择为比较器模式。 1.6 COMPARATOR一 比较器
PICl6C78X中集成了2个模拟比较器C1和C2,具有四通道输 选择、低输入偏置电压和2个速度设置属性。C1的参考源可选择为VDAC和VREFl(RA3),C2可选为VDAC和VREF2(RA2)。比较器具有单极性和双极性两种可编程输出极性,输出到寄存器。可以对比较器单独进行中断设置,其中C2输出可同步到TIMERl时钟。
1.7 PSMC一可编程开关模式控制器
PSMC具有PWM(脉冲宽度调制)和PSM(脉冲间隔调制)两种脉冲模式(可编程的开关频率32.5~250kHz)供选择。在PWM模式下,模拟反馈决定脉冲宽度。在PSM模式下,可以提供模拟反馈门控脉冲;脉冲频率是可编程的;输出可以选择单输出或互补双输出,也可选斜率补偿输出。
1.8 DAC一数模转换器
DAC具有8位分辨率,其输出可以通过编程在内部连接到比较器和ADC。当选择外部输出时VDAC在RBl输出(1mA输出/吸收能力),他的参考源可以来自AVDD,VREFl或VR,转换时间为10μs,转换误差(INL/DNL)小于1/2LSB。
除了上述内部资源,本系列芯片内还包括标准的TIMER0,增强的TIMERl模块,可编程低电压检测。标准的TIMER0可读写8位定时器/计数器,可选8位预分频(和WDT共享),在RA4上的可选外部时钟输入,可以进行定时器溢出中断。增强的 TIMERl模块带4位预分频的16位定时器/计数器,可选择同步和异步时钟模式,外部时钟输入在RA6上的T1CKl,外部时钟控制,在RB7上的 T1G,当CPU在INTRC模式下可选CPU LP振荡器,可设定定时器溢出中断。可编程低电压检测具有11个电压等级(2.5~4.5V),可使用中断或查询方式得到电压等级值。
2 PICl6C78X的应用
2.1 指令、仿真和编程下载
和其他PIC的MCU一样,该系列芯片采用精简指令系统RISC,共使用35条单字指令。除了程序分支需要两个周期外,其余的指令均为单周期,每条指令的执行时间最快可达200ns。
该系列单片机可以用MPLAB编程和仿真。MPLAB是廉价的PIC系列单片机开发工具。开发环境可以用MPLAB(r)IDE,仿真系统可以用MPLAB(r)ICD2000,他的程序生成器可以用MPLAB(r)C18,在线调试器可以用MPLAB (r)ICD,可以用PICSTART(r)PLUS烧写器来烧写这种系列的芯片。这种芯片还有一种更方便的编译软件PICDEM(r)MSCl图形化用户接口(GUI),可以对各周边功能模块进行自动设定,无需编写程序代码即可验证用户电路,还可以生成汇编头文件,有助于用户代码的开发。要提醒用户注意的是一些推出较早的PIC仿真器和编程器并不支持本系列芯片。本系列芯片具有在线下载和离线下载功能。
2.2 在DC/DC中的应用例
DC/DC的作用是将一个已有的直流电压转换成设备需要的其他直流电压。16C782实现的DC/DC如图2所示。
PSMC采用了PWM脉冲模式。当场效应管被打开时,能量被储存在电感L中。由电感的电气特性可知,电流将线性上升直到场效应管被关闭。由于电感中的电流不能立即改变,当场效应管的状态切换时,L中的电流继续流过二极管并在电容C储能。这样就会使得 Vout和Vin具有一定的关系,此电路最大可达到Vout=2Vin。DAC模块提供了比较器的参考电压源,数字信号来自微控制器,在参考电压确定的情况下,R1和R2组成的模拟反馈决定了比较器另一端的输入电压,该电压又决定了PSMC在PWM方式下的脉冲信号占空比;当R1上的电压和参考电压相同时,比较器触发可编程开关模式控制器,通过缓冲器控制场效应管。微控制器中的定时器TIMERl可提供决定PWM周期的时钟信号。整个电路形成一个闭环控制。从图2可以看出,整个电路使用了很少的外围器件,而传统的DC/DC电路设计则比此电路复杂得多。
3 结 语
PICl6C78系列的芯片非常适合于闭环控制场合的电路设计和各种使用通用外围模拟电路的微控制器系统设计,利用内部的模拟电路资源可以大大简化设计。