AD单片机中的模数转换课件.ppt

上传人:小飞机 文档编号:2166569 上传时间:2023-01-23 格式:PPT 页数:56 大小:6.48MB
返回 下载 相关 举报
AD单片机中的模数转换课件.ppt_第1页
第1页 / 共56页
AD单片机中的模数转换课件.ppt_第2页
第2页 / 共56页
AD单片机中的模数转换课件.ppt_第3页
第3页 / 共56页
AD单片机中的模数转换课件.ppt_第4页
第4页 / 共56页
AD单片机中的模数转换课件.ppt_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《AD单片机中的模数转换课件.ppt》由会员分享,可在线阅读,更多相关《AD单片机中的模数转换课件.ppt(56页珍藏版)》请在三一办公上搜索。

1、,ADC0(12 位,只限于C8051F020/1)C8051F020/1 的ADC0 子系统包括一个9 通道的可编程模拟多路选择器(AMUX0),一个可编程增益放大器(PGA0)和一个100ksps、12 位分辨率的逐次逼近寄存器型ADC,ADC中集成了跟踪保持电路和可编程窗口检测器。,第16章 12位模/数转换器,AMUX0、PGA0、数据转换方式及窗口检测器都可用软件通过下图所示的特殊功能寄存器来控制。ADC0 所使用的电压基准后面单独介绍。只有当ADC0 控制寄存器中的AD0EN 位被置1时ADC0 子系统(ADC0、跟踪保持器和PGA0)才被允许工作。当AD0EN 位为0时,AD0C

2、 子系统处于低功耗关断方式。,图16.1 12 位ADC0 功能框图,16.1 模拟多路开关和PGAAMUX 中的8 个通道用于外部测量,而第九通道在内部被接到片内温度传感器。注意,PGA0 的增益对温度传感器也起作用。,温度传感器的传输函数示于上图。当温度传感器被选中时,其输出电压(VTEMP)是PGA 的输入;PGA 对该电压的放大倍数由用户编程的PGA 设置值决定。,可以将AMUX 输入对编程为工作在差分或单端方式。这允许用户对每个通道选择最佳的测量技术,甚至可以在测量过程中改变方式。在系统复位后AMUX 的默认方式为单端输入。,有两个与AMUX 相关的寄存器:通道选择寄存器AMX0SL

3、和配置寄存器AMX0CF。,PGA 对AMUX 输出信号的放大倍数由ADC0 配置寄存器ADC0CF中的AMP0GN2-0 确定。PGA 增益可以用软件编程为0.5、1、2、4、8 或16,复位后的默认增益为1。,AMX0CF:AMUX0 配置寄存器(C8051F020/1),位7-4:未使用。读=0000b;写=忽略位3 AIN67IC:AIN6、AIN7 输入对配置位0:AIN6 和AIN7 为独立的单端输入1:AIN6,AIN7 为(分别为)+,-差分输入对位2 AIN45IC:AIN4、AIN5 输入对配置位0:AIN4 和AIN5 为独立的单端输入1:AIN4,AIN5 为(分别为)

4、+,-差分输入对,位1 AIN23IC:AIN2、AIN3 输入对配置位0:AIN2 和AIN3 为独立的单端输入1:AIN2,AIN3 为(分别为)+,-差分输入对位0 AIN01IC:AIN0、AIN1 输入对配置位0:AIN0 和AIN1 为独立的单端输入1:AIN0,AIN1 为(分别为)+,-差分输入对注:对于被配置成差分输入的通道,ADC0 数据字格式为二进制补码形式。,AMX0CF:AMUX0 配置寄存器(C8051F020/1),AMUX0SL:AMUX0 通道选择寄存器(C8051F020/1),位7-4:未使用。读=0000b;写=忽略位3-0:AMX0AD3-0:AMUX

5、0 地址位0000-1111b:根据下表选择ADC 输入,ADC0CF:ADC0 配置寄存器(C8051F020/1),位7-3:AD0SC4-0:ADC0 SAR 转换时钟周期控制位SAR 转换时钟来源于系统时钟,由下面的方程给出:其中AD0SC 表示AD0SC4-0中保持的数值,CLKSAR0 表示所需要的ADC0 SAR 时钟(注:ADC0 SAR 时钟应小于或等于2.5MHz)。,ADC0CF:ADC0 配置寄存器(C8051F020/1),位2-0:AMP0GN2-0:ADC0 内部放大器增益(PGA)000:增益=1;001:增益=2;010:增益=4;011:增益=8;10 x:

6、增益=16;11x:增益=0.5,ADC0CF:ADC0 配置寄存器(C8051F020/1),16.2 ADC 的工作方式ADC0 的最高转换速度为100ksps,其转换时钟来源于系统时钟分频,分频值保存在寄存器ADC0CF 的ADCSC 位中。16.2.1 如何启动AD0有4 种转换启动方式:,1 向ADC0CN 的AD0BUSY 位写1;2 定时器3 溢出(即定时的连续转换);3 外部ADC 转换启动信号的上升沿,CNVSTR;4 定时器2 溢出(即定时的连续转换)。由ADC0CN 中的ADC0 启动转换方式位(AD0CM1,AD0CM0)的状态决定。,ADC0CN:ADC0 控制寄存器

7、(C8051F020/1),位7:AD0EN:ADC0 使能位0:ADC0 禁止。ADC0 处于低耗停机状态。1:ADC0 使能。ADC0 处于活动状态,并准备转换数据。位6:AD0TM:ADC 跟踪方式位0:当ADC 被使能时,除了转换期间之外一直处于跟踪方式。1:由AD0CM1-0 定义跟踪方式。,位5:AD0INT:ADC0 转换结束中断标志该标志必须用软件清0。0:从最后一次将该位清0 后,ADC0 还没有完成一次数据转换。1:ADC 完成了一次数据转换。位4:AD0BUSY:ADC0 忙标志位读:0:ADC0 转换结束或当前没有正在进行的数据转换。AD0INT 在AD0BUSY 的下

8、降沿被置1。1:ADC0 正在进行转换。写:0:无作用 1:若AD0CM1-000b 则启动ADC0 转换。,ADC0CN:ADC0 控制寄存器(C8051F020/1),位3-2:AD0CM1-0:ADC0 转换启动方式选择位。如果AD0TM=0:00:向AD0BUSY 写1 启动ADC0 转换。01:定时器3 溢出启动ADC0 转换。10:CNVSTR 上升沿启动ADC0 转换。11:定时器2 溢出启动ADC0 转换。,ADC0CN:ADC0 控制寄存器(C8051F020/1),如果AD0TM=1:00:向AD0BUSY 写1 时启动跟踪,持续3 个SAR 时钟,然后进行转换。01:定时

9、器3 溢出启动跟踪,持续3 个SAR 时钟,然后进行转换。10:只有当CNVSTR 输入为逻辑低电平时ADC0 跟踪,在CNVSTR 的上升沿开始转换。11:定时器2 溢出启动跟踪,持续3 个SAR 时钟,然后进行转换。,ADC0CN:ADC0 控制寄存器(C8051F020/1),位1:AD0WINT:ADC0 窗口比较中断标志。该位由硬件在某些情况自动置1,必须用软件清0。0:自该标志被清除后未发生过ADC0 窗口比较匹配。1:发生了ADC0 窗口比较匹配。位0:AD0LJST:ADC0 数据左对齐选择位。0:ADC0H:ADC0L 寄存器数据右对齐。1:ADC0H:ADC0L 寄存器数据

10、左对齐。,ADC0CN:ADC0 控制寄存器(C8051F020/1),AD0BUSY 位在转换期间被置1,转换结束后复0。AD0BUSY 位的下降沿触发一个中断(当被允许时)并将中断标志AD0INT(ADC0CN.5)置1。转换数据被保存在:ADC0H 和ADC0L。,当通过向AD0BUSY 写1启动数据转换时,应查询AD0INT 位以确定转换何时结束(也可以使用ADC0 中断)。建议的查询步骤如下:1 写0到AD0INT;2 向AD0BUSY 写1;3 查询并等待AD0INT 变1;4 处理ADC0 数据,转换数据在寄存器对ADC0H:ADC0L 中的存储方式可以是左对齐或右对齐,由ADC

11、0CN 寄存器中AD0LJST 位的编程状态决定。,ADC0H:ADC 数据字MSB 寄存器(C8051F020/1),位7-0:ADC0 数据字高字节。当AD0LJST0:位7-4 为位3 的符号扩展位。位3-0 是12 位ADC0 数据字的高4 位。当AD0LJST1:位7-0 为12 位ADC0 数据字的高8 位。,ADC0L:ADC0 数据字LSB 寄存器(C8051F020/1),位7-0:ADC0 数据字低字节。当AD0LJST0:位7-0 是12 位ADC 数据字的低8 位。当AD0LJST1:位7-4 是12 位ADC 数据字的低4 位。位3-0 读出值总是为0。,ADC0 数

12、据字示例(C8051F020/1),12 位ADC 结果数据字在ADC0 数据字寄存器中存放如下:如果AD0LJST0(右),ADC0H3:0:ADC0L7:0(如果是差分输入,ADC0H7:4为ADC0H.3 的符号扩展位,否则=0000b)如果AD0LJST1(左),ADC0H7:0:ADC0L7:4(ADC0L3:0=0000b),例:ADC 数据字转换表,AIN0 为单端输入方式(AMX0CF=0 x00,AMX0SL=0 x00),例:ADC 数据字转换表,AIN0-AIN1 为差分输入对(AMX0CF=0 x01,AMX0SL=0 x00),对于AD0LJST=0:转换代码=单端方

13、式时 n=12;差分方式时n=11,16.2.2 跟踪方式ADC0CN 中的AD0TM 位控制ADC0 的跟踪保持方式。在缺省状态,即AD0TM 位为逻辑1时,除了转换期间之外ADC0 输入被连续跟踪。,当AD0TM 位为逻辑1时,ADC0 工作在低功耗跟踪保持方式。在该方式下,在每次启动转换信号有效之后,转换之前都有3 个SAR 时钟的跟踪周期。当CNVSTR 信号用于在低功耗跟踪保持方式启动转换时,ADC0 只在CNVSTR 为低电平时跟踪;在CNVSTR 的上升沿开始转换(见图16.3)。当整个芯片处于低功耗待机或休眠方式时,跟踪可以被禁止(关断)。,图16.3 12 位ADC 跟踪和转

14、换时序举例,16.2.3 建立时间要求当ADC0 输入配置发生改变时(AMUX 或PGA 的选择发生变化),在进行一次精确的转换之前需要有一个最小的跟踪时间。该跟踪时间由ADC0 模拟多路器的电阻、ADC0 采样电容、外部信号源阻抗及所要求的转换精度决定。图16.4 给出了单端和差分方式下等效的ADC0 输入电路。,图16.4 ADC0 等效输入电路,注意:这两种等效电路的时间常数完全相同。对于一个给定的建立精度(SA),所需要的ADC0 建立时间可以用公式16.1 估算。当测量温度传感器的输出时,RTOTAL 等于RMUX。公式16.1 ADC0 建立时间其中:SA 是建立精度,用一个LSB

15、 的分数表示(例如,建立精度0.25 对应1/4 LSB)t 为所需要的建立时间,以秒为单位RTOTAL 为ADC0 模拟多路器电阻与外部信号源电阻之和n 为ADC0 的分辨率,用比特表示(12)。,注意:在低功耗跟踪方式,每次转换需要用三个SAR 时钟跟踪。对于大多数应用,三个SAR 时钟可以满足跟踪需要。,16.3 ADC0 可编程窗口检测器,ADC0 可编程窗口检测器不停地将ADC0 输出与用户编程的极限值进行比较,并在检测到越限条件时通知系统控制器。这在一个中断驱动的系统中尤其有效,既可以节省代码空间和CPU 带宽又能提供快速响应时间。,窗口检测器中断标志(ADC0CN 中的AD0WI

16、NT 位)也可被用于查询方式。,ADC0CN:ADC0 控制寄存器(C8051F020/1),参考字的高和低字节被装入到ADC0 下限(大于)寄存器ADC0GTH、ADC0GTL和ADC0 上限(小于)寄存器ADC0LTH 和ADC0LTL)。下面给出比较示例供参考。,注意,窗口检测器标志既可以在测量数据位于用户编程的极限值以内时有效,也可以在测量数据位于用户编程的极限值以外时有效,这取决于ADC0GTx 和ADC0LTx 寄存器的编程值。,ADC0GTH:ADC0 下限数据高字节寄存器(C8051F020/1),位7-0:ADC0 下限数据字的高字节,ADC0GTL:ADC0 下限数据低字节

17、寄存器(C8051F020/1),位7-0:ADC0 下限数据字的低字节,ADC0LTH:ADC0 上限数据高字节寄存器(C8051F020/1),位7-0:ADC0 数据上限数据字的高字节,ADC0LTL:ADC0 上限数据低字节寄存器(C8051F020/1),位7-0:ADC0 上限数据字的低字节,12 位ADC0 窗口中断示例:右对齐的单端数据,12 位ADC0 窗口中断示例:右对齐的差分数据,12 位ADC0 窗口中断示例:左对齐的单端数据,12 位ADC0 窗口中断示例:左对齐的差分数据,12 位ADC0 电气特性(C8051F020/1)VDD=3.0V,AV+=3.0V,VRE

18、F=2.40V(REFBE=0),PGA 增益=1,-40 到+85(除非另有说明),16.4 ADC0(10 位,只限于C8051F022/3),ADC0 数据字示例(C8051F022/3)10 位ADC 结果数据字在ADC0 数据字寄存器中存放如下:如果AD0LJST0,ADC0H1:0:ADC0L7:0。(如果是差分输入,ADC0H7:2为ADC0H.1 的符号扩展位,否则=000000b)如果AD0LJST1,ADC0H7:0:ADC0L7:6。(ADC0L5:0=000000b),例:ADC 数据字转换表,AIN0 为单端输入方式(AMX0CF=0 x00,AMX0SL=0 x00),例:ADC 数据字转换表,AIN0-AIN1 为差分输入对(AMX0CF=0 x01,AMX0SL=0 x00),对于AD0LJST=0:转换代码=单端方式时 n=10;差分方式时 n=9。,。,第16章 ADC0 内容结束,谢 谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号