嵌入式学习55-ARM4(ADC和I²C)

1、什么是ADC,模拟量和数字量有什么特点? ADC: 模拟到数字 转换器(Analog-to-Digital Converter)的缩写
模拟信号: 一般是指 连续 变化的电压信号,其数值在一定范围内变化 数字信号: 是由一系列 离散 的数字 表示。 👈 (背)
只能取有限的值,通常以二进制形式表示。

它是一种电子设备或模块,2440内部拥有一个ADC外设 用于将 连续变化 的 模拟信号 转换为 离散的 数字信号,以便数字系统(如微处理器、微控制器等)能够对其进行 处理和分析。

2、什么是ADC的分辨率? 量化: 采样得到的 连续模拟信号 经过量化转换为 数字形式。 量化是将每个采样值 映射到一个 离散的数字值 的过程。 这通常通过 比较 采样值参考电压 之间的差异,并将其转换为数字表示。
ADC量化的过程 是 相对于一个基准值的,这个基准值称之为 基准电压
ADC的分辨率
表示其能够 辨别最小模拟量的能力。通常以位数来表示, 例如 8 位、10 位、12 位、16 位等。
2440分辨率(10位

3、ADC转换的原理是什么?
一般采用 逐次逼近法
ADC会先拿 1.采样 电压Vadc跟基准电压Vref的 1/2 进行比较
2.如果**(采样电压)** Vadc>(基准电压)Vref,则结果为1,否则结果为0。
之后 3.继续拿Vadc和Vref的 1/4 或Vref的 3/4 继续比较。
这个过程有点像 二分法,每次比较都会使 量化 的结果 逼近真实值 。 ←
(背)

很明显,比较的次数决定了测量的精度,这个精度被称之为 ADC的分辨率
比如一个比较了8次的ADC外设,它就称为8位ADC,其结果是0~255之间的一个数值,设该数值为n,那么实际电压就是Vref * (n/255)。如果把比较次数增加到10次,结果就是0~1023之间的一个数。 常见的分辨率包括8位,10位,12位和16位

4、什么是IIC?

   IIC(Inter-Integrated Circuit) 是一种具有两线传输串行通信总线 ,使用 多主从架构 ,由飞利浦公司在1980年为了让主板、嵌入式系统或手机连接低速周边设备而提出,适用于数据量不大且传输距离短的场合

IIC串行总线由两根信号线组 一根是 双向数据线SDA 另一根是 单向时钟线SCL (同一时刻是单向的) 在空闲状态 时,SDA和SCL线都置'1' ,为高电平 ( IIC为同步半双工 通信方式) (上拉电阻 4.7K--10K之间)

常见的传输速率有:100kb/s、300kb/s、3.4Mkb/s

5、请简述IIC时序逻辑

I2C总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。

空闲时 是SCL和SDA高电平
开始信号: (时钟线) SCL为高电平时 (数据线) SDA高电平低电平跳变,开始传送数据
结束信号: SCL为高电平时 SDA由低电平高电平跳变,结束传送数据
应答信号: 接收数据的IC在接收到8bit数据后 向发送数据的IC发出特定的低电平脉冲表示已收到数据

CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号 CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。

若未收到应答信号,由判断为受控单元出现故障。

相关推荐
无限的鲜花6 小时前
反射(原创推荐)
java·开发语言
yongche_shi7 小时前
ragas官方文档中文版(五十)
开发语言·python·ai·ragas·如何评估和改进 rag 应用
一路向北he7 小时前
字节钢铁军团--“提供情境,而非控制”
java·开发语言·前端
Waay7 小时前
面试口述版:个人对 Prometheus 完整理解
运维·学习·云原生·面试·职场和发展·kubernetes·prometheus
AI行业学习8 小时前
Notepad++ 官方下载 + 完整安装 + 全套优化配置(2026最新)
开发语言·人工智能·python·前端框架·html·notepad++
大圣编程9 小时前
Python中continue语句的用法是什么?
开发语言·前端·python
upgrador9 小时前
基础知识:C++ STL构造函数的左闭右开惯例及其实现原理
开发语言·c++
一楼的猫10 小时前
AI写作合规技术方案:平台检测机制分析与规避策略
人工智能·学习·机器学习·ai写作
灯厂码农10 小时前
C语言动态内存分配完全指南(malloc、calloc、realloc、free)
java·c语言·算法
yoothey10 小时前
报废审批流规则引擎设计——责任链模式完整实现
linux·开发语言·bash