ADC或DAC在实际生活中应用要实际的应用.要好还会追加分

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 13:29:05
ADC或DAC在实际生活中应用要实际的应用.要好还会追加分

ADC或DAC在实际生活中应用要实际的应用.要好还会追加分
ADC或DAC在实际生活中应用
要实际的应用.要好还会追加分

ADC或DAC在实际生活中应用要实际的应用.要好还会追加分
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.

楼主说的不会是CAD吧!