模数转换电路的设计与实现.docx

上传人:b****5 文档编号:7093466 上传时间:2023-01-17 格式:DOCX 页数:10 大小:119.13KB
下载 相关 举报
模数转换电路的设计与实现.docx_第1页
第1页 / 共10页
模数转换电路的设计与实现.docx_第2页
第2页 / 共10页
模数转换电路的设计与实现.docx_第3页
第3页 / 共10页
模数转换电路的设计与实现.docx_第4页
第4页 / 共10页
模数转换电路的设计与实现.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

模数转换电路的设计与实现.docx

《模数转换电路的设计与实现.docx》由会员分享,可在线阅读,更多相关《模数转换电路的设计与实现.docx(10页珍藏版)》请在冰豆网上搜索。

模数转换电路的设计与实现.docx

模数转换电路的设计与实现

 

电子产品设计制作

与故障诊断

 

学习情境5:

模数转换电路的设计与实现

 

《电子产品设计制作与故障诊断》课程建设组

2010年2月

第一版

 

学习情境5:

模数转换电路的设计与实现

5.1学习目标

通过完成该情境所设定的任务,同学能够将一定范围内的模拟电压信号转换成所要求的数字量,以便于单片机(或计算机)处理。

5.2工作任务

5.2.1工作任务名称

应用ADC0804芯片进行模数转换

5.2.2工作任务背景

很多检测仪表类电子产品要求对工业现场或所作业环境的模拟量(如压力、流量、温度或光强等)进行采集并保存。

当前电子产品的核心控制和数据处理单元(无论本情境中的单片机还是DSP、CPLD或上位机的CPU)是建立在数字方式基础上的。

所以需要将模拟电信号转换成数字量供CPU处理。

5.2.3完成工作任务要达到的技术标准

单片机作为一个微型计算机系统,需要测量外部的各种信号,然后进行计算,从而得到需要对外部进行控制的数据。

模数变换电路就是将变送器整理好的模拟信号变换为数字信号的电路。

本情境主要是让同学们了解模数变换电路的工作原理和种类、根据需要选择合适的模数变换电路、模数变换电路和单片机接口电路的设计方法、电路的焊接和调试方法。

具体实施步骤:

(1)根据模数变化电路的类型选择芯片,查阅相关的说明书和技术手册。

(2)根据模数变换电路芯片的型号和相应的数据手册确定电路结构,设计模数变换电路和单片机的接口电路。

模数变换电路设计和制作以及要求达到的技术标准

(1)转换时间小于100微秒

(2)转换精度1LSB以内

5.2.4完成工作任务所需要的设备、工具和材料

电源焊台电容、电阻、导线等ADC0832(串行AD芯片)ADC0804(并行AD芯片)89S52(单片机芯片)

 

5.3任务知识点

5.3.1ADC0804的介绍

所谓A/D转换器就是模拟/数字转换器(AnalogtoDigitalConverter简称ADC),是将输入的模拟信号转换成为数字信号。

信号输入端的信号可以是传感器(Sensor)或转换器(Transducer)的输出,而ADC输出的数字信号可以提供给微处理器,以便更广泛地应用。

ADC0804的规格及引脚图

(1)8位COMS逐次逼近型的A/D转换器;

(2)三态锁定输出;

(3)存取时间:

135μs;(4)分辨率:

8位;

(5)转换时间:

100μs;(6)总误差:

±1LSB;

(7)工作温度:

ADC0804LCN—0℃~+70℃;(8)ADC0804LCD—-40℃~+85℃;

(9)引脚图及说明如图2.1所示。

图5.1A/D转换器件引脚图

/CS:

芯片选择信号。

/RD:

外部读取转换结果的控制脚输出信号。

/RD为HI时,DB0~DB7处于高阻抗;/RD为LO时,数字数据才会输出。

/WR:

用来启动转换的控制输入,相当于ADC的转换开始(/CS=0时),当/WR由HI变为LO时,转换器被清除;当/WR回到HI时,转换正式开始。

CLKIN,CLKR:

时钟输入或接振荡元件(R,C),频率约限制在100kHZ~1460kHZ,如果使用RC电路则其振荡频率为1/(1.1RC)。

/INTR:

中断请求信号输出,低电平动作。

VIN(+)、VIN(-):

差动模拟电压输入。

输入单端正电压时,VIN(-)接地;而差动输入时,直接加入VIN(+)、VIN(-)。

AGND,DGND:

模拟信号以及数字信号的接地。

VREF:

辅助参考电压。

DB0~DB7:

8位的数字输出。

VCC:

电源供应以及作为电路的参考电压。

 

2.2.3ADC0804电压输入与数字输出关系如表2-1所示

表5-1ADC0804电压输入与数字输出关系表(节选)

VREF=5.00伏

输入电压值(mV)

输出数字量

0.0000

00000000(0x00)

19.53125

00000001(0x01)

39.06250

00000002(0x02)

……..

……..

2480.46875

01111111(0x7f)

2500.00

10000000(0x80)

……..

……..

4980.46875

11111110(0xfe)

5000.00

11111111(0xff)

例:

VIN=2.4V,由上表可知01111101即0x7c。

思考1:

实际值2.4V更接近0x7d,为什么不取0x7d?

思考2:

在VREF=5V时,理论上1bit代表19.53125mV,实际上达不到这么高的精度。

为什么达不到?

如何提高精度?

 

5.3.2根据芯片制造商给出的资料,我们设计出AD转换原理图并给出软件仿真效果。

5.3.3根据原理图以及芯片时序,软件设计如下:

#include

#include

#include

unsignedchari=0;

unsignedcharl,n,m,sum;

unsignedcharshuma[]={

0x3f,//0

0x06,//1

0x5b,//2

0x4f,//3

0x66,//4

0x6d,//5

0x7d,//6

0x07,//7

0x7f,//8

0x6f//9

};

main()

{

while

(1)

{

P3=0xbf;//wr=0rd=1根据pdf资料里面的时序要求

P3=0x7f;//wr=1rd=0启动AD转换

P0=0xff;//数码管赋初值

//P1=0x32;

//P2=0xe;

//P2=0x7d;

//P2=0x7b;

sum=P0;//16

l=sum%0x0a;//个位

n=sum/0x0a%0x0a;//十位

m=sum/0x64;//百位

switch(l)

{

case0:

P2=0xe;P1=shuma[0];break;

case1:

P2=0xe;P1=shuma[1];break;

case2:

P2=0xe;P1=shuma[2];break;

case3:

P2=0xe;P1=shuma[3];break;

case4:

P2=0xe;P1=shuma[4];break;

case5:

P2=0xe;P1=shuma[5];break;

case6:

P2=0xe;P1=shuma[6];break;

case7:

P2=0xe;P1=shuma[7];break;

case8:

P2=0xe;P1=shuma[8];break;

case9:

P2=0xe;P1=shuma[9];break;

 

}

switch(n)

{

case0:

if(m!

=0){P2=0x7d;P1=shuma[0];}break;

case1:

P2=0x7d;P1=shuma[1];break;

case2:

P2=0x7d;P1=shuma[2];break;

case3:

P2=0x7d;P1=shuma[3];break;

case4:

P2=0x7d;P1=shuma[4];break;

case5:

P2=0x7d;P1=shuma[5];break;

case6:

P2=0x7d;P1=shuma[6];break;

case7:

P2=0x7d;P1=shuma[7];break;

case8:

P2=0x7d;P1=shuma[8];break;

case9:

P2=0x7d;P1=shuma[9];break;

 

}

switch(m)

{

case0:

P2=0x7f;P1=shuma[0];break;

case1:

P2=0x7b;P1=shuma[1];break;

case2:

P2=0x7b;P1=shuma[2];break;

case3:

P2=0x7b;P1=shuma[3];break;

case4:

P2=0x7b;P1=shuma[4];break;

case5:

P2=0x7b;P1=shuma[5];break;

case6:

P2=0x7b;P1=shuma[6];break;

case7:

P2=0x7b;P1=shuma[7];break;

case8:

P2=0x7b;P1=shuma[8];break;

case9:

P2=0x7b;P1=shuma[9];break;

 

}

}

}

5.4任务实施

5.4.1任务实施步骤

1.接受任务单制定实施计划

2.设计模数变换电路和单片机的接口电路。

3.合理选择元器件和核算元件价格。

4.设计电路原理图并编制材料清单

5.根据设计的模数变换电路和接口电路原理图。

6.根据电路,编写单片机程序后,在仿真软件中进行效果测试,成功后制作硬件电路。

7.对该电路板上电,进行测试。

改变输入电压信号大小、外界电磁干扰、机械振动、温度等条件,记录AD转换结果和转换时间等原始数据,然后计算转换精度、以及线性度等参数。

8.分析该电路板各个参数是否达到芯片数据手册所声明的水平,并分析原因。

重点观察转换精度是否能保证7bit和转换时间两个参数。

转换时间通过修改程序fclk频率观察是否能得到正确转换结果。

(7、8为现场运行调试和分析)

9.撰写实验报告

5.4.2本情境任务原理图

本情境要求使用总线方式实现对ADC0804进行控制,原理图如图所示。

总线上键盘和显示为情境4所设计。

各个模块使用低电平选通,AD、DA、键盘、显示(注意各个模块里面的逻辑芯片的正确使用)的地址分别使用0xEFFF(P2.4)、0xDFFF(P2.5)、0xBFFF(P2.6)和0x7FFF(P2.7)。

 

5.4.3电路板接口安排

1VCC

40+12V

2空

39D0(P0.0)

3空

...D1--D6

...空

32D7(P0.7)

15空

31A15(P2.7)

16空

...A14--A9

17ALE

24A8(P2.0)

18WR(P3.6)

23空

19RD(P3.7)

22空

20GND

21-12V

 

5.5问题与思考

1如果输入端(传感器、或其他检测电路)给出的是电流信号,如何处理?

(加电阻转换成电压信号或其他方式?

大电阻?

小电阻?

会有什么不同?

采用电流方式AD芯片,通过电流放大器芯片)

2AD芯片选择时,如何考虑与输入端之间输入输出阻抗问题?

(上端输出阻抗尽量要小,AD芯片输入阻抗尽量大!

若不匹配,可以加中间级放大器)

3在微弱信号采集中,应采取哪些常用措施抵抗电磁干扰?

(封闭金属壳,电路板上处理方法,远离电源部分)

4模拟电压量转换成数字量后,如何显示或查询?

转换后的数字量可能有哪些异常,如何处理?

(单片机控制数码管或液晶显示,也可以用串口传到上位机在串口助手中显示,或自己编写的上位机程序中显示,保存,历史数据?

)数字量跳变很大,直接显示在数模管上后面几位显“8”->以后数据处理内容!

5使用AD芯片时,为保证转换精度,应注意哪些使用条件?

(电压,参考电压,温度,电磁干扰)

6如果当前主流CPU可以建立在模拟信号运算基础上(电方式或者光方式),那么还需要AD转换或者DA转换单元么?

5.6任务拓展

5.5.1使用串行A/D转换器ADC0832采集模拟电压信号

详细设计方案参考ADC0832.pdf文档

5.5.2微弱电压信号采集中常用的数字滤波方法

1(加权)平均值滤波

2Butterworth滤波方法

5.7工作和学习测评

1是否已经完成任务单上的专业知识和技能训练

2工作状态、工作的质量,学生自评

3课堂答辩,学生互评

4工作任务是否被完整完成?

归档是否完整?

教师点评

5是否完成设计及调试任务?

6工作过程中是否受到阻碍?

如何解决的?

7团队合作是否协调?

8工作能力的提高工作状态、工作的质量

9学习目的是否达到?

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1