A:analog,D:digital
AD,就是模拟量转换为数字量,DA就是数字量转换为模拟量
为什么要转换?
单片机是数字芯片,内部只有0和1,没法表示模拟量
比如我们如果需要2.5V怎么办?其实是由单片机控制DA加上功率放大实现的(因为还需要电流)
如果是一个8位的DA,8个1表示5V,0个1表示0V,中间呈线性变化。
DA转换器内部有很多种构成方式,这是其中一种
VREF参考电压的输入端,D7~D0是数字控制端,每个上面有一个0和1,1越多,IO1越大。
看到IO2这里接地了,说明D0上的电阻2R和其右侧电阻是并联,那么电阻之和就是R,然后又和前面一个电阻串联,总电阻就是2R,又和D1上电阻并联,那么总电阻就是R,以此类推,那么D7电阻右侧所有电阻串并联之和是2R,和D7上电阻之和是R。如果D7~D0全是1,那么电流全流入IO1,那么电流就是VREF/R。如果只有D7是1,由于D7上电阻右侧所有电阻之和是2R,那么电阻分为了相等的两部分,所以IO1=I/2=VREF/2R。如果D7和D6都是1,那么又多分了一半的一半,就是2的2次方分支1,一次类推
图中2的7次方是最高位,把I/2的八次方带进去就得到了I/2,所以是最高位的。
所以DA芯片是通过内部电阻分流产生变化的模拟量的值
位数越高,对功率要求就越高,DA还有转换速度,刚刚看到的内部电路网络,跟温度、线性关系什么的都有关系
线性度是最大的误差,常用最大的误差比满量程值表示。线性度越好,DA性能越好
绝对精度类似于刚刚的线性度,线性度是用百分比,这个不用。
建立时间:就是比如数字量变化一个刻度是1V,那么到0.5V的时间就是建立时间。
今天讲直通方式
下面这些看看就好,无所谓
这个好好看看吧
现在就要进行对芯片的操作了,操作前要先下载datesheet(数据手册)
介绍下下载datesheet的网站:
www.21ic.com
www.alldatasheet.com
DA到这就结束了,编程就先算了...发现郭天祥视频单片机的DA、AD芯片和清翔的不是一个,清翔的是两个在一个芯片PCF8591,他这个是DAC0832,
接下来是AD知识点
用的最多的是逐次逼近式和双积分式。当然这里只看逐次逼近式就好
可以看到AD芯片里面就有一个DA转换器。
将VREF作为参考电压,DA转换器相对于VREF就会输出一个电压值,先将DA转换器的最高位置1,会产生1/2倍参考电压的值,从VN这里输出,从VN这里和VIN作对比,如果大于这个1/2倍的VREF,那么就在移位寄存器中保存下来,移位寄存器的最高位就是1,如果小就存0,然后DA转换器的第二位置1,再进行比较,大于则移位寄存器保存1,小于则是0,以此类推,直到移位寄存器的8位都保存完01,最终把模拟量转换为数字量。然后通过EOC发出信号,产生中断,告诉单片机转换结束,OE输出低电平,把锁存缓存器的数据取走。
红色标注这里就是误差
往上数第二张图就能看到中点连线的转移特性曲线
正是由于AD用到了DA,所以才会使得AD比DA慢。
DS18B20数字温度传感器
T592封装格式,中间I/O是数据口,是单总线芯片,就是数据在一根线上来回跑,读写数据都通过这根线,电阻是上拉电阻。可以检测出现在的温度,例程的代码可以把温度显示到数码管上。
实验板上的贴片、小元件的封装都是0805(还有各种型号的:1206、3216、0604、0302)封装。
看看电路图就会发现,到现在单片机的大部分东西就都讲完了。
郭天祥的是AD0804,和我的不同,所以不看了。