资讯
HOME
资讯
正文内容
spi nand怎么焊接 NAND和NOR Flash 完全应用笔记(应用调试篇)
发布时间 : 2025-01-19
作者 : 小编
访问数量 : 23
扫码分享至微信

NAND和NOR Flash 完全应用笔记(应用调试篇)

本文要点:

1. 给出了华为三星及英特尔的常用FLASH参考电路;

2. 结合datasheet解说2 bit以及4 bit的NAND FLASH;

3. 调试思路总结以及简单的调试经验分享;

4. 最新的3D Xpoint技术介绍。

首先,我要用这张图来说明存储器近70年的发展历程,纵观这70年的发展,可以发现主要是在容量,速度以及寿命等方面出现了飞跃式增长。

然后,给出实际工程中的常见几种应用电路。

(1) 第一种应用: NOR FLASH和NAND FLASH的工程应用电路如下图所示,电路结构很简单,是非常常用的电路单元,就不多说了

(2) 第二种应用 还有一种应用电路也很常用,目前的实际工程也经常使用,就是2 bit或者4 bit NAND FLASH的应用单元电路,硬件工程师在选取器件时,有一项规格参数就是让选择X1/X2/X4的这一项,这个就是用来选择几个bit的,电路形式略有不同,如下图所示。

图中可以看出,复用了几个pin,然后结合MISO和MISO就组成了D0, D1, D2以及D3。具体说明可以从器件SPEC中可以查到,如下图所示。

(3) 第三种应用 这种应用也很常见,如下图所示,就是多片SPI FLASH通过不同的片选信号,连接到CPU上工作的线路图。也很简单,但是是常用的电路模块,也需要牢记的。

[调试经验] 分享一个早期调试一个主板上的SPI FLASH的经验。

1. 在主板上验证一个新的SPI FLASH, 焊接好后,外挂的ROM芯片始终不工作,焊接也没问题

反复检查后,发现主系统主要是采用1.8V供电,但是SPI ROM则是3.3V供电,如果要用25XX芯片,则需要采用Level Shift电路。或者采用第二种方案:是采用winbond的1.8V的芯片W25Q32XX换上这块芯片后,系统工作了。

[新技术进展] 3D Xpoint是自NAND Flash推出以来,最具突破性的一项存储技术。比NAND速度快1000倍以上,寿命是NAND的1000倍以上。并且具备以下四点优势,3D Xpoint被看做是存储产业的一个颠覆者:(1)比NAND Flash快1000倍;(2)成本只有DRAM的一半;(3)使用寿命是NAND的1000倍;(4)密度是传统存储的10倍;

因为这些优点,集中的解决了目前存储器存在的痛点。

1. 存储器的性能是PC设备上目前的短板。HDD<SSD<内存带宽<高速缓存。

2. DRAM:易失性难以解决,也就是存储需要不停供电,断电就会丢失存储的数据。DRAM只是不断地在预取值和总线上进行调整,核心的存储架构变化不大。

3. NAND:使用寿命、延迟不尽如人意,即使是性能最好的SLC NAND颗粒,其寿命也比DRAM小得多。

目前最快的DDR4内存,仍旧只能充当暂存器。原理简要说明:3D XPoint的工作原理与NAND存在着根本性的不同。NAND通过绝缘浮置栅极捕获不同数量的电子以实现bit值定义,而3D XPoint则是一项以电阻为基础的存储技术成果,其通过改变单元电阻水平来区分0与1。

3D XPoint的存储单元可以以3D方式进行堆叠,从而进一步提升存储密度。在英特尔的官方宣传中,3D XPoint拥有NAND类似的容量和DRAM类似的性能。包括比NAND速度快(应该是指延迟低)1000倍以上,寿命是NAND的1000倍以上,数据密度则达到了DRAM的十倍以上。如此屌炸天的性能,你,怕不怕?

「学术论文」基于SoC FPGA的光伏电力通信管理机系统

摘要:

介绍了一种基于SoC FPGA的光伏电力通信管理机系统的设计方法。该系统采用新型的集成有ARM硬核处理器的SoC FPGA作为主控芯片,将传统通信管理机的运算和通信工作进行合理划分,并由FPGA和ARM处理器协同实现。通过采用软硬件相结合的设计方式,本系统能够简化电路设计,降低通信事务对CPU的中断数量,增加支持MODBUS协议的RS485端口总量,并通过独立的NIOS II备用系统保证了系统在灾难情况下的可恢复性等,所以更加适合光伏电力系统中多设备、大数据量的应用。

中文引用格式: 张琳,梅雪松,陈勇. 基于SoC FPGA的光伏电力通信管理机系统[J].电子技术应用,2018,44(2):32-35,43.

英文引用格式: Zhang Lin,Mei Xuesong,Chen Yong. Photovoltaic power communication management system based on SoC FPGA[J]. Application of Electronic Technique,2018,44(2):32-35,43.

0 引言

光伏发电站利用大量的光伏电池板完成从光能到直流电能的转换,再将直流电能使用逆变器转换为50 Hz的交流电,输送到电网中。整个光伏电站中电能控制及转换设备需求量巨大。通信管理机作为电站中连接各个设备和电站中控台的设备,通过控制平台控制下行的Rtu设备,实现遥信、遥测、遥控等信息的采集,将消息反馈回调度中心,然后控制中心管理员通过对消息的处理分析,选择将执行的命令,达到远动输出调度命令的目标[1-2]。

目前广泛采用的通信管理机实现方案主要有3种:PowerPC处理器+串口扩展芯片架构、ARM处理器架构、ARM处理器+FPGA架构。其中:(1)PowerPC处理器+串口扩展芯片架构使用带通信协处理器的PowerPC处理器作为系统的核心,使用串口通信扩展芯片为PowerPC扩展出最多16个串口[3]。所有数据处理和运算全部由PowerPC处理器完成,在所有串口全部使用的情况下,整个系统运行较为缓慢,数据的实时性难以保证。(2)使用单独ARM处理器作为核心实现的通信管理机结构简单,但是能够支持的串口数量受到ARM处理器本身集成的串口数量限制,一般都不超过6个[4],无法满足光伏电站中海量设备的需求。(3)ARM处理器+FPGA架构利用FPGA完成串口扩展,基于ARM处理器完成数据的处理和网络协议的实现,它本质上和基于PowerPC+串口扩展芯片的方案一致。该种方案增加了系统的复杂度,但单性能上提升并不明显。以上3种方案都存在的问题是系统有且仅有一个核心单元,一旦系统宕机,就不得不重启系统,在系统未恢复的情况下,整个系统与电站中心控制台处于完全断开的状态,无法接收中心控制台的控制指令。

本文基于Intel全新的SoC FPGA芯片,将原本采用分立的FPGA和ARM处理器实现的系统使用单一的SoC FPGA芯片实现,并在FPGA上搭建了冗余监控系统。在提高系统性能的同时,保证了系统的在线可恢复性。

1 系统建模

Intel Cyclone V SoC FPGA芯片5CSEMA4U23C6芯片是一款在单一芯片上集成了高性能的双核ARM Cortex-A9 CPU和FPGA的SoC芯片,它是本系统的核心单元。

在本系统中,SoC FPGA芯片上的FPGA部分主要负责UART接口的扩展以及MODBUS协议的加速。

在电力系统中,几乎所有设备都支持标准的RS485接口,并使用MODBUS协议与其他设备进行通信。光伏电站中,因为设备多、数据量大,通信管理机的一个RS485端口在同一时刻只能和一台设备通信,因此导致数据传输速度出现瓶颈。为了解决这个问题,往往采用多个MODBUS网络端口来实现众多设备的管理[2]。

众多电力设备的数据在被通信管理机采集之后最终需要通过以太网接口与电站的中控后台进行数据交互,该数据交互主要通过IEC104协议实现,而IEC104协议的实现是通过SoC FPGA中的硬件处理系统(Hard Process System,HPS)运行成熟的Linux操作系统来完成的。

2 硬件电路方案设计

2.1 SoC FPGA 配置电路设计

为了使系统支持远程在线升级,本系统设置SoC FPGA的FPGA部分接收HPS部分的配置数据。HPS部分可以接收串口或者网口传输的FPGA配置文件。运行时SoC FPGA的HPS部分先启动并运行Linux操作系统,Linux操作系统启动完毕之后进行FPGA部分的配置。如果需要远程更新FPGA的配置数据,只需要通过网口将新的FPGA配置内容传输到操作系统所管理的磁盘上替换原来的配置文件,则系统下一次启动时就可以使用新的配置文件来配置FPGA。

2.2 SoC FPGA启动电路设计

SoC FPGA中的HPS部分运行Linux操作系统,HPS支持从SD卡、QSPI Flash、NAND Flash存储器中启动。NAND Flash和QSPI Flash存储器一般都采用焊接的方式安装在电路板上,而SD卡则是可拆卸并单独在PC上读写的。在工业现场,如果设备系统一旦损坏,需要重新烧录系统时,QSPI Flash和NAND Flash由于焊接在PCB板上,只能使用PC在线烧写,而SD卡则可以采用预先烧录好系统的SD卡进行更换,因此节省了现场维修的工作量。

2.3 RS485接口电路设计

通信管理机作为一个工业设备,其通信接口可能承受各种冲击,包括强共模电压、高压静电、雷击等[4],因此通信接口的防护措施至关重要。在本系统中,使用RSM3485模块完成TTL电平到RS485电平的双向转换。RSM3485模块实现标准RS485接口,具有ESD保护、短路或断路失效保护功能,内置120 kΩ上下拉电阻,双绞线输出,提供接触情况下±4 kV和空气放电情况下±8 kV的ESD放电功能,同时设计防雷电路,预防在雷击的情况下损坏通信接口[5],该接口电路图如图1所示。

2.4 以太网接口方案设计

电力系统通信管理机都要求提供主备双网口,以保证在其中一个网口出现故障时,另一个网口能够继续传输必要数据。5CSEMA4U23C6芯片默认提供了两个千兆以太网MAC,但是这两个MAC都是由HPS部分管理的,为了保证网口的可靠性,即使在ARM部分系统宕机的情况下,备用网口也能正常工作,设计时仅使用一个MAC层,并由HPS驱动,另一个网口使用NIOS II软核控制集成的以太网通信芯片W5500实现。

W5500芯片是一个全硬件实现的单芯片TCP/IP协议芯片,支持8个Socket端口,使用非常方便可靠。使用NIOS II 控制W5500完成以太网传输,即使HPS工作异常,FPGA中的NIOS II CPU还可以继续通过W5500进行数据的收发,保证备用网口的稳定运行。

3 SoC FPGA应用架构设计

由于SoC FPGA作为一种创新的架构,集成了FPGA和高性能HPS,因此在设计时,可以充分利用HPS强大的数据处理能力、FPGA侧灵活的定制特性以及HPS和FPGA之间高速通信桥,将各种工作根据其特性合理分配给FPGA或者HPS,通过两者协作,以实现最高的性能。

FPGA侧主要实现UART通信接口的扩展和基于NIOS II 处理器的备用系统。HPS端主要实现大量数据处理和通信规约之间的转换。图2为SoC FPGA上的功能划分框图。

3.1 FPGA逻辑设计

FPGA侧逻辑部分实现16个支持MODBUS帧自动识别的UART通信控制单元,如图3所示。每个单元由CRC校验逻辑、串口数据收发缓存、核心控制状态机和MODBUS帧识别逻辑组成。各单元在核心控制状态机的控制下自动完成MODBUS数据帧的收发和数据校验码的生成[6],并经由Avalon MM Slave接口与HPS传输MODBUS接收和需要发送的数据。

图4为支持MODBUS帧自动识别的增强型UART通信控制单元接收数据时的工作状态转移图。整个状态机由空闲状态(IDLE)、接收数据状态(GET_DATA)、接收超时状态(TIMEOUT)、接收字节数据完成状态(GET_BYTE)、帧传输完成状态(FRAME_DONE)组成。

当主机发出MODBUS请求帧后,本模块进入接收数据状态(GET_DATA),每接收到一个字节,就跳转进入接收字节完成状态(GET_BYTE),当帧结束判定信号有效时,表明一帧数据接收完成,此时进入帧接收完成状态。通过比对接收到的数据帧中CRC数据字段和FPGA中CRC校验单元对该帧产生的校验数据,确定当前帧是否正确。然后通过FPGA与HPS互联桥向HPS发出中断请求,并报告当前帧的校验结果,HPS侧的Linux驱动程序则会根据校验结果完成相应的处理,如果校验正确,则读取该帧数据并递交给上层MODBUS协议层进行进一步解析处理,如果该帧错误,则丢弃该帧,并进入错误处理程序。

3.2 Linux软件设计

SoC FPGA芯片中的HPS运行Linux操作系统,在Linux系统上运行通信管理机的应用程序。该应用程序主要包括三大部分,分别为MODBUS协议主站、IEC104协议从站、MODBUS和IEC104协议间规约转换程序。其中,MODBUS协议主站运行开源的Libmodbus协议栈,完成MODBUS指令和数据的收发。

Libmodbus协议栈是一个免费开源的MODBUS协议栈,支持MODBUS协议主站和从站功能。由于本系统在FPGA侧使用硬件逻辑电路已经实现了MODBUS协议的部分功能,如帧结束判定、CRC校验等。因此,对Libmodbus协议栈进行了一定的删减优化,去掉了底层数据帧接收和校验的部分,仅使用其指令和数据解析部分,这也是本系统的优势,通过FPGA侧硬件实现MODBUS协议底层内容,降低了处理器的工作量,使得处理器能够轻松完成对多达16个基于MODBUS协议的端口的支持。

为了方便实现对FPGA侧的16端口个MODBUS加速器的控制,在Linux侧单独开设一个进程用于16端口MODBUS加速器的控制,当该任务被调度并得到执行机会后,开始依次查询当前端口的状态,然后根据得到的端口状态执行相应的处理代码。该程序流程如图5所示。

空闲态:当查询到一个端口的状态为空闲时,表明此端口已经正确地完成了一轮数据收发,在新的通信命令到来之前,该端口将处于空闲状态,即不需要发送数据,也不需要接收数据,MODBUS端口是处于空闲状态的。

接收成功:当查询到某个端口成功接收到返回的数据后,则开始进行接收数据的处理工作,完成之后,进入下一个端口的状态查询工作。

接收超时:当查询到某个端口在设定的响应时间内无响应时,则返回接收超时状态。若检测到超时状态,系统开始进行超时处理工作。接收超时处理完成后,进入下一个端口的状态查询工作。

接收错误:当查询到某个端口接收数据出错时,则进行接收错误处理工作。当接收错误处理完成后,进入下一个端口的状态查询工作。该部分任务代码框架如下所示:

for(i=0;i<=15;i++)

{

port_state=mdp_state_read(port_num);//读取指定端口状态

switch(port_state)

{

case NO_STATE:break;//无就绪端口

case RX_DONE://接收数据成功

…//接收到数据处理代码模块

break;

case RX_TIMEOUT://接收超时

…//接收超时端口处理代码模块

break;

case RX_ERROR://接收错误

…//接收错误端口处理代码模块

break;

default:

printf("default %d\n\n",port_num);//默认为读错

误处理,将状态寄存器设置为错误标志

FPGA_WR16((port_num<<8 | 128), 1);

}//读到第16个端口后,回到0号口读取

if(port_num == 15) port_num = 0;

else port_num ++; //端口号自加1

}

usleep(30000); //释放CPU权限

3.3 NIOS II备用系统软件设计

通常状态下NIOS II CPU处于待机状态,若NIOS II CPU在设定的时间内没有接收到状态消息,则表明HPS系统侧软件系统崩溃,NIOS II CPU再通过和HPS互联的状态指示信号确认当前是操作系统宕机或应用程序异常。如果是应用程序异常,则触发Linux侧安全监视软件重启应用程序;如果是操作系统异常,则启动备用网口上报当前系统故障信息到电站中心控制台,并通过硬件复位来重启HPS。图6为NIOS II 备用系统的程序流程图。

4 系统性能分析

表1为以16个RS485端口,每个端口每500 ms完成一次对总线上设备的数据读取,每次通信数据帧长度平均为64 B为例,分析1 s内本系统方案(简称SoC FPGA方案)和PowerPC+串口扩展芯片ST16C2550方案(简称PowerPC方案)在串口芯片数量、CPU的CRC运算事务、CPU处理中断次数、备用网口的独立性等几个方面的差异。

5 结论

本文设计的基于Intel SoC FPGA的光伏电力通信管理机系统充分发挥了FPGA在处理多路并行数据通信方面的优势,极大地降低了传统方案中嵌入式处理器在管理通信事务时的中断开销,并提升了单个系统中支持MODBUS协议的RS485端口总量,能有效简化光伏电站的通信网络布局布线。同时,由于FPGA的可编程特性,在不改变硬件电路的前提下,通过对FPGA重新编程的方式,实现了系统的升级,解决了光伏电力系统中多设备、大数据量的难题,增加了系统的应用范围。

参考文献

[1] 李树奇,李国营,林俊杰.通信管理机在变电站的应用[J].信息通信,2011(6):188,190.

[2] 姚志璋,张羽翘,吴敏.光伏电站中的通信技术[J].农村电气化,2014(7):51-53.

[3] 何宝林,李明刚,刘波.MPC850在通信管理器的应用[J].现代电子技术,2005,28(1):71-73.

[4] 路小俊,吴在军,郑建勇,等.基于ARM平台及嵌入式实时操作系统的通信管理机[J].电力自动化设备,2005,25(5):46-49.

[5] 鲁锦锋,王蒙,张婷,等.光伏汇流箱中RS485通讯抗干扰方法分析[J].电子产品世界,2016,23(11):57-58.

[6] 于正林,张龙,黄勇.Modbus通信协议的FPGA实现[J].现代电子技术,2010,33(11):203-207.

相关问答

spi nand 和nor是否兼容?

不兼容。首先,SPI是指一种通信接口。那么严格的来说SPIFlash是一种使用SPI通信的Flash,即,可能指NOR也可能是NAND。但现在大部分情况默认下人们说的SPIFlas...

spi 串行flash和 spi 串行闪存是一个东西吗?

spi串行flash和spi串行闪存不完全是一个东西。SPI是指一种通信接口。SPIFlash是一种使用SPI通信的Flash,即,可能指NOR也可能是NAND。但现在大部分情况默认下...

嵌入式Flash读写操作该如何进行设计?

Flash存储芯片的通讯方式以SPI居多,在实现flash读写时就是要实现SPI的通讯协议,与EEPROM不同的是,SPI在操作时是按照PAGE页进行整页擦除写入的,这一点需要注...

ar7241和9344哪个好?

ar7241和9344都好,AR9344是业界顶尖的WLAN芯片厂商Atheros的新一代WLANSoC,内核为MIPS74Kc,主频高达533MHz,具有极高的集成度。适合开发无线路由器,无线A...

ar9344芯片性能?

该芯片是业界顶尖的WLAN芯片厂商Atheros的新一代WLANSoC,内核为MIPS74Kc,主频高达533MHz,具有极高的集成度。适合开发无线路由器,无线AP,无线网桥等。AR934...

惠普锐龙处理器怎么样?

6UltraLite作为i.MX6系列的扩展,是一系列高性能、超高效的处理器,采用先进的Arm®Cortex®-A7内核,运行速度高达696MHz。i.MX6UltraLite应用处理器包括一.....

酷比魔方I player什么芯片?

经过联系厂家,我们得知该芯片具有一下主要特点。ARM922TDMI微处理器内核(8KB数据缓存,8KB指令缓存);多种引导模式:NAND-Flash,UART及片外存储器CS0...AR....

soc有哪几种架构?

系统芯片(SOC)架构-AviralMittalSystemonChipArchitecture-AviralMittal此技术是在设计片上系统时考虑体系结构级别的因素。同样,范围是围...

imx6ull多少核?

6ULL是一个高功效、高性价比应用处的理器系列,采用单个ArmCortex-A7内核,运行速度高达528MHz。i.MX6ULL应用处理器包括一个集成的电源管理模块,降低了...i...

...好的化水实验室设备供应费用,化水实验室设备供应怎么挑选?

[回答]用水量不断增加,据统计,当今世界上有80多个国家,约20多亿人口面临淡水危机,其中26个国家的3亿多人口生活在缺水状态中,所以要节约用水...最简单想...

 网城  联想笔记本电脑g480 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部