自学笔记|多功能模数转换器 (VADC) 配置为背景扫描功能

简介: 自学笔记|多功能模数转换器 (VADC) 配置为背景扫描功能

1 概述

多功能模数转换器 (VADC) 配置为使用背景扫描请求按顺序测量多个模拟信号。

模数转换器 (ADC) 模块的背景扫描模式配置为测量应用于第 4 组的通道 4 至 7 的模拟信号。

2 Introduction

AURIX™ TC27x 的多功能模数转换器模块 (VADC) 包括 8 个独立的模数转换器(VADC 组),每个转换器最多有 8 个模拟输入通道

›每个通道都可以转换分辨率高达 12 位的模拟输入

›多个请求源可以请求模拟/数字转换:

排队请求源,特定于单个组 频道扫描请求源,包括:

组扫描源,特定于单个组 后台扫描源,可请求所有组的所有通道

›通道扫描请求源为输入通道的连贯序列发出转换请求,从启用的最高通道号开始

›在后台扫描源(通道扫描请求源)中,每个通道每个序列转换一次。可以请求一次或多次进行转换

›背景扫描源可以访问所有未分配给任何模拟输入通道组请求源。这些转换以低优先级执行

3 Hardware setup

a918ec4294b96a485c18130d2804d3c5_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

此代码示例是为开发板 KIT_AURIX_TC275_LITE 开发的。要测量的信号必须连接到 VADC 的通道 4..7(端口引脚 AN36..AN39)。

3e5230faa0f503fe97805cc8ae45068e_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

注:板上 KIT_AURIX_TC275_LITE 上的 VADC 的参考电压 (VAREF) 为 3.3 V。

4 Implementation

VADC 的配置

VADC 的配置在initADC()函数中分三个不同的步骤完成:

› VADC 模块的配置

› VADC 组的配置

› VADC 通道的配置

VADC 模块的配置

iLLD 给出的 VADC 模块的默认配置可用于此示例。

这是通过初始化IfxVadc_Adc_Config结构的实例并通过函数IfxVadc_Adc_initModuleConfig()将默认值应用于其字段来完成的。然后,可以使用函数IfxVadc_Adc_initModule()将配置应用于 VADC 模块。

VADC 组的配置

VADC 组的配置是通过函数IfxVadc_Adc_initGroupConfig()使用默认值初始化IfxVadc_Adc_GroupConfig结构的实例并修改以下字段来完成的:

› groupId – 选择要配置的转换器

› master – 指明哪个转换器是主转换器。在这个例子中,只使用了一个转换器,因此它也是主

› arbiter – 表示启用的请求源的结构,可以是组扫描、队列和/或后台源。在此示例中,它设置为arbiter.requestSlotBackgroundScanEnabled › backgroundScanRequest – 一个允许通过设置来配置后台扫描请求源的结构:

autoBackgroundScanEnabled – 设置自动扫描模式的参数(请求转换 连续)

triggerConfig – 指定触发器配置的参数

然后,通过函数IfxVadc_Adc_initGroup()应用用户配置。

VADC 通道的配置

每个通道的配置是通过函数IfxVadc_Adc_initChannelConfig()使用默认值初始化IfxVadc_Adc_ChannelConfig结构的实例并修改以下字段来完成的:

› channelId – 选择要配置的频道

› resultRegister——表示存放A/D转换值的寄存器

› backgroundChannel – 指定所选通道用作背景通道

然后,使用函数IfxVadc_Adc_initChannel()将配置应用于通道,并且作为最后一步,通过函数IfxVadc_Adc_setBackgroundScan()将通道添加到背景扫描序列中。

配置 VADC 模块及其组和通道后,使用函数IfxVadc_Adc_startBackgroundScan()启动扫描序列。

最后,要读取转换,使用函数readADCValue(),它调用IfxVadc_Adc_getResult()

iLLD 的功能,直到返回新的测量值。

用于获取转换和配置 VADC 模块、其组和通道的所有函数都可以在 iLLD 头文件IfxVadc_Adc.h中找到。

5 Run and Test

代码编译并刷写设备后,执行以下步骤:

›在第一次测量所在的Cpu0_Main.c文件中设置断点

请求(chn36Measurement = readADCValue(CHN_36))

›恢复两次调试会话并检查可以看到转换值的变量窗口

f7c10a871d773e129ed527fabf5d81ba_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

相关文章
|
5月前
|
UED
软件开发常见流程,好的用户体验,智能引导助手,介绍软件相关操作,会画个键盘,对键盘的相关键进行标注,效果动态展示图怎样画????弄一个图标,相关介绍
软件开发常见流程,好的用户体验,智能引导助手,介绍软件相关操作,会画个键盘,对键盘的相关键进行标注,效果动态展示图怎样画????弄一个图标,相关介绍
|
2月前
|
监控 前端开发 JavaScript
视频监控笔记(六): 如何快速通过Boostrap创建视频监控网页,保姆级别教程
本文是一篇保姆级教程,介绍了如何使用Bootstrap和Python的Flask框架快速创建视频监控网页。文章首先介绍了Bootstrap的基本概念,然后详细阐述了在PyCharm中创建项目、安装Flask和Bootstrap、编写Python代码设置路由、以及创建和定制HTML模板的步骤。最后,还提到了运行和测试网页的方法。
30 1
视频监控笔记(六): 如何快速通过Boostrap创建视频监控网页,保姆级别教程
|
7月前
|
SQL 安全 测试技术
扫描神器:AppScan 保姆级教程(附步骤)
扫描神器:AppScan 保姆级教程(附步骤)
|
7月前
|
JavaScript Java 测试技术
基于微信小程序的外卖点餐系统的设计与实现(源码+lw+部署文档+讲解等)
基于微信小程序的外卖点餐系统的设计与实现(源码+lw+部署文档+讲解等)
132 0
|
运维 前端开发 程序员
巡检扫条形码工作方式的探索研究
巡检扫条形码工作方式的探索研究
122 0
巡检扫条形码工作方式的探索研究
|
前端开发
前端项目实战207-原生控制pda扫描开启代码
前端项目实战207-原生控制pda扫描开启代码
149 0
|
JSON 数据处理 数据安全/隐私保护
百宝箱,这款小工具能够覆盖95%的文件处理功能!
在日常工作和学习过程中,经常要和大量的文件处理打交道。 PDF、Word、Excel、TxT、图片....需要频繁的对这些文件进行转换、编辑、批量处理等操作。
百宝箱,这款小工具能够覆盖95%的文件处理功能!
Qt 实现脉搏检测-2,简陋的功能产品
今天终于可以接上硬件来显示真是的脉搏情况了,上图
181 0
Qt 实现脉搏检测-2,简陋的功能产品
|
前端开发 UED
前端图片编辑功能的实践小结
前端图片编辑功能的实践小结
前端图片编辑功能的实践小结