DSPwilliam hill官网
直播中

创龙教仪

1年用户 219经验值
擅长:嵌入式技术 EDA/IC设计
私信 关注

嵌入式教程_DSP教学实验箱:2-18 模数转换(AD)实验(采集波形)

2-18 模数转换(AD)实验(采集波形)

实验目的

本节视频的目的是掌握EMIFA的使用,了解AD7606的芯片特性和使用,并实现基于AD7606采集正弦波。

实验原理

AD9833原理图

找到波形发生器,可查看相关控制引脚。本次实验采集的波形是由AD9833输出的。

image.png

AD7606原理图

找到AD采集,可查看相关控制引脚,同时可看到ADC输入的V1-V8通道分别对应CON29~CON36口。

image.png

image.png

波形发生器

TL6748-PlusTEB实验箱采用板载波形信号发生器,波形信号发生器采用的芯片是AD9833。

AD9833是一款低功耗、可编程波形发生器,能够产生正弦波、三角波和方波输出。各种类型的检测、信号激励和时域反射应用都需要波形发生器。输出频率和相位可通过软件进行编程,调整简单。频率寄存器为28位,时钟速率为25MHz时,可以实现0.1Hz的分辨率;而时钟速率为1MHz时,则可以实现0.004Hz的分辨率。AD9833的输出电源范围是38mV~650mV。

AD9833

AD9833具有一个标准串行接口,使得该器件可以直接与数个微处理器接口。该器件采用外部串行时钟来向器件中写入数据或控制信息。通过该串行接口DSP可使用程序控制AD9833产生正弦波、三角波和方波输出。

image.png

A/D转换

A/D转换,即模数转换,是指将一个输入电压信号转换为一个输出的数字信号。一般分为四个步骤进行:取样、保持、量化和编码。前两个步骤在取样-保持威廉希尔官方网站 中完成,后两步骤则在ADC中完成。

AD7606

TL6748-PlusTEB实验箱上的AD采集是基于 ADI AD7606 芯片进行设计的,具体特性如下:

八通道;

16bit采样;

支持串行和并行读取方式;

支持全部通道200K 采样率并行采集和转换;

支持真正±10V 或±5V 的双极性信号输入。

模数转换工作过程

AD7606上8个通道的数据是同时采集,轮流转换的。

模数转换模块接到启动转换信号后,按照排序器的设置,开始转换第一个通道的数据;经过一个采样时间的延迟后,将采样结果放入转换结果寄存器保存;按顺序进行下一个通道的转换;如果为连续转换方式则从新开始转换过程;否则等待下一个启动信号。

image.png

EMIFA

(External Memory Interface)

即外部存储器接口,可实现DSP与不同类型存储器(SRAM、Flash RAM、DDR-RAM等)的连接。具体可以分为EMIFA和EMIFB。

外部存储器接口主要用来同并行存储器连接,这些存储器包括SDRAM、SBSRAM、Flash、SRAM存储器等,外部存储器接口还可以同外部并行设备进行连接,这些设备包括并行A/D、D/A转换器、具有异步并行接口的专用芯片,并可以通过外部存储器接口同FPGA、CPLD等连接。

EMIFA接口特性

(1)异步操作:

支持SRAM,NAND Flash ,NOR Flash,FPGA等,包括AD7606

最大支持16位数据总线 和23位地址总线,在C6748中只能支持到16位

具有4个片选(EMA_CS[5:2]),只能用于异步操作

连接NAND Flash时, NAND Flash控制器支持1-bit和4-bit的ECC校验

(2)同步操作:

支持16-bit的SDRAM

有一个单独的SDRAM(EMA_CS[0])

EMIFA功能框图。

EMIFA的请求信号的有三个来源:CPU、EDMA和主外设。

右侧的三部分接口分别是:SDRAM的控制信号管脚和异步操作模式下的控制信号管脚以及共用部分的数据总线和地址总线。

image.png

EMIFA与AD7606的连接

连接异步设备时可以有4个片选:EMA_CS[n],n=2,3,4,5

控制信号引脚要根据外设的时序要求使用,AD7606的连接中只用到了片选信号,其他的没有用到。

image.png

程序流程设计

程序流程设计中首先要进行外设使能配置和DSP中断初始化,接着初始化LCD的显示与触摸,然后初始化AD7606,接着初始化AD9833并输出波形,启动AD7606采集并将采集的波形显示到LCD上。最后进行触摸检测,控制AD7606启动和暂停。

image.png

方向配置源码

管脚方向配置

使用StarterWare 库函数将 GPIO 口配置为输出模式。相关函数通过“gpio.h”文件引用。

StarterWare API 接口

GPIODirModeSet(SOC_GPIO_0_REGS, 1, GPIO_DIR_OUTPUT);

image.png

数据配置源码

数据寄存器配置

使用StarterWare 库函数设置GPIO输出值。

相关函数通过“gpio.h”文件引用。

StarterWare API 接口

GPIOPinWrite(SOC_GPIO_0_REGS, 3, GPIO_PIN_LOW);

配置GPIO输出值的函数源码和函数使用说明可以查看gpio.c。其中,第一个参数是GPIO的基地址,第二个参数是GPIO的编号,第三个参数设置GPIO的电平。

image.png

操作现象

实验设备

image.png

硬件连接

(1)使用公头对公头SMA数据线连接波形发生器和ADC输入的V1通道

(2)连接仿真器和电脑的USB接口,

(3)将拨码开关拨到DEBUG模式01111,

(4)连接实验箱电源,拨动电源开关上电。

image.png

软件操作

导入工程,选择Demo文件夹下的对应工程

编译工程

将CCS连接实验箱并加载程序

点击运行程序

LCD屏幕会显示采集的正弦波

点击一下LCD屏,采集将停止,再次点击恢复采集。

实验结束后,先点击黄色按钮暂停程序运行,再点击红色按钮退出CCS与实验箱的连接,最后实验箱断电即可。

image.png

回帖(1)

刘杰

2023-10-10 10:03:33
33的输出可以直接连接到EMIFA的外部总线上,然后再通过AD7606进行采集。

AD7606是一款12位、8通道、高速、低功耗的模数转换器(ADC)。它采用了一种混合信号设计,包括用于带宽限制和放大的模拟前端,以及用于精密模数转换的12位ADC。AD7606可以实现高达200kSPS的采样速率,适用于需要高速和精密ADC的各种应用。

实验步骤
1. 接线:将波形发生器的信号输出连接到AD7606的输入端口上,同时将AD7606的输出接口连接到FPGA的EMIFA接口上。

2. 程序编写:使用Verilog HDL编写程序,实现对AD7606的控制和数据采集,同时对采集到的波形数据进行处理和显示。

3. 下载程序:将编写好的程序下载到FPGA开发板中,通过调试进行功能验证。

4. 调试和优化:根据实验效果进行调试和优化,保证采集到的波形数据准确可靠。

实验结果
经过实验,可以成功采集到正弦波的波形,并将数据进行处理、显示和存储。通过实验可以了解到EMIFA的使用以及AD7606的特性和应用,为后续的嵌入式系统设计提供了基础支持。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分