版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第第10章章 ADC、DAC与与CMP模块模块主要内容:主要内容:10.1 A/D10.1 A/D转换通用知识转换通用知识10.2 KL2510.2 KL25的的1616位位ADCADC模块功能概述模块功能概述10.3 KL2510.3 KL25的的A/DA/D转换模块寄存器转换模块寄存器10.4 A/D10.4 A/D模块基本编程方法与驱动构件封装模块基本编程方法与驱动构件封装10.5 1210.5 12位位DACDAC模块功能概述模块功能概述10.610.6 1212位位DACDAC模块寄存器模块寄存器10. .7 DAC模块基本编程方法与驱动构件封装模块基本编程方法与驱动构件封装10.
2、 .8 CMP模块功能概述模块功能概述10. .9 CMP模块寄存器模块寄存器10. .10 CMP模块基本编程方法与驱动构件封装模块基本编程方法与驱动构件封装10. .11 本章小结本章小结210.1 A/D转换通用知识转换通用知识10.1.1 A/D10.1.1 A/D转换的基本问题转换的基本问题A/DA/D转换模块(转换模块(Analog To Digital Convert ModuleAnalog To Digital Convert Module)即模即模/ /数转换模块,其功能是将电压信号转换为相应的数数转换模块,其功能是将电压信号转换为相应的数字信号。实际应用中,这个电压信号可
3、能由温度、湿度、字信号。实际应用中,这个电压信号可能由温度、湿度、压力等实际物理量经过传感器和相应的变换电路转化而来。压力等实际物理量经过传感器和相应的变换电路转化而来。经过经过A/DA/D转换后,转换后,MCUMCU就可以处理这些物理量。就可以处理这些物理量。 1.1.采样精度采样精度采样精度就是指数字量变化一个最小量时模拟信号的变采样精度就是指数字量变化一个最小量时模拟信号的变化量,即我们通常所说的采样位数。化量,即我们通常所说的采样位数。2.2.采样速率采样速率采样速率是指完成一次采样速率是指完成一次A/DA/D采样所要花费的时间。在多采样所要花费的时间。在多数的数的MCUMCU中要花费
4、大于中要花费大于15152020个指令周期。因而此速率和所选个指令周期。因而此速率和所选器件的工作频率有很大关系。器件的工作频率有很大关系。3 3滤波滤波为了使采样的数据更准确,必须对采样的数据进行筛选为了使采样的数据更准确,必须对采样的数据进行筛选去掉误差较大的毛刺。通常我们采用中值滤波和均值滤波来去掉误差较大的毛刺。通常我们采用中值滤波和均值滤波来提高采样精度。提高采样精度。4 4物理量回归物理量回归在实际应用中,得到稳定的在实际应用中,得到稳定的A/DA/D采样值以后,还需要把采样值以后,还需要把A/DA/D采样值与实际物理量对应起来,这一步称为物理量回归。采样值与实际物理量对应起来,这
5、一步称为物理量回归。310.1.2 A/D10.1.2 A/D转换器类型转换器类型1 1积分型积分型A/DA/D转换器转换器积分式积分式A/DA/D转换器先以一个固定长的时间对一个电转换器先以一个固定长的时间对一个电容器连续充电,然后以固定的放电速率使这个电容器放容器连续充电,然后以固定的放电速率使这个电容器放电,并测试放电过程所花的时间。用时钟测量放电时间电,并测试放电过程所花的时间。用时钟测量放电时间,而时钟脉冲的数量即为数字输出。这种方法相对较慢,而时钟脉冲的数量即为数字输出。这种方法相对较慢,但极其精确并具有线性。这种方法常用在脉冲幅度分,但极其精确并具有线性。这种方法常用在脉冲幅度分
6、析器。析器。2 2逐次逼近型逐次逼近型A/DA/D转换器转换器逐次逼近是一般逐次逼近是一般MCUMCU应用中最常用的技术,它的转应用中最常用的技术,它的转换速度中等(标称换速度中等(标称20s20s)。逐次逼近型)。逐次逼近型A/DA/D转换器采用二转换器采用二分查找法逐位确定转换后输出的数据。这种方法成本低分查找法逐位确定转换后输出的数据。这种方法成本低,速度快,能处理较大的数,但转换过程中,需要采样,速度快,能处理较大的数,但转换过程中,需要采样保持放大电路提供恒定的输入。保持放大电路提供恒定的输入。410.1.3 A/D10.1.3 A/D转换常用传感器简介转换常用传感器简介1 1温度传
7、感器温度传感器温度传感器是利用一些金属、半导体等材料与温度有温度传感器是利用一些金属、半导体等材料与温度有关的特性制成的,这些特性包括热膨胀、电阻、电容、磁关的特性制成的,这些特性包括热膨胀、电阻、电容、磁性、热电势、热噪声、弹性及光学特征,根据制造材料将性、热电势、热噪声、弹性及光学特征,根据制造材料将其分为热敏电阻传感器、半导体热电偶传感器、其分为热敏电阻传感器、半导体热电偶传感器、PNPN结温度结温度传感器和集成温度传感器等类型。传感器和集成温度传感器等类型。热敏电阻传感器是一种比较简单的温度传感器,其最热敏电阻传感器是一种比较简单的温度传感器,其最基本电气特性是随着温度的变化自身阻值也
8、随之变化。基本电气特性是随着温度的变化自身阻值也随之变化。5A/DA/D采样点的电压采样点的电压2 2光敏电阻器光敏电阻器光敏电阻器是利用半导体的光电效应制成的一种电阻光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。光的控制和光电转换(将光的变化转换为电的变化)。63 3灰度传感器灰度传感器所谓灰度也可认为是亮度,简单的说就是色彩的深浅所谓灰度也可认为
9、是亮度,简单的说就是色彩的深浅程度。灰度传感器的主要工作原理是它使用两只二极管,程度。灰度传感器的主要工作原理是它使用两只二极管,一只为发白光的高亮度发光二极管,另一只为光敏探头。一只为发白光的高亮度发光二极管,另一只为光敏探头。10.1.4 10.1.4 电阻型传感器采样电路设计电阻型传感器采样电路设计电阻型传感器即自身等效为一个电阻,电阻的阻值随外部电阻型传感器即自身等效为一个电阻,电阻的阻值随外部信号的变化而变化,可用来采集温度等。信号的变化而变化,可用来采集温度等。对于电阻型传感器的采集电路,基本思想是将电阻变化转对于电阻型传感器的采集电路,基本思想是将电阻变化转化为电压变化,然后利用
10、化为电压变化,然后利用ADAD转换芯片得到电压值,最后转换芯片得到电压值,最后利用利用ADAD值和外部信号的对照表得出当前外部信号的值。值和外部信号的对照表得出当前外部信号的值。实际应用中,为了获取更精确的采样值,常用的采样设计实际应用中,为了获取更精确的采样值,常用的采样设计有恒流激励电路和恒压激励电路。有恒流激励电路和恒压激励电路。通常,电阻型传感器采集电路由三部分组成:传感器接口通常,电阻型传感器采集电路由三部分组成:传感器接口、恒流源电路和放大电路。、恒流源电路和放大电路。78910.2 KL25的的16位位ADC模块功能概述模块功能概述KL25KL25的的ADCADC模块只有一个,记
11、为模块只有一个,记为ADCADC0,共有,共有2727个寄存器。个寄存器。ADCADC模块由于使用了线性逐次逼近算法,所以具有最高可达模块由于使用了线性逐次逼近算法,所以具有最高可达1616位的分辨率。同时位的分辨率。同时ADCADC具有差分输入和单端输入两种采集模式。具有差分输入和单端输入两种采集模式。ADCADC通道的数量由专门的芯片封装引出脚决定,本书选用通道的数量由专门的芯片封装引出脚决定,本书选用LQFPLQFP封装封装8080引脚的引脚的MKL25Z128VLK4MKL25Z128VLK4芯片,具有芯片,具有: :1)21)2对外部引脚差分输入模式,每路有可以分别配置为对外部引脚差
12、分输入模式,每路有可以分别配置为1616位、位、1313位、位、1111位、位、9 9位种采集精度。位种采集精度。 2)142)14路外部引脚单端输入模式,每路可以分别配置为路外部引脚单端输入模式,每路可以分别配置为1616位、位、1212位、位、1010位和位和8 8位四种采集精度。位四种采集精度。3)3)还可以其他形式的模拟输入通道,如还可以其他形式的模拟输入通道,如ADCADC模块内包含一模块内包含一个温度传感器,它的输出信号接在个温度传感器,它的输出信号接在ADCADC模拟量输入通道上,通模拟量输入通道上,通道号位道号位2626。当当KL25KL25的的ADCADC配置为差分模式时,配
13、置为差分模式时,2 2对差分引脚视为差分对差分引脚视为差分输入源,将该引脚的电压差值模数转换的测量值,而且相应输入源,将该引脚的电压差值模数转换的测量值,而且相应的结果寄存器会出现符号位。当差分引脚的结果寄存器会出现符号位。当差分引脚DADPDADP的电压比的电压比DADMDADM高时,符号位为高时,符号位为0 0。当差分引脚。当差分引脚DADPDADP的电压比的电压比DADMDADM低时,符号低时,符号位为。位为。在复位、低功耗停止模式或者是当在复位、低功耗停止模式或者是当SC1nSC1n中的中的ADCHADCH各位都各位都为高时,为高时,ADCADC模块是禁止的,具体的请参阅电源管理信息。
14、模块是禁止的,具体的请参阅电源管理信息。1011当一个转换完成后另外一个转换还没有开始的时候,当一个转换完成后另外一个转换还没有开始的时候,ADCADC模块处于空闲的状态。当模块处于空闲的状态。当ADCADC空闲时,异步时钟输出使能禁止,空闲时,异步时钟输出使能禁止,或者或者CFG2ADACKENCFG2ADACKEN位为位为0 0,ADCADC模块处于最低功耗状态。一旦模块处于最低功耗状态。一旦软件选定通道,软件选定通道,ADCADC模块能执行模拟信号到数字信号的转换。模块能执行模拟信号到数字信号的转换。所有的模式根据一系列的线性逼近算法执行转换操作。所有的模式根据一系列的线性逼近算法执行转
15、换操作。当转换完成时,转换的结果保存到数据结果寄存器中。如当转换完成时,转换的结果保存到数据结果寄存器中。如果中断使能果中断使能(SC1nAIEN=1)(SC1nAIEN=1),各自的转换完成,各自的转换完成,SC1nCOCOSC1nCOCO位位置位置位1 1,就会产生一个中断。,就会产生一个中断。ADCADC模块还具有如下功能:模块还具有如下功能:(1 1)ADCADC模块具有自动和比较寄存器模块具有自动和比较寄存器(CV1(CV1和和CV2)CV2)转换结果转换结果比较的功能。比较的功能。(2 2)ADCADC模块具有将多次转换的结果求均值的功能。模块具有将多次转换的结果求均值的功能。(3
16、 3)硬件计算均值:)硬件计算均值:ADCADC转换有硬件触发和软件触发两种转换有硬件触发和软件触发两种触发方式。触发方式。(4 4)为了满足精确定位的要求,)为了满足精确定位的要求,ADCADC模块还具有用芯片校模块还具有用芯片校验功能和验功能和ADCADC偏移量修正功能。偏移量修正功能。1210.3 KL2510.3 KL25的的A/DA/D转换模块寄存器转换模块寄存器KL25KL25的的A/DA/D转换模块有转换模块有2727个寄存器,包括:个寄存器,包括:4 4个个ADCADC状态控制寄存器状态控制寄存器(ADC0_SC1A(ADC0_SC1A、ADC0_SC1BADC0_SC1B、A
17、DC0_SC2ADC0_SC2、ADC0_SC3)ADC0_SC3)2 2个个ADCADC配置寄存器配置寄存器(ADC0_CFG1(ADC0_CFG1、ADC0_CFG2)ADC0_CFG2)2 2个个ADCADC数据结果寄存器(数据结果寄存器(ADC0_RAADC0_RA、ADC0_RBADC0_RB)2 2个个ADCADC比较值寄存器比较值寄存器(ADC0_CV1(ADC0_CV1、ADC0_CV2)ADC0_CV2)1 1个个ADCADC偏移量校正寄存器(偏移量校正寄存器(ADC0_OFSADC0_OFS)1 1个个ADCADC正向增益寄存器(正向增益寄存器(ADC0_PGADC0_PG
18、)1 1个个ADCADC负向增益寄存器(负向增益寄存器(ADC0_MGADC0_MG)7 7个个ADCADC正向增益通用校准值寄存器(正向增益通用校准值寄存器(ADC0_CLPDADC0_CLPD、ADC0_CLPSADC0_CLPS、ADC0_CLP4ADC0_CLP4、ADC0_CLP3ADC0_CLP3、ADC0_CLP2ADC0_CLP2、ADC0_CLP1ADC0_CLP1、ADC0_CLP0ADC0_CLP0)7 7个个ADCADC负向增益通用校准值寄存器负向增益通用校准值寄存器(ADC0_CLMD(ADC0_CLMD、ADC0_CLMSADC0_CLMS、ADC0_CLM4ADC
19、0_CLM4、ADC0_CLM3ADC0_CLM3、ADC0_CLM2ADC0_CLM2、ADC0_CLM1ADC0_CLM1、ADC0_CLM0)ADC0_CLM0)。131 1ADCADC状态控制寄存器(状态控制寄存器(ADC Status and Control ADC Status and Control RegistersRegisters)1 1)状态控制寄存器)状态控制寄存器ADC0_SC1AADC0_SC1A和和ADC0_SC1BADC0_SC1B状态控制寄存器状态控制寄存器ADC0_SC1AADC0_SC1A寄存器有软件触发和硬件寄存器有软件触发和硬件触发两种操作模式,状态控
20、制寄存器触发两种操作模式,状态控制寄存器ADC0_SC1SC1BADC0_SC1SC1B为只用为只用于硬件触发操作模式。当于硬件触发操作模式。当SC1ASC1A有效控制一个转换并且处于有效控制一个转换并且处于取消当前转换时,可以对取消当前转换时,可以对SC1ASC1A进行写操作。在软件触发模进行写操作。在软件触发模式下式下(SC2ADTRG=0)(SC2ADTRG=0),对寄存器,对寄存器SC1ASC1A进行写的时候会开始进行写的时候会开始一个新的转换。在软件触发操作模式下不能用一个新的转换。在软件触发操作模式下不能用SC1BSC1B寄存器,寄存器,因此对因此对SC1BSC1B进行写操作不会引
21、起一个新的转换。进行写操作不会引起一个新的转换。D31D8 D31D8 保留位,只读,且各位值为保留位,只读,且各位值为0 0。D7 COCOD7 COCO,转换完成标志位,只读。当不设置比较功,转换完成标志位,只读。当不设置比较功能能(SC2ACFE=0)(SC2ACFE=0)时,或不设置硬件均值功能时,或不设置硬件均值功能(SC3AVGE=0)(SC3AVGE=0)时,每次转换完成时置该位为时,每次转换完成时置该位为1 1;当比较功能使能;当比较功能使能(SC2ACFE=1)(SC2ACFE=1)时,只要比较结果为真,转换完成后,该位为时,只要比较结果为真,转换完成后,该位为1 1;当设置
22、硬件均值功能(;当设置硬件均值功能(SC3AVGE=1SC3AVGE=1)时,且均值滤波次)时,且均值滤波次数(该值由数(该值由SC3AVGSSC3AVGS段决定)设定后,则该位为段决定)设定后,则该位为1 1;当校准;当校准次序完成,则该位为次序完成,则该位为1 1。当对寄存器。当对寄存器SC1ASC1A进行写操作或者对转进行写操作或者对转换结果寄存器换结果寄存器RnRn进行读操作时,都会清除进行读操作时,都会清除COCOCOCO。D6 AIEND6 AIEN,中断使能位。当,中断使能位。当AIENAIEN位为位为1 1时,设置时,设置COCOCOCO位为位为1 1就会引发一个中断。当就会引
23、发一个中断。当AIENAIEN为为0 0时,无动作。时,无动作。D5 DIFFD5 DIFF,差分模式使能位。当,差分模式使能位。当DIFFDIFF为为0 0时,单端转时,单端转换;当换;当DIFFDIFF为为1 1时,差分转换。在差分模式下,当时,差分转换。在差分模式下,当ADCADC配置有配置有效时,该模式会自动从不同通道中选择一个通道,改变转换效时,该模式会自动从不同通道中选择一个通道,改变转换算法和周期数完成转换。算法和周期数完成转换。D4D0 ADCHD4D0 ADCH,输入通道选择位。用于选择一个输入,输入通道选择位。用于选择一个输入通道通道, ,见表见表10-110-1描述。描述
24、。142 2)状态控制寄存器)状态控制寄存器ADC0_SC2ADC0_SC2状态控制寄存器状态控制寄存器ADC0_SC2ADC0_SC2具有有转换执行状态、硬具有有转换执行状态、硬件件/ /软件触发选择、比较功能和软件触发选择、比较功能和ADCADC模块的参考电压选择模块的参考电压选择等功能。等功能。15D31D8 D31D8 保留位,只读,且各位值为保留位,只读,且各位值为0 0。D7 ADACTD7 ADACT,转换执行位。提示一个转换或者硬,转换执行位。提示一个转换或者硬件计算均值命令是否正在执行。当件计算均值命令是否正在执行。当ADACT=1ADACT=1时,转换正在时,转换正在执行;
25、当执行;当ADACT=0ADACT=0时,转换没有在执行。时,转换没有在执行。D6 ADTRGD6 ADTRG,转换触发选择位。有两种触发方式,转换触发选择位。有两种触发方式,当当ADTRG=1ADTRG=1时,硬件触发。时,硬件触发。ADCADC硬件触发来自实时中断硬件触发来自实时中断(RTIRTI)计数器的输出,)计数器的输出,RTIRTI计数器溢出触发计数器溢出触发A/DA/D转换;当转换;当ADTRG=0ADTRG=0时,在这种模式下,写时,在这种模式下,写SC1SC1(ADCHADCH位不全为位不全为1 1)启)启动转换。动转换。16D5D3D5D3用于转换结果与比较值寄存器用于转换
26、结果与比较值寄存器CV1CV1和和CV2CV2的比较的比较关系,关系,D5=1D5=1使能比较,使能比较,D4=1D4=1转换结果大于等于转换结果大于等于CV1CV1,D3=1D3=1使能范围比较,表使能范围比较,表10-210-2给出比较关系。若使能了比较,只给出比较关系。若使能了比较,只有比较结果为真时,才会将转换结果存入结果寄存器,转有比较结果为真时,才会将转换结果存入结果寄存器,转换完成标志位换完成标志位COCOCOCO才会置才会置1 1。D2 DMAEND2 DMAEN,DMADMA使能位。当使能位。当DMAEN=0DMAEN=0时,时,DMADMA禁止;禁止;当当DMAEN =1D
27、MAEN =1时,时,DMADMA使能,同时在使能,同时在ADCADC转换完成期间会保转换完成期间会保持持DMADMA请求。请求。D1D0 REFSELD1D0 REFSEL,参考电压选择位。,参考电压选择位。0000:选择芯:选择芯片的片的VREFHVREFH和和VREFLVREFL两个引脚作为两个引脚作为ADAD转换的参考电压;转换的参考电压;0101:可选的参考电压对;可选的参考电压对;1010,1111:保留。:保留。173)3)状态控制寄存器状态控制寄存器ADC0_SC3ADC0_SC3状态控制寄存器状态控制寄存器ADC0_SC3ADC0_SC3控制控制ADCADC模块的校验,持续模
28、块的校验,持续性转换和硬件计算均值功能。性转换和硬件计算均值功能。D31D8 D31D8 保留位,只读,且各位值为保留位,只读,且各位值为0 0。D7 CALD7 CAL,校验位。,校验位。 CALCAL置位后,校验开始执行,置位后,校验开始执行,校验完成后,该位清零。必须检查校验完成后,该位清零。必须检查CALFCALF位来确定校验结果位来确定校验结果是否正确,因为校验一旦开始,不能被写操作中断,否则是否正确,因为校验一旦开始,不能被写操作中断,否则转换结果出错,导致转换结果出错,导致CALFCALF位被置位。所以位被置位。所以CAL=1CAL=1时,可以取时,可以取消当前的任何转换。消当前
29、的任何转换。D6 CALFD6 CALF,校对失败标志位。显示校验后的结果是,校对失败标志位。显示校验后的结果是否正确。当否正确。当CALF=0CALF=0时,校验正常;当时,校验正常;当CALF=1CALF=1时,校验失败。时,校验失败。若若SC2ADTRG=1SC2ADTRG=1时,校对失败,此时任何寄存器都可以进时,校对失败,此时任何寄存器都可以进行写操作,或者在校验过程完成之前有停止模式进入。对行写操作,或者在校验过程完成之前有停止模式进入。对CALFCALF写写1 1,可以清除该位。,可以清除该位。D5D4 D5D4 保留位,只读,且各位值为保留位,只读,且各位值为0 0。D3 AD
30、COD3 ADCO,持续转换使能位。当,持续转换使能位。当ADCO=0ADCO=0时,硬件时,硬件计算均值功能使能时(计算均值功能使能时(AVGE=1AVGE=1),在开始一个转换之后),在开始一个转换之后接下来只有一个转换或者一组转换;当接下来只有一个转换或者一组转换;当ADCO=1ADCO=1时,硬件时,硬件计算均值功能使能时(计算均值功能使能时(AVGE=1AVGE=1),在开始一个转换之后),在开始一个转换之后接下来有持续的转换或多组转换。接下来有持续的转换或多组转换。D2 AVGED2 AVGE,硬件计算均值功能位。当,硬件计算均值功能位。当AVGE=0AVGE=0时,时,硬件计算均
31、值功能禁止;当硬件计算均值功能禁止;当AVGE=1AVGE=1时,硬件计算均值功时,硬件计算均值功能使能。能使能。D1D0 AVGSD1D0 AVGS,硬件计算均值选择位。,硬件计算均值选择位。AVGSAVGS段确段确定对多少个定对多少个ADCADC转换结果来求平均值,进而得到转换结果来求平均值,进而得到ADCADC转换转换的平均值。的平均值。00110011分别代表分别代表4 4,8 8,1616,3232个采样均值。个采样均值。18192 2ADCADC配置寄存器(配置寄存器(ADC Configuration RegisterADC Configuration Register)1) 1
32、) 配置寄存器配置寄存器ADC_CFG1ADC_CFG1配置寄存器配置寄存器ADC_CFG1ADC_CFG1寄存器可以选择操作模式,设置寄存器可以选择操作模式,设置时钟源、时钟分频,并对低功耗或者长时间采样模式进行配时钟源、时钟分频,并对低功耗或者长时间采样模式进行配置。置。D15D8 D15D8 保留位,只读,且各位值为保留位,只读,且各位值为0 0。D7 ADLPCD7 ADLPC,低功耗配置位。,低功耗配置位。ADLPCADLPC控制连续近似控制连续近似值转换器的电压配置。当值转换器的电压配置。当ADLPC=0ADLPC=0时,正常供电配置;当时,正常供电配置;当ADLPC=1ADLPC
33、=1时,以最大时钟速率的代价降低功耗。时,以最大时钟速率的代价降低功耗。D6D5 ADIVD6D5 ADIV,时钟分频选择位。,时钟分频选择位。ADIVADIV选择选择ADCADC使使用的分频系数产生内部时钟用的分频系数产生内部时钟ADCKADCK。当。当ADIVADIV分别为分别为0000,0101,1010,1111时,对应的分频系数分别为时,对应的分频系数分别为1 1,2 2,4 4,8 8,时钟频,时钟频率为输入时钟,输入时钟率为输入时钟,输入时钟/2/2,输入时钟,输入时钟/4/4,输入时钟,输入时钟/8/8。D4 ADLSMPD4 ADLSMP,采样时间配置位。,采样时间配置位。A
34、DLSMPADLSMP会根据选择的会根据选择的转换模式选择不同的采样次数。当转换模式选择不同的采样次数。当ADLSMP=1ADLSMP=1时,即长时间采时,即长时间采样选择位置位,可以选择长时间采样的范围;当样选择位置位,可以选择长时间采样的范围;当ADLSMP=0ADLSMP=0时时,即短时间采样选择位置位,可以选择短时间采样的范围。,即短时间采样选择位置位,可以选择短时间采样的范围。D3D2 MODED3D2 MODE,转换模式选择位。选择,转换模式选择位。选择ADCADC采样模式。采样模式。当当SC1DIFF=0SC1DIFF=0时,时, MODE=00MODE=00,0101,1010
35、,1111时,分别为单端时,分别为单端8 8位,位,1010位,位,1212位,位,1616位转换;当位转换;当SC1DIFF=1SC1DIFF=1时,时, MODE=00MODE=00,0101,1010,1111时,分别为带有时,分别为带有2 2进制补码输出的进制补码输出的9 9位,位,1313位,位,2828位,位,1616位差分转换。位差分转换。D1D0 ADICLKD1D0 ADICLK,输入时钟选择位。输入时钟源产生,输入时钟选择位。输入时钟源产生内部时钟内部时钟ADCKADCK。当选择。当选择ADACKADACK为时钟源时,不要求提前开始为时钟源时,不要求提前开始转换。当选择该位
36、的同时又不需要提前开始转换转换。当选择该位的同时又不需要提前开始转换(ADACKEN=0)(ADACKEN=0)时,异步时钟在转换开始时有效,在转换结束时,异步时钟在转换开始时有效,在转换结束时关闭。这种情况下每次时钟源再次有效时,都有一个相关时关闭。这种情况下每次时钟源再次有效时,都有一个相关的时钟开始时间延时。当的时钟开始时间延时。当ADICLK=00ADICLK=00,0101,1010,1111时,输入时,输入时钟分别对应总线时钟,总线时钟时钟分别对应总线时钟,总线时钟/2/2,交替时钟,交替时钟(ALTCLK)(ALTCLK),异步时钟异步时钟(ADACK)(ADACK)。20212
37、 2)配置寄存器)配置寄存器ADC_CFG2ADC_CFG2配置寄存器配置寄存器ADC_CFG2ADC_CFG2为高速转换选择特定的高速配置,为高速转换选择特定的高速配置,并在长采样模式下选择长时间持续采样。并在长采样模式下选择长时间持续采样。D31D5 D31D5 保留位,只读,且各位值为保留位,只读,且各位值为0 0。D4 MUXSELD4 MUXSEL,ADCADC复用选择位。当复用选择位。当MUXSEL=0MUXSEL=0时,选时,选择择ADC_SExaADC_SExa通道;当通道;当MUXSEL=1MUXSEL=1时,选择时,选择ADC_SExbADC_SExb通道。通道。D3 AD
38、ACKEND3 ADACKEN,异步时钟输出使能位。,异步时钟输出使能位。ADACKENADACKEN可可以使能异步时钟源,时钟源时钟输出和输入时钟选择的以使能异步时钟源,时钟源时钟输出和输入时钟选择的状态无关。根据状态无关。根据MCUMCU的配置,其他模块可以使用异步时钟。的配置,其他模块可以使用异步时钟。当当ADACKEN=0ADACKEN=0时,异步时钟输出禁止;当时,异步时钟输出禁止;当ADACKEN=1ADACKEN=1时,时,不管不管ADCADC的状态是什么,异步时钟和输出时钟都有效。的状态是什么,异步时钟和输出时钟都有效。D2 ADHSCD2 ADHSC,高速配置位。通过改变转换
39、时序来,高速配置位。通过改变转换时序来允许更高速率的转换时钟允许更高速率的转换时钟( (两个两个ADCKADCK被加进转换时间被加进转换时间) )。当当ADHSC=0ADHSC=0时,选择正常转换时序;当时,选择正常转换时序;当ADHSC=1ADHSC=1时,选择时,选择高速转换时序。高速转换时序。D1D0 ADLSTSD1D0 ADLSTS,长采样时间选择位。当选择了,长采样时间选择位。当选择了长采样时间长采样时间(CFG1ADLSMP=1)(CFG1ADLSMP=1)时,时,ADLSTSADLSTS选择扩展采样选择扩展采样时间中的一个。该特点允许高阻抗输入,可以达到精确时间中的一个。该特点
40、允许高阻抗输入,可以达到精确采样或在低阻抗输入时,可以将转换速度最大化。如果采样或在低阻抗输入时,可以将转换速度最大化。如果不要求高转换率,当持续转换使能时不要求高转换率,当持续转换使能时, ,更长的采样时间以更长的采样时间以降低功耗。其中,默认最长采样时间为降低功耗。其中,默认最长采样时间为4 4个个ADCKADCK周期。当周期。当ADLSTS=00ADLSTS=00时额外增加时额外增加2020个个ADCKADCK周期,周期,0101时额外增加时额外增加1212个个ADCKADCK周期,周期,1010时额外增加时额外增加6 6个个ADCKADCK周期,周期,1111时额外增加时额外增加2 2
41、个个ADCKADCK周期,所以总共有周期,所以总共有2424个,个,1616个,个,1010个,个,6 6个个ADCKADCK周周期的采样时间。期的采样时间。22233 3ADCADC数据结果寄存器(数据结果寄存器(ADC Data Result RegisterADC Data Result Register)KL25KL25有两个数据结果寄存器有两个数据结果寄存器RARA,RBRB。其中,。其中,RARA寄存器寄存器的地址为的地址为4003_B010h4003_B010h,RBRB寄存器的地址为寄存器的地址为4003_B014h4003_B014h。数据。数据结果寄存器包含一个结果寄存器包
42、含一个ADCADC转换结果,这个结果是通过通道状转换结果,这个结果是通过通道状态控制寄存器(态控制寄存器(SC1A,SC1BSC1A,SC1B)选择产生的。对于每个通道状)选择产生的。对于每个通道状态控制寄存器,都有一个相符合的数据结果寄存器。态控制寄存器,都有一个相符合的数据结果寄存器。在无符号右对齐模式下,结果寄存器在无符号右对齐模式下,结果寄存器RnRn中没有使用的中没有使用的位会被清除,而在有符号扩展的二进制补码模式下会携带符位会被清除,而在有符号扩展的二进制补码模式下会携带符号位号位(MSB)(MSB)。244 4ADCADC比较值寄存器(比较值寄存器(ADC Compare Val
43、ue RegistersADC Compare Value Registers)KL25KL25有两个比较值寄存器有两个比较值寄存器CV1CV1,CV2CV2。当比较功能使能时。当比较功能使能时(SC2ACFE=1)(SC2ACFE=1),可以与转换结果的值做比较,见表,可以与转换结果的值做比较,见表10-210-2的的比较模式。比较模式。D31D16D31D16保留位,只读且值为保留位,只读且值为0 0。D15D0D15D0为比较值。为比较值。5 5ADCADC偏移量校正寄存器(偏移量校正寄存器(ADC0_OFSADC0_OFS)在执行在执行ADCADC转换操作之前必须校正,即偏移量校正寄存
44、转换操作之前必须校正,即偏移量校正寄存器(器(OFSOFS)需要一个给定值。该值可以是用户自定义校准偏)需要一个给定值。该值可以是用户自定义校准偏移量或者硬件自校准偏移量(移量或者硬件自校准偏移量(1616位左对齐二进制补码数据)。位左对齐二进制补码数据)。ADCADC转换结果与该偏移量相减所得数据锁存至结果寄存器转换结果与该偏移量相减所得数据锁存至结果寄存器RnRn。若校准后的采样数据超出量程范围,其结果由当前采样模式若校准后的采样数据超出量程范围,其结果由当前采样模式强制输出最小强制输出最小/ /最大值。对于单端输入而言,最小输出最大值。对于单端输入而言,最小输出0 x00000 x000
45、0,对于差分而言,最小输出,对于差分而言,最小输出0 x80000 x8000。复位默认。复位默认0 x01000 x0100。256 6ADCADC正向增益寄存器(正向增益寄存器(ADCADC0_PG_PG)正向增益寄存器(正向增益寄存器(PGPG)存放差分模式或单端模式下)存放差分模式或单端模式下的正向增益校正误差。的正向增益校正误差。PGPG实际是一个增益调整因子(实际是一个增益调整因子(1616位二进制数据格式),介于位二进制数据格式),介于ADPG15ADPG14ADPG15ADPG14且带小数点。且带小数点。用户必须根据校对步骤中描述的值对寄存器进行写操作,用户必须根据校对步骤中描
46、述的值对寄存器进行写操作,否则校正达不到要求。校对步骤中描述可详见参考手册否则校正达不到要求。校对步骤中描述可详见参考手册(28.4.628.4.6)。)。267 7ADCADC负向增益寄存器(负向增益寄存器(ADC0_MGADC0_MG)负向增益寄存器(负向增益寄存器(MGMG)存放差分模式下的负向增益)存放差分模式下的负向增益校正误差,在单端模式下该寄存器无效。校正误差,在单端模式下该寄存器无效。MGMG实际是一个实际是一个增益调整因子(增益调整因子(1616位二进制数据格式),介于位二进制数据格式),介于ADMG15ADMG14ADMG15ADMG14且带小数点。用户必须根据校对步骤中描
47、且带小数点。用户必须根据校对步骤中描述的值对寄存器进行写操作,否则校正达不到要求。校述的值对寄存器进行写操作,否则校正达不到要求。校对步骤中描述可详见参考手册对步骤中描述可详见参考手册28.4.628.4.6。278 8ADCADC正向增益通用校准值寄存器(正向增益通用校准值寄存器(ADC0_CLPxADC0_CLPx)正向增益通用校准值寄存器(正向增益通用校准值寄存器(CLPxCLPx)存放校验功能)存放校验功能生成的校验信息,这些寄存器带有生成的校验信息,这些寄存器带有7 7个不同宽度的校验值:个不同宽度的校验值:CLP05:0CLP05:0、CLP16:0CLP16:0、CLP27:0C
48、LP27:0、CLP38:0CLP38:0、CLP49:0CLP49:0、CLPS5:0CLPS5:0和和CLPD5:0CLPD5:0。一旦自校验次序确。一旦自校验次序确定(定(CALCAL被清零),被清零),CLPxCLPx会自动置位。会自动置位。9 9ADCADC负向增益通用校准值寄存器(负向增益通用校准值寄存器(ADC0_CLMxADC0_CLMx)负向增益通用校准值寄存器(负向增益通用校准值寄存器(CLMxCLMx)存放校验功能)存放校验功能生成的校验信息,这些寄存器带有生成的校验信息,这些寄存器带有7 7个不同宽度的校验值个不同宽度的校验值:CLM05:0CLM05:0、CLM16:
49、0CLM16:0、CLM27:0CLM27:0、CLM38:0CLM38:0、CLM49:0CLM49:0、CLMS5:0CLMS5:0和和CLMD5:0CLMD5:0。一旦自校验次序确。一旦自校验次序确定(定(CALCAL被清零),被清零),CLMxCLMx会自动置位。会自动置位。282910.4 A/D10.4 A/D模块基本编程方法与驱动模块基本编程方法与驱动构件封装构件封装10.4.1 10.4.1 基本编程方法基本编程方法实现简单的实现简单的A/DA/D转换编程主要涉及以下几个寄存器:状转换编程主要涉及以下几个寄存器:状态控制寄存器(态控制寄存器(ADC0_SC1ADC0_SC1、A
50、DC0_SC3ADC0_SC3),配置寄存器),配置寄存器(ADC0_CFG1ADC0_CFG1、ADC0_CFG2ADC0_CFG2)。)。其中,状态控制寄存器其中,状态控制寄存器ADC0_SC1ADC0_SC1用于选择转换模式(单用于选择转换模式(单端或者差分)、使能或禁止转换完成中断、选择转换的输入端或者差分)、使能或禁止转换完成中断、选择转换的输入通道。通道。状态控制寄存器状态控制寄存器ADC0_SC3ADC0_SC3用于选择硬件均值使能、硬件用于选择硬件均值使能、硬件采样次数(采样次数(4 4次采样)。次采样)。配置寄存器配置寄存器ADC0_CFG1ADC0_CFG1用于选择转换模式
51、(用于选择转换模式(1010位)、总位)、总线时钟线时钟4 4分频、输入时钟选择总线时钟分频、输入时钟选择总线时钟/2/2。配置寄存器配置寄存器ADC0_CFG2ADC0_CFG2用于选择高速配置。用于选择高速配置。30基本编程步骤:基本编程步骤:(1 1)打开)打开ADCADC模块时钟源,模块时钟源,KL25KL25只有一个模块只有一个模块ADC0ADC0,只需初始化只需初始化SIM_SCG6SIM_SCG6。(2 2)配置寄存器)配置寄存器ADC0_CFG1ADC0_CFG1,选择精度、总线时钟,选择精度、总线时钟4 4分分频频( (时钟分频选择位,即时钟分频选择位,即CFG1ADIV=1
52、0)CFG1ADIV=10)、总线时钟、总线时钟/2(/2(输入输入时钟选择位,即时钟选择位,即CFG1ADICLK=01)CFG1ADICLK=01)。(3 3)配置状态控制寄存器)配置状态控制寄存器ADC0_SC3ADC0_SC3,使能硬件均值使,使能硬件均值使能能(SC3AVGE=1)(SC3AVGE=1),并以,并以4 4次采样求均值为准次采样求均值为准(SC3AVGS=00)(SC3AVGS=00)。(4 4)更新配置寄存器)更新配置寄存器ADC0_CFG2ADC0_CFG2,选择高速采样,选择高速采样(CFG2ADHSC=1)(CFG2ADHSC=1)。(5 5)配置状态控制寄存器
53、)配置状态控制寄存器ADC0_SC1AADC0_SC1A,选择,选择ADCADC采用通采用通道号,通过道号,通过SC1ADCHSC1ADCH。10.4.2 ADC10.4.2 ADC驱动构件封装驱动构件封装电阻型传感器即自身等效为一个电阻,电阻的阻值随外部电阻型传感器即自身等效为一个电阻,电阻的阻值随外部信号的变化而变化,可用来采集温度等。信号的变化而变化,可用来采集温度等。对于电阻型传感器的采集电路,基本思想是将电阻变化转对于电阻型传感器的采集电路,基本思想是将电阻变化转化为电压变化,然后利用化为电压变化,然后利用ADAD转换芯片得到电压值,最后转换芯片得到电压值,最后利用利用ADAD值和外
54、部信号的对照表得出当前外部信号的值。值和外部信号的对照表得出当前外部信号的值。实际应用中,为了获取更精确的采样值,常用的采样设计实际应用中,为了获取更精确的采样值,常用的采样设计有恒流激励电路和恒压激励电路。有恒流激励电路和恒压激励电路。通常,电阻型传感器采集电路由三部分组成:传感器接口通常,电阻型传感器采集电路由三部分组成:传感器接口、恒流源电路和放大电路。、恒流源电路和放大电路。ADCADC驱动构件驱动构件.h.h文件(书文件(书P262P262)ADCADC驱动构件驱动构件.c.c文件(书文件(书P263P263)3110.5 1210.5 12位位DACDAC模块功能概述模块功能概述1
55、 1基本结构基本结构3233当当MCUMCU需要把处理后的信息反馈到控制设备上时,就需需要把处理后的信息反馈到控制设备上时,就需要把数字量转换成模拟量,完成这种转换的电路称为数要把数字量转换成模拟量,完成这种转换的电路称为数/ /模模转换器(转换器(Digital-to-Analog Converter,DACDigital-to-Analog Converter,DAC)。)。DACDAC模块可以选择两路参考电压,模块可以选择两路参考电压,DACREF_1DACREF_1和和DACREF_2DACREF_2,其分别连接至其分别连接至VREFHVREFH和和VDDAVDDA。VREFHVREF
56、H输出的是一个精准的输出的是一个精准的3.3V3.3V电压,电压,VDDAVDDA是是KL25KL25使用的使用的3.3V3.3V工作电压。工作电压。 DACDAC模块使用的输模块使用的输出引脚默认为出引脚默认为PTE30PTE30,当,当DACDAC使能时,将会转换使能时,将会转换DACDAT11:0DACDAT11:0的值或者把数据缓冲区的值转换成模拟电压。电压转换精度的值或者把数据缓冲区的值转换成模拟电压。电压转换精度为为Vin/4096Vin/4096,输出电压范围在,输出电压范围在Vin/4096VinVin/4096Vin之间。之间。2 2特性特性DACDAC模块的特性:模块的特性
57、:(1 1)片内可编程的输出电压产生器)片内可编程的输出电压产生器( (电压输出从电压输出从1/4096Vin1/4096Vin到到VinVin,VinVin步长是步长是1/4096Vin)1/4096Vin);(2 2)VinVin可以从两个参考电源中选择;可以从两个参考电源中选择;(3 3)在正常停止模式下的待机操作;)在正常停止模式下的待机操作;(4 4)支持)支持2 2个个1616位长的数据缓冲区,由数据寄存器位长的数据缓冲区,由数据寄存器DAT0DAT0和和DAT1DAT1组成;组成;(5 5)支持)支持DMADMA操作。操作。3 3DACDAC三种工作模式三种工作模式当当DACDA
58、C模块使能,但是缓冲未使能时,模块使能,但是缓冲未使能时,DACDAC模块会将模块会将数据寄存器数据寄存器DAT0DAT0中的数据转换为模拟电压输出。中的数据转换为模拟电压输出。当当DACDAC模块和缓冲均被使能时,模块和缓冲均被使能时,DACDAC模块会将缓冲区模块会将缓冲区的数据转换为模拟输出电压。的数据转换为模拟输出电压。当硬件触发或者软件触发发生时,数据缓冲读取指当硬件触发或者软件触发发生时,数据缓冲读取指针将向下一个。针将向下一个。DACDAC模块缓冲区工作模式可以被配置为正常模式、模块缓冲区工作模式可以被配置为正常模式、摆动模式、一次扫描模式。在这些模式下,数据缓冲区摆动模式、一次
59、扫描模式。在这些模式下,数据缓冲区的读指针可以设置为任意一个的读指针可以设置为任意一个0 0到到DACDAC控制寄存器控制寄存器DAC0_C2DAC0_C2的的DACBFUPDACBFUP域之间的一个值。域之间的一个值。34(1 1)正常模式:缓冲区作为一个循环缓冲区工作)正常模式:缓冲区作为一个循环缓冲区工作,当触发发生时,读指针每次加,当触发发生时,读指针每次加1 1。当读指针到达顶部时。当读指针到达顶部时,在下次触发事件时回到,在下次触发事件时回到0 0。(2 2)摆动模式:当时当读指针到达顶部时它不返)摆动模式:当时当读指针到达顶部时它不返回到回到0 0,而是在下次触发时减,而是在下次
60、触发时减1 1,直到减到,直到减到0 0为止。为止。(3 3)一次扫描模式:当事件发生时,读指针每次)一次扫描模式:当事件发生时,读指针每次加加1 1,当到达顶部时停止。复位后读指针返回,当到达顶部时停止。复位后读指针返回0 0。KL25KL25的的DACDAC模块缓冲区工作模式,只有正常模式和模块缓冲区工作模式,只有正常模式和一次扫描模式。一次扫描模式。3510.6 1210.6 12位位DACDAC模块寄存器模块寄存器KL25KL25的的DACDAC转换模块有转换模块有8 8个个8 8位寄存器,包括位寄存器,包括1 1个个DACDAC状态控制寄存器状态控制寄存器(DAC0_SR)(DAC0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 轨道交通消防设施配置使用安全培训
- 光伏组件接线盒焊接机研发技术创新总结报告
- 危险化学品生产单位安全生产管理人员模拟考试题库及答案
- 园路铺装施工方案-技术交底
- 合同归档电子化管理规定
- 输血技术(初级(师))基础知识卫生专业技术资格考试试卷及答案
- 考高压电工理论怕不过?先刷判断后刷单选一周稳过线
- 叉车使用单位安全检查制度
- 指向思维进阶精准化单元作业设计需要怎样的新思路
- 《四年级篮球“原地运球”》教学设计
- (正式版)DB15∕T 385-2025 《行业用水定额》
- 2025年版高中思想政治课程标准修订情况
- 广东省纪委监委公开遴选公务员笔试试题及答案解析
- 条板隔墙拆除施工方案
- 市政管道施工期间交通组织方案
- 期末复习专练:任务型阅读-冀教版七年级英语下册(含答案解析)
- T-BECS 0006-2025 城镇重要基础设施内涝防护规划设计规范
- 胸腰椎爆裂骨折护理查房
- 毒品培训知识总结课件
- 水利工程外观质量检查(测)记录表、评定表、赋分表、赋分统计
- 2025年儿童慢性病护理技能考核题答案及解析
评论
0/150
提交评论