发作品
标准版

74芯片搭建8bit ADC(模数转换器)

7.1k
0
0
17
简介:该ADC采用逐次逼近型设计,单片机利用并口、以片外RAM映射方式访问,推荐使用51单片机。电路结构完全模仿数电教材相关章节。
开源协议:Public Domain
创建时间:2022-02-07 17:42:26更新时间:2022-07-24 17:15:16

描述

该ADC采用逐次逼近型设计,包括:

 

   1. 一个8bit R-2R DAC

   2. 一个TLV3501高速RRIO电压比较器

   3. 一个扫描信号生成单元

   4. 一个8位可控翻转式寄存器单元

   5. 一个8位串行输出管理

   6. 震荡和时钟管理器

   7. 简易采样保持器

 

 

该模块采用类似8051单片机的xdata内存映射访问,通过片外RAM等效地址映射,利用unsigned char xdata分配一个固定的地址,

向该ADC地址内随便写入一个无符号字符型以开启ADC,

ADC自动开始运行,先将保持器与外界信号断开,然后利用逐次逼近原理,使得DAC产生的电压值最接近输入信号,

此时8位均扫描完成,数据先存入74374输出缓冲寄存器,然后DAC复位,

最后ADC向单片机发送中断信号,单片机利用中断服务函数,以片外RAM的读方式将8位数字值取出,数字值通过51单片机P0口进入单片机。

 

 

基本参数:

       供电:4.75-5.25V

       输入输出接口:CMOS电平

       最高主频:1MHz

       采样速率:最大20Ksps

       保持器最大保持时间:暂无(保持器设计失败,遂弃用)

       有效模拟输入范围:GND-VCC

       极限模拟输入范围:GND-3V~VCC+3V

       输入阻抗:500KΩ+

 

实物图:

 

作为测试,我使用STC89C52RC单片机写了一个简单的程序:定时器0每隔1秒钟向ADC发送启动信号,ADC采样完成后利用外部中断0唤醒单片机接收数据,然后数据以3位十进制方式显示在IIC接口的LCD1602屏幕上。源码过于简单,遂不放出。

 

实测效果如下:测试一节1.5V的单三型电池,返回值80

 

已知该ADC满量程返回255,最低返回0,于是计算得电压:

 

该电池万用表实测1.498V,误差在5%左右,勉强可以接受。

 

目前该设计仍然不完美,由于使用了OPA350+74HC4052的保持器,漏电很大,根本没法保持;

1MHz的主频对于电压比较器的翻转速度很吃力,

DAC输出电压不准,严重影响了测量精度。

 

本项目的初衷是用于ADC原理的教学,因此设计十分简陋,请各位大神轻喷QAQ

 

PCB预览:

***(注)***:若设计图预览图加载异常,请使用''编辑器中打开''查看实际设计图纸!

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
暂无数据
克隆工程
添加到专辑
0
0
分享
侵权投诉
工程成员
全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程