0.前言

本文主要介绍K64的ADC部分的特性,内部架构,信号描述及操作接口等

1.简介

1.1.ADC模块特性

  • 线性逐次逼近算法,达16bit分辨率
  • 达到4对差分和24个单端模拟量输入
  • 输出模式

差分为16bit,13bit,11bit和9bit模式

单端为16bit,12bit,10bit和8bit模式

  • 对于差分输出格式为带符号扩展的16bit的2的补码
  • 对于单端输出格式为右对齐无符号格式
  • 支持单次或连续转换
  • 可配置采样时间和转换速率
  • 转换完成或硬件平均完成标志和中断
  • 有四路输入时钟源可选
  • 低功耗模式操作?
  • 异步时钟源?
  • 带有硬件通道选择的硬件触发器?
  • 与设定值比较,可触发中断
  • 温度传感器
  • 硬件平均
  • 可选参考电压:外部或其它
  • 自我矫正模式

1.2 ADC模块框图

2.ADC信号描述

注:[1]支持4对差分输入和24个单端输入,每个差分需要两个输入:DADPx和DADMx

  [2]四个supply/reference/ground连接

  [3]采用VDDA作为电源,VSSA作为地

  [4]VREFSH和VREFSL 是ADC模块的高和低的参考电压,

  VREFSH和VREFSL 可配置为使用external (VREFH and VREFL) 和 alternate (VALTH and VALTL) 两个参考电压对中的一个

  [5]SC1n[DIFF]  为0时支持24路单端输入,通过SC1[ADCH] 指定当前转换通道

  [6]SC1n[DIFF] 为1支持4路差分输入,通过SC1[ADCH]指定当前转换通道

2.1 Analog power-VDDA

TODO

2.2 Anoalog ground-VSSA

TODO

2.3 参考电压选择

可以有两对正向电压可以选择,每队都包含了VREFSH和VREFSL。

VREFSH电压范围必需在最小的高REF~VDDA,VREFSL必需与VSSA同

两个电压对分别是external (VREFH and VREFL) and alternate (VALTH and VALTL) ,可以通过SC2[REFSEL] 来选择

alternate VALTH and VALTL可以选择外部pin或内部源

有些封装,VREFH连接到VDDA,VREFL连接到VSSA

2.4  Analog 通道输入(ADX)

支持24路单端输入,通过SC1[ADCH] 选择转换通道

2.5 差分Analog通道输入

支持4组差分通道,每组差分输入是一组外部引脚,DADPx and DADMx ,通过SC1[ADCH] 选择转换通道

如果SC1n[DIFF]为低所有的DADPx 可以用作单端输入

3.内存映射与寄存器定义

ADC Status and Control Registers 1 (ADCx_SC1n) :主要设定了差分/单端选择、设置当前转换通道、转换完成中断使能/禁用、读取转换完成标记

ADC Configuration Register 1 (ADCx_CFG1) :选择输入使用源、转换模式选择(转换位数)、采样时间、时钟分频比、低功耗配置

ADC Configuration Register 2 (ADCx_CFG2) :ADC通道选择(a通道/b通道)、异步时钟输出使能、高速转换模式配置、长采样时间选择

ADC Data Result Register (ADCx_Rn) :

Compare Value Registers (ADCx_CVn) :SC2[ACFE]=1 时设定比较值来与转换值进行比较

Status and Control Register 2 (ADCx_SC2) :参考电压选择、DMA使能、比较范围使能、比较大于or小于设定范围、比较使能、转换触发器使能、指示转换是否在进行中

Status and Control Register 3 (ADCx_SC3) :硬件平均数选择、硬件平均使能、连续转换使能、矫正失败标记、开启校准

ADC Offset Correction Register (ADCx_OFS) :offset校准值设置,这个值将从转换值中扣除然后形成转换结果

ADC Plus-Side Gain Register (ADCx_PG) :正端增益矫正因子

ADC Minus-Side Gain Register (ADCx_MG) :负端增益矫正因子

ADC Plus-Side General Calibration Value Register:如果禁用CAL则会采用此处的值做自动矫正
(ADCx_CLPD)

ADC Plus-Side General Calibration Value Register:
(ADCx_CLPS)

ADC Plus-Side General Calibration Value Register:
(ADCx_CLP4)

ADC Plus-Side General Calibration Value Register:
(ADCx_CLP3)

ADC Plus-Side General Calibration Value Register:
(ADCx_CLP2)

ADC Plus-Side General Calibration Value Register:
(ADCx_CLP1)

ADC Plus-Side General Calibration Value Register:
(ADCx_CLP0)

ADC Minus-Side General Calibration Value Register:
(ADCx_CLMD)

ADC Minus-Side General Calibration Value Register:
(ADCx_CLMS)

ADC Minus-Side General Calibration Value Register:
(ADCx_CLM4)

ADC Minus-Side General Calibration Value Register:
(ADCx_CLM3)

ADC Minus-Side General Calibration Value Register:
(ADCx_CLM2)

ADC Minus-Side General Calibration Value Register:
(ADCx_CLM1)

ADC Minus-Side General Calibration Value Register:
(ADCx_CLM0)

4. 功能描述

4.1 时钟选择和分频比控制

1.有4个时钟源可选,然后通过分频比获取需要的时钟ADCK,4路时钟源分别是:

(1)BUS CLK:reset后的默认选项

(2)BUS CKL二分频

(3)ALTCLK:MCU在normal stop模式时使用ALTCLK

(4)ADACK:由ADC内部产生,如果选择这个时钟源,在转换开始时会自动激活,转化结束后自动失效。为了避免延时,可在初始化ADC前使能该时钟

不管选用哪个时钟源,必需符合ADCK,如果太高还需要分频

4.2 参考电压选择

可选择两个参考电压对之一来用作参考电压

4.3 硬件触发和通道选择

1.通过设置SC2[ADTRG] 使能来产生ADHWT 硬件触发使能,当有ADHWTSn 事件发生,即可触发ADC转换

2.通道选择

• ADHWTSA active selects SC1A.
• ADHWTSn active selects SC1n

3.转换结果存放

• ADHWTSA active selects RA register
• ADHWTSn active selects Rn register

4.4 转换控制

1.转换可以由软件或硬件触发

2.ADC模块可以被配置为:

• Low-power operation
• Long sample time
• Continuous conversion
• Hardware average
• Automatic compare of the conversion result to a software determined compare value

4.4.1 启动转换

1.如下几种方式可以启动转换:

1).如果软件触发操作被选择,通过写SC1A且SC1n[ADCH] 非全1,会启动转换

2).硬件触发方式被选择,且硬件触发事件发生

3).当连续转换使能时,结果被传送到数据寄存器即启动新的一次转换

4.4.2 完成转换

当转换结果被传送到数据结果寄存器中标识转换完成

4.4.3 终止转换

下列情况会终止转换:

1.当前正在控制转换时,写入了SC1A

2.写入除SC1A~SC1n寄存器之外的寄存器

3.MCU RESET

4.MCU进入Normal stop mode且ADACK或可选时钟源没有使能

4.4.4. 功耗控制

ADC模块在转换完毕会保持idle,直到转换被初始化

4.4.5 采样时间和total转换时间

TODO

4.4.6 转换时间举例

TODO

4.4.7 硬件平均值功能

TODO

4.5 自动比较功能

TODO

4.6 校准功能

TODO

4.7 用户定义OFFSET功能

TODO

4.8 温度传感器功能

TODO

4.9 MCU 等待模式操作

TODO

4.10 MCU Nortmal stop 模式操作

TODO

4.11 MCU LOW-POWER STOP模式操作

TODO

k64 datasheet学习笔记35---Analog-to-Digital Converter (ADC)的更多相关文章

  1. k64 datasheet学习笔记1---概述

    1.前言 k64 datasheet描述了Freescale MCU的特性.架构和编程模型,主要是面向使用MCU的系统架构和软件应用开发人员. 2.模块划分 datasheet主要按功能对模块进行划分 ...

  2. k64 datasheet学习笔记45---10/100-Mbps Ethernet MAC(ENET)之功能描述

    1.前言 本文是对K64 datasheet 之ENET部分的功能描述,将对每个部分进行详细说明 2.Ethernet MAC frame formats MAC帧组成格式 (1)7字节前导码:如按最 ...

  3. k64 datasheet学习笔记3---Chip Configuration之Analog

    1.前言 本文主要讲述K64芯片配置,关于模拟部分的内容,主要包括:ADC, CMP, DAC, VREF 2.16bit SAR ADC 从上图可以看出ADC主要挂在外设总线0上,由于ADC的输入引 ...

  4. k64 datasheet学习笔记45---10/100-Mbps Ethernet MAC(ENET)之概述

    1.前言 k64 ENET CORE 实现了10M/100Mbps的Ethernet MAC,与IEEE802.3-2002标准兼容. MAC层与全双工/半双工的10M/100Mbps以太网兼容: M ...

  5. k64 datasheet学习笔记11---Port Control and Interrupts (PORT)

    1.前言 Port Control and Interrupt (PORT)  模块提供了port control,digital filtering,和外部中断功能 每个pin的大部分功能可被独立配 ...

  6. k64 datasheet学习笔记4---Clock distribution

    1.前言 本文主要讲述K64时钟配置相关的内容. 2.clock overview 2.1 clock diagram 2.2 对clock diagram的信号说明 (1)MCG决定哪个clock ...

  7. k64 datasheet学习笔记4---Memory Map

    1.前言 本文主要介绍K64地址空间的映射 2. System Memory Map 3. K64地址映射 4. Armv7m地址映射 4.1 Armv7M.System地址段(0XE0000000~ ...

  8. k64 datasheet学习笔记39---Programmable Delay Block (PDB)

    0.前言 TODO 1.特性 TODO 4. 功能描述 4.1 PDB pre-trigger and trigger outputs PDB包含一个计数器,它的输出可以跟几个不同的数字值比较.如果P ...

  9. k64 datasheet学习笔记25--Multipurpose Clock Generator (MCG)

    0.前言 MCG模块为MCU提供了几种可选时钟源.模块包含一个FLL和一个PLL.FLL使用内部或外部参考时钟是可控的,PLL受外部参考时钟控制 模块可以选择FLL或PLL输出时钟,或内/外部参考时钟 ...

随机推荐

  1. python类继承的重写和super

    给已经存在的类添加新的行为,继承是非常好的实现方式.但是如果要改变行为呢?比如在Python继承扩展内置类,我们的contact类只允许一个名字和一个邮箱,但是如果要对某些人增加电话号码呢?这里可以通 ...

  2. sql server开发工具

    查询分析器的使用 SQL语言包含四个部分: 1.数据定义语言(DDL) : 例如 create, drop, alter等语句 2.数据操作语言(DML) : 例如 insert,delete, up ...

  3. sc (service control )

    SC 是用来与服务控制管理器和服务进行通信 net: net start 服务名 net stop 服务名 sc: sc config 服务名 start= demand    //手动 sc con ...

  4. 032、学容器必须懂bridge网络(2019-02-19 周二)

    参考https://www.cnblogs.com/CloudMan6/p/7066851.html   docker安装时会创建一个名为 docker0 的linuxbridge.如果不指定 --n ...

  5. Java入门系列 Java 中的四种引用

    Why java内存管理分为内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看对象是否有引用指向该对象. java对象的引用包括强引用,软引用,弱引用,虚引用 Java中提供这四种引用类型 ...

  6. GCC编译器原理(二)------编译原理一:ELF文件(3)

    4.5 String Table:字符串表 字符串表节区包含以 NULL( ASCII 码 0) 结尾的字符序列, 通常称为字符串. ELF 目标文件通常使用字符串来表示符号和节区名称. 对字符串的引 ...

  7. 六、文件IO——fcntl 函数 和 ioctl 函数

    6.1 fcntl 函数 6.1.1 函数介绍 #include <unistd.h> #include <fcntl.h> int fcntl(int fd, int cmd ...

  8. 十、uboot 代码流程分析---run_main_loop

    调用 board_init_r,传入全局 GD 和 SDRAM 中的目的地址 gd->rellocaddr void board_init_r(gd_t *new_gd, ulong dest_ ...

  9. 【python小练】0005

    第 0005 题:你有一个目录,装了很多照片,把它们的尺寸变成都不大于 iPhone5 分辨率的大小. 首先,iphone5的分辨率是1136x640. if条件句判断横(纵)向是否大于对应的ipho ...

  10. springboot07-security

    1.pom中添加thymeleaf和security依赖 <dependencies> <dependency> <groupId>org.springframew ...