概述
美国MICROCHIP公司推出的PIC系列8位单片机是业内首次采用RISC结构的高性价比嵌入式控制器,其高速度、高可靠性、低工作电压、低功耗、大驱动能力、低价OTP技术、体积小巧等都体现了当前微控制器工业的新趋势,并在电脑外设、家电控制、电讯通信、智能仪器仪表、汽车电子、金融电子等领域得到了广泛的应用。最近,PIC系列单片机家族又添新丁,由MICROCHIP公司推出的两款8位可配置模拟单片机PIC16C781和PIC16C782的问世,给业界送来一股清凉风。新器件集成了多个模拟和数字模块,极大地减少了嵌入式控制系统中所需的元件数,非常适合于闭环控制场合,受到了电子工程师们的青睐。
2引脚排列及特点
PIC16C78X是20引脚双列直插式大规模集成电路,其引脚排列如图1所示,引脚功能请查有关资料,此处不再赘述。PIC16C78X是PIC系列单片机家族的1员,它本身也集中了PIC系列单片机的许多亮点[1],其主要特点如下:
——高性能RISCCPU;
——仅35条单字指令,除程序分支指令外,其余指令均为单周期指令,且寻址灵活;
——8级深度的硬件堆栈;
——有中断能力(8个内部/外部中断源);
——有16个输入/输出引脚;
——1个8位定时计数器TIMER0,带8位预分频器;
——增强型16位定时计数器TIMER1,带预分频器;
——可编程PORTB口为弱上拉,也可编程为电平变化中断;
——具有较强的模拟功能模块,如ADC,DAC,OPA,C,VR;
——可编程开关方式控制器PSMC,有PWM和PSM2种工作方式;
——可编程低压检测模块LVD;
——具有上电复位POR,加电定时器PWRT,振荡器启动定时器OST功能;
——看门狗WDT及片内RC振荡器;
——内部/外部复位端MCLR;
——程序代码可加密;
——省电休眠模式SLEEP;
——振荡器方式可选HS,XT,LP,EC,RC,INTRC。
图1 PIC16C78X的引脚排列
3模拟单元介绍
模拟功能模块是PIC16C78X单片机的精华所在,下面分别对其作以介绍。
3.1低压检测模块(PLVD)和参考电压源模块(VR)
可编程低压检测模块PLVD用来监视单片机电源VDD,实际上是对电源掉电的1种预警,以便在单片机完全掉电以前对一些关键性的数据进行保存处理,可通过低压检测模块控制寄存器LVDEN来配置。参考电压源模块VR提供了1个在片固定的参考电压,其值为3.072V,可用于ADC和DAC或从RB0输出,可通过参考电压控制寄存器REFCON来配置。
3.2模数转换模块(ADC)
模数转换模块ADC是1个逐次逼近式8位8通道ADC,其模拟参考电压ADCREF可以用软件编程,且有4种选择:模拟电源AVDD;比较器C1的参考电压端VREF1(RB3);参考电压源模块VR的输出;数模转换器模块DAC的输出VDAC。ADC的另一个特点是它还可以在休眠状态下工作,这时,ADC模块的时钟必须配置为ADC专用内部阻容振荡器RC方式。与ADC模块有关的特殊功能寄存器有3个,即ADC结果寄存器ADRES,2个ADC控制寄存器ADCON0和ADCON1。
3.3数模转换模块(DAC)
数模转换模块DAC可以将8位DAC数据寄存器中的数据转换为1个与其成比例的输出控制电压,并通过编程,将其作为ADC的参考电压,或作为比较器C1、C2的参考电压,或从RB1口直接输出。DAC模块的参考电压可以选自模拟电压源AVDD,或比较器C1的参考电压端VREF1(RB3),或参考电压源VD。控制数模转换模块的特殊功能寄存器有2个,即数模转换控制寄存器DACON0,数模转换数据寄存器DAC。
3.4运算放大器模块(OPA)
运算放大器模块OPA既能配置为运算放大器,也可以配置为电压比较器,其特点是可连到外部所有口,增益带宽可选,有输入偏置电压自动校正模块,用作电压比较器时还具有输出电平变化中断功能。控制OPA模块工作的寄存器有2个,即运算放大器控制寄存器OPACON和校正寄存器CALCON。
3.5比较器模块
比较器模块包含两个独立的比较器C1和C2,其特点是比较器输出可外引,输出极性可编程,有输出电平变化中断标志,休眠唤醒,可编程为PSMC的反馈输入,4端输入可选,参考电压可选,速度可选,C2比较器还有其输出与定时器T1时间输入同步功能等。C1和C2分别由特殊功能控制寄存器CM1CON0和CM2CON0来控制,C2还有1个第二控制寄存器CM2CON1,该专用寄存器用于与T1的同步控制和对2个比较器的同时读数控制。
3.6可编程开关方式控制器模块(PSMC)
可编程开关方式控制器模块PSMC用于构成脉冲反馈系统,它可以根据模拟反馈量的大小产生相应的脉冲输出。反馈量来自比较器,它也是可编程的,允许单通道或双通道反馈,比较器的参考电压可编程,输出极性也可编程。更为重要的是PSMC的输出脉冲方式也可编程,即可以编程为脉冲宽度调制(PWM)和脉冲串调制(PSM)2种工作方式。对PSM方式,脉冲串具有固定占空比且受控于反馈量,而对PWM方式,输出脉冲的宽度受控于反馈量。另外,PSMC模块的输出脉冲还可以编程为3种方式:单路输出;单路输出加1个斜坡补偿输出;双路交互输出。所有脉冲的触发和占空周期的定时均由CPU内部时钟来控制。
在PWM方式中,PSMC实际上是1个定时器控制的复位/置位双稳态脉冲发生器,脉冲由内部的记数串触发,当脉冲持续可编程的最小占空周期后,由比较器输出端电平的高低跳变或由最大的可编程占空周期来终止,从而在输出端得到1个占空周期可调制的脉冲,此脉冲占空周期受控于反馈量,且频率可调,最大占空周期可调,最小占空周期可调至0%。
在PSM方式中,PSMC工作于1个占空周期固定的脉冲发生器,输出脉冲由模拟反馈量来触发。在发1个脉冲之前,先对模拟反馈进行采样,若比较器输出为高,发出1个脉冲并保持有效,直至编程的占空周期完成,若比较器的输出为低,则不输出脉冲,PSMC等待下1个脉冲。在这种方式中,脉冲串受控于模拟反馈量,且输出脉冲的频率和占空周期均可编程。PSMC模块由2个特殊功能寄存器来控制,即PSMC控制寄存器PSMCCON0和PSMCCON1。
4应用举例
图2所示是PIC16C78X在控制开关电源方面的应用实例。此例中,PSMC配置为PWM方式,属于电流方式的开关电源控制器,图中有2个反馈环路,1个内部电流环和1个外部电压环。内部电流环又分成2个通道,Q1/L1和Q2/L2。由PMSC控制的PWM输出脉冲,交替地驱动Q1和Q2的导通,在2个输出脉冲各自的有效期间,电流流过输出电感并对电容器Cm充电,此电流与误差电压成比例,当电压充到大于误差电压时,比较器使PSMC复位,MOSFET关断,电感器通过二极管向电容器放电。外部电压环通过R1/R2检测Cm上的电压,运算放大器的参考电压来自数模转换器模块DAC,它与反馈电压相减得到误差电压,这个电压经运算放大器滤波后送给内部电流环的比较器C1。
图2开关电源控制器原理框图
5结束语
在MICROCHIP已有的产品中,有几款单片机也有模拟单元,如PIC16C62X系列就有比较器和参考电压模块,PIC16C7XX系列有8位ADC模块和PWM模块等,但新近推出的这1款模拟单片机PIC16C78X并不是它们的叠加,而是在它们的基础上创新。如DAC模块,原有单片机要实现数模转换只能对PWM的输出再加滤波等元件,而此款模拟单片机的DAC就可以直接输出模拟电压;以前的单片机只有比较器,而无运算放大器,此款模拟单片机既有双路比较器,又有一个运算放大器;特别是PMSC模块,它既可编程为PWM工作方式,也可编程为PSM工作方式,这2种方式在控制中最为常用。总之,把PIC16C78X系列单片机称为可配置模拟单片机是当之无愧的。可以预见,它将在发动机速度控制,功率逆变器,信号发生器,音频设备,通用传感器接口和充电器等领域得到广泛的应用。