带有高性能ADC的单片机C805lF060
发布时间:2008/5/28 0:00:00 访问次数:641
1引言 在混合信号单片机中,美国cygnal公司新推出的c8051f06x系列高集成度混合信号单片机可谓一枝独秀。c8051f06x是高度集成的片上系统单片机,它有多达59个数字i/o口,采用与8051兼容的内核cip-51,速度高达25mi/s。该系列单片机有c8051f060/2型和c8051f061/3型,与同家族的其他单片机相比,其模拟外设性能优异,除有一个带可编程放大器和多路选择器的8路10位adc外,还有两路采样速度可达1ms/s的16位adc,两路12位dac,3个电压比较器,1个片内温度传感器和参考电压源等。本文仅以c8051f060型为例,着重介绍其高速、高精度模/数转换器的使用方法。 2高精度模/数转换器 模/数转换接口由2路16位逐次逼近式adc、集成采样保持器、一个可编程窗口检测器、一个dma接口组成。adc0/adc1可配置成单端或差分输入方式。模/数转换的工作方式,窗口检测器和dma接口均可通过特殊功能寄存器由软件控制,模/数转换器及其采样保持电路也可通过特殊功能寄存器单独设置,如图1所示。显然,转换启动方式灵活,软件事件、外部硬件信号和周期性的定时溢出都能用作触发信号,转换结束后,16位的结果锁存在sfr中,可由dma接口将其存入片内或片外ram。 2.1单端/差分输入方式 adco和adc1既可编程为单端输入方式独立工作,也可以设置为互相配合接收差分输入信号。采用单端输入方式时,adc可配置为同步采样,或采用不同的转换速度。采用差分输入时,adc1服从于adc0,除零点和增益校准外,它的配置均基于adc0。通道选择寄存器amxosl的diffsel位用于选择单端和差分输入方式。差分输入时,输入到adc的是一个伪差分信号,每个adc的实际测量电压等于引脚ain和引脚aindg之间的电压。aindg必须在-0.2v~0.6v之间,在大多数系统中,aindg接到agnd,否则,aindg信号会产生一个微小的负向偏置,建议用内部的校准功能解决。ainog和ain1g要可靠连接在一起,为了得到精确的转换结果,在两种方式下,ainn电位均应高于ainng。
adc0和adc1可以配置不同的参考电压电路,既可以使用片内精密参考电压源,也可以使用片外参考电压源。片内参考电压源电路由一个独立的温度稳定式带隙参考电压发生器产生1.25v电压,再由一个缓冲放大器将其放大2倍,其最大负载电流不能大于100μa,建议在vref端和vrgnd端外接0.1μf和47μf的旁路电容器。每个参考电压电路可由参考电压控制寄存器(refncn)分别控制,其中,biasen位控制参考电压发生器的使能,refben位控制乘2缓冲器的使能。当禁止时,内部参考电压电路的耗电量为1μa,缓冲放大器呈高阻抗状态;当使用内部参考电压源时,这两个控制位均须置l;当使用外部参考电压源时,控制位refben应置0。应该注意,不论使用何种参考电压源,当使用模/数转换器时,biasen位必须置1,不使用模/数转换器时,biasen位置0,以有利于降低能耗。 2.3工作方式 adc0和adc1的最大转换速度为1ms/s,转换时钟由系统时钟分频产生,并由adcncf型寄存器的adcnsc位设定。 2.3.1转换启动方式 对于adc0,模/数转换的启动方法有4种,由adc0cn型寄存器中的转换启动方式位ad0cml/ad0cm0决定,这4种方式分别是给adc0cn的ad0busy位写1;定时器2的溢出;定时器3的溢出;检测到外部adc转换启动信号cnvstr0的上跳沿。对于adc1,模/数转换的启动方法有5种,由寄存器adc1cn中的转换启动方式位adlcm12-ad1cm0决定,这5种方式分别是给adc1cn的ad1busy位写l;定时器2的溢出;定时器3的溢出;检测到外部adc转换启动信号cnvstr的上跳沿;给adc0cn的ad0busy位写1。 在模/数转换过程中,adnbusy位被置1,转换结束后,该位被清零,如果允许中断,adnbusy信号的下降沿将触发中断,并置位adnint的中断标志位adcnon.5。在单端方式,模/数转换的结果数据存放在adcnh和adcnl中;在差分方式,模/数转换的结果数据是adc0与adc1之和,存放在adc0h和adc0l中。当用给adc0cn的ad0busy位写1的方法启动模/数转换时,应该查询adnint位,以便确定模/数转换何时完成,建议查询步骤为给adnint写0;给adnbusy写1;查询adnint位是否为l;处理adc数据,当在差分方式且以外部信号启动模/数转换时,应将引脚cnvstr0和引脚cnvstr1连接起来。 2.3.2采样保持方式 模/数转换的采样保持方式由adcncn型寄存器的adcntm位控制,一旦adcn被启动,其输入将被连续采样,而这时转换尚未开始,当adntm位为1,转换开始进行,一个采样周期由18个sar时钟组成。当用cnvstrn信号启动
|