当前位置:首页 > 工业控制 > 电子设计自动化
[导读]摘要:本文提出了一种基于USB接口的FPGA SelectMap配置方式的实现方案。方案以大容量Spartan3 FPGA作为配置目标,选用Cypress EZ-USB FX2LP作为USB设备芯片,采用其内置的端点FIFO和GPIF状态机实现了一个高性能的配置数

摘要:本文提出了一种基于USB接口的FPGA SelectMap配置方式的实现方案。方案以大容量Spartan3 FPGA作为配置目标,选用Cypress EZ-USB FX2LP作为USB设备芯片,采用其内置的端点FIFO和GPIF状态机实现了一个高性能的配置数据传输通道,并设计了USB厂商请求来控制配置进程。方案具有配置灵活、成本低、速度快、实现简单的特点,目前已在很多软件无线电项目中得到应用,具有很强的实用性。

1. 引言

FPGA 器件结合了ASIC 的高性能和微处理器的灵活,不仅拥有丰富的逻辑资源,而且可以进行方便灵活的配置。主动配置方式尽管配置速度快、实现简单,但并未发挥FPGA 配置灵活的特点,适合于FPGA 用作单一应用的场合,并且大容量的配置芯片及其占用的电路板面积也带来了较高的成本;被动配置方式需要使用外部控制单元产生配置时序,实现一般较为复杂,而且在目前常见的方案中,常由于接口速率限制[1]或者采用微处理器介入数据传输等原因,而造成配置速度不高。USB2.0 协议在目前PC 外设的接口方案中非常流行,它支持高速率、多管道、多类型的数据传输,可以方便的构建出高性能的数据传输通道和灵活的控制通道。

本文提出了一种基于 USB 接口的FPGA SelectMap(并行被动)配置方式的实现方案,不但具有被动配置灵活、设计成本低的特点,而且实现简单、配置快速。方案以Xilinx Spartan3系列目前最大容量的500 万门FPGA(XC3S5000)作为配置目标,选用Cypress EZ-USBFX2LP 作为USB 设备芯片,并使用其内部的大容量端点FIFO,在GPIF 状态机的控制下,实现了一个高性能的配置数据传输通道。配置的进程则由设计的USB 请求来控制。此配置方案具有开发简单、配置成本低、速度快、使用灵活的特点,具有很强的实用性。

2. 系统的总体设计

如图 1 所示,系统使用USB 通道连接上位机和EZ-USB。EZ-USB 是一块高速USB 外设芯片,它支持USB 协议所描述全部四种传输模式,并拥有1 个64Byte 的控制传输专用端点、2 个缓存为64Byte 的普通端点和4 个缓存最大可达1KB、并可以进行四倍缓冲的大端点。本设计方案使用了一个控制端点(端点0)和一个大端点(端点2)传输数据。其中控制端点是所有USB 设备所必备的,它用于在设备枚举时传输USB 请求和相关数据,在本设计中,控制端点还用来传输专门设计的USB 厂商请求来控制配置进程、获取配置状态。大端点用来传输配置数据,由于配置数据需要及时、无误的传输,因此使用可以同时保证传输准确性和最大延时的中断传输方式,并设置端点缓存为1KB、做4 倍缓冲,最大传输间隔为一个微帧(125us),且每个传输间隔内传输3 个有效载荷为1KB 的包(最后一个包的载荷可能小于1KB),这样配置数据在USB 通道中的传输速率可达到3*1KB*(1/125us)=24000KB/s。


数据从端点转移到外设(FPGA)的过程中,如果使用USB 设备芯片内嵌的8051 MCU进行转移的话,最快8 个时钟周期才能传输一个字节的数据[2],在8051 的时钟周期为48MHz情况下,传输速度为6MB/s,远小于USB 通道的传输速率,会成为瓶颈而无法发挥出USB传输通道高传输速率的优势;而如果通过位宽为8bit 的 FIFO 来传输的话,最快情况下,每时钟周期都可以传输一个字节数据[2]。在EZ-USB 中,大端点的缓存可以作为端点FIFO 直接连接FPGA 的配置数据输入口形成高速传输通道,端点FIFO 的读写时序可由EZ-USB 内嵌的GPIF(General Programmable Interface)产生,MCU 可以不参与端点到FPGA 的数据转移,只起到配置和控制的作用,在FIFO 位宽为8bit,GPIF 时钟频率为48MHz 的情况下,传输速率为48MB/s,这样数据从端点到FPGA 的传输速度超过了上位机到端点的USB 中断传输管道的最大速度,不对USB 传输通道构成瓶颈。


3. 配置时序的发生

配置数据需要在配置时序的配合下写入 FPGA。GPIF 是一个可编程的状态机,它可以采集5 个输入引脚(RDY)的状态,并通过5 个输出引脚(CTL)对外产生任意时序,因此可用来产生FPGA 的配置时序。表1 说明了FPGA 在SelectMap 模式下各配置引脚的作用,如图1 所示,CCLK 连接EZ-USB 提供的界面时钟IFCLK,D[7:0]连接端点FIFO,其它配置引脚连接着GPIF 状态机的RDY 及CTL 引脚。为了确保各引脚的输入有充足的建立时间供FPGA 采样,FPGA 的时钟输入应与GPIF 的内部时钟倒相。

根据配置时序所设计的 GPIF 状态机的状态转移图如图2 所示。配置时钟为48MHz,所以PROG 低脉冲要维持25 个时钟周期,状态机会根据端点FIFO 的空满状态控制FPGA 的CS 引脚,确保FPGA 在FIFO 有配置数据输出的情况下进行数据采样,数据输出在字节计数达到FPGA 配置比特流文件的字节数值时停止,500 万门的XC3S5000 为13271936 bit。



4. 系统软件的设计

4.1 EZ-USB 固件程序设计

EZ-USB 的固件框架如图3 所示,Cypress 为大部分模块提供了完整的代码,本设计需要编写的模块有TD_Init,TD_Poll 和USB 请求解析模块。TD_Init 模块仅执行一次,作用是设置端点和GPIF 传输界面,以及将端点2 缓存的控制权交给逻辑单元使得逻辑单元可以将总线上收到的数据包装入缓存。TD_Poll 模块会反复执行,作用是在端点2 的缓存填入数据包后,开启GPIF 状态机,将FIFO 内的配置数据写入FPGA。USB 请求解析模块需要解析本方案设计的2 条USB 厂商请求,0xB1 和0xB2,它们用于配置初始化和查询配置状态。


4.2 上位机程序设计

由于 Cypress 已提供USB 设备驱动,因此上位机程序只需要获得了一个至 USB 设备驱动程序的句柄,打开包含配置代码的文件并对其进行语法分析,在 USB 中断传输的每次调用过程中传送取自配置文件的1024 字节发送出去,这一过程将继续下去,直到配置文件中没有剩余字节为止。

5. 配置性能的实际测试

配置数据传输的瓶颈在 USB 传输通道,而采用中断端点时,USB 传输通道的速度极限值应为24000KB/s,对于500 万门的XC3S5000 而言,传输13271936bit 配置数据的理论时间约为527.4ms。

对配置时间进行的实际测试中,使用500 万门的XC3S5000 作为配置对象,使用测量精度为10ms 的码表测量从送出配置文件到FPGA 的Done 引脚所连接的LED 点亮的时间差,经测量,配置实际使用时间为540ms。考虑到MCU 判断端点缓存和开启标志,以及开启状态机所用时间,实测值比理论值多出的时间是合理的。

6. 结论

采用 Cypress EZ-USB 及其内置的GPIF 状态机对大容量FPGA 进行 SelectMap 方式配置的方案,不仅具有被动配置方式灵活性高的优点,而且因为不需要大容量配置存储器、同时可以节约电路板空间,所以实现成本较低。另外Cypress 完善的开发工具也使得方案的实现非常简单。经过实际测试,本方案的配置速度非常快,对于大规模FPGA 配置时间也能在一秒之内完成,因此本方案具有很好的实用价值。

本文作者创新点:设计了一种针对大规模FPGA 的实用配置方案,配置方式灵活、配置、速度快、配置成本低、系统开发简单。



来源:过往烟云0次

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

2025年8月13日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售Asahi Kasei Microdevices (AKM) 的...

关键字: 数模转换器 USB 无线扬声器

物联网与智能化设备快速普及,供电方式的选择直接影响设备部署的灵活性、成本与可靠性。PoE(以太网供电)与USB供电作为两大主流技术,分别在工业网络、智能家居、消费电子等领域占据关键地位。本文将从设备适配性、传输距离、功率...

关键字: PoE USB

在无线技术的发展历程中,部署的简便性往往是成功的关键。像Wi-Fi、蓝牙和早期的蜂窝技术,只有在集成变得简单、无缝且实惠时,才能实现大规模的应用。而如今,Wi-Fi HaLow——一种专为物联网(IoT)设计的远距离、低...

关键字: 物联网 Wi-Fi USB

2025年8月5日 – 专注于引入新品的全球电子元器件和工业自动化产品授权代理商贸泽电子 (Mouser Electronics)即日起开售Microchip Technology的新款AVR® SD 8位MCU。AVR...

关键字: MCU 工业自动化 USB

随着高解析度音频应用的不断发展和广泛部署,诸如USB与I2S之间等不同专业接口之间的高品质音频转换需求日益增长,由此带来了实现高性能、高实时性与高灵活性的新挑战。为此,边缘AI和智能音频专家XMOS携手其全球首家增值分销...

关键字: SoC USB 处理器

【2025年7月24日, 德国慕尼黑讯】全球功率系统和物联网领域的半导体领导者英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)近日推出新型英飞凌ID Key系列,进一步扩展其通用串行总线(USB)...

关键字: 控制器 USB 非易失性存储器

其他电脑(比如安卓手机/平板电脑)的屏幕坏了,你可能想在安排维修之前紧急访问一些东西。你可以使用android的USB OTG功能(是的,几乎每个android都支持这个功能,你可以将鼠标和键盘连接到它)。

关键字: USB 鼠标 Android 树莓派

M5Stack Cardputer非常适合作为硬件密码管理器。它很小巧,有一个内置键盘,一个SD卡插槽,运行在带有本地USB支持的ESP32-S3上。屏幕使其易于使用,并且由于USB HID,它可以直接在登录字段中键入密...

关键字: 密码管理器 M5Stack Cardputer USB

在当今数字化时代,汽车不再仅仅是一种交通工具,更是一个移动的智能空间。随着人们对汽车电子设备依赖程度的不断提高,车内 USB 接口的重要性也日益凸显。从最初单纯为手机充电,到如今支持数据传输、连接各种智能设备,USB 接...

关键字: 接口 数据传输 汽车供电

根据Semico Research的预测,到2025年RISC-V芯片出货量将达到624亿颗,覆盖计算、消费电子和工业等领域。而在这其中,RISC-V MCU是整个RISC-V生态的基本盘,以高质量、应用驱动的解决方案为...

关键字: 青稞 RISC-V 沁恒 接口 MCU
关闭