单片机飞思卡尔ADC模块_第1页
单片机飞思卡尔ADC模块_第2页
单片机飞思卡尔ADC模块_第3页
单片机飞思卡尔ADC模块_第4页
单片机飞思卡尔ADC模块_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、吉林大学通信工程学院吉林大学通信工程学院 单片机原理与应用单片机原理与应用10.3 A/D转换模块2单片机原理与应用单片机原理与应用本节提要本节提要一、一、A/D转换基础知识转换基础知识二、二、ATD模块简介模块简介三、三、ATD模块寄存器模块寄存器四、四、ATD模块编程范例模块编程范例3单片机原理与应用单片机原理与应用本节提要本节提要一、一、A/D转换基础知识转换基础知识二、二、ATD模块简介模块简介三、三、ATD模块寄存器模块寄存器四、四、ATD模块编程范例模块编程范例4单片机原理与应用单片机原理与应用ADC概述n微控制器处理的是离散量 (数字量) ,而现实中往往是连续量 (模拟量)物理量

2、如:温度, 压力,湿度以及速度等等n传感器 将物理量转换为电信号 (电压, 电流)n需要模拟-数字转换器将电信号转换为数字量以供微控制器处理5单片机原理与应用单片机原理与应用基本概念 传感器传感器 控制器控制器执行器执行器6单片机原理与应用单片机原理与应用ADC 工作原理n将输入电压与若干等间距的参考电压进行比较n因此需要比较器比较器Uin Uref Uout=V+ 1Uin Uref Uout=0V 0UinUrefUout1位ADC7单片机原理与应用单片机原理与应用ADC 工作原理n3 个比较器可将电压分成4 级 (以 2位来表示)Uref1Uref2Uref3Rank0Rank1Rank

3、2Rank3Uref1Uref2Uref3Uout1Uout2Uout3Quiz1: For voltage in rank2, Uout1 = ? Uout2 = ? Uout3 = ?UmaxUminUin8单片机原理与应用单片机原理与应用ADC工作原理n2位ADCUinUrefRRRRD0D1编码器8位 ADC, 需要多少个比较器?9单片机原理与应用单片机原理与应用ADC工作原理nFlash Converter ADC优点: 速度极快缺点: 非常复杂n逐次逼近式A/D转换器Uin逐次逼近寄存器D/A 转换器结果Uref10单片机原理与应用单片机原理与应用ADC工作原理逐次逼近式转换器转换

4、过程 ( 4位 )SA-ADC 完成一次转换至少需要 n 个时钟周期11单片机原理与应用单片机原理与应用ADC工作原理n必须进行采样保持以避免输入电压在转换期间发生变化Uin12单片机原理与应用单片机原理与应用ADC工作原理n 逐次逼近式转换器( SA-ADC )非常快比较复杂n SA-ADC在单片机中较为常见单片机中常见典型为8-12位具有多个多路复用的模拟通道SA-ADC通道选择寄存器13单片机原理与应用单片机原理与应用ADC 参数n转换位数(Bits)分辨率 = 2-n (8bits = 0.39%)n转换速度(Speed)由工作时钟频率和转换位数确定n转换范围(Range)05V, 0

5、10V, -5V+5V. Etc.n转换通道数(Channels)Distinguish the channel and converter14单片机原理与应用单片机原理与应用本节提要本节提要一、一、A/D转换基础知识转换基础知识二、二、ATD模块简介模块简介三、三、ATD模块寄存器模块寄存器四、四、ATD模块编程范例模块编程范例15单片机原理与应用单片机原理与应用 8/10/12位可选 转换速度较高,10位精度,单次转换时间为7usec 采样时间可编程设置 多种转换模式:数据对齐方式、单次/连续转换、 转换结果比较 外触发控制 转换结束可产生中断 可用于8个模拟输入通道的模拟输入多路转换器.

6、 模拟/数字输入引脚复用 18 转换序列长度. 多通道扫描S12单片机ADC特性16单片机原理与应用单片机原理与应用2, 4, 8, 16 ClocksAlways2 Clocks转换时间计算举例: (假设A/D 时钟为2MHz,10位精度 )转换时间 = Initial Sample Time + Programmed Sample Time + Resolution Period = 2 + 2 + 10 = 14 A/D Clocks = 7uSecS12单片机ADC转换时间17单片机原理与应用单片机原理与应用S12单片机ADC模块框图ADC 引脚可用于数字输入ADC 结果寄存器模拟输入

7、通道参考电压18单片机原理与应用单片机原理与应用本节提要本节提要一、一、A/D转换基础知识转换基础知识二、二、ATD模块简介模块简介三、三、ATD模块寄存器模块寄存器四、四、ATD模块编程范例模块编程范例19单片机原理与应用单片机原理与应用ATD 模块寄存器n 共27个寄存器控制寄存器(ATDCTL0ATDCTL5,6个)状态寄存器(ATDSTAT0ATDSTAT1,2个 )比较使能寄存器(ATDCMPE, 1个)比较方式寄存器(ATDCMPHT , 1个,)转换输入使能寄存器(ATDDIEN , 1个)转换结果寄存器(ATDDR0ATDDR15,16个)其中: 8位寄存器: ATDCTL0A

8、TDCTL5, ATDSTAT0 16位寄存器:其余20单片机原理与应用单片机原理与应用ATD Registers 1/12ATD Control Register 0 (ATDCTL0)WRAP3-0 - Wrap Around Channel Select 0 = ReservedX = 多通道转换模式 从ANx回绕到AN0 1x 15 仅在ATDCTL5的MULT=1时有效21单片机原理与应用单片机原理与应用ATD Registers 2/12SRES1:0 - A/D Resolution SelectATD Control Register 1 (ATDCTL1)ETRIGSEL -

9、 External Trigger Source Select S12XS此位无效ETRIGCH3:0 - External Trigger Channel SelectSMP_DIS - Discharge Before Sampling Bit 0=No discharge 1 = discharge 注:写ATDCTL1会终止当前转换序列22单片机原理与应用单片机原理与应用ATD Registers 3/12ATD Control Register 2 (ATDCTL2)AFFC - ATD Fast Flag Clear All0 = 向CCFn 标志位写1则清零1 =读ATD转换结果

10、寄存器则CCFn 标志位清零(当比较功能被禁止) 写ATD转换结果寄存器则CCFn 标志位清零(当比较功能被使能)ICLKSTP - Internal Clock in Stop Mode Bit0 = 停止模式下,停止当前转换,退出停止模式后ATD转换自动重新开始1 = 停止模式下,可继续使用内部时钟进行ATD转换ETRIGLE - External Trigger Level/Edge ControlETRIGP - External Trigger PolarityETRIGE - External Trigger Mode Enable0 = 禁止外部触发信号1 = 使能外部触发信号A

11、SCIE- ATD Sequence Complete Interrupt Enable0 = 禁止ATD转换序列结束中断1 = 使能ATD转换序列结束中断ACMPIE - Internal Clock in Stop Mode Bit0 = 禁止比较中断1 = 使能比较中断注:写ATDCTL2会终止当前转换序列23单片机原理与应用单片机原理与应用ATD Registers 4/12ATD Control Register 3 (ATDCTL3)DJM - Result Register Data Justification0=Left justified data in the result

12、 registers1=Right justified data in the result registersS8C, S4C,S2C, S1C - Conversion Sequence LengthFIFO - Result Register FIFO Mode0=Conversion results are placed in the corresponding result register up to the selected sequence length.1=Conversion results are placed in consecutive result register

13、s (wrap around at end).FRZ1:0 - Background Debug Freeze Enable注:写ATDCTL3会终止当前转换序列24单片机原理与应用单片机原理与应用ATD Registers 5/12设置预分频因子时,0.25MHzAEDCLK 8.3MHzATD Control Register 4 (ATDCTL4)SMP2:0 - Sample Time SelectPRS4:0 - ATD Clock PrescalerDivide By 25-Bit Modulus Counter PrescalerPRS0-PRS4SYSTEM CLOCKA/D

14、Clock采样时间长,采样点电平更准确的逼近外部信号电平注:写ATDCTL4会终止当前转换序列25单片机原理与应用单片机原理与应用ATD启动:启动:写ATDCTL5会终止当前转换序列,并开始新一次转换此后,若外部触发信号每次满足触发条件都会开始一次ATD转换 ATD Registers 6/12ATD Control Register 5 (ATDCTL5)SC - Special Channel Conversion0=Special channel conversions disabled1=Special channel conversions enabledSCAN - Continu

15、ous Conversion Sequence Mode 0=Single conversion sequence1=Continuous conversion sequences (scan mode)MULT - Multi-Channel Sample 0=Sample only one channel1=Sample across several channelsCD,CC,CB,CA - Analog Input Channel Select Code26单片机原理与应用单片机原理与应用单通道,单次转换单通道,单次转换多通道,单次转换多通道,单次转换单通道,序列转换模式单通道,序列转

16、换模式多通道,序列转换模式多通道,序列转换模式特殊通道测试模式特殊通道测试模式ADC 工作方式27单片机原理与应用单片机原理与应用ATD Registers 7/12ATD Status Register 0 (ATDSTAT0)SCF - Sequence Complete Flag0=Conversion sequence not completed1=Conversion sequence has completedETORF - External Trigger Overrun Flag0=No External trigger over run error has occurred1

17、=External trigger over run error has occurredFIFOR- Result Register Over Run Flag0=No over run has occurred1=Overrun condition exists (result register has been written while associated CCFx flag was still set)CC3:0 - Conversion Counter 当前转换结果将写入的结果寄存器编号 例如: CC3:0=0110, 转换结果写入第6个结果寄存器先入先出模式下,不被初始化,当计

18、数到最大值回最小值非先入先出模式下,转换开始和结束时被初始化为0两种模式下终止ATD转换或开始新ATD转换均被清零28单片机原理与应用单片机原理与应用ATD Registers 8/12ATD Compare Enable Register (ATDCMPE)CMPE15:0 - Compare Enable for Conversion Number n (n= 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) of a Sequence0=No automatic compare1= Automatic compare of res

19、ults for conversion n of a sequence is enabled对一个序列中第n次ATD转换结果进行比较,除CMPEn=1,还要完成如下设置:将比较阈值写入ATDDRn写ATDCPMHT的CMPHTn位选择比较方法注:写ATDCMPE会终止当前转换序列29单片机原理与应用单片机原理与应用ATD Registers 9/12ATD Status Register 2 (ATDSTAT2)CCF15:0 - Conversion Complete Flag n (n= 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,

20、0)0=Conversion number n not completed or successfully compared1=If (CMPEn=0): Conversion number n has completed. Result is ready in ATDDRn. If (CMPEn=1): Compare for conversion result number n with compare value in ATDDRn, using compare operator CMPGTn is true. (No result available in ATDDRn)出现以下任一情

21、况,CCFn被清零:写ATDCTL5当AFFC=0,向CCFn写1当AFFC=1,且CMPEn=1,写ATDDRn30单片机原理与应用单片机原理与应用ATD Registers 10/12ATD Input Enable Register (ATDDIEN)IEN15:0 - ATD Digital Input Enable on channel x (x= 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)0=Disable digital input buffer to ANx pin1=Enable digital input bu

22、ffer on ANx pin通用I/O口AD口与ATD模块的模拟输入引脚复用将某个模拟输入引脚作为通用输入引脚使用时,必须将对应IEN位置位31单片机原理与应用单片机原理与应用ATD Registers 11/12ATD Compare Higher Than Register (ATDCMPHT)CMPHT15:0 - Compare Operation Higher Than Enable for conversion number n (n= 15, 14, , 2, 1, 0) of a Sequence0= If result of conversion n is lower or

23、 same than compare value in ATDDRn, this is flagged in ATDSTAT21= If result of conversion n is higher than compare value in ATDDRn, this is flagged in ATDSTAT2注:写ATDCMPHT会终止当前转换序列32单片机原理与应用单片机原理与应用ATD Registers 12/12- data formatATD Conversion Result Registers (ATDDRn)ATDDR0ATDDR15关闭比较操作时,ATD转换结果写入A

24、TDDRn 要写入的ATDDRn的编号由ATDSTAT0的CC3CC0转换计数给出 转换结果在ATDDRn中的放置位置与转换精度和结果对齐方式有关使能比较功能时,ATD转换结果和比较阈值都总是12位,与SRES1:0(ATDCTL1)无关DJM=0 左对齐DJM=1 右对齐转换结果不放入结果寄存器,比较完成后丢失33单片机原理与应用单片机原理与应用本节提要本节提要一、一、A/D转换基础知识转换基础知识二、二、ATD模块简介模块简介三、三、ATD模块寄存器模块寄存器四、四、ATD模块编程范例模块编程范例34单片机原理与应用单片机原理与应用ATD模块编程范例 ATD模块编程方法 ATD模块编程范例

25、ATD初始化:先写除ATD0CTL5外的控制寄存器,再写ATD0CTL5完成初始化,并启动转换;ATD结果读取:通过查询ATD0STAT0中的SCF位或采用中断方式,确定转换完成,读取相关结果寄存器取得ATD转换结果。 任务:分别对特殊通道VRH、VRL和(VRH+VRL)/2进行 ATD转换35单片机原理与应用单片机原理与应用ATD模块编程范例(续1)/*/ *S12X128 ATD模块范例程序*/*#include /* common defines and macros */#include /SCI相关函数/SCI初始化函数void SCI_init(void);void SCISen

26、dChar(char c1);void SCISendString(char * pc2);void SCISendHex(char c1);unsigned char dtoa(char c1);/ATD相关函数/ATD初始化函数void ATD_init(void) ;36单片机原理与应用单片机原理与应用ATD模块编程范例(续2)/*主程序*/void main(void) SCI_init();ATD_init();ATD0CTL5=0 x45; /单次转换,单通道,选择特殊通道VRLwhile(!(ATD0STAT0&0 x80); /查询ATD是否完成SCISendString(VRL=);SCISendHex(ATD0DR0H);SCISendString(rn);ATD0CTL5=0 x44; /单次转换,单

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论