嵌入式学习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接收到应答信号后,根据实际情况作出是否继续传递信号的判断。

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

相关推荐
大G哥7 分钟前
java提高正则处理效率
java·开发语言
stm 学习ing8 分钟前
HDLBits训练5
c语言·fpga开发·fpga·eda·hdlbits·pld·hdl语言
VBA633718 分钟前
VBA技术资料MF243:利用第三方软件复制PDF数据到EXCEL
开发语言
轩辰~20 分钟前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议
小_太_阳29 分钟前
Scala_【1】概述
开发语言·后端·scala·intellij-idea
向宇it29 分钟前
【从零开始入门unity游戏开发之——unity篇02】unity6基础入门——软件下载安装、Unity Hub配置、安装unity编辑器、许可证管理
开发语言·unity·c#·编辑器·游戏引擎
虾球xz1 小时前
游戏引擎学习第55天
学习·游戏引擎
古希腊掌管学习的神1 小时前
[LeetCode-Python版]相向双指针——611. 有效三角形的个数
开发语言·python·leetcode
赵钰老师1 小时前
【R语言遥感技术】“R+遥感”的水环境综合评价方法
开发语言·数据分析·r语言
就爱学编程1 小时前
重生之我在异世界学编程之C语言小项目:通讯录
c语言·开发语言·数据结构·算法