ADDA实验报告.docx
《ADDA实验报告.docx》由会员分享,可在线阅读,更多相关《ADDA实验报告.docx(13页珍藏版)》请在冰豆网上搜索。
ADDA实验报告
实验七A/D(外部)实验
—、实验目的
1.熟悉使用外部AD转换的基本原理。
2.掌握AD7887的技术指标和常用方法
2.掌握并熟练使用DSP和AD7887的接口及其操作
二、实验设备
计算机,CCS3.1版本软件,DSP仿真器,E300实验箱,DSP-54XPCPU板,信号线,示波器
三、实验原理
1.AD7887是一种可工作在2.7~5.25V单一电源下的高速、低功率12位ADC,具有125kSPS的吞吐率。
其输入端相当于一个采样周期为500ns的单端采样器,任何信号经转换后可以二进制编码形式由输出端输出。
AD7887具有单/双通道两种工作模式和灵活的电源管理模式,并可通过芯片上的控制寄存器进行转换。
在缺省的单通道模式中,AD7887还可作只读ADC。
芯片采用8引线SOIC的μSOIC的封装。
AD7887的主要特点如下:
◆是目前体积最小的12位单/双通道ADC;
◆采用CMOS结构以确保低功耗;
◆具有电源自动关闭形式;
◆在缺省模式下可用作只读ADC;
◆具有通用串行I/O端口。
下面是对AD7887应用的一些简单说明(具体的信息请参看AD7887的数据手册)
AD7887的内部原理图如下:
AD7887的引脚说明
1脚(CS)
片选引脚,低电平有效。
该脚提供2个功能,一个是使AD7887开始工作;另一个是激励串行数据的传输。
当AD7887工作在缺省值模式下时,CS管脚也可作为关闭管脚,即当CS接高电平时,AD7887处于关闭模式。
2脚(VDD)
电源输入脚。
VDD的范围为2.7~5.25V,当AD7887用于双通道工作模式时,该管脚用来提供参考电压。
3脚(GND):
接地脚。
4脚(AIN1/VREF)
模拟输入/参考电压输入端。
在单通道模式下,该脚用作参考电压输入,此时该脚与内部参考电压(+2.5V)相连或由外部参考电压驱动,其外部参考电压范围为1.2V~VDD;在双通道模式下,该管脚用作第二个模拟输入端AIN1,此时的电压范围为0~VDD。
5脚(AIN0)
模拟输入端。
在单通道模式下,该脚的模拟输入电压范围为0~VREF;在双通道模式下,其模拟输入电压范围为0~VDD。
6脚(DIN)
数据输入。
在SCLK的每个上升沿,数据由该管脚送入AD7887的控制寄存器。
若把DIN和GND连接起来,那么,AD7887将为缺省的单通道只读ADC。
7脚(DOUT)
数据输出端。
AD7887的转换结构以串行数据流的形式从该脚输出,其数据流中包括4个前导0以及其后的12位转换数据。
8脚(SCLK)
串行时钟输入端。
用于为数据的存取、写控制寄存器以及A/D转换提供时钟脉冲。
AD7887的控制寄存器如下:
AD7887的控制寄存器是一个8位只写寄存器。
在SCLK的每个上升沿数据由DIN脚送入AD7887并同时送至控制寄存器。
该数据的传输共需16个连续的时钟脉冲,而有效信息只在前8个上升沿被送入控制寄存器。
MSB为数据流的第一位。
控制寄存器的位功能如下:
位
简单说明
7
不必关心的位。
6
该位必须为0以保证AD7887正常工作
5
参考位。
该位为0时,芯片上的参考电压有效,1时无效
4
单/双通道选择。
该位为0时,荼在单通道模式,AIN1/VREF管脚用作VREF功能;该位为1时,工作在双通道模式,此时VDD为参考电压,AIN1/VREF管脚用作AIN1功能以作为第二个模拟输入通道。
为使AD7887获得最好的效率,在双通道模式中,应使内部参考电压无效,即REF=1
3
通道位。
当芯片工作在双通道模式时,该位决定下一步转换哪个通道。
在单通道模式中,该位始终为0
2
该位必须为0以保证AD7887正常工作
1.0
电源管理模式选择。
用来决定AD7887的4种工作模式
电源管理模式选择说明如下:
PM1
PM0
工作模式
0
0
模式1.在这种模式下,当CS=1,AD7887不工作;CS=0时,AD7887正常工作。
即AD7887在CS的下降沿开启电源,在CS的上升沿关闭电源
0
1
模式2。
在这种模式下,无论管脚的状态如何,AD7887的电源始终开启
1
0
模式3。
在这种模式下,无论管脚的状态如何,AD7887自动在每次转换结束关闭电源
1
1
模式4。
在这种备用模式下,AD7887的部分电源关闭,而芯片上的参考电压仍然开启。
该模式与模式3有些相似,但电源开启较快。
且REF应该为0,这样才能确保芯片上的参考电压有效
2.样例实验电路连接如下:
说明:
BFSR0和BFSX0短接后和SPISTE相连,作为AD7887的CS片选信号
BCLKR0和BCLKX0短接后和SPICLK相连,作为AD7887的时钟信号,注意该时钟信号通过一个三极管(2SC3356)后,时钟信号极性变反了。
BDR0和SPIS0MI相连,CPU采集信号的输入端。
BDX0和SPIIM0相连,是CPU向AD7887发送指令输出端。
3.实验是利用CPU的SPI来进行波形数据采集,程序的框图如下:
4.本实验中SPI的设置依据芯片工作时序图(如下):
DIN输入的数据是:
0x2100(高八位是AD芯片控制寄存器设置的数据(D7-D0)
DOUT输出的数据是:
芯片AD转换后的16位数字信号
四、实验步骤和内容
1.E300板上的开关SW4的第二位置ON,其余OFF.SW7全部置ON。
其余开关全部置OFF。
2.用导线连接E300底板“Signalexpansionunit”的2号孔接口“SIN”到“Signalexpansionunit”的2号孔“AD_IN0”;(本样例实验只进行对AD_IN0的信号操作)
3.运行CodeComposerStudio(CCS3.1);(ccs3.1需要“DEBUG→Connect”)
4.用“Project\open”打开系统项目文件\normal\07SPI_AD\SPI_AD.pjt。
5.编译全部文件并装载“\Debug\SPI_ad.out”;
6.单击“Debug\Gomain”跳到主程序中,在主程序中“设置软件断点”加软件断点。
7.单击“Debug\RUN”,程序运行到断点处;
8.点击“View—Graph-Time/Frenquence”设置观察图形窗口
9.单击“Debug\Animate”全速运行程序;
10.单击“Debug\Halt”停止程序,打开程序,理解程序中的语句。
11.关闭“CCS”结束实验
实验八DA实验
—、实验目的
1.熟悉DA转换的基本原理。
2.掌握AD7303的技术指标和常用方法
3.掌握并熟练掌握使用DSP和AD7303的接口及其操作
4.熟悉使用IO口模拟SPI的编程方法。
二、实验设备
计算机,CCS3.1版本软件,DSP仿真器,E300实验箱,DSP-54XPCPU板
三、实验原理
1.AD7303的技术指标和常用方法如下:
DA转换芯片采用AnalogDevices公司的AD7303。
该芯片是单极性、双通道、串行、8位DA转换器,操作串行时钟最快可达30M,DA转换时间1.2μs采用SPI串行接口和DSP连接。
DA输出通过放大电路,可以得到0~5V的输出范围。
DA输出接口在“CPLD单元”的右上角,两个2号孔“D/A输出1、D/A输出2”分别对应AD7303的“OUTA、OUTB”。
AD7303的功能框图:
AD7303的接口时序:
AD7303的输入数字量和输出电压的关系:
输入AD7303的数据流如下:
数据位介绍如下:
(本文以AD7303数据文件内容为依据)
样例实验中,输入AD7303控制寄存器的数据位(高8位)如下:
ad7303_CTRLA0x20//通道A选择指令00100000
ad7303_CTRLB0x24//通道B选择指令00100100
2.使用IO口模拟SPI功能的编程方法:
本实验是利用CPLD(E300板子上)编码来扩展I/O口,F2407CPU利用I/O口来模拟SPI,从而达到向AD7303芯片传送指令和数据的目的。
我们利用CPLD编程来提供三个模拟的I/O(如下表:
D7-D5位),我们按照串口通信的方式,不停的在该I/O口的存储空间里写入数据,此时的数据信息(16位)按照从高位到低位的顺序传输入到AD7303芯片的管脚上.
数据传输时序图如下:
下表则是扩展的I/O口空间。
CPLD_CTRL_REG(W):
基本地址+0x0002;(只写)
D7
D6
D5
D4
D3
D2
D1
D0
7303_CS
7303_DIN
7303_SCLK
AIC23_CS
AIC23_CLK
AIC23_DIN
LCD_RST
LED_CTRL
1
1
1
0
0
利用表中的D7,D6,D5三位来扩展出三个I/O口.
具体的实现方法请参看实验程序.
四、实验步骤和内容
1.E300板上的开关SW4的第1位置ON,其余OFF.其余开关全部置OFF。
2.运行CodeComposerStudio(CCS3.1);(ccs3.1需要“DEBUG→Connect”)
3.打开系统项目文件\normal\07_DA\da7303.pjt
4.编译全部文件并装载“da7303.out”文件;
单击“Debug\Gomain”跳到主程序处
5.单击“Debug\Animate”全速运行程序;
6.使用万用表或者示波器观察输出结果(如下图)。
(负表笔联接到2号口AGND,正表笔联接到2号口DOUTA(或者DOUTB),可以观察到从0到最大值之间的阶越跳变,最大值的幅度和R89,R90可调电阻的调节只有关)。