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

相关文章
|
Java Linux 开发工具
怎样下载安装Eclipse并配置开发环境?
Eclipse是一款非常流行的Java开发工具,它本身是开源的,适合多种多样的开发场景,深受Java开发者们的喜爱。今天我就跟大家介绍一下如何下载安装Eclipse,以及如何配置Eclipse的开发环境。
361 0
|
Rust 算法 网络安全
【密码学】一文读懂CMAC
介于上一篇文章比较水,然后这个和上一篇也比较相似,CMAC是为了解决DAA当中安全性不足的问题而出现的,这个算法一共有三个密钥,K, K1, K2, 其中K1和K2可以由K导出,接下来就来一起看一下CMAC的具体过程吧,这一篇文章其实也不长。
5024 0
【密码学】一文读懂CMAC
|
9月前
|
机器学习/深度学习 存储 人工智能
Attention优化重大突破!显存减半效率倍增
本文探讨了Transformer中Attention机制的演变与优化。从2017年Transformer提出以来,各种改进如MQA、GQA、MLA等层出不穷,旨在降低计算复杂度和显存消耗,同时保持模型性能。文章首先介绍了Attention的基本原理,通过QKV矩阵运算实现序列建模。接着分析了优化方法:kv caching将计算复杂度从O(n^3)降至O(n^2),但带来显存压力;MQA、GQA等通过减少或压缩K/V降低显存需求;而NSV、MoBA等稀疏化研究进一步缓解长序列下的计算与存储负担,推动大模型向更长上下文扩展。
|
10月前
|
机器学习/深度学习 算法 文件存储
YOLOv11改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型
YOLOv11改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型
766 10
YOLOv11改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型
|
12月前
|
负载均衡 监控 定位技术
HTTP代理网速变慢的原因及优化策略
随着互联网技术的发展,使用HTTP动态代理IP的人越来越多。本文介绍了HTTP代理网速变慢的六个常见原因及解决方法,包括代理服务器的地理位置、带宽、服务器负载、网络拥塞、配置问题和数据加密解密时间。通过识别和解决这些问题,可以有效提升HTTP代理的网速。
494 10
|
编译器 C语言 计算机视觉
【ARM汇编速成】零基础入门汇编语言之指令集(二)
【ARM汇编速成】零基础入门汇编语言之指令集(二)
1187 0
|
安全 Java 数据安全/隐私保护
构建高效网站后台:权限管理系统设计与实现
【7月更文挑战第5天】在现代Web应用开发中,权限管理是后台系统不可或缺的一部分,它确保了系统的安全性与用户数据的隐私。良好的权限管理系统能够精细控制不同用户角色对功能模块及数据资源的访问权限,从而提升系统的灵活性和安全性。本文将深入探讨权限管理的基本概念、设计思路,并通过一个简单的代码示例展示如何在Web后台中实现基本的权限控制逻辑。
819 2
|
算法 安全 网络安全
概念区分:对称加密、非对称加密、公钥、私钥、签名、证书
概念区分:对称加密、非对称加密、公钥、私钥、签名、证书
1872 0
|
缓存 运维 Linux
保姆级python项目离线部署服务器教程只需这一篇就够了(建议收藏)
这篇文章提供了详尽的Python项目在离线Linux(CentOS)服务器上的部署教程。作者首先介绍了环境背景,强调了无网络环境和使用有网络的CentOS虚拟机准备安装包的重要性。教程分为两部分:外网环境搭建和内网离线安装。在外网环境中,包括下载Python 3.9.0安装包、传输至服务器、安装依赖包,并使用pip3下载项目所需依赖。内网安装则涉及依赖包的复制和Python环境的同样步骤。最后,作者分享了运行项目的命令,并总结了离线安装的整个流程,提醒读者注意可能出现的问题。
保姆级python项目离线部署服务器教程只需这一篇就够了(建议收藏)
|
安全 Linux 数据安全/隐私保护
使用 `chage` 命令管理 Linux 用户密码过期策略
`chage` 命令用于管理Linux用户密码过期策略,包括设置密码最长有效期、警告天数、过期宽限期和账户非活动天数。例如,`chage -M 90 username` 设置密码最长有效期为90天,`chage -W 7 username` 设定到期前7天警告。确保具备足够权限(如root)并理解更改影响。此工具有助于增强系统安全和符合安全策略。

热门文章

最新文章