原创 嵌入式教程_数字信号处理:2-18 模数转换(AD)实验(采集波形)

2023-8-21 15:14 803 4 4 分类: 处理器与DSP 文集: TL6748-PlusTEB操作教程

实验目的

本节视频的目的是掌握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

作者: 创龙教仪, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-4014694.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /2 下一条