RT1050的ADC

文章目录

  • 1 ADC介绍
  • 2 ADC框图
    • 2.1 外部输入通道
    • 2.2 输入电压范围
    • 2.3 触发源
    • 2.4 时钟源
    • 2.5 偏移矫正功能
    • 2.5.1 校准

1 ADC介绍

RT1052 有 2 个 ADC,每个 ADC 有 12 位、10 位、8 位可选,每个 ADC 有 16 个外部通道。

  • ADC具有最高 1MS/s 采样率
  • 支持单次或连续转换模式
  • 可配置采样时间和转换速度
  • 支持硬件求平均
  • 支持自动比较转换结果为小于、大于或等于某一设定的值,或者在设定的范围内、范围外。

2 ADC框图

在这里插入图片描述

2.1 外部输入通道

外部模拟的电压信号通过 ADCx_INn(n 取 0 到 15) 进入 ADC 模块

  • RT1052 的每个 ADC 多达 16 外部输入个通道,这 16 个外部输入通道对应着不同的引脚
  • 以下是ADC1对应的引脚
    在这里插入图片描述

2.2 输入电压范围

ADC 的输入电压范围为:0~3.3V。

  • 如果我们想让输入的电压范围变宽,可以测试负电压或者更高的正电压,我们可以在外部加一个电压调理电路,把需要转换的电压抬升或者降压到 0~3.3V。

2.3 触发源

RT1052 支持软件触发和硬件触发

  • 当 ADCx_CFG 寄存器的 ADTRG 位(转换触发选择位)为 1时,ADC 为软件触发方式
    • 此时向 ADCx_HC0 寄存器 ADCH 位(外部输入通道选择位)写入需要转换的外部输入通道则开启一次转换。
      ADC 还支持外部事件触发转换,通过 XBAR(外设间交叉开关)几乎可选择任何其他外设的相
      关事件作为 ADC 的外部触发事件。

2.4 时钟源

时钟有四个,分别为 ADACK、IPG Clock、IPG Clock 除 2、ALTCKL。

  • IPG clock . 默认时钟源。
  • IPG clock 二分频, 如果 IPG 的时钟过高,使用 ADIV 寄存器最大可得到 16 分频的 IPG 时钟。
  • ADACK, 该时钟是 ADC 模块中的时钟源生成的,所以当单片机处于停止模式时该时钟仍然在运行。使用该时钟在停止模式下 ADC 可以进行转换。

寄存器 ADICLK[1:0]位决定 ADC 数字部分的时钟源。

2.5 偏移矫正功能

ADCx_OFS 用于在转换结果基础上增加或者减少固定的值。ADCx_OFS 寄存器 SIGN 位用于设置增加或者减少,OFS 位用于设置增加或者减少的值。

2.5.1 校准

在系统复位后启动 ADC 转换之前要进行校准。ADCx_CAL 寄存器 CAL_CODE 保存有硬件校准值,每次校准之后该值自动更新。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/107572.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

23.树表和哈希表的查找

当表插入、删除操作频繁时,为维护表的有序性,需要移动表中很多记录。基于此,我们可以改用动态查找表——几种特殊的树。表结构在查找过程中动态生成。对于给定值key,若表中存在,则成功返回;否则&#xff0c…

【微服务】Ribbon的实现原理

1、场景:这里有两个服务,user-server和store-server 1.1、user服务 接口: package com.lkx.user.controller;import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController…

HashTable, HashMap, ConcurrentHashMap 之间的区别

前言 哈希表的组织形式是这样的: 对于哈希表这种重要而又频繁被使用的数据结构,是否线程安全往往是人们经常考虑的方向之一。 一、HashTable HashTable是线程安全的。但是它的线程安全在于它的关键方法都使用了synchronized,比如get方法、pu…

Python | assert关键字

Python断言assert是帮助代码流畅的调试工具。断言主要是假设程序员知道或总是希望是真的,因此将它们放在代码中,这样这些失败不会允许代码进一步执行。 简单地说,断言是一个布尔表达式,用来检查语句是True还是False。如果语句为T…

R包开发-2.2:在RStudio中使用Rcpp制作R-Package(更新于2023.8.23)

目录 4-添加C函数 5-编辑元数据 6-启用Roxygen,执行文档化。 7-单元测试 8-在自己的计算机上安装R包: 9-程序发布 参考: 为什么要写这篇文章的更新日期?因为R语言发展很快,很多函数或者方式,现在可以使…

js中作用域的理解?

1.作用域 作用域,即变量(变量作用域又称上下文)和函数生效(能被访问)的区域或集合 换句话说,作用域决定了代码区块中变量和其他资源的可见性 举个例子 function myFunction() {let inVariable "函数内部变量"; } myFunction();//要先执行这…

NPM 管理组织包

目录 1、关于组织范围和包 1.1 管理无作用域的包 2、使用组织设置配置npm客户端 2.1 配置您的npm客户端以使用您组织的范围 为所有新包设置组织范围 为单个包设置组织范围 2.2 将默认包可见性更改为public 将单个包的包可见性设置为public 将所有包的包可见性设置为pu…

人脸识别平台批量导入绑定设备的一种方法

因为原先平台绑定设备是通过一个界面进行人工选择绑定或一个人一个人绑定设备。如下: 但有时候需要在几千个里选择出几百个,那这种方式就不大现实了,需要另外一种方法。 目前相到可以通过导入批量数据进行绑定的方式。 一、前端 主要是显示…

opencv进阶18-基于opencv 决策树导论

1. 什么是决策树? 决策树是最早的机器学习算法之一,起源于对人类某些决策过程 的模仿,属于监督学习算法。 决策树的优点是易于理解,有些决策树既可以做分类,也可以做回归。在排名前十的数据挖掘算法中有两种是决策树[1…

软件设计师学习笔记6-存储系统

1.层次化存储体系 1.1层次化存储结构 局部性原理是层次化存储结构的支持 时空局部性:刚被访问的内容,立即又被访问(eg: 循环体 ) 空间局部性:刚被访问的内容,临近的空间很快被访问(eg:数组) 1.2层次化存储结构的分类 DRAM&…

统计学补充概念-17-线性决策边界

概念 线性决策边界是一个用于分类问题的线性超平面,可以将不同类别的样本分开。在二维空间中,线性决策边界是一条直线,将两个不同类别的样本分隔开来。对于更高维的数据,决策边界可能是一个超平面。 线性决策边界的一般形式可以表…

使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

postgresql常用函数-数学函数

postgresql常用函数 简介数学函数算术运算符绝对值取整函数乘方与开方指数与对数整数商和余数弧度与角度常量 π符号函数生成随机数 简介 函数(function)是一些预定义好的代码模块,可以将输入进行计算和处理,最终输出一个 结果值…

【Git】学习总结

【Git】学习总结 【一】安装【二】Git克隆项目代码【1】idea下载git项目【2】创建新的分支【3】新建的分支推送到远程【4】合并最新代码到主分支【5】切换分支 【三】提交本地项目到远程🚀1. 配置 Git🚀2. 创建项目远程仓库🚀3. 初始化本地仓…

详细手机代理IP配置

嗨,亲爱的朋友们!作为一家代理产品供应商,我知道有很多小伙伴在使用手机进行网络爬虫和数据采集时,常常会遇到一些IP限制的问题。别担心!今天我要给大家分享一下手机IP代理的设置方法,让你们轻松应对这些限…

C语言暑假刷题冲刺篇——day5

目录 一、选择题 二、编程题 🎈个人主页:库库的里昂 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏✨收录专栏:C语言每日一练✨相关专栏:代码小游戏、C语言初阶、C语言进阶🤝希望作者…

飞天使-k8s基础组件分析-控制器

文章目录 控制器含义解释pod的标签与注释ReplicaControllerReplicaSetDeploymentsDaemonSetJobCronjob参考文档 控制器含义解释 空调遥控器知道吧ReplicationController: ReplicationController确保在任何时候都运行指定数量的pod副本。换句话说,一个ReplicationCo…

实战项目 在线学院springcloud调用篇3(nacos,feging,hystrix,gateway)

一 springcloud与springboot的关系 1.1 关系 1.2 版本关系 1.3 list转json串 public class Test {public static void main(String[] args) {List<String> dataListnew ArrayList<String>();dataList.add("12");dataList.add("45");dataLi…

guassian filter and bilateral filter

在用CRF 后处理segmentation的时候有一项 d.addPairwiseGaussian(sxy(5, 5), compat3, kerneldcrf.DIAG_KERNEL,normalizationdcrf.NORMALIZE_SYMMETRIC)# This adds the color-dependent term, i.e. features are (x,y,r,g,b).d.addPairwiseBilateral(sxy(5, 5), srgb(13, 13…

代码随想录算法训练营之JAVA|第三十九天|474. 一和零

今天是第39天刷leetcode&#xff0c;立个flag&#xff0c;打卡60天。 算法挑战链接 474. 一和零https://leetcode.cn/problems/ones-and-zeroes/ 第一想法 题目理解&#xff1a;找到符合条件的子集&#xff0c;这又是一个组合的问题。 看到这个题目的时候&#xff0c;我好像…