1、ADC0(12 位,只限于位,只限于C8051F020/1)C8051F020/1 的的ADC0 子系统包括一个子系统包括一个9 通道的可编程模拟通道的可编程模拟多路选择器(多路选择器(AMUX0),一个可编程增益放大器(),一个可编程增益放大器(PGA0)和一个和一个100ksps、12 位分辨率的逐次逼近寄存器型位分辨率的逐次逼近寄存器型ADC,ADC中集成了跟踪保持电路和可编程窗口检测器。中集成了跟踪保持电路和可编程窗口检测器。第第16章章 12位模位模/数转换器数转换器AMUX0、PGA0、数据转换方式及窗口检测器都可用软件通、数据转换方式及窗口检测器都可用软件通过下图所示的特殊功能寄
2、存器来控制。过下图所示的特殊功能寄存器来控制。ADC0 所使用的电压所使用的电压基准后面单独介绍。只有当基准后面单独介绍。只有当ADC0 控制寄存器中的控制寄存器中的AD0EN 位被置位被置1时时ADC0 子系统(子系统(ADC0、跟踪保持器和、跟踪保持器和PGA0)才被允许工作。当才被允许工作。当AD0EN 位为位为0时,时,AD0C 子系统处于低子系统处于低功耗关断方式。功耗关断方式。图16.1 12 位ADC0 功能框图16.1 模拟多路开关和模拟多路开关和PGAAMUX 中的中的8 个通道用于外部测量,而第九通道在内部被接个通道用于外部测量,而第九通道在内部被接到片内温度传感器。到片内
3、温度传感器。注意,注意,PGA0 的增益对温度传感器也起作用。的增益对温度传感器也起作用。温度传感器的传输函数示于上图。当温度传感器被选中时,温度传感器的传输函数示于上图。当温度传感器被选中时,其输出电压(其输出电压(VTEMP)是)是PGA 的输入;的输入;PGA 对该电压的放对该电压的放大倍数由用户编程的大倍数由用户编程的PGA 设置值决定。设置值决定。可以将可以将AMUX 输入对编程为工作在差分或单端方式。这允许输入对编程为工作在差分或单端方式。这允许用户对每个通道选择最佳的测量技术,甚至可以在测量过程用户对每个通道选择最佳的测量技术,甚至可以在测量过程中改变方式。在系统复位后中改变方式
4、。在系统复位后AMUX 的默认方式为单端输入。的默认方式为单端输入。有两个与有两个与AMUX 相关的寄存器:通道选择寄存器相关的寄存器:通道选择寄存器AMX0SL和和配置寄存器配置寄存器AMX0CF。PGA 对对AMUX 输出信号的放大倍数由输出信号的放大倍数由ADC0 配置寄存器配置寄存器ADC0CF中的中的AMP0GN2-0 确定。确定。PGA 增益可以用软件增益可以用软件编程为编程为0.5、1、2、4、8 或或16,复位后的默认增益为,复位后的默认增益为1。AMX0CF: AMUX0 配置寄存器(C8051F020/1)位位7-4: 未使用。读未使用。读 = 0000b;写;写 = 忽略
5、忽略位位3 AIN67IC:AIN6、AIN7 输入对配置位输入对配置位0: AIN6 和和AIN7 为独立的单端输入为独立的单端输入1: AIN6, AIN7 为(分别为)为(分别为)+, -差分输入对差分输入对位位2 AIN45IC:AIN4、AIN5 输入对配置位输入对配置位0: AIN4 和和AIN5 为独立的单端输入为独立的单端输入1: AIN4, AIN5 为(分别为)为(分别为)+, -差分输入对差分输入对位位1 AIN23IC:AIN2、AIN3 输入对配置位输入对配置位0: AIN2 和和AIN3 为独立的单端输入为独立的单端输入1: AIN2, AIN3 为(分别为)为(分
6、别为)+, -差分输入对差分输入对位位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: AMU
7、X0 地址位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: A
8、MP0GN2-0: ADC0 内部放大器增益(内部放大器增益(PGA)000: 增益增益 = 1; 001: 增益增益 = 2; 010: 增益增益 = 4;011: 增益增益 = 8;10 x: 增益增益 = 16;11x: 增益增益 = 0.5ADC0CF: ADC0 配置寄存器(C8051F020/1)16.2 ADC 的工作方式的工作方式ADC0 的最高转换速度为的最高转换速度为100ksps,其转换时钟来源于系,其转换时钟来源于系统时钟分频,分频值保存在寄存器统时钟分频,分频值保存在寄存器ADC0CF 的的ADCSC 位位中。中。16.2.1 如何启动如何启动AD0有有4 种转换启动
9、方式:种转换启动方式:1 向向ADC0CN 的的AD0BUSY 位写位写1;2 定时器定时器3 溢出(即定时的连续转换);溢出(即定时的连续转换);3 外部外部ADC 转换启动信号的上升沿,转换启动信号的上升沿,CNVSTR;4 定时器定时器2 溢出(即定时的连续转换)。溢出(即定时的连续转换)。由由ADC0CN 中的中的ADC0 启动转换方式位(启动转换方式位(AD0CM1,AD0CM0)的状态决定。)的状态决定。ADC0CN: ADC0 控制寄存器控制寄存器(C8051F020/1)位位7: AD0EN:ADC0 使能位使能位0:ADC0 禁止。禁止。ADC0 处于低耗停机状态。处于低耗停
10、机状态。1:ADC0 使能。使能。ADC0 处于活动状态,并准备转换数据。处于活动状态,并准备转换数据。位位6: AD0TM:ADC 跟踪方式位跟踪方式位0:当:当ADC 被使能时被使能时,除了转换期间之外一直处于跟踪方式。除了转换期间之外一直处于跟踪方式。1:由:由AD0CM1-0 定义跟踪方式。定义跟踪方式。位位5: AD0INT:ADC0 转换结束中断标志转换结束中断标志该标志必须用软件清该标志必须用软件清0。0:从最后一次将该位清:从最后一次将该位清0 后,后,ADC0 还没有完成一次数据还没有完成一次数据转换。转换。1:ADC 完成了一次数据转换。完成了一次数据转换。位位4: AD0
11、BUSY:ADC0 忙标志位忙标志位读:读: 0:ADC0 转换结束或当前没有正在进行的数据转换。转换结束或当前没有正在进行的数据转换。 AD0INT 在在AD0BUSY 的下降沿被置的下降沿被置1。 1:ADC0 正在进行转换。正在进行转换。写:写: 0:无作用:无作用 1:若:若AD0CM1-000b 则启动则启动ADC0 转换。转换。ADC0CN: ADC0 控制寄存器控制寄存器(C8051F020/1)位位3-2: AD0CM1-0:ADC0 转换启动方式选择位。转换启动方式选择位。如果如果AD0TM = 0:00:向:向AD0BUSY 写写1 启动启动ADC0 转换。转换。01:定时
12、器:定时器3 溢出启动溢出启动ADC0 转换。转换。10:CNVSTR 上升沿启动上升沿启动ADC0 转换。转换。11:定时器:定时器2 溢出启动溢出启动ADC0 转换。转换。ADC0CN: ADC0 控制寄存器控制寄存器(C8051F020/1)如果如果AD0TM = 1:00:向:向AD0BUSY 写写1 时启动跟踪,持续时启动跟踪,持续3 个个SAR 时钟,然后时钟,然后进行转换。进行转换。01:定时器:定时器3 溢出启动跟踪,持续溢出启动跟踪,持续3 个个SAR 时钟,然后进行转时钟,然后进行转换。换。10:只有当:只有当CNVSTR 输入为逻辑低电平时输入为逻辑低电平时ADC0 跟踪
13、,在跟踪,在CNVSTR 的上升沿开始转换。的上升沿开始转换。11:定时器:定时器2 溢出启动跟踪,持续溢出启动跟踪,持续3 个个SAR 时钟,然后进行转时钟,然后进行转换。换。ADC0CN: ADC0 控制寄存器控制寄存器(C8051F020/1)位位1: AD0WINT:ADC0 窗口比较中断标志。窗口比较中断标志。该位由硬件在某些情况自动置该位由硬件在某些情况自动置1,必须用软件清,必须用软件清0。0:自该标志被清除后未发生过:自该标志被清除后未发生过ADC0 窗口比较匹配。窗口比较匹配。1:发生了:发生了ADC0 窗口比较匹配。窗口比较匹配。位位0: AD0LJST:ADC0 数据左对
14、齐选择位。数据左对齐选择位。0:ADC0H:ADC0L 寄存器数据右对齐。寄存器数据右对齐。1:ADC0H:ADC0L 寄存器数据左对齐。寄存器数据左对齐。ADC0CN: ADC0 控制寄存器控制寄存器(C8051F020/1)AD0BUSY 位在转换期间被置位在转换期间被置1,转换结束后复,转换结束后复0。AD0BUSY 位的下降沿触发一个中断(当被允许时)并将位的下降沿触发一个中断(当被允许时)并将中断标志中断标志AD0INT(ADC0CN.5)置)置1。转换数据被保存。转换数据被保存在:在:ADC0H 和和ADC0L。当通过向当通过向AD0BUSY 写写1启动数据转换时,应查询启动数据转
15、换时,应查询AD0INT 位以确定转换何时结束(也可以使用位以确定转换何时结束(也可以使用ADC0 中断)。中断)。建议的查询步骤如下:建议的查询步骤如下:1 写写0到到AD0INT;2 向向AD0BUSY 写写1;3 查询并等待查询并等待AD0INT 变变1;4 处理处理ADC0 数据数据转换数据在寄存器对转换数据在寄存器对ADC0H:ADC0L 中的存储方式可以是中的存储方式可以是左对齐或右对齐,由左对齐或右对齐,由ADC0CN 寄存器中寄存器中AD0LJST 位的编位的编程状态决定。程状态决定。ADC0H: ADC 数据字数据字MSB 寄存器寄存器(C8051F020/1)位位7-0:
16、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 读出值总是为
17、读出值总是为0。ADC0 数据字示例(数据字示例(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
18、 x00)例:例:ADC 数据字转换表,数据字转换表,AIN0-AIN1 为差分输入对为差分输入对(AMX0CF=0 x01, AMX0SL=0 x00)对于对于AD0LJST = 0:转换代码:转换代码= 单端方式时单端方式时 n = 12;差分方式时;差分方式时n = 1116.2.2 跟踪方式跟踪方式ADC0CN 中的中的AD0TM 位控制位控制ADC0 的跟踪保持方式。在缺的跟踪保持方式。在缺省状态,省状态, 即即AD0TM 位为逻辑位为逻辑1时,除了转换期间之外时,除了转换期间之外ADC0 输入被连续跟踪。输入被连续跟踪。当当AD0TM 位为逻辑位为逻辑1时,时,ADC0 工作在低功
19、耗跟踪保持方工作在低功耗跟踪保持方式。式。 在该方式下,在每次启动转换信号有效之后,转换之前在该方式下,在每次启动转换信号有效之后,转换之前都有都有3 个个SAR 时钟的跟踪周期。当时钟的跟踪周期。当CNVSTR 信号用于在低信号用于在低功耗跟踪保持方式启动转换时,功耗跟踪保持方式启动转换时,ADC0 只在只在CNVSTR 为低电为低电平时跟踪;在平时跟踪;在CNVSTR 的上升沿开始转换(见图的上升沿开始转换(见图16.3)。)。 当整个芯片处于低功耗待机或休眠方式时,跟踪可以被当整个芯片处于低功耗待机或休眠方式时,跟踪可以被禁止(关断)。禁止(关断)。图图16.3 12 位位ADC 跟踪和
20、转换时序举例跟踪和转换时序举例16.2.3 建立时间要求建立时间要求当当ADC0 输入配置发生改变时(输入配置发生改变时(AMUX 或或PGA 的选择发生的选择发生变化),在进行一次精确的转换之前需要有一个最小的跟踪变化),在进行一次精确的转换之前需要有一个最小的跟踪时间。时间。该跟踪时间由该跟踪时间由ADC0 模拟多路器的电阻、模拟多路器的电阻、ADC0 采样电容、采样电容、外部信号源阻抗及所要求的转换精度决定。图外部信号源阻抗及所要求的转换精度决定。图16.4 给出了单给出了单端和差分方式下等效的端和差分方式下等效的ADC0 输入电路。输入电路。图图16.4 ADC0 等效输入电路等效输入
21、电路注意:这两种等效电路的时间常数完全相同。对于一个给定注意:这两种等效电路的时间常数完全相同。对于一个给定的建立精度(的建立精度(SA),所需要的),所需要的ADC0 建立时间可以用公式建立时间可以用公式16.1 估算。当测量温度传感器的输出时,估算。当测量温度传感器的输出时,RTOTAL 等于等于RMUX。 公式公式16.1 ADC0 建立时间建立时间其中:其中:SA 是建立精度,用一个是建立精度,用一个LSB 的分数表示(例如,建立精度的分数表示(例如,建立精度0.25 对应对应1/4 LSB)t 为所需要的建立时间,以秒为单位为所需要的建立时间,以秒为单位RTOTAL 为为ADC0 模
22、拟多路器电阻与外部信号源电阻之和模拟多路器电阻与外部信号源电阻之和n 为为ADC0 的分辨率,用比特表示(的分辨率,用比特表示(12)。)。注意:注意:在低功耗跟踪方式,每次转换需要用三个在低功耗跟踪方式,每次转换需要用三个SAR 时钟跟踪。时钟跟踪。对于大多数应用,三个对于大多数应用,三个SAR 时钟可以满足跟踪需要。时钟可以满足跟踪需要。16.3 ADC0 可编程窗口检测器可编程窗口检测器ADC0 可编程窗口检测器不停地将可编程窗口检测器不停地将ADC0 输出与用户编程的输出与用户编程的极限值进行比较,并在检测到越限条件时通知系统控制器。极限值进行比较,并在检测到越限条件时通知系统控制器。
23、这在一个中断驱动的系统中尤其有效,既可以节省代码空间这在一个中断驱动的系统中尤其有效,既可以节省代码空间和和CPU 带宽又能提供快速响应时间。带宽又能提供快速响应时间。窗口检测器中断标志(窗口检测器中断标志(ADC0CN 中的中的AD0WINT 位)也可被位)也可被用于查询方式。用于查询方式。ADC0CN: ADC0 控制寄存器控制寄存器(C8051F020/1)参考字的高和低字节被装入到参考字的高和低字节被装入到ADC0 下限(大于)寄存器下限(大于)寄存器ADC0GTH、ADC0GTL和和ADC0 上限(小于)寄存器上限(小于)寄存器ADC0LTH 和和ADC0LTL)。下面给出比较示例供
24、参考。)。下面给出比较示例供参考。注意,窗口检测器标志既可以在测量数据位于用户编程的极注意,窗口检测器标志既可以在测量数据位于用户编程的极限值以内时有效,也可以在测量数据位于用户编程的极限值限值以内时有效,也可以在测量数据位于用户编程的极限值以外时有效,这取决于以外时有效,这取决于ADC0GTx 和和ADC0LTx 寄存器的编寄存器的编程值。程值。ADC0GTH: ADC0 下限数据高字节寄存器(下限数据高字节寄存器(C8051F020/1)位位7-0: ADC0 下限数据字的高字节下限数据字的高字节ADC0GTL: ADC0 下限数据低字节寄存器(下限数据低字节寄存器(C8051F020/1
25、)位位7-0: ADC0 下限数据字的低字节下限数据字的低字节ADC0LTH: ADC0 上限数据高字节寄存器上限数据高字节寄存器(C8051F020/1)位位7-0: ADC0 数据上限数据字的高字节数据上限数据字的高字节ADC0LTL: ADC0 上限数据低字节寄存器上限数据低字节寄存器(C8051F020/1)位位7-0: ADC0 上限数据字的低字节上限数据字的低字节12 位位ADC0 窗口中断示例:右对齐的单端数据窗口中断示例:右对齐的单端数据12 位位ADC0 窗口中断示例:右对齐的差分数据窗口中断示例:右对齐的差分数据12 位位ADC0 窗口中断示例:左对齐的单端数据窗口中断示例
26、:左对齐的单端数据12 位位ADC0 窗口中断示例:左对齐的差分数据窗口中断示例:左对齐的差分数据12 位ADC0 电气特性(C8051F020/1)VDD=3.0V, AV+=3.0V, VREF=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 。(如果是差分输入
27、,(如果是差分输入,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。ADC0 内容结束内容结束谢 谢 !
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。