【经验】MCU通过SPI接口实现升级FPGA的方法

2021-01-28 西安智多晶
FPGA,SL2E-5E,西安智多晶 FPGA,SL2E-5E,西安智多晶 FPGA,SL2E-5E,西安智多晶 FPGA,SL2E-5E,西安智多晶

西安智多晶Sealion2000系列SL2E-5E是集成了Flash的FPGA,含有5K LUTs、12个M9K、16个18x18乘法器以及2个PLL,可考虑用于替换XO2、XO3器件,以及MAX II、MAX V等国外性价比不高的CPLD,在项目应用时,用户往往会考虑远程更新程序的功能,防止设备需要升级程序带来的麻烦,本文介绍一种MCU通过SPI接口实现FPGA程序升级的方法,已经成功应用于客户的实际项目中。

         

SL2E-5E内部Flash的主存储阵列共16K个地址,每个地址可存储128bit数据,分为CFG和UFM两个区域,其中CFG占12K地址,用于存放用户FPGA程序,剩下4K地址是UFM区域,用于存放用户数据,其中UFM区域的读写控制IP,用户可以在Hq工具里直接调用。

 

SPI接口

我们会提供给用户一个Verilog程序块,可看成是一个桥接的接口,连接MCU与内部Flash的通道,用户将此程序模块例化到工程里,引出SPI接口到芯片GPIO端口与MCU相连,MCU工程师可以按照一定的送数步骤来实现工作状态中的程序功能更新。桥接原理如图1所示:

注:SPI2WB是智多晶提供的Verilog程序块,用户可当一个黑盒子使用。SPI2WB接口信号描述如下所示:


写接口时序

MCU需要按照一定的时序步骤来进行读写操作,写操作图2所示:

1)  先发0x7E表示要写操作

2)  Command是8bit指令编码

3)  24bit操作码opcode1~opcode3,无特殊说明时,操作码为0

4)  Write data是写入的数据,注意不是每条指令都带此数据 

其中指令编码的定义如下所示:


MCU写操作的步骤

升级程序主要涉及到写操作,用户可以编译一个闪灯的FPGA程序,用于观察更新后是否正常运行的指示,MCU会把FPGA编译后的xfb文件一行行写入到Flash中,并且必须严格按照如下步骤:

1)写 0x74指令 ISC_ENABLE_X 使能EFB 后台模式,opcode1 设为0x08 ,选择访问FLASH ,有效数据长度为5字节,即0x7e头 + command + opcode1\2\3

2)写0x0e擦除指令ISC_ERASE ,opcode1 设为0x01 时,擦除CFG、UFM 区域,需要时间约为8.3ms,有效数据长度为5字节,即0x7e头 + command + opcode1\2\3

3)写0xb4指令 WRITE_ADDR 设定flash地址 以0 开始 ,有效数据长度为9字节,即

0x7e头 + command + opcode1\2\3 + 32位0

4)写0x70指令 PROG_INCR_NV 将数据写入设定的FLASH 地址 ,opcode3为0x01,有效数据长度为21字节,即

0x7e头 + command + opcode1\2\3 + 128位数据

每条0x70指令后需要跟随0xff noop指令 ,noop指令有效数据长度为5字节,格式为:

0x7e头 + 0xff + opcode1\2\3(均为0xff)

Noop指令发送后需要等待 40us以确保flash写入完成。

 

连续发送xfb文件直到文件发送完成。

注意,xfb文件数据每一行的写入需要倒序,举个例子:

第一行数据从左到右拼成128bit,MCU需要把这128bit数据倒序发送,最低位先发。我们可以提供倒序操作的小工具,可实现xfb文件每一行的倒序。

 

5)写0xb4指令 WRITE_ADDR 跳转到flash地址 0x2fff ,有效数据长度为9字节,即

0x7e头 + command + opcode1\2\3 + 0x00 + 0x00 + 0x2f + 0xff

6)写0x70指令 PROG_INCR_NV 将数据0x0900000000写入,才能使用内部FLASH 进行正确配置,opcode3为0x01,有效数据长度为21字节,即

0x7e头 + command + opcode1\2\3 + 128位数据(即0x0000_0000_0000_0000_0000_0009_0000_0000)

跟随0xff noop指令 ,noop指令有效数据长度为5字节,格式为:

0x7e头 + 0xff + opcode1\2\3(均为0xff)

Noop指令发送后需要等待 40us以确保flash写入完成。

7)  发送 0x26 指令 ISC_DISABLE 关闭EFB 使能,在访问FLASH 结束后需要发送此指令,有效数据长度为5字节   0x7e头 + command + opcode1\2\3

8)发送 0x79 指令 REFRESH 触发重新配置,有效数据长度为5字节          

0x7e头 + command + opcode1\2\3

注:

* 每次cs拉高后,需要等待至少16个sys_clk,此时钟由fpga程序内部自己提供

* 若未特别说明,opcode为0.

* nConfig脚保持为高电平。


总结

SPI2WB接口模块占用2%的逻辑资源,在可接受范围内,用户使用这种方法实现远程升级,需要预留5根GPIO出来与MCU相连,但是第一次烧写可以先用USB下载器来烧程序,或者通过DATA0、DCLK、nCS发送xfb文件到SRAM运行,让FPGA运行起来,之后在正常工作状态下就可以随时随地更新FPGA程序,无需人为到场插线更新。


授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由干饭机器转载自西安智多晶,原文标题为:MCU通过SPI接口升级SL2E-5E的方法步骤,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关研发服务和供应服务

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】如何在FPGA上实现低成本开根号运算?

开根号运算是科学计算和工程应用中基本而重要的运算之一,在QuartusII和ISE开发软件中,都集成了开根号的ip核,这些底层源码对于用户来说是不可见的,那么如何在西安智多晶的FPGA中实现开根号运算,是本文要探讨的课题。

2020-07-22 -  设计经验 代理服务 技术支持 现货查询 批量订货

【经验】西安智多晶5000系列FPGA内嵌MCU调试测试指南

西安智多晶推出的Seal 5000 FPGA SA5Z-30系列内部合封Cortex M3硬核,最高主频可达200Mhz,32KB数据RAM和128KB指令RAM。本文针对FPGA内嵌M3硬核的使用做简洁的开发过程。

2022-10-10 -  设计经验 代理服务 技术支持 现货查询 批量订货

【经验】智多晶FPGA上实现LTE削峰算法PC-CFR

CFR算法是一种直接在数字域上面处理的方法,对于超出设定门限值的信号,直接在数字域上进行处理和消除。目前CFR算法有PW-CFR、NS-CFR和PC-CFR,常用的还是PC-CFR,其削峰能力最佳,本文就针对PC-CFR算法,在智多晶AD9365射频开发板上进行测试和实现。

2020-09-19 -  设计经验 代理服务 技术支持 现货查询 批量订货

【选型】国产FPGA SL2-25E-8U324替代XC6SLX16 CSG324用于工业伺服控制器,有效应对交期问题

客户在工业伺服控制器中用到一款Xilinx FPGA,但因为交期问题需要国产化替代,使用型号是XC6SLX25-CSG324,主要用于做逻辑控制和与MCU交互数据、进行数据处理,给客户推荐了西安智多晶SL2-25E-8U324,可以兼容替代。

2021-09-01 -  器件选型 代理服务 技术支持 现货查询 批量订货

SL2S-25E FPGA 器件概述

型号- SL2S-25E-U213,SL2S-22E-8FA256C,SL2S-25E

20240930  - 智多晶  - 商品及供应商介绍  - Version 1.7 代理服务 技术支持 现货查询 批量订货 查看更多版本

【应用】国产海狮系列FPGA SL2E-5E用于扩展外设接口,集成flash,工作频率高达300MHz

西安智多晶的SL2E-5E是一款集成了5K逻辑单元的小规模FPGA,但是比CPLD容量更大,能实现更多的逻辑设计,同时该FPGA内部集成了Flash,不需要再外接配置用的Flash,简化了电路设计。

2022-03-08 -  应用方案 代理服务 技术支持 现货查询 批量订货

SL2S-22E FPGA 器件概述

型号- SL2S-22E-UA324,SL2S-22E-8FA256C,SL2S-22E-FA256,SL2S-22E

20241008  - 智多晶  - 商品及供应商介绍  - Version 1.0 代理服务 技术支持 现货查询 批量订货

【IC】智多晶28nm FPGA家族SEAL5000系列新发SA5Z-100,采用低功耗28nm@LUT6工艺

2022年的下半年,西安智多晶28nm SEAL5000家族系列喜迎重量级新成员SA5Z-100,采用先进低功耗的28nm@LUT6工艺,集成高达8个通道13.1Gbps的高速SerDes,支持PCIe2.0 x4以及HDMI2.1等接口协议。

2022-12-19 -  新产品 代理服务 技术支持 现货查询 批量订货

SA5Z-30 FPGA 器件概述

型号- SA5Z-30-D3-U256,SA5Z-30,SA5Z-30-D0-U324,SA5Z-30-D1-U213,SA5Z-30-D0-U324C,SA5Z-30-D2-U256,SA5Z-30 系列,SA5Z-30-D2,SA5Z-30-D3,SA5Z-30-D0,SA5Z-30-D1

20241014  - 智多晶  - 商品及供应商介绍  - Version 1.17 代理服务 技术支持 现货查询 批量订货 查看更多版本

Seal(海豹)SA5Z-30 FPGA 产品手册

型号- 海豹5000系列,SA5Z-30-D2,SA5Z-30-ES,SA5Z-30-D0-UBGA324,SA5Z-30-D0,SA5Z-30-D1,SA5Z-30-D1-UBGA213,SA5Z-30-D2-8U213C5,SA5Z-30,SA5Z-30-D1-8U213C4,SA5Z-30-D2-8U213C6,SA5Z-30-D2-UBGA213,SEAL 5000系列,SA5Z-100-D1-8U324C,SA5Z-30-D0-8U324C6,SA5Z-30 系列,SA5Z-30-D1-8U213C,SA5Z-30-D2-8U213C

2021/07  - 智多晶  - 数据手册  - 版本1.2 代理服务 技术支持 现货查询 批量订货 查看更多版本

【应用】国产智多晶FPGA助力自动化测试设备扩展上百GPIO口,解决MCU端口不足痛点,核电压为1.2V

在一款自动化测试设备上,需要控制5个步进电机、86个电磁铁和几十个指示灯,以及外部通讯接口,使用的雅特力的AT32F407RCT7,由于控制逻辑并不复杂,需要使用的IO会比较多,因此需要对MCU的IO口进行扩展。客户希望在扩展的控制芯片增加步进电机的驱动,只需要发送指令就可以控制电机的旋转。推荐了智多晶的FPGA SL2E-5E-8M121I。

2023-04-14 -  应用方案 代理服务 技术支持 现货查询 批量订货

SA5Z-30 FPGA 数据手册

型号- SA5Z-30,SA5Z-30-D2,SA5Z-30-D0-8U324C,SA5Z-30-D3,SA5Z-30-D0,SA5Z-30-D1

20241012  - 智多晶  - 数据手册  - Version 1.14 代理服务 技术支持 现货查询 批量订货 查看更多版本

【应用】基于智多晶Sealion 2000系列FPGA的工业控制解决方案,具有低功耗优势

智多晶Sealion 2000系列FPGA基于低功耗工艺设计,旨在满足低成本高性价比客户的需求,使系统设计师在降低成本的同时又能够满足不断增长的应用要求,在低成本、低功耗FPGA市场处于领导地位。

2021-03-25 -  应用方案 代理服务 技术支持 现货查询 批量订货

智多晶FPGA选型表

FPGA选型参数:28nm hpc+工艺,自 LUT6 架构,嵌入MCU,30K~325K LUT4,内置100/200/400个25X18/18X18/9X9专用乘法器,硬核 Memory DDR controller,PCIe-Gen2/3,1Mbps/s 采样,12bit ADC,支持 DDR4-1866Mbps,LVDS 1.25Gbps,Serdes 3.1Gbps~12.5Gbps,3D 合封 DDR2、DDR3 、DDR4

产品型号
品类
封装
LUTS
Flip-Flops
Slices
CLB
Flash(Kbits)
Max Distributed Ram (Kbits)
Embedded memory (Kbits)
Number of Block SRAM(9 Kbits/block)
Embedded 18x18multipliers
General purpose PLLs+DLLs
Global Clock Networks
User I/O Banks
Max user I/O(注1)
SL2E-5E-8W81I
FPGA
81-ball WLCSP,0.4mm
5040
5040
2520 (LUT:FF=1:1)
630
512
40
108
12
16
2+2
16
6
199

选型表  -  智多晶 立即选型

SA5Z-50 FPGA 器件概述

型号- SA5Z-50-D0-7F484,SA5Z-50,SA5Z-50-D0-U324,SA5Z-50-D0-F484,SA5Z-50-D0-7U196,SA5Z-50-D0-U196,SA5Z-50-D0-8U324C,SA5Z-50-D0,SA5Z-50 系列,SA5Z-50-D1

20240929  - 智多晶  - 商品及供应商介绍  - Version 1.6 代理服务 技术支持 现货查询 批量订货 查看更多版本
展开更多

电子商城

查看更多

品牌:智多晶

品类:FPGA

价格:¥48.0000

现货: 5,001

品牌:智多晶

品类:FPGA

价格:¥72.0000

现货: 5,151

品牌:智多晶

品类:FPGA

价格:¥64.0000

现货: 5,005

品牌:智多晶

品类:FPGA

价格:

现货: 5,000

品牌:智多晶

品类:FPGA

价格:¥118.0000

现货: 3,018

品牌:智多晶

品类:FPGA

价格:¥184.0000

现货: 3,005

品牌:智多晶

品类:FPGA

价格:¥118.0000

现货: 3,000

品牌:智多晶

品类:FPGA

价格:¥240.0000

现货: 3,000

品牌:智多晶

品类:FPGA

价格:¥164.0000

现货: 3,000

品牌:智多晶

品类:FPGA

价格:¥52.0000

现货: 2,331

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:LATTICE

品类:嵌入式-FPGA(现场科编程门阵列)

价格:¥15.0000

现货:420,988

品牌:LATTICE

品类:可编辑逻辑集成电路

价格:¥25.0000

现货:13,385

品牌:XILINX

品类:FPGA芯片

价格:¥109.3800

现货:6,594

品牌:Actel

品类:FPGA

价格:¥386.5165

现货:650

品牌:Altera

品类:可编程逻辑器件(CPLD/FPGA)

价格:¥560.0000

现货:360

品牌:高云

品类:FPGA芯片

价格:¥45.0000

现货:200

品牌:INTEL

品类:ASIC

价格:¥1,265.2800

现货:130

品牌:Actel

品类:FPGA

价格:¥202.5347

现货:95

品牌:Actel

品类:FPGA

价格:¥1,700.6726

现货:60

品牌:INTEL

品类:ASIC

价格:¥585.4700

现货:43

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面