[发明专利]一种更新SPI Flash内FPGA程序的系统及方法在审
申请号: | 201811331485.7 | 申请日: | 2018-11-09 |
公开(公告)号: | CN109542478A | 公开(公告)日: | 2019-03-29 |
发明(设计)人: | 张成森;刘洪庆;向前 | 申请(专利权)人: | 中电科仪器仪表有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F13/42 |
代理公司: | 青岛华慧泽专利代理事务所(普通合伙) 37247 | 代理人: | 张慧芳 |
地址: | 266555 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 配置芯片 更新 上位机 电路板器件 读数据FIFO 读写控制器 上位机软件 写数据FIFO 总线控制器 产品价格 程序更新 控制逻辑 内部集成 数据交互 硬件电路 总线连接 控制器 总线 配置的 存储 指令 | ||
1.一种更新SPI Flash内FPGA程序的系统,其特征在于,包括上位机、FPGA模块、SPIFlash配置芯片,上位机与FPGA模块之间通过PCI/PCIe总线连接,进行数据交互,上位机软件通过PCI/PCIe总线将FPGA程序传至FPGA模块,所述FPGA模块内部集成SPI Flash配置芯片的控制逻辑,由FPGA模块更新SPI Flash配置芯片中存储的FPGA程序;所述FPGA模块包括PCI/PCIe总线控制器、SPI总线控制器、SPI Flash读写控制器、读数据FIFO、写数据FIFO,所述PCI/PCIe总线控制器与SPI总线控制器之间通过读数据FIFO和写数据FIFO数据传输,SPI总线控制器和SPI Flash配置芯片之间数据读写采用单线模式或双线模式或四线模式。
2.一种更新SPI Flash内FPGA程序的方法,其特征在于,基于权利要求1所述的更新SPIFlash内FPGA程序的系统,包括以下步骤:
步骤一、读取程序文件;
步骤二、Flash控制初始化;
步骤三、判断Flash是否已正常工作:正常工作,执行步骤四;否则执行步骤九;
步骤四、Flash数据擦除;
步骤五、Flash数据写入,写入次数N加1;
步骤六、Flash数据回读;
步骤七、判断Flash数据写入是否正确:写入正确,执行步骤九;写入不正确,执行步骤八;
步骤八、判断N是否大于等于3:若N<3,执行步骤四;若N≥3,执行步骤九;
步骤九、结束。
3.根据权利要求2所述的更新SPI Flash内FPGA程序的方法,其特征在于,步骤一中,上位机软件提供的FPGA程序配置文件一种为.mcs文件,.mcs文件以文本的形式记录了FPGA的二进制程序,包含地址程序数据及校验信息;另一种配置文件是.bit文件,.bit文件分为两部分,第一部分包括该文件生成信息,第二部分包括配置FPGA的二进制程序;软件首先需要从硬盘或优盘中读取FPGA程序,并按照不同格式文件提取出配置FPGA程序的二进制形式。
4.根据权利要求2所述的更新SPI Flash内FPGA程序的方法,其特征在于,步骤二中,软件在控制SPI Flash之前需要首先复位写入/读取数据FIFO,然后向Flash发送读取ID的指令,根据读取数据判断Flash是否已正常工作。
5.根据权利要求2所述的更新SPI Flash内FPGA程序的方法,其特征在于,步骤四中,SPI Flash支持整块擦除、扇区擦除、子扇区擦除;如果SPI Flash中只存储FPGA程序,则几种擦除方式都可以,否则只能采用循环的方式擦除存储的FPGA程序区域。
6.根据权利要求5所述的更新SPI Flash内FPGA程序的方法,其特征在于,擦除开始时,首先向Flash发送WRITE ENABLE指令,然后发送擦除指令及擦除地址,最后发送READSTATUS REGISTER指令读取Flash的状态寄存器以判断擦除指令是否执行完毕,如果采用整块擦除,指令执行完毕;如果是采用扇区或子扇区擦除则需要循环执行上述指令。
7.根据权利要求2所述的更新SPI Flash内FPGA程序的方法,其特征在于,步骤五中,分多次将FPGA程序完整写入,
(1)上位机依次将FPGA程序256字节存写入写数据FIFO;
(2)向Flash发送WRITE ENABLE指令;
(3)向Flash发送PAGE PROGRAM指令并将写数据FIFO数据传送给Flash;
(4)循环向Flash发送READ STATUS REGISTER,读取状态寄存器直到写入指令执行完毕;
(5)如果FPGA程序没有写入完,则跳到第(1)步继续执行。
8.根据权利要求2所述的更新SPI Flash内FPGA程序的方法,其特征在于,步骤六中,读数据时,首先向Flash发送READ指令,然后利用读数据FIFO接收Flash读取数据,最后上位机通过PCI/PCIe总线将读数据FIFO数据读到内存中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电科仪器仪表有限公司,未经中电科仪器仪表有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811331485.7/1.html,转载请声明来源钻瓜专利网。