C8051F020中的ADC应用要素

发布者:心怀梦想最新更新时间:2006-12-04 来源: 互联网关键字:A/D  编程  寄存器 手机看文章 扫描二维码
随时随地手机看文章

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的速率与启动

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×10 -6/℃的带隙电压基准发生器和1个两倍增益的输出缓冲器。2.4V的基准电压(VREF)可通过外引脚分别接入ADC0、ADC1和DAC中。VREF对外带载能力为200μA(建议在驱动外部负载时,对地接1个负载电阻)。ADC使用偏置时,必须将参考源控制寄存器REFcCN中的位1置“1”;如果“0”,则关闭内部偏压,此时可通过VREF引脚(引脚12)使用外部基准电压,外部基准电压必须小于VAV±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或其它启动方式。

关键字:A/D  编程  寄存器 引用地址:C8051F020中的ADC应用要素

上一篇:基于89C52单片机的具有通讯口的智能温控表
下一篇:C8051F020中的ADC应用要素

推荐阅读最新更新时间:2024-03-16 12:18

基于SoPC目标板Flash编程设计的创建及应用
   1 引言   随着集成电路工艺技术的不断发展和集成度的提高,嵌入式系统由板级向芯片级过渡,形成一种新的设计方法一片上系统(System on Chip,简称SoC)。SoC从整个系统的角度出发,把处理机制、模型算法、芯片结构、各层次电路,直至器件的实际电路紧密连接起来,在单个(少数几个)芯片上实现整个系统的功能。同时随着现场可编程逻辑阵列(FPGA)技术的日益成熟,将PLD与嵌入式处理器IP软核相结合,形成基于可编程片上系统(System on Programmable Chip,简称 SoPC)的SoC解决方案,使得更加灵活的SOPC成为现代嵌入式系统设计的发展趋势。SoPC是Altera公司提出的一种灵活、高效的SoC
[嵌入式]
基于SoPC目标板Flash<font color='red'>编程</font>设计的创建及应用
莱迪思CrossLink——可编程ASSP架起影像“神奇的桥”
日前,莱迪思半导体发布了一款可编程的影像桥接芯片CrossLink。所谓 桥接芯片 ,是指旨在实现PCB板上的连接,解决兼容性问题的集成电路,它是实现莱迪思公司 把万物连接在一起 愿景的重要组成部分,也是自莱迪思去年收购Silicon Image后,利用后者专业影像技术出击更广阔市场领域的体现。 图1 莱迪思半导体亚太区资深事业发展经理陈英仁先生演讲 CrossLink的亮点在于其pASSP(可编程的ASSP)的架构,它主要由优化了的MIPI D-PHY模块、可编程的IO模块以及可编程FPGA模块组成。这种架构集合了FPGA和ASSP的很多特点,包括FPGA的灵活性:可以随着客户或市场的变化,更快地改变终端需求
[嵌入式]
莱迪思CrossLink——可<font color='red'>编程</font>ASSP架起影像“神奇的桥”
编程能力使高速ADC实现更多特性并进行性能折衷
多年来,高速信号转换系统中的模数转换器(ADC)所使用的典型流水线架构包含了取样波形所需的所有功能,这些功能被集成进同一封装中:   1. 某种形式的跟踪保持电路,可保持用于转换的信号;   2. 内置参考和偏置电流;   3.   时钟缓冲器和较小的数字电路,可将来自各级电路的比特组成无误码的数据字。   在大多数情况下,这些转换器中的可编程性仅限于通过一个休眠管脚打开/关闭转换器,或通过在双补码(two's complement)或偏移二进制码(offset binary)输出格式中选择一种格式。   系统内调整   随着ADC速度和通道密度的提高,数字输出驱动电平和终端电阻的系统内调整有助于保证高数据
[电源管理]
可<font color='red'>编程</font>能力使高速ADC实现更多特性并进行性能折衷
DSP编程的几个关键问题
摘要:对DSP串口的DMA传输方式使用中可能遇到的疑难问题、汇编指令歧义及C语言混合编程容易犯的错误作了列举分析,对Bootload编程的疑难点做出了实例解释。 关键词:汇编指令的歧义 Bootload Bug McBSP Multi-Frame DSP芯片凭其优异的性能在高速计算领域有着巨大的应用前景。但其应用所涉及的知识非常庞杂。本文以TI公司320C54X系列为蓝本进行提纯,所有认识都是笔者在实际工作中亲手实践所得。当程序调不通不知该从何处下手时,此文也许会有所帮助。这些关键点有些是TMS320C5409所触有而有些是与DSP所共有的。 1 McBSP(Multichannel Buffered Serial Port
[应用]
基于51单片机的汉字LCD智能显示模块设计
引言 在电子产品设计中,人机交互显示界面是必不可少的工作,目前一般使用的液晶显示器均为七段笔划式,只能显示数字和少量字符,功能往往受到局限,对于较复杂的字符或图形则无能为力。而LCD智能型显示模块则是一种低功耗、低损耗、低价值的显示器件,它不但可以显示各式各样的字符、汉字和图形,同时具有可编程能力,且与单片机接口方便,基于以上优点,LCD智能显示模块获得了广泛的应用。 系统组成 本系统主要由三部分组成,分别为单片机,LCD模块和FLASH字库,图1所示是该系统的硬件原理框图,由于显示所需要占用的资源过多(本设计采用的是16×16点阵,每个汉字存储需要32个字节),而单片机内部RAM资源及其有限,所以系统设计时有必要扩展—FL
[电源管理]
STM32F407的GPIO设置流程、和相关寄存器的理解及总结
GPIO设置流程 void LED_Init(void) { //1.定义结构体变量 GPIO_InitTypeDef GPIO_InitStructure; //2.使能GPIOF端口的时钟 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE); //3.结构体成员初始化设置 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;//选择GPIOF引脚 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//普通输出模式 (模式寄存器) GPIO_
[单片机]
STM32F407的GPIO设置流程、和相关<font color='red'>寄存器</font>的理解及总结
STM32 寄存器点灯介绍
1.说在前面: 1.对于stm32最初的认识是基于库函数的,调用一堆库函数来使得问题得到解答,但是深究库函数,最终还是对寄存器的配置 2.寄存器:就是用来存储数据的,事实上,对stm32的控制就是对32位寄存器的修改; 2.GPIO口寄存器的介绍 注:一组io口是由7个寄存器进行配置,所以 1.GPIOx_CRL:控制寄存器,控制寄存器的低16位 2.GPIOx_CRH:控制寄存器,控制寄存器的高16位 3.GPIOx_IDR:输入寄存器;(通过位选设置高低电平) 4.GPIO_ODR:输出寄存器;(通过位选设置高低电平) 5.GPIO_BSRR:端口位设置和清除寄存器 6.GPIO_BRR
[单片机]
用FIFO实现超声测厚系统AD与ARM接口设计
在高频超声波数据采集系统中,很多高速A/D转换器往往不能直接与处理器相连接,这时就需要使用FIFO在处理器与A/D转换器之间架一座桥梁,FIFO的先入先出特性可以方便缓存大量的数据块。在基于ARM的超声波测厚系统中,所用为1 MHz以上的高频超声波探头,测量数据经A/D转换后频率与ARM处理器的数据接收能力不匹配,因此需在A/D与ARM处理之间连接一个FIFO来解决以上问题。该设计选用AD公司的A/D芯片AD9283,FIFO选用Cyperss公司的CY7C4261,两者的最大采样频率都是100 MHz。ARM采用Samsung公司的S3C2410处理器。三者都具有很强的外部接口能力,方便构成无缝连接,硬件接口电路简单,调试方便
[单片机]
用FIFO实现超声测厚系统<font color='red'>A</font>/<font color='red'>D</font>与ARM接口设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved