第6章 MCF52233的AD转换模块
本章目录 6.1AD转换的基本问题 6.2MCF52233的AD转换结构与特性 6.3MCF52233的AD模块编程寄存器 6.4基于构件的AD编程 6.5MCF52233AD模块编程实例 物理量采 集回归系统 6.6常用传感器简介及一个典型信号采样电 路设计
2 本章目录 6.1 AD转换的基本问题 6.2 MCF52233的AD转换结构与特性 6.3 MCF52233的AD模块编程寄存器 6.4 基于构件的AD编程 6.5 MCF52233 AD模块编程实例——物理量采 集回归系统 6.6 常用传感器简介及一个典型信号采样电 路设计
6.1AD转换的基本问题 ®采样精度 采样精度就是指数字量变化一个最小量时模拟信号的变 化量,即我们通常所说的采样位数。 ®采样速率 采样速率是指完成一次A/D采样所要花费的时间。 滤波 对采样的数据进行筛选去掉误差较大的毛刺。中值滤波 和均值滤波。 。物理量回归 把A/D采样值与实际物理量对应起来
3 6.1 AD转换的基本问题 采样精度 采样精度就是指数字量变化一个最小量时模拟信号的变 化量,即我们通常所说的采样位数。 采样速率 采样速率是指完成一次A/D采样所要花费的时间。 滤波 对采样的数据进行筛选去掉误差较大的毛刺。中值滤波 和均值滤波。 物理量回归 把A/D采样值与实际物理量对应起来
6.29MCF52233的AD转换结构与特性 MCF52233的A/D转换(ADC)的主要功能模块: 。输入多路复用器 采样和保持单元 。转换器单元 结果寄存器 。控制单元
4 输入多路复用器 采样和保持单元 转换器单元 结果寄存器 控制单元 6.2 MCF52233的AD转换结构与特性 MCF52233的A/D转换(ADC)的主要功能模块:
6.2MCF52233的AD转换结构与特性 ADC有两种基本扫描模式: 1.顺序扫描 2.并行扫描 ADC的输入模式: 1.单端输入模式 2.差分输入模式
5 6.2 MCF52233的AD转换结构与特性 • ADC有两种基本扫描模式: 1.顺序扫描 2.并行扫描 • ADC的输入模式: 1.单端输入模式 2.差分输入模式
6.2MCF52233的AD转换结构与特性 MCF52233ADC的主要特性总结如下: (1)12位的转换精度。 (2)A/D转换的时钟频率最高为5MHz。 (3)采样速率高达每秒1.66百万次。 (4)一次一路A/D转换时间为8.5个ADC时钟周期(1.7s),后续每路为6个 ADC时钟周期(1.2μs)。 (5)在并行模式下,8路A/D转换总时间只要26.5个ADC时钟周期(5,3s)。 (6)有并行和顺序两种采样模式。 (7)内部的多路复用器可以选择8路输入中的2路。 (8)电源节省模式可以自动关闭/启动整个或部分ADC模块。 (9)没有被选择的输入口能够容纳电流的流动而不会影响到ADC性能,并且能 。够在工业噪声环境中工作。 一《10)在一次扫描结束后可以允许超限或过零中断。 (11)可以对采样进行修正,即将最初的ADC值减去预先编程设定的偏移量从 而得到最终的ADC转换结果。 (12)ADC结果可以是有符号数或无符号数。 (3)这些输入引脚可以是单端输入、差分输入,或是两种输入方式兼有。 6
6 6.2 MCF52233的AD转换结构与特性 MCF52233 ADC的主要特性总结如下: (1)12位的转换精度。 (2)A/D转换的时钟频率最高为5MHz。 (3)采样速率高达每秒1.66百万次。 (4)一次一路A/D转换时间为8.5个ADC时钟周期(1.7µs),后续每路为6个 ADC时钟周期(1.2µs)。 (5)在并行模式下,8路A/D转换总时间只要26.5个ADC时钟周期(5.3µs)。 (6)有并行和顺序两种采样模式。 (7)内部的多路复用器可以选择8路输入中的2路。 (8)电源节省模式可以自动关闭/启动整个或部分ADC模块。 (9)没有被选择的输入口能够容纳电流的流动而不会影响到ADC性能,并且能 够在工业噪声环境中工作。 (10)在一次扫描结束后可以允许超限或过零中断。 (11)可以对采样进行修正,即将最初的ADC值减去预先编程设定的偏移量从 而得到最终的ADC转换结果。 (12)ADC结果可以是有符号数或无符号数。 (13)这些输入引脚可以是单端输入、差分输入,或是两种输入方式兼有
6.3MCF52233的AD模块编程寄存器 1.控制寄存器1(Control1 Register,CTL1) 2.控制寄存器2(Control2 Register,CTL2) 3.过零控制寄存器(Zero Crossing Control Register,ADZCC) 4.通道列表寄存器1和2(Channel List Registers 1、2,ADLST1、2) 5.采样禁止寄存器(Sample Disable Register,ADSDIS) 6.状态寄存器(Status Register,ADSTAT) 7.限制状态寄存器(Limit Status Register,ADLSTAT) 8.过零状态寄存器(Zero Crossing Status Register, ADZCSTAT) 9.结果寄存器(Result Registers,.ADRSLTn) 10.下限寄存器(Low Limit Registers,ADLLMTn) 和上限寄存器(High Limit Registers,ADHLMTn) 11.偏移量寄存器(0 ffset Registers,AD0Sn) 。12 电源控制寄存器(Power Control Register,POWER) 13/ 电压参考寄存器(Voltage Reference Register,CAL)
7 6.3 MCF52233的AD模块编程寄存器 1.控制寄存器1(Control 1 Register,CTRL1) 2.控制寄存器2(Control 2 Register,CTRL2) 3.过零控制寄存器(Zero Crossing Control Register,ADZCC) 4.通道列表寄存器1和2(Channel List Registers 1、2,ADLST1、2) 5.采样禁止寄存器(Sample Disable Register,ADSDIS) 6.状态寄存器(Status Register,ADSTAT) 7.限制状态寄存器(Limit Status Register,ADLSTAT) 8.过零状态寄存器(Zero Crossing Status Register,ADZCSTAT) 9.结果寄存器(Result Registers,ADRSLTn) 10.下限寄存器(Low Limit Registers,ADLLMTn)和上限寄存器(High Limit Registers,ADHLMTn) 11.偏移量寄存器(Offset Registers,ADOFSn) 12.电源控制寄存器(Power Control Register,POWER) 13.电压参考寄存器(Voltage Reference Register,CAL)
6:4基于构件的AD编程 6.4.1AD构件的函数原型设计 (1)AD转换模块初始化 void ADinit (void) (2)采样一次ANn(0-7)路模拟量的AD值 6 uint16 ADonce (uint16 ANn) (3)采用中值滤波,获取ANn(O-7)路模拟量的AD值 uint16 ADmid(uint16 ANn) (4)采用均值滤波,获取ANn(0-7)} 路模拟量的AD值,N 为均值滤波次数 uint16 ADave (uint8 N,uint16 ANn)
8 6.4 基于构件的AD编程 6.4.1 AD构件的函数原型设计 • (1)AD转换模块初始化 void ADinit (void) • (2)采样一次ANn(0-7)路模拟量的AD值 uint16 ADonce(uint16 ANn) • (3)采用中值滤波,获取ANn(0-7)路模拟量的AD值 uint16 ADmid(uint16 ANn) • (4)采用均值滤波,获取ANn(0-7)路模拟量的AD值,N 为均值滤波次数 uint16 ADave(uint8 N, uint16 ANn)
6.4基于构件的AD编程 6.4.2AD构件的头文件 void ADt (void); //AD转换模块初始化 uint16nce(uint16 ANn); /采集某路模拟量的AD值 uint16id(uint16 ANn); //中值滤波 uint16ve(uint8 N,uint16 ANn); //均值滤波
9 6.4.2 AD构件的头文件 6.4 基于构件的AD编程 void ADinit (void); //AD转换模块初始化 uint16 ADonce(uint16 ANn); //采集某路模拟量的AD值 uint16 ADmid(uint16 ANn); //中值滤波 uint16 ADave(uint8 N, uint16 ANn); //均值滤波
6.4基于构件的AD编程 6.4.3AD构件的源程序文件 AD构件程序文件的内容是给出AD各功能函数的实现 过程。 ADinit函数主要完成A/D转换模块的初始化。 ADmid函数实现中值滤波,ADave函数实现均值滤波。 中值滤波的思想是:连续采样3次,并将3次采样结 果按照从大到小的顺序排列,取中间值作为中值滤波的 结果。 均值滤波的思想是:先进行n次中值滤波,再将这n 次中值结果相加,然后除以采样次数n得到最终结果
6.4.3 AD构件的源程序文件 6.4 基于构件的AD编程 AD构件程序文件的内容是给出AD各功能函数的实现 过程。 ADinit函数主要完成A/D转换模块的初始化。 ADmid函数实现中值滤波,ADave函数实现均值滤波。 中值滤波的思想是:连续采样3次,并将3次采样结 果按照从大到小的顺序排列,取中间值作为中值滤波的 结果。 均值滤波的思想是:先进行n次中值滤波,再将这n 次中值结果相加,然后除以采样次数n得到最终结果