当前位置:首页 > EDA > 电子设计自动化
[导读]摘要:设计实现了以FPGA为主控制单元,采用EZ-USB FX2微处理器为接口芯片的快速数据传输系统。文章给出了FPGA和CY7C68013之间数据传输的软硬件设计方案,着重介绍了FPGA内部建构的FIFO原理及程序实现方法,并以FLAS

摘要:设计实现了以FPGA为主控制单元,采用EZ-USB FX2微处理器为接口芯片的快速数据传输系统。文章给出了FPGA和CY7C68013之间数据传输的软硬件设计方案,着重介绍了FPGA内部建构的FIFO原理及程序实现方法,并以FLASH存储模块为例,通过FX2与FLASH握手过程的设计,实现了数据存储器与计算机之间的数据高速传输。应用结果表明,此数据传输系统可靠有效,具有一定的通用性,可用于其他使用USB进行数据传输的系统中。

0 引言

现代电子技术的进步使得外设的种类日益繁多,接入数量急剧增加,传统的安装数据采集卡的方式,由于存在安装不便、扩展困难、传输质量不高等诸多缺点,渐渐满足不了数据采集过程中对复杂外设和数据传输速率的要求。此外,在需要移动数据采集的场合,普通笔记本电脑以及绝大部分便携式数据采集设备都不再提供PCI插槽。因此采用统一、便捷的数据传输接口来替代原有方式,其紧迫性日益凸显。通用串行总线(USB)作为一个接口规范把不同类型的接口统一起来,且其外接设备具有热插拔、易扩展、传输速度快等优点,已经成为各类笔记本和便携设备数据传输的主流接口。

本设计使用支持USB2.0协议的CY7C68013芯片,作为上位机与FPGA之间的传输接口,以FPGA为主控制单元,实现了数据的高速传输。文章给出了此数据传输系统的硬件设计方案,着重介绍了FPGA控制模块中内部集成FIFO的结构原理和关键程序模块的实现方式。本系统设计方案结构简单、传输速度快、具有一定的可扩展性。

1 系统硬件设计

数据传输系统硬件原理框图如图1所示,主要由USB传输控制器EZ-USB FX2、FPGA主控制单元、外设模块构成。数据采集模块在中心控制单元的控制下对信号、数据等进行采集,并把数据最终转入数据外设中进行存储。上位机经传输控制模块(FX2)发送控制指令到主控制单元(FPGA)内部后,经过串并转换进行指令解码,解码后按照相应的指令要求从数据外设(FLASH)中进行数据读取。从而实现将外设存储系统中的数据快速上传到上位机中保存处理。

1.1 USB传输控制器

本系统USB传输接口芯片选择Cypress公司的CY7C68013,它是Cypress公司推出的EZ-USB FX2系列产品之一,集成USB2.0的微处理器,具有增强型8051内核性能,智能串行引擎(SIE),通用可编程接口(GPIF),8.5KB的RAM和FIFO存储器,支持12Mb/s的全速速率和1480 Mb/s的高速传输速率,最大限度地满足了USB 2.0的总线带宽。其内部结

构如图2所示。

CY7C68013由于其内部集成有独立于微处理器的USB核,其可被配置成GPIF(可编程接口)和SlaveFIFO(主从)等多种接口模式,使数据传输通过执行USB本身的协议来完成。在此过程中CPU可不参与数据传输,从而使数据的传输速率大大提高,同时也简化了固件代码的编写。本设计采用FX2的GPIF数据传输方式,时序简单、编程灵活,可以很容易地从RAM中读取数据。

1.2 FPGA主控制单元

本设计采用Altera公司的EP1K30QC208作为主控芯片,实现对数据传输过程的控制。它包括1728个逻辑单元,成本较低,适用于小系统编程。在此硬件系统中FPGA的作用主要有二个:一是实现对所传输数据的控制。上位机经USB传输控制模块(FX2)发送控制指令到FPGA主控制单元后,经过其内部串并转换,实现指令解码。解码后按照要求从数据外设(FLASH)中进行数据读取,并根据FIFO状态进行数据传输控制;二是内部建构一个FIFO存储器。由于本设计是对FLASH存储器进行读数操作,其数据传输是以页为单位,读数时页与页之间有一小段时间间隔,数据输出不是连续的。为实现FX2读取FLASH中的数据,需要在FPGA建构FIFO作为数据过渡,先将FLASH中的数据读到FIFO中,CY7C68013传输控制器再从FIFO中读取数据。

2 主控单元软件设计

根据本系统主控制单元的作用,FPGA要实现上文所述的主要功能,其关键在于FX2与FLASH的握手过程的设计,满足此过程的内部FIFO的建构和相关标志信号的产生。

2.1 FX2与FLASH的握手过程

FPGA主控单元先将数据存储到内部的FIFO中,然后CY7C68013再从FIFO中读取数据。由于读取和写入的速度是不同的,可能读比写快,也可能写比读快。为防止传输时数据丢失,设计如下的握手过程:FPGA内部的“读数控制”模块不断进行判断,只要FIFO不满它就一直向FIFO中写入数据。对于外部FX2,只要判断FIFO不空它就从FIFO中读取数据。这样FIFO的读写就组成了一个闭环,保证了读数的完整准确。在数据传输握手方式确定以后可能出现两种情况:1)FIFO的写入速度大于读取速度,这样写地址慢慢就追上读地址,此时总的传输速度就取决于读取速度。2)FIFO的读取速度大于写入速度,这样读地址慢慢就追上写地址,此时总的传输速度就由写入速度决定。在FPGA中编写“标志位

产生”程序模块,产生满、空信号作为FX2与FLASH传输过程中的握手信号,是保证数据传输稳定可靠的关键。

2.2 内部建构的FIFO原理及关键程序的流程

FIFO的本质是一种特殊的双口RAM,大部分FPGA内部就有双口RAM资源。FIFO结构的特点是先进先出,对外它是一种没有地址控制的特殊缓存。在程序编写过程中,内部FIFO要求只要接收RD、WR使能信号,就能进行读写工作。在此过程中,整个FIFO模块对外不显示地址,只需要给出表现内部状态的满、半满和空信号即可。FX2和FPGA内部的“读数控制”模块根据这些信号对FIFO进行数据传输控制。FPGA内部建构的FIFO原理图如图3所示。

FIFO产生满、空状态标志信号由“标志位产生”程序模块产生,满、空状态信号均采用写地址和读地址相减(或读地址和写地址相减)的结果来判断双口RAM此时的状态。此外,还可以据此得到FIFO的半满状态信号,以此可容易地标示FIFO满空深度。FIFO满、空、半满标志信号的程序流程基本一致,只不过判断比较的差值存在不同。FIFO满时地址差值为1023,空时为1,半满是差值大于512。以半满信号产生为例,标志位产生程序流程如图4所示。

为了避免时序错误,还可以任意设定一定的满空深度。例如可以设定当地址差大于1000时即认为FIFO己满,不再向FIFO中写入数据,以避免错误的出现。

3 结语

随着便携式数据存储系统的普及,基于USB的数据传输系统受到了普遍关注。本文设计的基于EZ-USB FX2微处理器的数据传输系统,实现了上位机通过USB端口对FLASH存储器的快速读取操作,并成功地应用在某一车载数据盒工程项目中。测试结果表明,系统传输过程稳定,速度较高,与上位机接口方式严格遵守USB 2.0协议,具有很强的通用性,适合即插即用的工作场合。本系统基于FPGA的主控单元配置方案便于软件系统的升级与调试,如果搭配合适的传感器和相应的信号调理电路,就可以实现对多种信号的采集处理,再配以合适的存储模块完全可以构成完备的数据采集存储系统。本设计对于一般的数据传输系统的设计及传统接口改造具有一定的借鉴意义。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭