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

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

相关推荐
码匠许师傅30 分钟前
【C++三方组件】POCO:跨平台系统编程全家桶
开发语言·c++
bkspiderx1 小时前
基于Socket的广播通信及C语言实现详解
c语言·开发语言·socket·广播·socket的广播通信
小王C语言1 小时前
Qt常用控件:输入类控件,单行/多行输入框、下拉框、(日期)微调框、旋钮、滑动条
开发语言·qt
ESDWAN1 小时前
SD-WAN 主备切换为什么仍然会断网?从检测机制到会话恢复分析
开发语言·php
1001101_QIA1 小时前
.exe does not seem to be a Qt executable.
开发语言·qt
echome8882 小时前
Python 异常处理:try、else、finally 的正确搭配
开发语言·前端·python·异常处理·编程技巧
云和数据.ChenGuang2 小时前
Python 单继承与多继承深度剖析:从 MRO 到实战取舍
开发语言·人工智能·python·langchain
辣知3 小时前
辣知·化智93 被历史尘封的鬻子
学习
小咕聊编程3 小时前
基于Python的豆瓣电影数据可视化系统构建分析
开发语言·python·信息可视化
每天题库4 小时前
西藏安全员 A 证备考真题题库 强化重点知识刷题提升通过率
学习·安全·考试·题库·考证