课程设计(论文)基于Atmega128的并行AD(TLC0820)设计_第1页
课程设计(论文)基于Atmega128的并行AD(TLC0820)设计_第2页
课程设计(论文)基于Atmega128的并行AD(TLC0820)设计_第3页
课程设计(论文)基于Atmega128的并行AD(TLC0820)设计_第4页
课程设计(论文)基于Atmega128的并行AD(TLC0820)设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于atmega128的并行ad(tlc0820)设计院系:实验学生:指导老师: 二零一一年七月目录1、设计任务42、芯片简介4 2.1 特点4 2.2 引脚说明4 2.3 工作原理5 2.4 时序分析63、系统方案设计9 3.1 信号输入处理模块的论证与选择93.2 ad转换模块的论证与选择10 3.3 软件程序模块的论证与选择 104、系统理论分析与计算 11 4.1 信号输入处理电路的分析与计算11 4.2 ad转换电路的分析与计算11 4.3软件程序的分析与实现115、电路设计165.1 系统总体框图165.2 信号输入处理电路原理图165.3 ad转换电路原理图165.4 电源176

2、、测试方案与测试结果176.1 测试方案176.2 测试条件与仪器176.3 测试结果与分析17 6.3.1 测试结果(数据)18 6.3.2 测试分析与结论.18附录1 参考文献 19附录2 系统原理图 19 1、设计任务 设计制作一个ad转换电路,要求使用atmega128对测量数据进行处理及显示。ad转换芯片要求使用先进的lincmos 8 位模数转换器tlc0820(与adc0820完全兼容)。2、芯片简介2.1 特点 先进的lincmos 硅门技术 8 位分辨率 差分基准输入 并行微处理器接口 在温度范围内转化及存取时间 读方式2.5 s max 无需外部时钟或振荡器 片内的采样与保

3、持 单-5 伏电源 tlc0820a 可直接替代国家半导体adc0820c/cc 及ad 公司的ad7820k/b/t2.2 引脚说明引脚号 名称 i/o 说明 1 anlg ln i 模拟输入端 13 cs i 片选端。cs 须保持低电平以便ad识别rd 或wr 27 d0d7 o 数据端,3 态数据输出 10 gnd 地 9 int o 中断。在写读方式时,中断输出 (int )变低提示内部计数延迟时间 td(int)完成及结果数据在输出锁定。典型的延迟时间 td(int) 是 800ns ,在ws 上升缘后开始(见工作特性及图3 )。如果rd 在td(int)结束前变低则 int 在 t

4、d(ril)结束时变低且转换结果即可读出 (见图 2 )。int 由rd 可cs 上升缘复位 7 mode i 方式选择。mode 通过类似下拉电阻的50a 电流源与gnd相连。当 mode低电平选择读方式。当mode高电平则选择写-读方式 19 nc 无内部连接 18 oflw o 溢出指示端。正常情况时oflw是一逻辑高电平。可是如果模拟输入比vref+高,oflw在转换结束时将变低。可用于级联两个或多个器件以提高分辨率 (9 或 10 位) 8 rd i 读。cs 低电平的写读方式下,3 态数据输出d0 至d7 在rd 变低时被激活。通过在内部计数延迟时间结束之前读数据,rd也可用2.3

5、 工作原理tlc0820ac 和tlc0820ai 均采用取样数据比较器技术及普遍用于许多高速转换器的快闪技术。应用两个4 位快闪模数转换器完成 8 位输出。 推荐的模拟输入电压范围是0.1v 至vcc+0.1v 。小于vref-+1/2lsb 或大于vref+1/2lsb 的模拟输入信号 分别转换为00 00 00 00 或 11 11 11 11 。基准输入是全差分的,其共模极限为电源决定。基准输入值决定模 拟输入满量程范围。这允许adc 的增益通过改变vref+及vref- 电压值而变化以便于比率转换。 器件在两种方式下工作:读及写读方式,可通过mode 选择。 高4 位快闪adc 通过

6、同时工作的 16 个比较器测量输入信号。高精度的4 位dac 这时从转换结果产生一离散的模拟电压。一段延迟时间后,第二组比较器根据输入电平及 dac 输出间的模拟电压差完成低四位转换。每一个转换结果输入一个 8 位锁定电路并且在rd 的下降沿输出至3 态输出缓冲器。2.4 时序分析只读模式。 mode处于低电平时,转换器被设为(只)读方式。在只读方式下,wr/rdy 被用作输出且被认为是准备好端。在此状态,wr/rdy 低电平且 cs 低电平指示器件忙。转换开始于rd 的下降沿且在int 下降和wr/rdy 恢复至高阻抗状态后1.6s内完成。此时数据输出亦从高阻抗状态转变为有效状态。数据读出后

7、,rd 处高电平状态,int 恢复高电平状态,数据输出恢复至高阻抗状态。写读方式 当mode 处高电平状态,转换器被设为写读方式且wr/rdy 被看作是写操作端。(1) 模式一 在此状态,wr/rdy 低电平且 cs 低电平指示器件忙。转换开始于wr的上升沿且在int下降的800ns内完成。保存cs低电平、wr高电平状态,rd读取信号要在int下降前准备好,在int下降沿开始读数据,数据输出亦从高阻抗状态转变为有效状态。数据读出后,rd 处高电平状态,int 恢复高电平状态,数据输出恢复至高阻抗状态。(2) 模式二 此状态类似于模式一,wr/rdy 低电平且 cs 低电平指示器件忙,转换开始于

8、wr/rdy上升沿,大约在 wr/rdy 恢复高电平后800ns内完成。int下降沿表示转换完成,此时,在rd的下降沿开始读数据,数据输出亦从高阻抗状态转变为有效状态。数据读出后,rd 处高电平状态,int 恢复高电平状态,数据输出恢复至高阻抗状态。(3) 模式三此工作方式操作简单,将cs、rd一直处低电平状态,转换开始于wr的上升沿,转换大约在800ns内完成,int下降沿表示转换完成,数据可读出。int为高电平状态时,数据输出呈高阻抗状态。在这种状态下,数据呈现的高阻态可以引起数据误读,影响精确度。3、系统方案设计本系统方案根据tlc0820的输入信号要求设计相对应的输入信号处理模块,并根

9、据芯片的几种工作模式来选择芯片的连接电路以及程序的设计。程序的设计是由芯片驱动程序设计、采样数据处理程序设计、显示程序设计等三个模块组成。电路由运放比例缩小电路、电位抬高电路、反相等比跟随电路以及ad转换电路等电路模块组成。真有效值计算公式:3.1 信号输入处理模块的论证与选择根据tlc0820的测量信号输入要求“0.2v 至vcc+0.2v”可见,输入信号要求单极性且峰峰值不得超过电源电压0.2v。一般的输入信号均为双极性,如果输入信号峰峰值很大就需要将其等比缩小并将其的基准电压值抬高。比例缩小电路:方案一:通过电阻网络缩小信号幅值。即通过分压电阻来实现,此方案对电阻的精确度要求很高,别电阻

10、容易受温度影响,最后的结果误差可能很大,再者大电阻对信号的能量有损耗并且都含有一定的寄生电容,也会对分压效果有很大影响。所以放弃此方案。方案二:通过运放缩小信号幅值。根据运放组成的比例放大电路的原理来构成比例缩小电路。即,只需要增大输入电阻的阻值以及减小反馈电阻的阻值来完成放大比例小于1的缩小。运放的精度比较高,且受外界影响比较小,所以选择此方案。通交隔直电容 在缩小电路后面加一个4.7uf的电解电容,来防止抬高电位的直流量灌入缩小运放中。因为比例缩小运放的输出阻抗很小,而后一级的等比跟随输入阻抗很大,所以必需加通交隔直电容。抬高电位电路 用分压电阻网络来完成。等比跟随电路因为ad转换要求输入

11、阻抗很小来完成最大功率传输,所以前级应加电压跟随器。由于前级比例缩小电路将信号反相,所以此极只能用反相等比运放完成电压跟随器的功能。3.2 ad转换模块的论证与选择采用tlc0820写读方式的模式三进行实验。因为它的操作简单,在程序的设计里面要注意等待转换的完成,否则可能读到数据端口的高阻态而影响精确度。3.3 软件程序模块的论证与选择由芯片驱动程序设计、采样数据处理程序设计、显示程序设计等三个模块组成。 芯片驱动程序是根据时序分析里面,对写读方式的模式三的时序图来编写程序。 采样数据处理是通过冒泡发得到数据中的最大值和最小值。通过均方根运算得到其真有效值。4、系统理论分析与计算 4.1 信号

12、输入处理电路的分析与计算比例缩小等比跟随 4.2 ad转换电路的分析与计算 根据采样定理,;而工程上我们要求。所以采样频率设为300khz。采样点数设为300个。 4.3软件程序的分析与计算实验程序:/*0801.h */#define uchar unsigned char#define uint unsigned int#define ulong unsigned long/*main.c*/#include #include #include #include 0801.h#define n 300 /采样点的个数#define v 5.0 /满数字量的幅值量 float datn; /

13、采样到的数据放入一个大数组中uint q=0; /一个返回值float v_max,v_min; /定义最大最小值float v_effective; /定义有效值void rms() /通过冒泡发得到采样数据中的最大值和最小值 int i;float convert; v_effective=0.0; v_max=v_min=dat0; for(i=0;iv_max) v_max=dati; /循环比较得最大if(dativ_min) v_min=dati; /循环比较得最小 for(i=0;in;i+) convert=v*dati/256; v_effective+=convert*co

14、nvert; v_effective=sqrt(v_effective/(n); /计算得到真有效值 void main() uint c1,c2,c3,i,j,dat_30; init(); pwm(); /送给0820的writ端口的pwm信号(100khz) while(1) for(i=0;in;i+) datq=pinc; /采样并放入数组 q+; rms(); /计算 q=0; c1=(v*v_max/256)*10000; /乘以10000将小数化为整数是为了便于1602显示 c2=(v*v_min/256)*10000; c3=v_effective*10000; show_1

15、602(c1,c3); /显示 void init() portb=0xff; ddrb=0xff; porte=0xff; ddre=0xff; portc=0x00; ddrc=0x00; portd&=bit(0); ddrd&=bit(0); eicra|=bit(isc01); eimsk|=bit(int0); sei();/*1602.c*/#include #include #include 0801.h const uchar ju_1=max:;const uchar ju_2=t-rms:;const uchar ascii=48,49,50,51,52,53,54,55

16、,56,57,46,47,114,86; /0 1 2 3 4 5 6 7 8 9 10.1112r 13svoid show_1602(uint x,uint y) uchar dat_18=0,dat_28=0,; uchar m,n,i,j; portb&=bit(2); write_com(0x38); delay(5); /write_com(0x01); /delay(5); write_com(0x0c); delay(5); write_com(0x06); delay(5); dat_10=x/100000; dat_11=x/10000%1000; dat_12=10; d

17、at_13=x/1000%10; dat_14=x/100%10; dat_15=x/10%10; dat_16=x%10; dat_17=13; dat_20=y/100000; dat_21=y/10000%10; dat_22=10; dat_23=y/1000%10; dat_24=y/100%10; dat_25=y/10%10; dat_26=y%10; dat_27=13; write_com(0x80+0x01); delay(5); for(n=0;n4;n+) write_dat(ju_1n); delay(1); write_com(0x80+0x06); delay(5

18、); for(m=0;m8;m+) write_dat(asciidat_1m); delay(1); write_com(0x80+0x40); delay(5); for(i=0;i6;i+) write_dat(ju_2i); delay(1); write_com(0x80+0x46); delay(5); for(j=0;j8;j+) write_dat(asciidat_2j); delay(1); void qinpin() write_com(0x01); delay(27);void write_com(uchar com) portb&=bit(0); portb&=bit

19、(1); porte=com; portb|=bit(2); delay(1); portb&=bit(2);void write_dat(uchar dat) portb|=bit(0); portb&=bit(1); porte=dat; portb|=bit(2); delay(1); portb&=bit(2); /*pwm.c*/#include #include #include 0801.h void pwm() tccr0|=bit(wgm01)|bit(com00)|bit(cs00); ocr0=21;/*delay.c*/#include #include #include 0801.h void delay(uint ms) int j; for(;ms0;ms-) for(j=0;j1141;j+)nop();5、电路设计5.1 系统总体框图5.2 信号输入处理电路原理图5.3 ad转换电路原理图5.4 电源电源为ad芯片提供+5v电源,为输入处理电路提供12v电源,确保电路的正常稳定工作。要确保正负极接法的准确性。6、测试方案与测试结果6.1 测试方案

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论