关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于USB的音频信号分析仪设计

基于USB的音频信号分析仪设计

作者:时间:2012-12-21来源:网络收藏

2.3 接口
接口芯片选用CYPRESS公司的EZ-FX2芯片CY7C68013。CY7C68013有Slave FIFO和GPIF两种接口方式,本设计采用Slave FIFO模式,FPGA与USB硬件接口如图3所示。

本文引用地址:http://www.eepw.com.cn/article/202010.htm

c.JPG


图中D0~D7为数据总线,用于数据传输;INTI为中断标志,当传输完一组数据时产生一次中断。IFCLK为外部时钟输入;FIFOADR[1:0]选择四个FIFO中的一个,本设计中FIFOADR[1]直接接+3.3 V,FIFOADR[0]直接接地,选择用EP6传输数据,4倍缓存;FULL为FIFO满状态标志,低电平有效;SLWR为数据写入FIFO使能,低电平有效;FD[7:0]为8位数据线。
如上所述,系统选择了FIFO的异步模式进行数据传输的方式。在IFCLK的上升沿,如果SLWR有效(低电平有效),而数据有满足建立保持时间,数据就被写入FIFO,同时,若内部控制器发现FIFO己满,经过大约为10 ns的延时,FULL标志会被置成有效。

3 系统软件设计
3.1 USB固件设计
固件是在USB接口芯片加电后,由其他设备加载到CY7C68013中并在其中运行完成接口数据传输功能的一段程序,其作用是控制硬件来完成预期的设备功能。固件的主要功能包括:初始化工作、辅助硬件完成设备的重枚举过程、对主机的设备响应做出适当的响应、对中断的处理、数据的接收与发送、对外围电路的控制。
本系统固件程序采用Cypress公司提供的固件程序框架,在其初始化函数中添加了用户配置代码。该设计中异步自动从属FIFO数据传输的初始化代码如下:
d.JPG
3.2 USB驱动程序设计
USB驱动程序处于应用程序和设备端固件之间,使操作系统识别USB设备,并建立起主机端和设备端之间的通信。
VISA(Virtual Instrument SoftWare Architecture)是美国NI公司开发用来与各种仪器总线进行通信的高级应用程序编程接口(API)。它不受平台、总线和环境的限制,可用来对USB、GPIB、串口、VXI、PXI及以太网等进行配置、编程和调试。因此本系统利用LabVIEW的VISA来对USB的底层驱动经行开发,具体步骤如下:
(1)使用Driver Development Wizard创建INF文档。
(2)安装INF文档,并安装使用INF文档的USB设备。
(3)使用NI-VISA Interactive Control对设备进行测试。
USB底层配置正确以后,选择VISA类为USBRaw,计算机会自动刷新选择的USB设备,利用VISAOpen,VISA Close,VISA Write和VISA Read
四个节点即可实现和USB设备的双向通信。与USB设备的通信过程分为4个步骤:
(1)由VISAOpen函数打开VISA resource name端口指定的USB设备;
(2)通过VISA Write函数向USB设备发送控制命令启动设备工作,USB设备接收到控制命令后开始采集数据并将采集到的数据按要求发送到数据缓冲区;
(3)通过VISA Read函数将数据读出;
(4)通过VISA Close函数关闭设备。
3.3 LabVIEW程序设计
LabVIEW是美国NI公司开发的一种图形化编程软件,具有良好的图形显示功能,提供种类齐全的各种波形图和波形图表控件,能够以多样化的方式直观地显示各种信号波形。其次LabVIEW拥有数量众多、功能齐全的信号分析与处理子VI,供用户调用,从而组合实现出所需要的信号处理功能。同时LabVIEW具有良好的扩展性,无论是通过附加工具包扩展,还是通过其他平台(如Matlab/Simulink)的接口扩展,都能很方便地进一步扩展其信号处理功能。



评论


相关推荐

技术专区

关闭