摘要:概括SOC型芯片C8051F020中模数转化部分的运用要素,包含精度与通道、速率与发动、基准与增益、数据与操控,提出编程及相关SFR的操作次序。 要害词:片上体系(SOC) A/D转化(ADC) 特别功用寄存器(SFR) C8051F020(简称F020)是美国德州Cygnal公司推出的一种混合信号SOC型8位单片机。它归于C8051F系列中的F02x子系列。其性能价格比在现在运用领域极具竞争力。F020具有8路12位A/D转化(简称ADC)接口和8路8位在线可编程(ISP)的ADC电路,片上的特别功用寄存器(简称SFR)有15个与ADC的操控相关,它们是: AMUX0SL——AMUX0通道挑选寄存器,复位值为00000000; MAX0CF——AMUX0装备寄存器,复位值为00000000; ADC0CF——ADC0装备寄存器,复位值为11111000; ADC0CN——ADC0操控寄存器,复位值为00000000; ADC0H——ADC0数据字MSB寄存器,复位值为00000000; ADC0L——ADC0数据字LSB寄存器,复位值为00000000; ADC0GTH——ADC0下限数据高字节寄存器,复位值为11111111; ADC0GTL——ADC0下限数据低字节寄存器,复位值为11111111; ADC0LTH——ADC0上限数据高字节寄存器,复位值为00000000; ADC0LTL——ADC0上限数据低字节寄存器,复位值为00000000; AMX1SL——AMUX1通道挑选寄存器,复位值为00000000; ADC1CN——ADC1操控寄存器,复位值为00000000; ADC1CF——ADC1装备寄存器,复位值为11111000; ADC1——ADC1数据字寄存器,复位值为00000000; REF0CN——基准电压操控寄存器,复位值为00000000。 ADC是混合信号操控器的重要功用,如欲在运用编程中称心如意,就有必要对其相关的要素有较明晰的全体知道。 1 ADC的精度与通道 F020选用TQFP100封装,芯片引脚有8个(引脚18~25)专用于模仿输入,是8路12位ADC的输入端。每路12位的转化精度都是其本身的%26;#177;1LSB(最低位)。实际上,关于12位逐次迫临寄存器型(SAR)ADC只要1个,在它与各输入端之间有1个具有9通道输入的多路挑选开关(可装备模仿多路开关AMUX)。AMUX的第9通道衔接温度传感器。在F020中,12位ADC称为ADC0,还有8路8位在体系可编程(ISP)的ADC电路称为ADC1。其8个外接引脚与P1口复用,片内结构与ADC0附近,仅仅转化的位数为8位,转化精度为8位的%26;#177;1LSB。 ADC0端口的每一对均可用编程设置成为别离地单端输入或差分输入。差分输入时的端口配对为0-1、2-3、4-5、6-7,此设置由通道挑选寄存器 AMUX0SL的低4位和通道装备寄存器AMUX0CF的低4位确认。在AMX0CF中,位3~0各对应2个引脚通道。位值=0,表明是独立的单端输入(复位值均为单端输入);位值=1,表明是差分输入对。对应AMX0CF选差分输入时,AMUX0SL中只要在选双数(含0)通道时才有用(注:AMUX0SL低4位为1xxx时,不管AMX0CF低4位为何值,均选温度传感器)。 将REF0CN的位3置“1”时,答应运用温度传感器;置“0”时,温度传感器的输出为高阻态。温度传感器的值可用于批改参数的非线性或记载、调整与温度相关的数据。 2 ADC的速率与发动 C8051F系列单片机中ADC的速率都是可用编程设置的,但最少要用16个体系时钟。一般在转化之前还主动加上3个体系时钟的盯梢/坚持捕获时刻(>1.5μs)。设置F020内ADC速率的办法是经过装备寄存器ADCxCF(x为0或1)的位7~3来进行的,其复位值为11111(位 7~3=SYSCLK/CLK SAR-1)。 一般在发动ADC之前都要处于盯梢方法,操控寄存器ADCxCN的位6假如为“0”,则一向处于盯梢方法(此刻发动4种发动方法都可比盯梢发动快3个体系时钟);如为“1”,则有4种盯梢发动方法可挑选,即对ADCxCN中的位3~2赋值:00为向ADBUSY写1时盯梢(软件指令);01为定时器3溢出盯梢;10为CNVSTR上升沿盯梢(外部信号);11为定时器2溢出盯梢。 复位时,ADCxCN的位7为0,处于关断状况。每次转化完毕时,ADCxCN的位5为“1”,位4(忙标志)的下降沿触发结构中止,也可用软件查询这些状况位。 3 ADC的基准与增益 F020的片内有1个1.2V、15%26;#215;10 -6/℃的带隙电压基准发生器和1个两倍增益的输出缓冲器。2.4V的基准电压(VREF)可经过外引脚别离接入ADC0、ADC1和DAC中。VREF 对外带载才能为200μA(主张在驱动外部负载时,对地接1个负载电阻)。ADC运用偏置时,有必要将参阅源操控寄存器REFcCN中的位1置“1”;假如 “0”,则封闭内部偏压,此刻可经过VREF引脚(引脚12)运用外部基准电压,外部基准电压有必要小于VAV%26;#177;0.3V(还要大于 1V)。不必ADC,也不必DAC时,可将REFxCN的位0置“0”,使缓冲扩大器处于省电方法(输出为高阻态)。 设置REF0CN的位4为“0”时,ADC0用VREF偏置,为“1”时,用DAC0输出偏置;设置REF0CN的位3为“0”时,ADC1用VREF偏置,为“1”时,用AV+偏置。 在F020的ADC电路中,输入多路挑选开关AMUX后边都带有1个可用编程设置增益的内部扩大器(PGA)。当各模仿通道之间输入的电压信号规模距离较大时,或需求扩大一个具有较大直流偏移的信号时(在差分输入方法,DAC可用于供给直流偏移)显得尤为有用。设置的方法是装备ADCxCF中的位 2~0(000对应PGA的增益为1;001对应为2;010对应为4;011对应为8;10x对应为16、11x对应为0.5)。这儿的增益对温度传感器信号也起作用。当增益为1时,VTEMP=0.002 86(V/℃)(TEMPC) ℃+0.776V。 4 ADC的数据与操控 对应单端输入,ADC成果数据字格局为:0V——0000,VREF——0FFF或FFF0。 对应差分输入,ADC成果数据字格局为2的补码:VREF——07FF,0——0000,-VREF——F800或8000。 将ADCxCN的位0置“0”可使成果右对齐;置“1”可使成果左对齐。当差分输入时,右对齐发生的剩余高位是符号扩展位。 C8051F系列单片机内还设有数据相关窗口中止发生器或称可编程窗口检测器,也叫ADC上(下)限数据寄存器ADC0G(L)TH(L),用后台方法监督一个要害电压。当转化数据坐落规则的窗口之内(或之外)时,向操控器请求转化完毕中止。要求在窗口之内中止时,上限寄存器LT装入高位窗口数,下限寄存器GT装入低位窗口数;若要求在窗口之外中止时,则在下限寄存器GT中装入高位窗口数,在上限寄存器LT中装入下限窗口数。 复位时,ADC部分的状况为:内部电压基准缓冲器封闭、内部偏压封闭、内部传感器封闭、ADC制止、转化成果数据寄存器右对齐、12位的端口均为单端输入、端口指向AIN0、SAR转化33个体系时钟、内部扩大器增益为1、下限数据寄存器为FFFFH、上限数据寄存器为0000H。 归纳F020中与ADC相关的各要素,要想正确运用ADC功用,应按下列次序编程:设置参阅电压>设置答应ADC>设置盯梢(发动)方法>设定数据对齐>装备通道>挑选通道>设置转化时钟和增益>设定窗口检测上、下限>发动转化。操作SFR的次序(以12位为例)为:REF0CH>ADC0CN>AMX0C>AMUX0SL>ADC0CF>ADC0GTH>ADC0GTL>ADC0LTH>ADC0LTL>ADC0CN 或其它发动方法。