自学笔记|多功能模数转换器 (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

相关文章
|
2月前
|
监控 前端开发 JavaScript
视频监控笔记(六): 如何快速通过Boostrap创建视频监控网页,保姆级别教程
本文是一篇保姆级教程,介绍了如何使用Bootstrap和Python的Flask框架快速创建视频监控网页。文章首先介绍了Bootstrap的基本概念,然后详细阐述了在PyCharm中创建项目、安装Flask和Bootstrap、编写Python代码设置路由、以及创建和定制HTML模板的步骤。最后,还提到了运行和测试网页的方法。
26 1
视频监控笔记(六): 如何快速通过Boostrap创建视频监控网页,保姆级别教程
|
6月前
|
搜索推荐
CSDN自定义模块全攻略,DIY系统原有样式打造出你的专属个性化主页!
CSDN自定义模块全攻略,DIY系统原有样式打造出你的专属个性化主页!
105 0
|
7月前
|
监控 API 数据安全/隐私保护
屏幕监控软件开发指南:C++实现原理解析
在当今数字化时代,屏幕监控软件成为了企业管理和个人隐私保护的重要工具。本文将深入探讨如何使用C++语言实现屏幕监控软件,并解析其实现原理。我们将通过多个代码示例来说明其工作方式,最后将介绍如何将监控到的数据自动提交到网站。
202 3
|
7月前
|
SQL 安全 测试技术
扫描神器:AppScan 保姆级教程(附步骤)
扫描神器:AppScan 保姆级教程(附步骤)
|
7月前
|
安全 网络安全 数据库
扫描神器:Nessus 保姆级教程(附步骤)
扫描神器:Nessus 保姆级教程(附破解步骤)
|
7月前
|
Web App开发 存储 自然语言处理
推荐一款价值几万元的免费开源GPTs导航!还可自定义数据源做成通用导航站!
推荐一款价值几万元的免费开源GPTs导航!还可自定义数据源做成通用导航站!
137 0
|
7月前
|
前端开发 定位技术
前端知识笔记(十七)———地图多点标注功能
前端知识笔记(十七)———地图多点标注功能
150 1
|
Python Windows
保姆级别指导给UI应用添加菜单【实战分享】
正式的Python专栏第16篇,同学站住,别错过这个从0开始的文章!
236 0
保姆级别指导给UI应用添加菜单【实战分享】