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

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

时间:2014-10-07  作者:沈维聪,陈东龙
由于该芯片支持480Mbps高速传输,为本设计传输提供了传输速率的保证。FPGA与CY7C68013的连接图如图3所示。

图3FPGA与CY7C68013的连接图

CY7C68013设置为SlaveFIFO模式,即设置IFCONFIG寄存器中IFCFG[1:0]=11。本设计数据传输采用异步SlaveFIFO方式,因此接口时钟IFCLK采用内部48MHZ时钟。为方便传输,数据总线FD配置为16bit,与FPGA的FIFO宽度相同。是SlaveFIFO数据输出使能信号。分别为SlaveFIFO读使能信号与写使能信号。FIFOADDR[1:0]用于选择端点,当FIFOADDR[1:0]=00时选中EP2,当FIFOADDR[1:0]=10时选中EP6。

FLAGA、FLAGB、FLAGC脚可通过FINFLGSAB、PINFLAGSCD寄存器来选择它工作在索引模式和固定模式。本设计中被设置为固定模式。其中FLAGA表示EP2的FIFO_EMPTY,FLAGB表示EP6的FIFO_FULL。

2.3USB接口芯片

本设计使用容量为16Kbit的EEPROM芯片AT24C016A设置CY7C68013的VID与PID。在CY7C68013上电并脱离复位状态后,内部逻辑会检查I2C端口上是否连接有串行EEPROM,如果有则判断连接上的EEPROM第一个字节是0xC0还是0xC2。本设计设置EEPROM第一个字节为0xC0,设置VID=0x1234,PID=0x2211,DID=0x0001。在这种情况下,由CY7C68013内核提供USB描述符,使用EEPROM存储的VID/PID/DID值替换CY7C68013内部的值,并设置RENUM=0。设这样,在重新设备列举后,芯片内的程序代码会以全新的自定义设备来加以呈现。

3FPGA软核设计

FPGA内部控制单元分别由三个软核负责完成,他们分别为ADC接口控制单元,FIFO控制单元与USB传输控制单元。其中三个软核连接示意图如图4所示。

图4FPGA内部软核连接示意图

3.1ADC口控制单元

ADC接口控制单元控制数据采集的启停和传输。数据采集开始时ADC接口控制单元将时钟信号分频为30MHz供ADS800作转换时钟ADC_CLK使用。此时控制单元内寄存器CLK_CNT对ADC_CLK进行周期计数,当第7个时钟上升沿(ADS800转换延时为6.5个时钟周期,延时半个时钟周期为了使数据转换稳定)到来即CLK_CNT=7时,CLK_CNT清零,FIFO写时钟FIFO_WR_CLK输出,同时FIFO_WR_EN置高电平,ADC转换的数据补齐16bit后随时钟FIFO_WR_CLK上升沿存入FIFO中。ADC接口控制单元状态机工作过程如下:

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

(2)在空闲状态下,当FIFO不满(FIFO_FULL=0)且ADC_START=1时,状态机进入转换状态(CONVERT),此时ADC_CLK输出ADC数据转换时钟;

(3)在转换状态下,当FIFO_WR_EN=1即数据转换延时结束时,状态机进入写状态(WRITE),此时,CLK_CNT清零,ADC_OE置高电平,FIFO_WR_EN置高电平,FIFO_WR_CLK输出FIFO写时钟;

(4)在任何状态下,如果FIFO已经写满(FIFO_FULL=1)或者ADC_START=0时,自动跳转到空闲状态。

ADC接口控制单元状态机示意图如图5所示。

图5ADC接口控制单元状态机示意图

3.2FIFO控制单元

本设计首先使用FPGA内部BlockRAM生成FIFO。由于A/D接口控制单元输出数据为16bit,FIFO宽度设置为16bit,深度设置为4K-bit。FIFO可以使用ISE套件中的COREGENERATOR生成。、由COREGENERATOR生成的FIFO软核配合控制部分构成FIFO控制单元。FIFO控制单元内部结构示意图如图6所示。

图6FIFO控制单元内部结构示意图

由于本设计中数据采集系统处于异步SlaveFIFO模式,且EZ-USBFX2读数据的速度与ADC数据写入FIFO的速度不同,FIFO软核上FULL与EMPTY两信号线可以分别指示FIFO满与空的状态,解决了因读写速度不同而可能带来的数据读写错误问题。当FIFO处于满状态时,FIFO_FULL信号置高电平,由ADC控制单元通知ADC停止采集数据。当FIFO处于空状态时FIFO_EMPTY信号置高电平,由USB接口控制单元通知EZ-USBFX2停止读FIFO。FIFO的读时钟(FIFO_RD_CLK)与读使能(FIFO_RD_EN)信号由USB接口控制单元提供,写时钟(FIFO_WR_CLK)与写使能(FIFO_WR_EN)信号由ADC接口控制单元提供。

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