EPCS1、EPCS4、EPCS16数据手册解读

这篇具有很好参考价值的文章主要介绍了EPCS1、EPCS4、EPCS16数据手册解读。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文是关于Altera公司生产的串行配置设备(EPCS1, EPCS4, EPCS16, 和 EPCS64)的数据手册。这些设备用于通过活动的串行(AS)配置方案来串行配置Stratix® II FPGA和Cyclone™系列FPGA。以下是对文档内容的翻译和详细解读。

特性

  • 提供1-, 4-, 16-, 和64-Mbit闪存设备,用于串行配置Altera的Stratix II和Cyclone系列FPGA。
  • 易于使用的四引脚接口。
  • 低成本,低引脚计数和非易失性存储器。
  • 配置期间低电流消耗,待机模式下几乎为零的电流。
  • 3.3V操作电压。
  • 提供8引脚和16引脚的小外形集成电路(SOIC)封装。
  • 允许Nios®处理器通过AS存储器接口访问未使用的闪存。
  • 可重编程存储器,具有超过100,000次擦除/编程周期。
  • 使用状态寄存器位支持内存扇区的写保护。
  • 支持使用SRunner软件驱动程序进行系统编程。
  • 支持使用USB Blaster™或ByteBlaster™ II下载电缆进行编程。
  • 支持使用Altera®编程单元(APU)和其他供应商的编程硬件进行额外编程。
  • 软件设计支持,包括适用于Windows PC的Altera Quartus® II开发系统,以及Sun SPARC站和HP 9000系列700/800。
  • 交付时存储器阵列被擦除(所有位设置为1)。

功能描述

功能描述部分详细阐述了Altera串行配置设备(EPCS1, EPCS4, EPCS16, 和 EPCS64)的主要功能和工作原理。

SRAM-based FPGAs的配置需求

对于基于SRAM的FPGA,如Stratix II FPGA和Cyclone系列FPGA,配置数据需要在每次设备上电、系统初始化或需要新的配置数据时重新加载。这是因为SRAM是易失性存储器,掉电后数据会丢失。

串行配置设备的作用

串行配置设备是闪存设备,它们具有串行接口,能够存储Stratix II FPGA或Cyclone系列设备的配置数据,并在设备上电或重新配置时将数据重新加载到FPGA。

垂直迁移支持

文档提到了设备之间的垂直迁移支持。例如,可以从EPCS1设备迁移到EPCS4设备,因为它们提供相同的封装。同样,可以从EPCS16设备迁移到EPCS64设备。

配置文件大小和设备支持

文档中的表格列出了与每个Stratix II FPGA和Cyclone FPGA配合使用的串行配置设备,以及相应的配置文件大小。例如,Stratix II设备只能与EPCS16或EPCS64设备一起使用。

数据压缩特性

Stratix II和Cyclone FPGA系列中的新数据压缩特性允许设计者使用更小的串行配置设备来配置更大的FPGA。这意味着即使配置设备的物理大小不变,也可以支持更大容量的FPGA配置。

配置设备的限制

串行配置设备专为配置Stratix II FPGA和Cyclone系列FPGA而设计,不能配置Altera的其他现有设备家族。

方框图

文档中的方框图展示了串行配置设备的主要组成部分,包括控制逻辑、I/O移位寄存器、存储器阵列、状态寄存器、地址计数器、解码逻辑和数据缓冲器。

总结

功能描述部分强调了串行配置设备的核心功能,即提供一种可靠且灵活的方式来存储和加载FPGA的配置数据。这些设备的设计允许它们在FPGA上电或系统初始化时自动加载配置数据,从而简化了FPGA的配置过程,并为设计者提供了更多的灵活性和便利。

内存访问

内存访问部分详细描述了如何通过Nios处理器和SOPC Builder访问串行配置设备中的内存。这些设备允许用户访问未使用的闪存内存位置,以便存储或检索数据。

通过Nios处理器访问内存

Nios处理器可以配置为通过AS存储器接口访问串行配置设备中的内存。这种访问允许软件直接读写设备中的内存位置。这种功能特别适用于需要在FPGA配置过程中或之后使用未使用内存的应用。

SOPC Builder工具

SOPC Builder是Altera提供的一个工具,用于在Altera设备中创建基于总线(尤其是基于微处理器)的系统。它允许用户将库组件(如处理器和存储器)组装成定制的微处理器系统。SOPC Builder包括一个活动串行存储器接口(ASMI)外设,这是一个专门为与串行配置设备协同工作而设计的接口核心。

ASMI外设

使用ASMI外设,用户可以创建一个包含Nios嵌入式处理器的系统,该处理器允许软件访问串行配置设备中的任何内存位置。这意味着用户可以通过软件设计来利用这些设备的内存,而不需要物理连接到FPGA的其他部分。

内存访问操作

内存访问操作包括读取和写入操作,这些操作通过串行接口进行。操作代码、地址和数据都是以串行方式输入到设备中,最高有效位(MSB)首先被传输。设备在DCLK的第一个上升沿采样活动串行数据输入。

读取字节操作 (Read Bytes)
  • 通过将nCS拉低来选择设备。
  • 然后输入读取字节操作代码,接着是3字节地址(A[23…0])。
  • 设备将指定地址的内存内容按MSB开始的顺序从DATA引脚上串行输出。
  • 设备在输出每个字节后自动递增地址,可以连续读取整个内存。
读取硅ID操作 (Read Silicon ID)
  • 通过将nCS拉低来选择设备。
  • 输入读取硅ID操作代码,然后是三个虚拟字节。
  • 设备的8位硅ID从DATA输出引脚上串行输出。
写入字节操作 (Write Bytes)
  • 必须先执行写启用操作,以设置状态寄存器中的写启用锁存位。
  • 通过将nCS拉低,然后输入写入字节操作代码、三个地址字节和至少一个字节的数据。
  • 如果发送的数据超出当前页的末尾,数据不会写入下一页,而是写入同一页的起始地址。

内存阵列组织

  • EPCS4和EPCS1设备具有不同的内存阵列组织,包括不同的扇区数量、每个扇区的字节数、每个扇区的页数以及每页的字节数。

操作代码

操作代码部分详细描述了如何通过串行接口与Altera的串行配置设备进行通信,以便执行各种内存操作,如读取、写入和擦除。以下是对操作代码部分的详细描述:

操作代码的结构

操作代码是以串行方式发送到串行配置设备的,每个操作代码由一系列位组成,最高有效位(MSB)首先被发送。操作代码后面通常会跟随地址字节、数据字节或两者,具体取决于所执行的操作。

操作代码列表

以下是一些主要的操作代码及其用途:

  1. 写启用(Write enable): 此操作设置状态寄存器中的写启用锁存位,以便进行写入操作。操作代码为 b'0000 0110

  2. 写禁用(Write disable): 此操作重置写启用锁存位,防止意外写入。操作代码为 b'0000 0100

  3. 读状态(Read status): 此操作读取状态寄存器的内容。操作代码为 b'0000 0101

  4. 读字节(Read bytes): 此操作从指定的内存地址读取数据。操作代码为 b'0000 0011

  5. 读硅ID(Read silicon ID): 此操作读取设备的硅ID。操作代码为 b'1010 1011

  6. 写状态(Write status): 此操作设置状态寄存器中的块保护位。操作代码为 b'0000 0001

  7. 写字节(Write bytes): 此操作将数据写入到指定的内存地址。操作代码为 b'0000 0010

  8. 擦除块(Erase bulk): 此操作将所有内存位设置为1或0xFF,通常用于准备内存进行写入。操作代码为 b'1100 0111

  9. 擦除扇区(Erase sector): 类似于擦除块操作,但只针对特定的内存扇区。操作代码为 b'1101 1000

操作代码的执行

执行操作代码时,需要将芯片选择信号(nCS)拉低,然后通过串行数据输入(ASDI)发送操作代码。对于需要地址或数据的操作,这些信息将在操作代码之后发送。在发送完所有必要的信息后,必须将nCS信号拉高以完成操作。

操作代码的时序

每个操作代码都有一个特定的时序要求,这些要求在文档的“Timing Information”部分有详细说明。例如,写入操作可能需要一定的时钟周期(tWB),而擦除操作可能需要更长的时间(tEB或tES)。

操作代码的注意事项

  • 在执行写入或擦除操作之前,必须先执行写启用操作。
  • 在执行读操作时,如果内存中正在进行写入或擦除周期,读操作将不会被授权,写入或擦除周期将继续进行。
  • 某些操作,如写状态操作,需要在nCS信号的特定边界(如字节边界)上拉高nCS。

操作代码是与串行配置设备进行交互的关键,它们允许用户执行必要的内存管理任务,以便在FPGA中存储和更新配置数据。正确理解和使用这些操作代码对于确保FPGA配置过程的成功至关重要。

主动串行FPGA配置

主动串行FPGA配置(Active Serial FPGA Configuration)是一种配置Altera FPGA的方法,它使用串行配置设备(如EPCS1, EPCS4, EPCS16, 和 EPCS64)来存储和传输配置数据。

配置接口

主动串行配置使用四个信号来直接与FPGA的控制信号接口:

  • DATA: 用于从配置设备到FPGA的数据传输。
  • DCLK: 用于配置设备的时钟信号,控制数据的移位和锁存。
  • ASDI: 用于从FPGA到配置设备的串行数据输入。
  • nCS: 芯片选择信号,用于启用或禁用配置设备。

配置过程

在配置过程中,FPGA充当配置主控设备,提供时钟给配置设备,并通过nCSO信号控制nCS信号来启用配置设备。FPGA通过ASDO信号发送指令和地址给配置设备,配置设备在DCLK的下降沿响应指令,并将配置数据发送到FPGA的DATA0引脚。数据在DCLK信号的上升沿被锁存到FPGA中。

配置模式

主动串行配置模式仅适用于支持主动串行(AS)配置方案的FPGA,即Stratix II FPGA和Cyclone系列FPGA。

配置流程

  1. 初始化: FPGA通过将nCS信号拉低来初始化配置设备。
  2. 传输数据: FPGA发送配置数据给配置设备,这包括配置指令、地址和数据。
  3. 响应指令: 配置设备根据接收到的指令发送配置数据到FPGA的DATA0引脚。
  4. 数据锁存: FPGA在DCLK的上升沿锁存接收到的数据。
  5. 状态监控: FPGA通过监控nSTATUS和CONF_DONE引脚来控制配置过程,并在配置结束时释放CONF_DONE引脚。

配置完成

配置完成后,FPGA会释放CONF_DONE引脚,允许外部10kΩ电阻将其拉高。随后,初始化开始,一旦CONF_DONE信号变高,FPGA进入用户模式。

多设备配置

单个EPCS设备可以配置多个FPGA设备,但是不能级联配置设备。必须确保级联FPGA的编程文件大小不超过配置设备的容量。

配置图示

文档中提供了配置过程中使用的时序图,如图4–2图4–3,展示了通过下载电缆编程的配置设备和通过APU或第三方编程器配置的FPGA。

注意事项

  • 配置设备不能被级联。
  • 配置过程中,如果CONF_DONE信号没有在配置结束时变高,或者信号过早变高,FPGA将通过脉冲其nSTATUS引脚来启动重新配置。
  • 配置成功后,FPGA释放CONF_DONE引脚,允许外部电阻将其拉高,初始化开始。

主动串行FPGA配置提供了一种灵活且高效的配置方式,允许设计者在FPGA上电或重新配置时加载配置数据。这种配置方案特别适用于需要频繁更新配置数据的应用场景。

操作代码

  • 描述了用于访问串行配置设备内存的操作代码。

编程和配置文件支持

编程和配置文件支持部分详细描述了Altera串行配置设备(EPCS1, EPCS4, EPCS16, 和 EPCS64)的编程过程以及如何生成和使用配置文件。以下是对这一部分内容的详细解读:

Quartus II设计软件

Altera的Quartus II设计软件提供了对串行配置设备的编程支持。用户在Quartus II中选择串行配置设备后,软件会自动生成Programmer Object File (.pof) 文件,用于对设备进行编程。Quartus II软件允许用户选择最合适的串行配置设备密度,以最有效地存储所选FPGA的配置数据。

SRunner软件驱动

SRunner是一个为嵌入式串行配置设备编程而开发的软件驱动程序,设计师可以根据不同的嵌入式系统需求对其进行定制。SRunner可以读取Raw Programming Data file (.rpd) 并将数据写入到串行配置设备中。使用SRunner进行的编程时间与使用Quartus II软件的编程时间相当。

编程硬件

串行配置设备可以使用Altera编程单元(APU)配合适当的编程适配器(如PLMSEPC-8或PLMSEPC-16)通过Quartus II软件进行编程。此外,还可以使用USB Blaster或ByteBlaster II下载电缆通过Quartus II软件进行编程。许多第三方编程器,如BP Microsystems和System General,也提供支持串行配置设备的编程硬件。

在系统编程

在系统编程是指在FPGA已经部署在最终系统中后,通过外部微处理器使用SRunner软件驱动对串行配置设备进行编程。这种方式允许在不拆卸硬件的情况下更新FPGA的配置。

编程和配置文件支持文档

为了支持编程和配置文件的生成,Altera提供了一系列的文档,包括:

  • Altera Programming Hardware Data Sheet: 提供了关于Altera编程硬件的详细信息。
  • Programming Hardware Manufacturers: 列出了提供兼容Altera设备的编程硬件的制造商。
  • USB Blaster USB Port Download Cable Development Tools Data Sheet: 提供了关于USB Blaster下载电缆的信息。
  • ByteBlaster II Parallel Port Download Cable Data Sheet: 提供了关于ByteBlaster II下载电缆的信息。

总结

编程和配置文件支持部分为用户详细阐述了如何使用Altera提供的软件和硬件工具来编程和更新串行配置设备。这包括了解Quartus II软件的自动生成.pof文件的功能,使用SRunner进行嵌入式系统的编程,以及通过各种下载电缆和编程单元进行硬件编程的方法。这些信息对于确保FPGA配置的正确性和更新的便捷性至关重要。

操作条件

操作条件部分提供了Altera串行配置设备在不同环境和工作状态下的电气和物理参数。这些参数对于确保设备正常工作和可靠性至关重要。

绝对最大额定值 (Absolute Maximum Ratings)

这些是设备可以承受的极端条件,超过这些条件可能会损坏设备。这些额定值包括:

  • VCC: 电源电压,应在-0.6V至4.0V之间。
  • VI: 输入电压,应相对于地线在-0.6V至4.0V之间。
  • IMAX: 最大直流电源或地线电流,为15mA。
  • IOUT: 每个引脚的最大直流输出电流,为±25mA。
  • PD: 最大功耗,为54mW。
  • TSTG: 存储温度,无偏置条件下在-65°C至150°C之间。
  • TAMB: 环境温度,有偏置条件下在-65°C至135°C之间。
  • TJ: 结温,有偏置条件下在135°C以下。

推荐操作条件 (Recommended Operating Conditions)

这些是设备在正常工作状态下的理想条件,通常用于设计和测试。这些条件包括:

  • VCC: 电源电压,商业用途为0°C至70°C,工业用途为-40°C至85°C。
  • VI: 输入电压,相对于地线在-0.3V至0.3V加上VCC之间。
  • VO: 输出电压,为0V至VCC之间。
  • TA: 工作温度,商业用途为0°C至70°C,工业用途为-40°C至85°C。
  • tR: 输入上升时间,为5ns。
  • tF: 输入下降时间,为5ns。

直流操作条件 (DC Operating Conditions)

这些条件描述了设备在直流状态下的电气特性,包括:

  • VIH: 高电平输入电压,为VCC的70%加上0.4V。
  • VIL: 低电平输入电压,为-0.5V至VCC的30%。
  • VOH: 高电平输出电压,当输出电流为-100µA时,为VCC减去0.2V。
  • VOL: 低电平输出电压,当输出电流为1.6mA时,为0.4V。
  • II: 输入漏电流,为-10µA至10µA。
  • IOZ: 三态输出关闭状态电流,为-10µA至10µA。

电容 (Capacitance)

这些参数描述了设备引脚的电容特性,包括:

  • CIN: 输入引脚电容,当VIN=0V时为6pF。
  • COUT: 输出引脚电容,当VOUT=0V时为8pF。

总结

操作条件部分为设计者和工程师提供了确保串行配置设备在各种环境和工作状态下正常工作所需的关键参数。这些信息对于电路设计、系统测试和设备可靠性至关重要。在设计和实施过程中,必须遵守这些额定值和推荐条件,以避免设备损坏或性能降低。

引脚信息

引脚信息描述了Altera串行配置设备(EPCS1, EPCS4, EPCS16, 和 EPCS64)的物理接口和功能。这些设备通常有8引脚或16引脚的小外形集成电路(SOIC)封装。

8引脚SOIC封装 (EPCS1 和 EPCS4)

  • VCC (引脚3, 7, 8): 电源引脚,连接到3.3V电源。
  • GND (引脚4): 地线引脚,用于电路的接地。
  • nCS (引脚1): 芯片选择引脚,低电平有效。当此信号为高电平时,设备被禁用;当信号为低电平时,设备被选中并进入活动模式。上电后,串行配置设备需要在nCS信号上有一个下降沿才能开始任何操作。
  • DCLK (引脚6): 串行时钟引脚,由FPGA提供。此信号提供串行接口的时序。数据在ASDI上的呈现在DCLK的上升沿被锁存到串行配置设备中。
  • ASDI (引脚5): 串行数据输入引脚,用于将数据串行传输到串行配置设备。它接收应该被编程到串行配置设备中的数据。数据在DCLK的上升沿被锁存。
  • DATA (引脚2): 数据输出引脚,在读/配置操作期间将数据从串行配置设备串行传输到FPGA。在配置期间,通过将nCS拉低来启用串行配置设备。DATA信号在DCLK的下降沿转换。

16引脚SOIC封装 (EPCS16 和 EPCS64)

除了上述8引脚的功能外,16引脚封装还包括以下额外的引脚:

  • N.C. (非连接引脚): 这些引脚可以保持悬空,或者连接到Vcc或GND,具体取决于板上的便利性。

引脚功能总结

  • VCC: 电源供应。
  • GND: 接地。
  • nCS: 芯片选择信号,用于启用或禁用设备。
  • DCLK: 串行时钟信号,用于同步数据传输。
  • ASDI: 串行数据输入,用于向设备写入数据。
  • DATA: 数据输出,用于从设备读取数据。

这些引脚使得串行配置设备能够与FPGA或其他微处理器系统进行通信,以便存储和传输配置数据。在设计电路板时,需要确保这些引脚正确连接到相应的电源、地线以及FPGA或微处理器的对应引脚。文章来源地址https://www.toymoban.com/news/detail-856302.html

封装

  • 所有串行配置设备都提供8引脚或16引脚的塑料SOIC封装。

图表解读

  • 图4–1 显示了串行配置设备的方框图,包括控制逻辑、I/O移位寄存器、存储器阵列、状态寄存器、地址计数器、解码逻辑和数据缓冲器。
  • 图4–2图4–3 展示了通过下载电缆编程的串行配置设备配置FPGA的AS模式,以及通过APU或第三方编程器配置FPGA的AS配置模式。
  • 图4–4 展示了AS模式下多个FPGA设备的配置方案。
  • 图4–5图4–15 分别展示了写启用、写禁用、读状态、写状态、读取字节、读取硅ID、写字节、擦除块和擦除扇区操作的时序图。

到了这里,关于EPCS1、EPCS4、EPCS16数据手册解读的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android GUI系统之SurfaceFlinger(16)MessageBase解读

    该系列文章总纲链接:Android GUI系统之SurfaceFlinger 系列文章目录 说明: 关于导读:导读部分主要是方便初学者理解SurfaceFlinger代码中的机制,为后面分析代码打下一个更好的基础,这样就可以把更多的精力放在surfaceFlinger的业务逻辑分析上。 关于代码分支:以下代码分析均在

    2024年02月09日
    浏览(37)
  • postgresql16 物理复制与逻辑复制的实现和对比

    本文面向想要练习 PostgreSQL 中数据库复制基础知识但可能无法访问远程服务器的初学者。我认为学习新技术时,在自己的机器上运行示例以巩固概念是至关重要的。对于副本来说,这可能很困难,因为许多可用的资源假设用户具有一定的 PostgreSQL 经验并且可以访问另一台运行

    2024年02月01日
    浏览(44)
  • 大厂整理的23年前端工程师面试手册,高频面试题终结篇,github上标星16k!

    前端开发所需掌握知识点概要: HTMLCSS:浏览器内核、渲染原理、依赖管理、兼容性、CSS语法、层次关系,常用属性、布局、选择器、权重、CSS盒模型、Hack、CSS预处理器、CSS3动画 JavaScript: 数据类型、运算、对象、Function、继承、闭包、作用域、事件、Prototype、RegExp、JSON、

    2024年02月03日
    浏览(39)
  • 了解一下EPC模式和它的优势

    EPC是Engineering(工程):代表设计、采购和施工总承包。Procurement(采购):代表采购和物资管理。Construction(建设):代表施工和安装。三个单词首字母缩写构成的,EPC模式就是工程总承包。 EPC模式是指公司受业主委托,按照合同约定对工程建设项目的设计、采购、施工、

    2024年02月10日
    浏览(34)
  • 16bit深度图保存方式:opencv png格式和numpy npy格式对比

    通过激光雷达或深度估计得到的深度图一般为float32或float64类型数据,具有超大量数据,保存为常见的jpg格式图像(uint8:80-255)时则会损失数据精度,如果保存为.npy文件时则文件大小过大(eg:1280*1920大小的深度数组保存后所占空间为37.5Mb),因此需要处理下数据再进行保存

    2024年02月12日
    浏览(44)
  • 操作系统的“冷板凳”要坐多久?万字长文解读16年开源老兵的坚持

    想知道内核研发是怎样的体验?操作系统的“冷板凳”得坐多久才有春天?本文对话龙蜥社区理事长马涛,畅所欲言聊开源,一起来看看那些开源润物细无声背后的故事以及龙蜥社区运营的道法术。 高门槛的 Linux 内核研发,如何支棱起来? 提问:首先想请马涛聊一聊自己的

    2023年04月09日
    浏览(42)
  • Swagger 3 对比于 Swagger 2 更新了哪些内容,做了哪些优化 ?Swagger 3 解读

    如果觉得本文对你有帮助,可以一键三连支持,

    2023年04月08日
    浏览(42)
  • Pytorch 与 Tensorflow对比学习 第3周:进阶主题 Day 15-16: 卷积神经网络(CNN)

    第3周:进阶主题 Day 15-16: 卷积神经网络(CNN) 在这两天中,我专注于学习卷积神经网络(CNN)的基础知识,包括卷积层和池化层的工作原理以及它们在图像处理中的应用。 卷积神经网络基础: 卷积层:学习了卷积层如何通过滤波器(或称为核)提取图像的特征。每个滤波器

    2024年01月20日
    浏览(45)
  • 【Spring教程16】Spring框架实战:详解解读AOP配置管理中AOP切入点表达式和通知类型

    欢迎大家回到《 Java教程之Spring30天快速入门》,本教程所有示例均基于Maven实现,如果您对Maven还很陌生,请移步本人的博文《 如何在windows11下安装Maven并配置以及 IDEA配置Maven环境》,本文的上一篇为《 AOP的工作流程和AOP的核心概念》 前面的案例中,有涉及到如下内容: 对于

    2024年02月04日
    浏览(40)
  • 1.物联网射频识别,RFID概念、组成、中间件、标准,全球物品编码——EPC码

    1.RFID概念         RFID是Radio Frequency Identification的缩写,又称无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需与被识别物体建立机械或光学接触。         RFID(Radio Frequency Identification,射频识别)是一种利用无线射频技术进行

    2024年02月01日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包