江科大51单片机笔记【16】AD/DA(上)

写在前言

此为博主自学江科大51单片机(B站)的笔记,方便后续重温知识

在后面的章节中,为了防止篇幅过长和易于查找,我把一个小节分成两部分来发,上章节主要是关于本节课的硬件介绍、电路图、原理图等理论知识,主要是为下章节的代码部分打基础。

我的单片机是24年12月在tb普中买的,型号是STC89C52,在原视频中引脚或接口不对应的我都会改正,保证在我的机子上能运行才发上来的,还有一些文字部分是我的理解,并非照搬,所以可能有理解不到位的现象。

如有误或交流,敬请指点提问

总览:AD/DA,硬件电路,运放,运放电路,DA原理和电路原理,AD原理,AD/DA性能指标,开发板所用AD芯片介绍

一、AD/DA介绍

  • AD(Analog to Digital):模拟-数字转换,将模拟信号转换为计算机可操作的数字信号
  • DA(Digital to Analog):数字-模拟转换,将计算机输出的数字信号转换为模拟信号
  • AD/DA转换打开了计算机与模拟信号的damned,极大的提高了计算机系统的应用范围,也为模拟信号数字化处理提供了可能
  • ADC:模数转化器;DAC:数模转化器
  • 左1是光敏电阻,左2是热敏电阻,左3是麦克风,前3个都是AD,左4是扬声器(DA)

二、硬件电路模型

  • AD转换通常有多个输入通信,用多路选择开关连接到AAD转换器,以实现AD多路复用的目的,提高硬件利用率,常用于电压的转换。DA一般不会多路复用,因为模拟信号是连续的不好分开,但DA用的比较少
  • AD/DA与单片机数据传送可使用并口(速度快、原理简单),也可使用串口(接线少、使用方便)
  • 可将AD/DA模块直接集成在单片机内,这样直接写入/读出寄存器就可进行AD/DA转换,单片机的IO口可自己复用为AD/DA的通道

三、硬件电路

下面这两个模块是我们开发板的电路图

首先是ADC,这个芯片其实是一个触摸屏的芯片,他的原理也是AD转换

然后是DAC,是PWM型的,需要输出PWM这种波形

上面的不好理解,所以拿另外两种ADC和DAC来讲解,这两种是比较经典的,属于比较牢的了,不推荐使用,比如下面的PCF8591,是一个I2C总线类型的

上面是ADC0809,下面是DAC0832

首先是上面的ADC,输入输出都有八个通道,输入首先经过8路模拟开关(由地址锁存与译码控制),然后经过AD转换,再进过一个缓冲器输出出来,右边就是实际的芯片

首先是输入,经过输入寄存器,然后就DAC寄存器(用于多路同步)

四、运算放大器

  • 运算放大器(简称运放)是具有很高放大倍数的放大电路单元。内部集成了差分放大器、电压放大器、功率放大器三级放大电路,是一个性能完备、功能强大的通用放大电路单元,由于其应用十分广泛,现已作为基本的电路元件出现在电路图中
  • 运算放大器可构成的电路有:电压比较器、反相放大器、同相放大器、电压跟随器、加法器、积分器、微分器等
  • 运算放大器电路的分析方法:虚短、虚断(负反馈条件下)
  • 右边的图是LM358

五、运放电路

六、DA原理

下图该电路即上图中红框的详细电路图

I=256*I0

接下来再介绍一下PWM型DAC,也就是我们开发板上的DAC

图中一个电阻跟一个电容这样并联叫RC滤波器,换位置叫高通滤波器,两组的话就是二阶滤波器,效果更好,把交流分量滤掉,留下直流分量

电压跟随器是为了提高驱动能力

七、AD原理

逐次逼近型ADC,当信号通过选择开关进来后,用一个DAC与这个未知的电压比较,让这两个电压相等,这样就能间接得出未知的电压值

八、AD/DA性能指标

  • 分辨率:值AD/DA数字量的精细程度,通常用位数表示。例如,对于5V电源系统来说,8位的AD可将5V等分为256份,即数字量变化最小一个单位时,模拟量变化5V/256=0.01953125V,所以,8位AD的电压分辨率为0.01953125V,AD/DA的位数越高,分辨率就越高
  • 转换速度:表示AD/DA的最大采样/建立频率,通常用转换频率或转换时间来表示,对于采样/输出高速信号,应注意AD/DA的转换速度

九、XPT2046

AD的最基本的概念:电压变成内存中的数据,DA就是把数据转换为电压

下面是时序

采用的是SPI通信

主要有四条线CS,DCLK,DIN,DOUT

每一个芯片都有一个CS片选,后面三个是复用的,DCLK是上升沿输入,下降沿输出,

DIN是高位发送,第一位是控制字,A2A1A0就是控制多路选择,然后是后面是模式选择

DOUT本来是16位的,但是只有12位是有用的,所以后面的用0填充

相关推荐
honey ball16 分钟前
时钟频率和GPIO的设定【DSP】
单片机·嵌入式硬件
qincjun25 分钟前
uni-app学习笔记——自定义模板
笔记·学习·uni-app
ElePower95271 小时前
浅谈时钟启动和Systemlnit函数
单片机·嵌入式硬件
小麦嵌入式2 小时前
Linux驱动开发实战(四):设备树点RGB灯
linux·驱动开发·stm32·单片机·嵌入式硬件·物联网·ubuntu
风起逸尘2 小时前
硬件驱动——51单片机、LED、动态数码管
单片机·嵌入式硬件·51单片机
时空自由民.2 小时前
stm32官方 gcc编译案例
stm32·单片机·嵌入式硬件
与光同尘 大道至简2 小时前
从硬件定时器原理学会多任务调度
stm32·单片机·嵌入式硬件
Wnq100723 小时前
DDS:保障物联网系统的稳定运行和高效协作
java·数据结构·分布式·嵌入式硬件·物联网·深度优先·信号处理
鹏易灵3 小时前
C#核心笔记——(五)框架概述
开发语言·笔记·c#
@卡卡-罗特3 小时前
Linux笔记
linux·运维·笔记