嵌入式学习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 分钟前
【C++习题】10.反转字符串中的单词 lll
开发语言·c++
尘浮生13 分钟前
Java项目实战II基于微信小程序的校运会管理系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea
MessiGo14 分钟前
Python 爬虫 (1)基础 | 基础操作
开发语言·python
Tech Synapse20 分钟前
Java根据前端返回的字段名进行查询数据的方法
java·开发语言·后端
Mephisto.java23 分钟前
【大数据学习 | Spark-Core】Spark提交及运行流程
大数据·学习·spark
乌啼霜满天24928 分钟前
JDBC编程---Java
java·开发语言·sql
色空大师41 分钟前
23种设计模式
java·开发语言·设计模式
PandaCave1 小时前
vue工程运行、构建、引用环境参数学习记录
javascript·vue.js·学习
yuwinter1 小时前
鸿蒙HarmonyOS学习笔记(2)
笔记·学习·harmonyos
Bruce小鬼1 小时前
QT文件基本操作
开发语言·qt