当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于FPGA的高速大容量FLASH存储

1、引言
数字电路应用越来越广泛,传统通用的数字集成芯片已经难以满足系统的功能要求,随着系统复杂程度的提高,所需通用集成电路的数量呈爆炸性增值,使得电路的体积膨大,可靠性难以保证 [1]。因而出现了现场可编程门阵列 (FPGA)和复杂可编程逻辑器件 (CPLD)。在我国 20世纪 90年代以前,测试系统采用磁带记录,效率和安全保障性不高;随之出现的是遥测技术,但在传输数据的过程中会出现误差;接着是静态存储器,它读、写方便,但是存储的数据会因为断电而丢失,所以,不利于数据长时间保存;目前,闪存的问世,NOR和 NAND是现在市场上两种主要的非易失闪存技术,它有存储容量大、体积小、可靠性高等优点,测试系统会逐步向这个方向发展。

 2、设计思想
 
 500)this.style.width=500;" border="0" />

2.1核心芯片选择
(1)接受芯片选择 MAX491
此芯片为 RS-422/485扩展芯片,为 DIP14封装。MAX491有两个控制端,如果两个控制端由微处理器的一个 I/O口控制,则总线,两线制,半双工工作。如果两个控制端单独控制,则总线为 RS-422总线,四线制,全双工工作。 MAX491采用+5V电源供电,当供电电流仅有 500uA时,传输速率却能达到 2.5Mbits/s。它的内部有一个传输线驱动器和一个传输线接收器,因此可以采用全双工工作。
(2)FPGA采用Spartan-II系列Xc2s100
Spartan-II系列Xc2s100有着丰富的触发器和 LUT(Look-Up-Table),非常适合复杂时序逻辑的设计。FLASH采用SAMSUNG公司的 NANDFLASH芯片K9F8G08,接口宽度 8位。每个芯片含8192个数据块,一个块分为64页,每页大小为 (2K+64)Bytes,其中64Bytes为空闲区,存储容量为8Gbit。它以页为单位进行读写,以块为单位擦除、命令、数据、地址共用同一总线,具有硬件数据保护功能。
2.2 MAX491设计时需要注意的问题
(1)RS-422传输线上匹配的一些说明:理论上,在每个接收数据信号的中点进行采样时,只要反射信号在开始采样时衰减到足够低就可以不考虑匹配。但这在实际上难以掌握,美国 MAXIM公司有篇文章提到一条经验性的原则可以用来判断在什么样的数据速率和电缆长度时需要进行匹配:当信号的转换时间(上升或下降时间)超过电信号沿总线单向传输所需时间的 3倍以上时就可以不加匹配。
 一般终端匹配采用终接电阻方法,RS-422在总线电缆的远端并接电阻,终接电阻一般在 RS-422网络中取 100Ω,这种匹配方法简单有效,但有一个缺点,匹配电阻要消耗较大功率,对于功耗限制比较严格的系统不太适合;
 另外一种比较省电的匹配方式是 RC匹配;
 还有一种采用二极管的匹配方法。
(2)RS-422的接地问题

RS-422传输网络的接地是很重要的,因为接地系统不合理会影响整个网络的稳定性,尤其是在工作环境比较恶劣和传输距离较远的情况下,对于接地的要求更为严格。 RS-422尽管采用差分平衡传输方式,但对整个 RS-422网络,必须有一条低阻的信号地。一条低阻的信号地将两个接口的工作地连接起来,使共模干扰电压 VGPD被短路。这条信号地可以是额外的一条线(非屏蔽双绞线),或者是屏蔽双绞线的屏蔽层。这是最通常的接地方法。
(3)RS-422的网络失效保护
RS-422标准都规定了接收器门限为± 200mV。这样规定能够提供比较高的噪声抑制能力,当接收器 A电平比B电平高+200mV以上时,输出为正逻辑,反之,则输出为负逻辑。但由于第三态的存在,即在主机在发端发完一个信息数据后,将总线置于第三态,这带来了一个问题:接收器输出状态不确定。如果接收机的输出为 0V,网络中从机将把其解释为一个新的启动位,并试图读取后续字节,由于永远不会有停止位,产生一个帧错误结果,不再有设备请求总线,网络陷于瘫痪状态。除上述所述的总线空闲会造成两线电压差低于 200mV的情况外,开路或短路时也会出现这种情况。故应采取一定的措施避免接收器处于不确定状态。
(4)RS-422的瞬态保护
由于传输线对高频信号而言就是相当于电感,因此对于高频瞬态干扰,接地线实际等同于开路。这样的瞬态干扰虽然持续时间短暂,但可能会有成百上千伏的电压。实际应用环境下还是存在高频瞬态干扰的可能。一般在切换大功率感性负载如电机、变压器、继电器等或闪电过程中都会产生幅度很高的瞬态干扰,如果不加以适当防护就会损坏 RS-422通信接口,对于这种瞬态干扰可以采用隔离或旁路的方法加以防护。方法有隔离保护方法和旁路保护方法。
2.3 FPGA内部编程设计
采用MAX491串行接收实时数据,并通过 Xc2s100串行数据转换为并行数据,并控制存储到FLASH中,在这个过程中,最关键的是对 Spartan-II系列Xc2s100内部编程,内部模块包括异步串行通信模块和控制FLASH存储、读数和擦除模块[2]。
(1)异步串行通信模块[3](如图2) UART 发送模块(如图 2中的 send) 发送器每隔 16个 CLK16时钟周期输出 1位,次序遵循 1位起始位、 8位数据位(假定数据位为 8位)、1位校验位(可选)、 1位停止位;
何时通过 UART发送数据由 CPU控制,也就是说 CPU要接受数据必须判断当前是否可写,如果不判这个条件,接受的数据会出错。
数据的发送是由微处理器控制,微处理器给出信号,发送模块根据此信号将并行

数据 din[7..0]通过移位寄存器转换为串行数据至串行数据输出端 Txd。 UART 接收模块(如图2中的receive)
串行数据帧和接收时钟是异步的,发送来的数据由逻辑 1’变为逻辑‘ 0’可以视为一个数据帧的开始。
接收器先要捕捉起始位,确定 rxd输入由 1到0,逻辑 0需要8个CLK16时钟周期,才是正常的起始位,然后在每隔 16个CLK16时钟周期采样接收数据(也可以为其它数),将串行数据 din通过移位寄存器发送串行数据至并行数据输出端 dout[7..0],放入存储器件。在数据发送过程中用输出信号 fifowr作为标志信号,当一帧数据发送完毕时,fifowr信号为0,通知CPU在下个时钟装入新数据。

500)this.style.width=500;" border="0" />

[!--empirenews.page--]
(2) FLASH存储、读数和擦除模块(如图 3) FLASH在写数据、读数据和擦除时 [4],编写控制FLASH的程序,要按照如下规则:
页编程:器件的编程以页为单位,但在一个页编程周期中允许对部分页(一个或连续的多个字节)编程。一个页编程周期由串行数据加载阶段和紧随的编程阶段组成。在数据加载阶段,数据被加载到数据寄存器中 ;在编程阶段,已加载的数据写入实际的存储单元,编程典型时间为200µs。
页读:器件在上电时,就被初始化为读模式,此时可以不写 00h命令,直接写入地址和30h命令即可。有两种类型的读,分别是随机读和顺序页读。由于设计存储时
是基于整个页操作,所以读命令使用顺序页读。命令打入后经过最多20µs的时间,数据则会从选择的页传到数据寄存器中。
块擦除:器件的擦除操作是以块为单位的。块地址加载由擦除建立命令 60h启动,然后输入确认命令D0h,执行内部擦除过程。这一先建立再执行的两步命令时序,确保了存储内容不会由外部的干扰而意外擦除,擦除时间典型值为1.5ms。

500)this.style.width=500;" border="0" />


 3、系统调试
电路通过模拟接受一组实时串行数据,经过 FPGA串行数据转换为并行数据,并且存储到 FLASH;再与主机通信读回存储在 FLASH中的数据 [5]。它已经可以稳定的工作在 180Mbytes/s的存储速度,满足了所需的机载实验要求。 USB芯片工作在从方式 (Slave FIFO模式),由FPGA控制芯片的读写,同步传输数据。实测中通过 USB回放数据的速度为 15Mbytes/s。 4、结论
本文设计了基于 FPGA和FLASH存储测试系统,使 FPGA与FLASH各自的优点得到了有效的发挥:本文作者创新点: RS-422电平传输串行数据,通过 FPGA串行数据转化为并行数据存储到高速大容量的 FLASH的存储系统的具体设计和实施,在保证系统工作性能的情况下简化了系统设计,并验证了系统设计方案的正确性和可行性,为进一步工程化实现打下了良好的基础,具有一定的工程应用价值。

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

对于大规模数据处理,最佳性能不仅取决于原始计算能力,还取决于高存储器带宽。 因此,全新 AMD Alveo™ V80 计算加速卡专为具有大型数据集的内存受限型应用而设计,这些应用需要 FPGA 硬件灵活应变能力以实现工作...

关键字: 自适应计算 FPGA

8b10b编码作为数字通信领域中的一项重要线路编码方案,其核心理念在于将每8位数据映射到10位编码中。这个映射过程严格按照特定规则进行,旨在保证编码中的电平转换足够,以维持信号的直流平衡,并提供足够的时钟信息,使接收端能...

关键字: FPGA 8b/10b编码 IC设计

在FPGA和IC设计领域,经常会面临一个挑战:多个端口同时竞争一个端口的数据。在这种情况下,采用RR调度策略可能是一种解决方案。

关键字: FPGA 嵌入式系统 IC设计

2024 年5月13日 – 专注于推动行业创新的知名新品引入 (NPI) 代理商™贸泽电子 (Mouser Electronics) 是英特尔®产品的全球授权代理商。英特尔®宣布正式成立Altera™,作为其独立运营的全...

关键字: FPGA 人工智能 以太网

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC

关键字: RISC-V处理器 FPGA SoC

为无处不在的端侧设备插上AI的翅膀,AMD发布第二代Versal™ 自适应 SoC

关键字: AMD FPGA 自适应SoC AI 边缘计算

Pmod接口可以说是数字电路板的连接革命。随着科技的飞速发展,数字电路板间的通信与连接技术也在不断创新和进步。Pmod接口,作为一种新兴的数字接口标准,正逐渐成为数字电路板间通信的桥梁,为电子设备的连接和通信带来了革命性...

关键字: pmod接口 FPGA 数字电路板

近日举办的GTC大会把人工智能/机器学习(AI/ML)领域中的算力比拼又带到了一个新的高度,这不只是说明了通用图形处理器(GPGPU)时代的来临,而是包括GPU、FPGA和NPU等一众数据处理加速器时代的来临,就像GPU...

关键字: FPGA AI 图形处理器

西班牙塞维利亚,2024年3月12日 — Teledyne Technologies旗下公司、全球成像解决方案创新者Teledyne e2v宣布扩展其Flash™ CMOS图像传感器系列,推出Flash 2K LSA,该...

关键字: 图像传感器 Flash 摄像机

当我们提到成本优化型FPGA,往往与简化逻辑资源、有限I/O和较低制造工艺联系在一起。诚然,在成本受限的系统设计中,对于价格、功耗和尺寸的要求更为敏感;但随着一系列创新应用的发展、随着边缘AI的深化,成本优化型FPGA也...

关键字: AMD FPGA Spartan 边缘计算
关闭
关闭