ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:232.26KB ,
资源ID:28993039      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28993039.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Atmega128的串行ADTLV1544设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于Atmega128的串行ADTLV1544设计.docx

1、基于Atmega128的串行ADTLV1544设计目录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、测试方案与测试结果176.1 测试方案176

2、.2 测试条件与仪器176.3 测试结果与分析17 6.3.1 测试结果(数据)18 6.3.2 测试分析与结论.18附录1 参考文献 19附录2 系统原理图 19 1、设计任务 设计制作一个AD转换电路,要求使用Atmega128对测量数据进行处理及显示。AD转换芯片要求使用10位串行模数转换芯片TLV1544。2、芯片简介2.1 特点转换时间10 微秒 10 位分辨率的ADC 可编程掉电模式 1A 的. 宽范围的单电源供电为2.7 V 至5.5 V 模拟0 V 至VCC 输入范围 内置模拟4路复用模拟输入通道 TMS320 系列 DSP 和微处理器SPI 和 QSPI 的兼容串行接口 转换

3、结束标志(EOC) 固有的采样和保持功能 内建自测试模式 可编程电源和转换率 为扩展采样的异步起动转换 硬件 I / O 输入时钟相位调整2.2 引脚说明名称 序号 属性 说明 A0-A3 6-9 I 模拟输入端口。内部的模拟输入多路复用。 (对于一个源阻抗大于1k的,应该用异步启动来增加采样时间)。 CS 16 I 片选。CS 的下降沿复位内部计数器和控制端口,在最快时间内使能 DATA IN,DATA OUT和I/O CLK。CS上升沿在建立时间内禁止DATA IN, DATA OUT 和I/O CLK 。 CSTART 10 I 采样/转换启动控制。 CSTART控制了从选定的多重通道模

4、拟输入的采样开始。它的下降沿启动模拟输入信号采样。上升沿置于保持模式的采样和保持功能,并开始转换。当CS 为高时,CSTAR 是受I / O CLK 独立控制的。其低电平控制开关电容阵列的采样周期。如果不使用CSTART时,将其连接到VCC 。 DATA IN 2 I 串行数据输入。4 位串行数据输入控制字选择所需的模拟输入通道和测试电压在下一个正常周期内被实现。这些控制字也可以设置转换率,使能掉电模式。当在微处理器模式下运行时,数据的 MSB 首先输入,随着前4个I / O 时钟的上升沿或下降沿。 DATA OUT 1 O 三态的A / D 转换结果串行输出。当CS为高电平时数据输出端口呈高

5、阻抗态,当CS为低或在FS 之后【在DSP (模式)】。有了一个有效的CS 信号,数据输出被删除从高阻抗状态,驱动级的逻辑对应的最高位或最低有效位值以前的转换结果。数据输出的变化在降低 (微处理器模式)或增加(数字信号处理器模式)的I / O 时钟边缘。 EOC 4 O 结束转换。EOC 从高逻辑电平到低的逻辑电平在第十上升或第十下降(DSP模式)的I / O 时钟边缘仍然保持很低,直到转换完成和数据的准备转移。EOC 也可以表明,该转换器正忙。 FS 13 I DSP 的同步输入。FS 表明一个串行数据到启动或出设备。当与微处理器的接口设备时FS 是绑到VCC, GND 11 返回地面的内部

6、电路。所有电压测量方面的接地,除非另有说明。 INV CLK 12 I 倒时钟输入。当倒置的I / O 时钟是作为输入源使用时INV CLK 是接GND 的,这会影响双方的微处理器和DSP 接口。如果I/OCLK 不倒置,INV CLK 是绑到VCC 的。INV CLK 也可以调用一个内置的测试模式。 I/O CLK 3 I 输入/输出时钟。的I / O 时钟接收串行I / O 在这两种模式时钟输入并执行以下四个每种模式功能:微处理器模式当INVCLK =的VCC,I / O 的时钟时钟到输入数据输入数据的4 位寄存器的第一个四上升边缘的I / O 的政务后与多路复用地址后,可用时钟上升沿第四

7、。当智富时钟=接地,输入数据位时钟的第一个下降沿,而不是4 个。在第四次下降的I / O 时钟,对选定的多重输入模拟输入电压的优势开始充电电容阵列,并继续这样做,直到第十上升沿我只有在取样周期延长/输出时钟的时间,以便在那里对 CSTART 确定何时结束采样周期。输出数据位变化的第一个下跌的I / O 时钟边缘不论智富时钟条件10。I / O 的时钟转移到内部的状态机转换控制我的第十上升的边缘/输出时钟不论智富时钟条件。 REF+ 15 I 上参考电压(名义上的VCC )。最大输入电压范围取决于应用之间的电压差到REF +和REF 的-。 REF- 14 I 较低的参考电压(名义上地) VCC

8、 5 I 正电源电压。2.3 电气特性电源电压范围,Vcc - 0.5 V to 6.5 V 输入电压范围, VI - 0.3 V to VCC + 0.3 V 输出电压量程, VO - 0.3 V to VCC + 0.3 V 正极参考电压,Vref+ - VCC + 0.1 V 负极参考电压,Vref - 0.1 V除了高速转换器和多功能的控制能力,该设备具有一个片上4 通道多路复用器,可以选择任何的8 个模拟输入或任何3 个内部自测电压之一。在采样和保持功能是自动的,除了延长采样周期,其中采样周期是由异步CSTART 下降沿开始。在A / D 转换结束,最终的转换(平机会)的输出变为高电

9、平,表示转换完成。TLV1544 的设计与操作的电源电压低功率消耗非常广泛。省电功能是进一步通过软件编程的掉电模式和转换率提高。该转换器在设备注册功能差的高阻抗输入,方便参考比例转换,缩放,并从逻辑和电源噪声模拟电路隔离。一个开关电容设计使低错误转换在整个工作温度范围。2.4 时序分析(微机模式下) 此模式下,在CS 的下降沿复位内部计数器和控制端口,在最快时间内使能 DATA IN,DATA OUT和I/O CLK。在I/O CLK的前4个时钟脉冲的上升沿写入方式控制字的4位数据,MSB首先发送。再经过6个时钟脉冲完成地址的输入。方式控制字是来选定模拟输入通道以及参考电压。在写入方式控制字之

10、后,再经过10个时钟脉冲来完成模数转换,EOC的下降沿标志转换结束。然后通过继续写入10个时钟脉冲来读取上一次转换的结果,第一个脉冲得到的是MSB,最后一个脉冲得到的是LSB。整个写读过程需要30个时钟脉冲,在下一次读取数据的时候还需要重复上述过程。 此模式下,在CS 的下降沿复位内部计数器和控制端口,在最快时间内使能 DATA IN,DATA OUT和I/O CLK。在I/O CLK的前4个时钟脉冲的下降沿写入方式控制字的4位数据,MSB首先发送。再经过6个时钟脉冲完成地址的输入。方式控制字是来选定模拟输入通道以及参考电压。在写入方式控制字之后,再经过10个时钟脉冲来完成模数转换,EOC的下

11、降沿标志转换结束。然后通过继续写入10个时钟脉冲来读取上一次转换的结果,第一个脉冲得到的是MSB,最后一个脉冲得到的是LSB。整个写读过程需要30个时钟脉冲,在下一次读取数据的时候还需要重复上述过程(完全类似于上一种模式)。3、系统方案设计本系统方案根据TLV1544的输入信号要求设计相对应的输入信号处理模块,并根据芯片的几种工作模式来选择芯片的连接电路以及程序的设计。程序的设计是由芯片驱动程序设计、采样数据处理程序设计、显示程序设计等三个模块组成。电路由电压跟随器、运放比例缩小电路、电位抬高电路、反相等比跟随电路、电压跟随器以及AD转换电路等电路模块组成。真有效值计算公式:3.1 信号输入处

12、理模块的论证与选择根据TLV1544的测量信号输入要求“0.3 V to Vcc + 0.3 V”可见,输入信号要求单极性且峰峰值不得超过电源电压0.3V。一般的输入信号均为双极性,如果输入信号峰峰值很大就需要将其等比缩小并将其的基准电压值抬高。比例缩小电路:方案一:通过电阻网络缩小信号幅值。即通过分压电阻来实现,此方案对电阻的精确度要求很高,别电阻容易受温度影响,最后的结果误差可能很大,再者大电阻对信号的能量有损耗并且都含有一定的寄生电容,也会对分压效果有很大影响。所以放弃此方案。方案二:通过运放缩小信号幅值。根据运放组成的比例放大电路的原理来构成比例缩小电路。即,只需要增大输入电阻的阻值以

13、及减小反馈电阻的阻值来完成放大比例小于1的缩小。运放的精度比较高,且受外界影响比较小,所以选择此方案。通交隔直电容 在缩小电路后面加一个4.7uf的电解电容,来防止抬高电位的直流量灌入缩小运放中。因为比例缩小运放的输出阻抗很小,而后一级的等比跟随输入阻抗很大,所以必需加通交隔直电容。抬高电位电路 用电阻分压网络来完成。等比跟随电路因为AD转换要求输入阻抗很小来完成最大功率传输,所以前级应加电压跟随器。由于前级比例缩小电路将信号反相,所以此极只能用反相等比运放完成电压跟随器的功能。电压跟随器 本电路在前后都加上了电压跟随器是为了降低外界对输入信号的影响。实验结果表示输出波形很完美,几乎没有任何杂

14、波。3.2 AD转换模块的论证与选择采用TLV1544在微机模式下的方式一进行编程与实验。3.3 软件程序模块的论证与选择由芯片驱动程序设计、采样数据处理程序设计、显示程序设计等三个模块组成。1 芯片驱动程序是根据时序分析里面,对微机模式下的方式一时序图来编写程序。2 采样数据处理是通过冒泡发得到数据中的最大值和最小值。通过均方根运算得到其真有效值。4、系统理论分析与计算 4.1 信号输入处理电路的分析与计算比例缩小等比跟随 4.2 AD转换电路的分析与计算 通过程序调试当设定采样点数为360个时,误差接近为零。 4.3软件程序的分析与计算实验程序:/*tlv1544.h*/#define u

15、char unsigned char#define uint unsigned int #define ulong unsigned long#define _1602C_P PORTF#define _1602C_D DDRF#define _1602D_P PORTE#define _1602D_D DDRE#define OUT_P PORTA#define OUT_D DDRA#define IN_P PORTC#define IN_D DDRC/*main.c*/#include #include #include #include tlv1544.h#define CS 2 /PA

16、2 输出#define DO 0 /PC0 输入#define A 1 /PA1 输出#define CLK 0 /PA0 输出#define N 480#define V 5.0uint DATN;float V_max,V_min;float V_effective;void init()/端口初始化函数 OUT_P=0XFF;/对ADC芯片的 CS、A、CLK的控制 OUT_D=0XFF; /输出数据 IN_P=0X00;/对ADC芯片的DO的数据接收 IN_D=0X00; /接收数据 _1602C_P=0XFF; _1602C_D=0XFF; _1602D_P=0XFF; _1602D

17、_D=0XFF;void main() uint c1,c2,c3,i; init(); while(1) for(i=0;iN;i+)/采样数据,放入数组 show_1602(DATi,0); DATi=TLV1543(0X00); NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP(); NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP(); RMS(); c1=(V*V_max/1023)*10000; c2=(V*V_min/1023)*10000; c3=V_effective*10000; show_

18、1602(c1,c3); uint TLV1543(uchar port)/读数据 uchar ah=0,al=0; uint i,j,ad=0x0000; /确定得到数据的格式 OUT_P|=BIT(CS); OUT_P&=BIT(CLK); OUT_P&=BIT(CS);/片选使能 port=4; for(i=0;i4;i+) if(port&0X80) OUT_P&=BIT(CLK); OUT_P|=BIT(A); OUT_P|=BIT(CLK); else OUT_P&=BIT(CLK); OUT_P&=BIT(A); OUT_P|=BIT(CLK); port=1; for(i=0;

19、i6;i+) OUT_P&=BIT(CLK); OUT_P|=BIT(CLK); for(i=0;i10;i+) OUT_P|=BIT(CLK); OUT_P&=BIT(CLK); OUT_P|=BIT(CS); NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP(); OUT_P&=BIT(CS); for(i=0;i2;i+)/取D9,D8位数据 OUT_P|=BIT(CLK); ah = 1; if(PINC&BIT(0) ah+=0x01; /上升沿读数据 OUT_P&=BIT(CLK); for(i=0;i8;i+)/取D7D0数据 OUT_P

20、|=BIT(CLK); al=1; if(PINC&BIT(0) al+=0x01; OUT_P&=BIT(CLK); OUT_P&=BIT(CS); ad=(uint)ah; ad=8; ad+=(uint)al;/得到AD值 return ad;/返回10位ad采样数据void RMS() uint 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/1023; V_ef

21、fective+=convert*convert; V_effective=sqrt(V_effective/(N); /*1602.c*/#include #include #include tlv1544.h const uchar ju_1=MAX:;const uchar ju_2=T-RMS:;const uchar ASCII=48,49,50,51,52,53,54,55,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=

22、0,; uchar m,n,i,j; _1602C_P&=BIT(2); write_com(0x38); delay(5); write_com(0x0c); delay(5); write_com(0x06); delay(5); DAT_10=x/100000; DAT_11=x/10000%10; DAT_12=10; DAT_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

23、%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); 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_c

24、om(0x80+0x46); delay(5); for(j=0;j8;j+) write_dat(ASCIIDAT_2j); delay(1); void write_com(uchar com) _1602C_P&=BIT(0); _1602C_P&=BIT(1); _1602D_P=com; _1602C_P|=BIT(2); delay(1); _1602C_P&=BIT(2);void write_dat(uchar dat) _1602C_P|=BIT(0); _1602C_P&=BIT(1); _1602D_P=dat; _1602C_P|=BIT(2); delay(1); _

25、1602C_P&=BIT(2); /* delay.c*/#include #include #include tlv1544.h void delay(uint ms) int j; for(;ms0;ms-) for(j=0;j114;j+)NOP();5、电路设计5.1 系统总体框图5.2 信号输入处理电路原理图5.3 AD转换电路原理图5.4 电源电源为AD芯片提供+5V电源,为输入处理电路提供5V电源,确保电路的正常稳定工作。要确保正负极接法的准确性。6、测试方案与测试结果6.1 测试方案 将电路分级进行测试,也就是说,从方波振荡信号产生到最后波形合成,一级一级的检测。确认一级准确无

26、误后,再接上下一级电路,测量前后两级是否正常工作。所有模块板子都要保证所有地线共线、电源线共线。6.2 测试条件与仪器测试条件:检查无误,硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。测试仪器:数字万用表、示波器、稳压电源。6.3 测试结果与分析6.3.1 测试结果(数据)f(KHz)VMAX(源)VMAX(测)VRMS(源)VRMS(测)5.072.582.601.761.7710.012.582.601.761.7615.532.582.601.751.7620.102.582.601.751.7625.862.582.621.751.7730.762.582.621

27、.751.7735.612.582.621.741.7740.892.582.621.741.7645.632.582.621.741.7650.452.582.621.741.76 6.3.2 测试分析与结论 根据实验数据,随着输入信号频率的增加,误差也随着增加。误差基本保持在40mv以内。误差率为:1.5%。 在测试过程中,AD芯片的输出很不稳定,时有时无,通过多次实验观察发现,将示波器探头接触到DATA-OUT时,输出就很稳定,由此联想到示波器本身含有1M的阻抗以及30pF的电容,所以在DATA-OUT输出端口通过一个10pF的小电容接地,输出稳定。附录1 参考文献1 邱关源、罗先觉 主编电路。北京:高等教育出版社。2006.52 康光华 主编模拟电子技术基础。

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

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