C8051F020中的ADC应用要素
关键词:片上系统(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位的转换精度都是其自身的±1LSB(最低位)。实际上,对于12位逐次逼近寄存器型(SAR)ADC只有1个,在它与各输入端之间有1个具有9通道输入的多路选择开关(可配置模拟多路开关AMUX)。AMUX的第9通道连接温度传感器。在F020中,12位ADC称为ADC0,另有8路8位在系统可编程(ISP)的ADC电路称为ADC1。其8个外接引脚与P1口复用,片内结构与ADC0相近,只是转换的位数为8位,转换精度为8位的±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的速率与启动
《C8051F020中的ADC应用要素》