前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ADC的FIFO功能

ADC的FIFO功能

作者头像
用户1605515
发布2019-11-11 18:21:51
1.3K0
发布2019-11-11 18:21:51
举报
文章被收录于专栏:嵌入式程序猿嵌入式程序猿

这段时间项目都在使用NXP的KE系列MCU, KE02和KE06以及KEA系列的ADC都有FIFO功能,不使用FIFO功能的话,在多路采集的话,ADC会频繁进中断,这样对MCU来说是负担,所以经常需要开启FIFO功能,这样在所有通道采集完后进一次中断。

而具体来说呢,不同系列像KE02和KE06在FIFO功能使用上有一些不同,主要是配置的寄存器有些区别,所以在写驱动时候需要特别注意。如在KE06上寄存器如下

而在KE02上

所以在驱动上要注意区分,官网的SDK自带的驱动为了通用使用宏来区分

如果自己来写这个驱动,如果只是对一种片子使用可以直接按照手册来配置,如果想做到通用,也可以参照SDK,甚至可以直接使用SDK,按照你自己的硬件来配置初始化,通道,时钟,是否使用FIFO,中断,转换模式等就可以使用了。在配置FIFO深度时候需要注意,如果是8级FIFO,深度就配置为7。Kinetis最大ADC的FIFO深度为8级,使用时候需要注意。跟FIFO配置相关的结构体可以参照SDK定义

现在NXP大部分的片子在SDK中都可以找到,而且SDK的编码风格也很不错,可以直接拿来用,但是要熟悉SDK的目录结构,这样可以快速搭建产品原型。SDK可以支持IAR,KEIL,KDS,CW等多种环境,还有多种中间件。

ADC采集的质量直接关系到一些算法的正确与否,所以ADC部分在软件设计时候要考虑周全。可以结合参考芯片手册和SDK的源码以及例程,做深入研究研究。从软硬件设计到采集到滤波到处理都要仔细。关系到系统的精度和稳定,以及算法的正确与否。有时候还需要所中滤波算法结合使用。

嵌入式程序猿提供多种芯片的Modbus, CAN J1939等协议栈开发,提供高质量的源码文件和设计文件。同时承接电机控制,制冷系统电控,通风电控等嵌入式项目设计,我们严格按照产品的开发流程输出,从需求到文档到代码到测试提供整套流程文档和培训,欢迎沟通合作。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式程序猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档