飞思卡尔MC9S12XS128AD转换_第1页
飞思卡尔MC9S12XS128AD转换_第2页
飞思卡尔MC9S12XS128AD转换_第3页
飞思卡尔MC9S12XS128AD转换_第4页
飞思卡尔MC9S12XS128AD转换_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、飞思卡尔MC9s12XS128术手册(AD转换部分)英文资料:飞思卡尔MC9s12XS256RMVW技术手册1.1 XS12系列单片机的特点Xs12 系列单片机特点如下: 16 位 S12CPU一 向上支持S12模糊指令集并去除了其中的 MEM, WAV, WAVR, REV, REVW 五条指令; 模块映射地址机制(MMC) ; 背景调试模块(BDM ) ; CRG时钟和复位发生器 COP 看门狗; 实时中断; 标准定时器模块 8 个 16 位输入捕捉或输出比较通道; 16位计数器,8位精密与分频功能; 1 个 16位脉冲累加器; 周期中断定时器PIT 4 具有独立溢出定时的定时器;一溢出定

2、时可选范围在1到2A24总线时钟; 溢出中断和外部触发器; 多达8个的8位或4个16位PWM通道 每个通道的周期和占空比有程序决定; 输出方式可以选择左对齐或中心对其; 可编程时钟选择逻辑,且可选频率范围很宽; SPI通信模块 可选择 8 位或16 位数据宽度; 全双工或半双工通信方式; 收发双向缓冲; 主机或从机模式; 可选择最高有效为先输出或者最低有效位先输出;两个SCI串行通信接口 全双工或半双工模式输入输出端口 多达 91 个通用 I/O 引脚,根据封装方式,有些引脚未被引出; 两个单输入引脚;封装形式 112 引脚薄型四边引线扁平封装(LQFP) ; 80 引脚扁平封装(QFP) ;

3、 64 引脚 LQFP 封装; 工作条件一全功率模式下单电源供电范围 3.15V到5V; CPU 总线频率最大为40MHz一工作温度范围-40 C到125 C第十章 模拟数字转换10.1 介绍ADC12B16C 是一个 16通道, 12位, 复用方式输入逐次逼近模拟数字转换器。ATD 的精度由电器规格决定。10.1.1 特点 可设置8位、10位、12位精度 在停止模式下,ATD转换使用内部时钟 转换序列结束后自动进入低耗电模式,可编程采样时间 转化结果可选择左对齐或右对齐 外部触发控制 转换序列结束后产生中断 模拟输入的16个通道为复用方式 可以选择 VRH、VRL、( VRL+VRH )/

4、2特殊转换方式 转换序列长度1到16 可选择连续转换方式 多通道扫描 任何AD通道均可配置外部触发功能,并且可选择 4种额外的触发输入。4 种额外的触发输入可以为芯片内部或外部触发。具体根据使用用途选择何种触发方 式。 当选用多通道采样方式时可配置从哪个通道开始先采样。10.1.2 选择方式10.1.2.1 转换模式可编程转换模式,可选择单通道,多通道,单序列和多序列连续转换模式。10.1.2.2 MCU选择模式停止模式 ICLKSTP=0 ( in ATDCTL2 register)进入订制模式会终止当前转换序列。如果转换序列取消,退出停止模式后重新开始转换序列。这与向控制寄存器ATDCTL

5、5 写入新值时重新开始新的转换序列具有相同的效果。 ICLKSTP=1 ( in ATDCTL2 register)AD 转换序列在停止模式下继续执行,其时钟使用通用时钟ICLK 作为 AD 转换时钟。 当转换模式从运行到停止模式转换时,对于这时产生的转换结果或阀值比较结果将不存入结果寄存器。CCF 标志位置位,比较结束。当在停止模式中转换时,如果要退出停止模式时,AD 转换须有一个停止恢复时间tATDSTPRC 将总线时钟切回到 AD 时钟。这段时间内不要更改AD 转换寄存器。等待模式ADC12B16 在停止模式时,与在正常转换模式时功能相同。等待模式为省电模式,进入等待模式时需要停止当前转

6、换序列。,冻结模式进入冻结模式是,ADC23B16C会有继续转换,结束和停止 AD转换三种方式,具体取决于FRZ1和FRZ0控制位的设置。冻结模式有助于调试与仿真。10.1.3 结构图(略见 MC9s12XS256RMV1 第270页)10.2 信号描述以下列出的是ADC12B16C模块的全部输入引脚。10.2.1.1 ANx(x=150)这些引脚为模拟输入引脚,也可以配置为数字端口或ATD的外部触发引脚10.2.1.2 ETRIG3, ETRIG2, ETRIG1, ETRIG0可配置为ATD的外部触发信号。根据具体情况选择。10.2.1.3 VRH, VRL模拟转换参考电压10.2.1.4

7、 VDDA, VSSA为ADC12B16C的电源10.3 存贮器页面和寄存器定义此部分介绍了 ADC12B16C的全部寄存器10.3.1 内存图(略见271页)10.3.2 寄存器描述此部分介绍了 ADC12B16C的全部寄存器和具体的控制位10.3.2.1 AD转换控制寄存器0 (ATDCTL0 )写入时会终止当前转换序列Module Base + DxODOO7a54321DRRewrved000WRAPSWRAP2WRAP1WRAPOWReul000D111=Unimpiemefited or ReservedFigure 10-3. ATD Control Register 0 (AT

8、DCTLO)读操作:任何时候写操作:任何时候,特殊模式下 Bit7总置0274 MoWRAP3-0循环转换起始通道控制位,具体配置见10.3.2.2 AD转换控制寄存器1 (ATDCTL1 )写入时会终止当前转换序列读操作:任何时候写操作:任何时候Module Hase 十 DxDDDIRW76543210ETRJGSELSRES1SRESDSMP_DISETRIGCH3ETRIGCH2ETRIGCHIETRIGCHDReset0a11111Figure 10-4. AID Control Register 1 (ATDCTL1)控制位描述ETRIGSEL这个控制位用于选择外部触发源为AD 专

9、换通道之一或是ETRIG3-0之一。外部触发选择位具体见276页的表10-5SRES1:0AD专换精度选择位见275页表10-4SMP_DIS采样前放电控制位0米样前小放电1内部采样电容在采样前放电。此操作会占用两个ATD寸钟周期。ETRIGCH3:0这三个位控制AD专换通道或ETRIG3-0的其中某个输入作为外部触发信号,具体见表10-5表10-3 ATDCTL1控制寄存器描述10.3.2.3 AD转换控制寄存器2 (ATDCTL2 )写入时会终止当前转换序列Modube + 0x00027fl943210aAFFCCLKSTPETR1GLEETRIGPETRIGEASCIEACMPIE00

10、a0000Unimplemented 口ReservedFioure 10 5, ATD Control Register 2 (ATDCTL2)读操作:任何时候 写操作:任何时候控制位描述ICLKSTP这个位控制AD专换进入停止模式。0如果AD专换序列止在停止模式进行时,实际的转换序列将自动停止并且当退出停止模式是复位1 AD转换在停止模式是继续转换ETRIGLE此位控制转换灵敏度见表10-7ETRGP同上ETRGE0外部触发禁止1允许外部触发ASGIE0当有中断请求时停止转换1当SCF=1时AD转换允许在有中断请求时进行ACMPIE如果序列自动比较启动,这个控制位将比较中断使能。0 AD比

11、较在打中断时禁止1 AD比较在后中断时允许AFFC表10-6 ATDCTL2控制寄存器描述0 CCFN清零后个为零1将所有ATD专换结束标志改变为快速清零模式10.3.2.4 AD转换控制寄存器3 (ATDCTL3)写入时会终止当前转换序列读操作:任何时候写操作:任何时候控制位描述DJM0输出序列选择左对齐1输出序列选择右对齐S8C,S4c这四位是控制具体哪一个通道作为转换通道见表10-10S2C,S1CFIFO如果这个位置0,即无先进先出,AD专换结果将存入相应转换通道的 结构寄存器。如果该位置1 ,则转换序列结果存入A个转换通道对 应的结果寄存器之中。0转换结果放置在的转换通道相对应的结果

12、寄存器中1转换结果放置在循环方式下指定的A个结果寄存器中FRZ1:0这两位控制AD专换是否在冻结模式下继续转换,详细设置看表10-11表10-8 ATDCTL3控制寄存器描述10.3.2.5 AD转换控制寄存器4 (ATDCTL4)写入时会终止当前转换序列读操作:任何时候写操作:任何时候Module Bii-je *。曲曲;SMP2SMP1SMPDPRS4ORseet 00D0fQFigure 10-7. ATD Control Register J (ATDCTL4)控制位描述SMP2:0这三位控制AD专换序列所占转换周期的长度,见表 10-13PRS4:0这五位用来计算AD专换频率的公式见

13、表10-12表10-12 ATDCTL4控制寄存器描述10.3.2.6 AD转换控制寄存器5 (ATDCTL5)写入时会终止当前转换序列读操作:任何时候写操作:任何时候Module 0Me * DxOOTSRW7由54321a0&CSCANMULTCDccceCARe&etD00D00D0Fiyuie 10上,ATD Control Register 5 (ATDCTLS!SC0特殊通道转换禁止1特殊通道转换允许SCAN0单独转换序列1扫描模式中转换序列为连续转换MULT0单一通道转换1多通道转换CD CC CB, CA这几个位是用来选择具体哪一个通道作为转换通道,具体见表10

14、-15描述控制位表10-14 ATDCTL5控制寄存器描述10.3.2.7 AD 状态寄存器 0 (ATDSTAT0)写入时会终止当前转换序列读操作:任何时候写操作:任何时候(对CCF3:0无意义)Module Base + 0x00067B5432100CCJCC2CC1ccotl luJHFrir<jR.0000口0=Unimpiemented or ReservedFigure 10-9. ATD Status Register 0( AT DS TATO)位描述SCF0表小转换序列没有兀成1转换序列完成ETORF0没有外部触发溢出错误1外部触发有溢出错误FIFOR0没有溢出发生1

15、又溢出放生CC3:0这四个位为二进制的转换计数器,它们只指向结果寄存器6表10-16 ATDSTAT0状态寄存器描述10.3.2.8 ATD Compare Enable Register (ATDCMPE)写入时会终止当前转换序列读操作:任何时候 写操作:任何时候Module *- OxDDOB1514131211WS7a5*321DCMPE15:0Reset D Q 0 Q|Q D Q 0|00 Q D 006 DFigure 10-10. ATD Compare Enable Register (ATDCMPE)控制位描述CMPE15:00没有自动比较1和转换序列结果进行自动比较表10-

16、17 ATDCMPE寄存器描述10.3.2.9 ATD Status Register 2 (ATDSTAT2)写入时会终止当前转换序列读操作:任何时候写操作:任何时候(对转换序列无影响)这16个位是是转换结束标志,当转换结束时置 1 ,否则为010.3.2.10 AD中断允许寄存器 (ATDDIEN)写入时会终止当前转换序列读操作:任何时候写操作:任何时候Module Base + DwDOOC好 h 巧 12 | 1: 叩 9& I T 51331 口>IEN15:0 ¥1Res«i E050I0060jD0000000Figure 10-12. ATD

17、Input Enable Register (ATDDIEN)这16个位是控制相应通道数字中断是否有效,置 1时允许数字中断输入,置 0时 不允许数字中断输入。一般使用时这 16个位均置0010.3.2.11 AD转换结果寄存器(ATDDRn)写入时会终止当前转换序列读操作:任何时候写操作:任何时候AD转换结果依次存放在16个结果寄存器中。结果总为无符号的数据。左, 右对齐分别由ATDCTL3寄存器中的DJM位控制。如果转换序列自动比较允许的话,这些结果寄存器中存放比较结果。存放格 式根据DJM位来选择。在这种模式下,ATDDRn寄存器被用作比较结果锁存器,这 些值在转换序列结束时丢失。注意:

18、当转换序列没有使用自动比较时,结果会按照寄存器顺序依次存放在与通道 相对应的结果寄存器中。在这种情况下,如果向 ATDDRn中写入初始值时,AD结 果可能会溢出。10.3.2.12.1 左对齐输出结果 (DJM=0)1513121110Q67e543210引二&it9Bit®Bit 7Bit 6Brt5Bit 4BitsBtt2Bit 1BitO0a000000000DDQ0000Figure 1Q-14, Left justified ATD conversion result register (ATDDRn)可见,当选择左对齐输出结果时,输出结果按照由低向高排列放入结果

19、寄存器中10.3.2.12.2 Right Justified Result Data (DJM=1)1514131211107电543210DQ00Sit 11Bit 10印F由t7Bit 6Bit54QH3Bit 2Bi1 1BiiO0a00000a0D0000D0Figure 10-15. Right justified ATD conversion result register (ATDDRn)右对齐时,输出结果从低位开始排列。#include <hidef.h> /* common defines and macros */#include "derivati

20、ve.h" /* derivative-specific definitions */int LED=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;void CLK_init(void);void AD_init(void);unsigned char GetATD0(unsigned char ch);void delay(int delaytime)/软件延时,24M 总线频率时延时时间约为10usint i;unsigned char j;for (i=0;i<delaytime;i+)for (j=0;j<24;j+);void

21、longdelay(int delaytime)/软件延时,24M 总线频率时延时时间约为1msint i;for (i=0;i<delaytime;i+) delay(1);void CLK_init(void)CLKSEL=0x00; / 初始时还没有PLLPLLCTL=0xe1; / 时钟监控使能,PLL 允许, VCOCLK 调频 2%, 禁止快速苏醒,禁止自给时钟,伪停止下禁止实时中断和看门狗SYNR=2;REFDV=1;/PLLCLK=2*OSCCLK*(SYNR+1/(REFDV+1)=48M;asm NOP;asm NOP;asm NOP;等待锁相环稳定while(!(C

22、RGFLG&0x08);/ 锁相环稳定标志位CLKSEL=0x80;/时钟选择寄存器,Bus Clock=PLLCLK/2, 停止模式下振荡器、系统时钟、锁相环、内核时钟、看门狗继续工作void AD_init(void)/AD 转换序列长度为4/允许指定AD 口做外部触发输入口,8 位结果,采样前采样电容不放ATD0CTL0=0x07;ATD0CTL1=0x00;电1ATD0CTL2=0x40;完成中断和比较成功中断ATD0CTL3=0xc0;/标志寄存器不快速清零,停止模式不运行,禁止外部触发,禁止转换/结果右对齐,非FIFO 模式,冻结模式继续转换转换长度4ATD0CTL4=0x

23、44;4.16ms转换一次ATD0CTL5=0x30;ATD0DIEN=0x00;/第二阶段采用8 个 AD 周期 (第一阶段2个 AD 周期) , f=fbus/2*(4+1) ,/连续多通道转换,从通道0 开始/禁用数字输入缓冲?/*ATD0CTL0=0x00;ATD0CTL1=0x00;1/AD 转换序列长度为16/允许指定AD 口做外部触发输入口,8 位结果,采样前采样电容不放ATD0CTL2=0x40; 成中断和比较成功中断/标志寄存器快速清零,停止模式不运行,禁止外部触发,禁止转换完ATD0CTL3=0xc0;ATD0CTL4=0x44;4.16ms转换一次ATD0CTL5=0x38;ATD0DIEN=0x00;/

温馨提示

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

评论

0/150

提交评论