欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 科技论文 > 计算机论文

基于FPGA软核的高速数据采集系统设计-论文网

时间:2014-10-07  作者:沈维聪,陈东龙
FIFO控制单元的工作有以下两种特殊情况:

(1)在没有来自PC机的控制命令情况下。如果FIFO_RD_EN=1,则FD[15:0]的数据方向为FPGA向EZ-USBFX2传输方向(图3-4表示为FD_OUT[15:0]),即数据从FIFO输出至EZ-USBFX2;如果此时FIFO_RD_EN=0,则FD[15:0]呈高阻态。

(2)在有来自PC机的控制命令情况下。FD[15:0]的数据方向为PC机向FPGA传输方向(图3-4表示为FD_IN[15:0]),即PC机的控制命令写入到命令存储器中。此时命令存储器会根据命令控制ADC_START信号,以控制ADC数据采集的启停。

无论上述哪种情况下,如果FIFO_CLEAR=0,FIFO_WR_EN=1且FIFO_FULL=0时,FIFO_WR_CLK有相应的时钟信号输入,此时ADC转换完成的数据随写时钟通过DIN[15:0]写入FIFO中。

3.3USB控制单元

USB控制单元的主要完成两种功能。一是实现通过USB接口把数据传输到PC机。此时FIFO中的数据先写入EP6,当EP6写满时,CY7C68013芯片将自动将数据打包传输到PC机。二是完成USB接口接收并存储PC机传输来的数据。此时数据从PC机通过USB接口暂存到EP2,然后读取EP2的数据到USB控制单元的命令寄存器中。USB控制单元状态机工作工程如下:

(1)当FPGA上电或者复位后,状态机进入空闲状态(IDEL);

(2)在空闲状态下,当EP2不空(EP2_EMPTY=0)时,进入读指令状态(READ_COMMAND),此时令EP_ADDR[1:0]=00,FD[15:0]的传输方向由EP2指向FPGA,控制单元从EP2中读出PC传来的控制指令。

(3)随后进入存储指令状态(SOTRE_COMMAND),控制单元把传来的控制指令存储到FIFO控制单元内部的指令存储器中。同时控制单元置FIFO_CLEAR=1,即把FIFO控制单元内FIFO数据清空,以准备存储新的ADC转换数据。任务完成后回到空闲状态。

(4)在空闲状态下,当EP2为空(EP2_EMPTY=1),而FIFO控制单元内FIFO不为空(FIFO_EMPTY=0)且EP6不满(EP6_FULL=0)时,进入写数据状态(WRITE_DATA)。为优先处理PC通过EP2传来的命令,因此优先查看EP2的空状态。在写数据状态下,EP_ADDR[1:0]=10控制单元选中CY7C68013的EP6,FD[15:0]方向由FPGA指向EP6,同时FIFO_RD_CLK产生一个时钟波形,FIFO_RD_EN置高电平,一个数据从FIFO控制单元内FIFO中读出。

(5)随后进入传输数据状态(TRANS_DATA),该状态下,令~SLWR=0,数据从FIFO控制单元内FIFO写入CY7C68013的EP6中。任务完成后进入空闲状态。

USB接口控制单元状态机示意图如图7所示。

图7USB接口控制单元状态机示意图

4USB接口芯片程序设计

4.1USB固件程序

固件程序是一种嵌入在硬件设备中的软件,通过固件程序的执行,硬件设备可以被完成各种特定的功能。在本设计中,CY7C68013芯片的固件程序是整个系统传输的控制核心。它主要完成以下五种工作:

(1)CY7C68013芯片的初始化。

(2)辅助硬件完成设备的重新枚举。

(3)进行中断的处理。

(4)数据接收与发送。

(5)对外围电路进行控制。

Cypress公司为提高用户的开发效率,提供了EZ-USBFX2LP开发套件,里面包含了一个完整的固件程序架构。此架构主要包含了EZ-USBFX2LP芯片的设备初始化、处理标准USB设备请求与电源管理等服务功能。用户在开发时,只需使用KeiluVision3在固件架构下提供相应的USB描述符以及编写外部设备功能程序代码。固件架构流程图如图8所示。

图8固件架构流程图

主函数是固件架构流程的具体实现,主函数首先对内部状态变量进行初始化,随即调用TD_Init()进行用户设备初始化,TD_Init()函数运行完成后,使能中断,随后进入主循环。

4.2USB驱动程序设计

USB驱动程序位于固件程序与应用程序之间,是USB设备与PC机的通信接口。Cypress公司为用户设计了一款通用驱动程序包(ezusb.sys),可以完成应用程序与USB接口的通信与控制任务。因此本设计使用该通用驱动程序。

5应用程序设计

应用程序通过USB驱动程序与USB接口进行通信。本设计使用LabVIEW设计应用程序。LabVIEW为用户提供了简单、直观、易学的图形编程法,因此相比于传统的编程语言它能大量地节省开发时间。本设计的LabVIEW应用程序界面如图9所示。

查看相关论文专题
加入收藏  打印本文
上一篇论文:嵌入式Linux操作系统实时性的研究_调度策略-论文网
下一篇论文:基于FPGA逻辑分析仪的设计_只读存储-论文网
科技论文分类
科技小论文 数学建模论文
数学论文 节能减排论文
数学小论文 低碳生活论文
物理论文 建筑工程论文
网站设计论文 农业论文
图书情报 环境保护论文
计算机论文 化学论文
机电一体化论文 生物论文
网络安全论文 机械论文
水利论文 地质论文
交通论文
相关计算机论文
最新计算机论文
读者推荐的计算机论文