历史上的今天
返回首页

历史上的今天

今天是:2024年08月25日(星期日)

正在发生

2021年08月25日 | 闲聊飞思卡尔ADC模块

2021-08-25 来源:eefocus

因为 ADC 模块是各种控制比较重要的功能模块,基本的保护算法都要考 ADC 的采样数据来执行,所以 ADC 模块还是要熟练掌握,今天我们就来学习下飞思卡尔的ADC模块,如果有猿友使用过microchip的MCU就会发现这两种MCU的ADC模块还是有很大的不同的。


ADC模块简介

KV4x系列MCU 的ADC(Analog to Digital Converter)模块有16个通道,是双端12位的ADC,有独立的参考电压源和控制块,分为ADCA和ADCB,各有8个通道,ADCA和ADCB可以并行采样也可以串行采样,有各自的采样保持电路,特性主要有:


12位的分辨率

最大时钟频率为25M,周期为40ns.

采样速率可以达到8.83百万次每秒

可以去其他外设同步,像常用的PWM外设

可以连续扫描存储16次的测量值

输入信号的增益可以配置为x1,x2,x4,这个功能还是很有用的.

中断功能

可选的DMA功能

可选的采样修正功能

单端或者差分输入


ADC模块框图

从下图可以清楚的看出ADC模块的构成,主要有通道多路开关,采样保持,参考电压,数字输出存储寄存器,中断以及数据传输等功能块。

0?wx_fmt=jpeg



ADC模块外部信号

主要的外部信号可以通过下表详细的看出

0?wx_fmt=jpeg

外部输入信号主要有:

模拟输入引脚:ADC外设有16路模拟输入引脚,被分为ANA[0;7]和ANB[0:7],ADCA和ADCB都有自己的采样保持电路和转换器。

参考电压引脚:

VREFH和VREFL的电压是不一样的,VREFH一般为VDDA,VREFL一般为0V.

电源引脚VDDA和VSSA为ADC模块提供电源.


ADC寄存器

与ADC相关的寄存器也比较多,具体的内容可以参考飞思卡尔官方的数据参考手册,这里主要介绍几个主要的寄存器。


ADC_CTRL1,控制寄存器一主要用来配置ADC扫描模式以及中断源使能。位0到位2总共3位用来配置扫描模式,主要有六种模式:单次顺序扫描,单词并行扫描,循环顺序扫描,循环并行扫描,顺序触发扫描和并行触发扫描。


ADC_CLISTx,主要用来配置单端或者差分输入的通道

ADC_STAT,状态寄存器主要用来指示一些ADC模块的状态,主要包括转换状态,转换完成中断,过零中断,高低门限中断。


ADC_RSLTn 结果寄存器用来存储转换完成的结果。


驱动程序概述

ADC的驱动程序有两种方案,一种为自己开发,按照数据手册的指引开发简单的ADC驱动程,另一种是使用飞思卡尔SDK提供的ADC模块驱动程序,SDK包含功能比较全的ADC驱动,自己开发我们不用的功能可以不包含,使代码简单易用。这里主要简单介绍下自己开发驱动,


主要包含几个功能

初始化函数:按照数据手册配置寄存器,实在不会可以参考例程学习配置,因为ADC模块是各种控制比较重要的功能模块,基本的保护算法都要考ADC的采样数据来执行,所以ADC模块还是要熟练掌握。


初始化主要包括配置时钟,通道,转换模式,使能中断等

中断函数:当然你也可以选择使用查询来得到转换结果,但小猿建议大家在正式的项目中尽量使用中断。


中断函数中主要包括清中断标志,将结果寄存器中的值读取到数组中或者变量中,需要注意的一点是如果是使用并行采样模式和使用顺序扫描模式的中断函数是不一样的,采用并行的话需要分别写ADCA和ADCB的中断,如果是使用顺序扫描只要完成ADCA的中断就可以。


数据传输函数:主要完成数据的搬运和传输给其他模块使用,这个根据架构来决定。


实际应用中需要注意低功耗模式下和正常模式下的区别,另外虽然数据手册说最大可以配置为25M的频率,但建议大家不要配置到最大频率使用,确保转换稳定精确,有兴趣的猿友可以配置为不同的模式,对比下不同。

推荐阅读

史海拾趣

CBM_America_Corporation公司的发展小趣事

在全球电子行业遭遇供应链危机时,CBM_America_Corporation面临着巨大的挑战。公司的原材料采购受到影响,生产成本大幅上升。为了应对这一危机,CBM积极调整采购策略,寻找新的供应商和合作伙伴。同时,公司还加大了研发投入,开发出了更加环保、节能的产品,以适应市场需求的变化。通过一系列措施的实施,CBM成功度过了危机,并保持了稳定的发展态势。

API Delevan公司的发展小趣事

为了进一步扩大市场份额,API Delevan公司积极寻求与国内外合作伙伴的合作,共同开拓市场。通过参加国际电子展会、举办技术研讨会等方式,公司不断提升品牌知名度和影响力。同时,API Delevan还注重客户关系管理,为客户提供优质的产品和服务,赢得了客户的信任和忠诚。

Heidenhain Corp公司的发展小趣事

随着智能制造的兴起,海德汉公司积极转型为智能制造解决方案提供商。该公司与多家电子企业合作,共同探索智能制造的新模式和新路径。通过集成海德汉的数控系统、自动化设备和智能管理软件,这些企业成功构建了高效、灵活、智能的生产体系。海德汉的智能制造解决方案不仅提高了生产效率和产品质量,还降低了生产成本和能耗,为电子行业的可持续发展做出了积极贡献。

FCI / Amphenol公司的发展小趣事

随着公司规模的扩大和市场的拓展,Amphenol公司开始实施全球扩张和多元化战略。公司不仅在美国本土设立了多个生产基地,还在欧洲、亚洲等地建立了分公司和研发中心。此外,Amphenol公司还积极涉足电子连接器等其他领域,进一步丰富了公司的产品线。这些举措不仅增强了公司的市场竞争力,也为公司的长期发展奠定了坚实的基础。

Emhiser Research Inc公司的发展小趣事

品质控制一直是Emhiser Research非常重视的方面。公司建立了严格的质量管理体系和检测流程,确保每一件产品都符合高标准的质量要求。同时,公司还注重品牌建设,通过不断提升产品品质和服务水平来树立品牌形象。这些努力使得Emhiser Research在客户中赢得了良好的口碑和信任。

H&D Wireless公司的发展小趣事

高创科技起源于1987年的以色列,最初是一家专注于直驱运动控制驱动器开发的厂商。在以色列的三十多年里,高创积累了丰富的软件算法技术,特别是在运动控制领域形成了独特优势。这种积累不仅体现在其产品的稳定性和高性能上,更为后续的技术创新和市场拓展奠定了坚实基础。

问答坊 | AI 解惑

发个qtopia编程的要点

最近在做linux+qte 在arm平台上的界面显示,由于周围 几乎没有做 这块的,qt学习起来相当吃力, 这个是qtopia部分一些精华 要点 分析,看后很受启发…

查看全部问答>

DSP破解行业难题

在电子行业中,DSP高速运算适合做图像以及音频压缩以及编解码,但是不适合跑界面,ARM又弥补了这个空缺,因此,在现在的消费和行业用户中,利用DSP压缩以及传输audio以及图片,利用ARM跑界面相互配合是一个很大的方向,有朋友出来讨论下双核的ARM&d ...…

查看全部问答>

现在DSPC2000系列的开发板大概在多少钱一块啊

现在DSPC2000系列的开发板大概在多少钱一块啊,最好本身带USB接口的仿真器。…

查看全部问答>

windows CE 7部署虚拟机出现 TFTP超时

windows CE 7部署虚拟机出现  TFTP超时怎么办?…

查看全部问答>

2440BSP包中LCD驱动sources如何得来

大家好! 断断续续接触CE,今天有遇到一个问题 我用三星原来的BSP自己用PB有生成了一个新的BSP,为什么两个BSP下的LCD驱动中sources这个文件内容不一样呢 (不排除我修改过其他文件,我记不清了),我只是想知道他们为什么不一样了 比如 我自己新生成 ...…

查看全部问答>

PPC2003用的操作系统是ce5还是6啊?

想安装ce5,谁能给个能下的地址?…

查看全部问答>

数据丢失怎么办?

    相信做嵌入式开发的都知道数据的非易失性保存,通常就是Flash,但是通常会有数据的丢失,但是,我一直在考虑到底是什么导致了数据的丢失。在Flash的相关操作,主要是写和擦处,应该说读的时候造成数据丢失的概率要小些,而写和擦处的 ...…

查看全部问答>

请解惑:为何Upgrade没成功

正在学习USB的几个实验,其中的DFU遇到了困难。将DFU程序烧写到开发板,然后使用DFUSe Demonstration将STM32F10xUSBLibUSBLibdemosDevice_Firmware_Upgradeimages 中的joystickmouse.dfu去upgrade CPU,重启运行,正常。但问题 ...…

查看全部问答>

关于28035的SPI

SPI的初始化要做哪些工作?…

查看全部问答>