本实用新型涉及基于可编程逻辑集成电路的半导体记忆装置,尤其涉及一种实时更新编码型闪快记忆体。
背景技术:
闪快记忆体应用阶段不能使用jtag接口烧写或更新程序,需支持通过上位机串口更新flash程序功能;设备在串口更新程序过程中,如果出现掉电等原因使程序更新失败,无法从原有程序成功加载。
技术实现要素:
为了解决上述技术所存在的不足之处,本实用新型提供了一种实时更新编码型闪快记忆体。
为了解决以上技术问题,本实用新型采用的技术方案是:一种实时更新编码型闪快记忆体,它包括上位机和电路板,上位机和电路板之间通过串口通信方式通信;
上位机包括码流程序文件、人机界面、串口驱动、串口收发模块,人机界面的指令下发需更新的码流程序文件,并且依次通过串口驱动、串口收发模块与电路板连接,发送码流数据指令;
电路板包括接口单元、flash储存单元、fpga单元控制和数据中心,接口单元与串口收发模块连接,接口单元接收码流数据指令并向fpga单元控制和数据中心输送,fpga单元控制和数据中心和flash储存单元相连接,fpga单元控制和数据中心识别码流数据指令后更新到flash储存单元中完成串口更新程序过程。
进一步地,串口通信方式采用的串口为rs232串口或rs485串口或can串口。
进一步地,fpga单元控制和数据中心中包括指令解析模块和uarttospi数据换模块;指令解析模块可将uart格式的码流数据指令解析;uarttospi数据换模块可将uart格式的码流数据转化为spi接口输出至flash储存单元。
进一步地,flash储存单元包括一号flash和二号flash,一号flash储存初始化程序文件,二号flash储存uarttospi数据换模块更新的码流程序文件。
进一步地,电路板还包括辅助电路单元,辅助电路单元与fpga单元控制和数据中心相连接。
本实用新型的fpga外挂两片flash,其中一号flash为默认加载flash,二号flash为更新程序flash。一号flash程序“pro1”由厂家在生产调试阶段通过jtag接口烧写固化,二号flash开放给用户,其程序“pro2”可通过串口随时更新固化。fpga默认加载一号flash中程序“pro1”,并检测二号flash中是否有程序。如二号flash中有程序,则fpga重新加载“pro2”,反之,二号flash中无程序或程序未能完整烧写,则fpga继续运行“pro1”。设备在串口更新程序过程中,如果出现掉电等原因使程序更新失败,可从原有程序成功加载。
附图说明
图1为本实用新型的电气原理框图。
图2为本实用新型的flash接口示意图。
图3为本实用新型的辅助电路a的电路图。
图4为本实用新型的辅助电路b的电路图。
图中:1、上位机;11、码流程序文件;12、人机界面;13、串口驱动;14、串口收发模块;2、电路板;21、接口单元;22、flash储存单元;221、一号flash;222、二号flash;23、fpga单元控制和数据中心;24、辅助电路单元;231、指令解析模块;232、uarttospi数据换模块。
具体实施方式
下面结合附图和具体实施方式对本实用新型作进一步详细的说明。
如图1所示的一种实时更新编码型闪快记忆体,它包括上位机1和电路板2,上位机1和电路板2之间通过串口通信方式通信;串口通信方式采用的串口为rs232串口,也可采用rs485串口或can串口。
上位机1包括码流程序文件11、人机界面12、串口驱动13、串口收发模块14,人机界面12包含指令下发、数据下发和状态显示功能,人机界面12的指令下发需更新的码流程序文件11,即待烧写的程序“pro2”码流文件,并且依次通过串口驱动13、串口收发模块14与电路板2连接,发送码流数据指令;
电路板2包括接口单元21、flash储存单元22、fpga单元控制和数据中心23,接口单元21与串口收发模块14连接,接口单元21接收码流数据指令并向fpga单元控制和数据中心23输送,fpga单元控制和数据中心23和flash储存单元22相连接,fpga单元控制和数据中心23(以下简称fpga)识别码流数据指令后更新到flash储存单元22中完成串口更新程序过程。
fpga中包括指令解析模块231和uarttospi数据换模块232;指令解析模块231可将uart格式的码流数据指令解析;uarttospi数据换模块232可将uart格式的码流数据转化为spi接口输出至flash储存单元22。
电路板2还包括辅助电路单元24,辅助电路单元24与fpga单元控制和数据中心23相连接。
flash储存单元22包括一号flash221和二号flash222,一号flash221储存初始化程序文件,二号flash222储存uarttospi数据换模块232更新的码流程序文件。如图2所示,一号flash221和二号flash222的clk、si、so管脚均与fpga相应配置管脚相连,一号flash221的片选信号cs1和二号flash222的片选信号cs2均需经54芯片实现的辅助电路,与fpga中配置管脚fcs和某任意io管脚“io1”、“io2”、“io3”相连。
fpga外挂两片flash,其中一号flash221为厂家flash,二号flash222为用户程序flash。一号flash221中程序“pro1”由厂家在生产调试阶段通过jtag接口烧写固化,二号flash222开放给用户,其程序“pro2”可通过串口随时更新固化。
厂家生产阶段,通过下载器板和jtag接口将程序“pro1”固化至一号flash221中;电路板上电时,io1和io2默认为“11”,辅助电路a将cs1设为低电平有效,cs2设为高电平无效,此时fpga默认加载一号flash221中程序“pro1”;
如图3所示的“pro1”程序加载成功后,fpga在程序控制下,将io1和io2设置为“10”,此时辅助电路a将cs1设为高电平无效,cs2设为低电平有效;fpga读取二号flash222中数据;
fpga读取二号flash222特定标志位数据,如“0x00”地址数据,判断是否为烧写完成标志,如“55aa”;如标志位为烧写完成标志,则代表二号flash222被用户更新过,fpga则执行5操作;如标志位为非“55aa的其他位,则表示二号flash222未被用户更新过,fpga执行5操作;
fpga将io1和io2设置为“01”,此时cs1恢复有效;fpga执行原“pro1”程序,并等待用户更新二号flash222程序;此时如用户掉电重启,fpga将保持从一号flash221中加载程序;
如fpga检测到用户串口传来的更新程序指令,首先将io1和io2设置为“10”,二号flash222接口有效,此时fpga通过内部程序将串口程序更新至二号flash222中;
fpga检测到更新操作完成后,在二号flash222特定标志位地址写入为有效位“55aa”;并向上位机反馈二号flash222程序更新完成标志;此为本闪快记忆体更新程序流程完成;
fpga保持io1和io2电平为“10”,此时二号flash222的片选cs2有效;fpga给io3发送低电平复位信号;
如图4所示的io3经辅助电路b保持,延时,将fpga本身复位;复位过程中,io1和io2电平恢复至高电平,而辅助电路a将cs2片选信号保持有效;
fpga再次上电后,将加载二号flash222中的程序“pro2”。至此为本闪快记忆体加载更新程序流程完成。
上述实施方式并非是对本实用新型的限制,本实用新型也并不仅限于上述举例,本技术领域的技术人员在本实用新型的技术方案范围内所做出的变化、改型、添加或替换,也均属于本实用新型的保护范围。
1.一种实时更新编码型闪快记忆体,其特征在于:它包括上位机(1)和电路板(2),上位机(1)和电路板(2)之间通过串口通信方式通信;
所述上位机(1)包括码流程序文件(11)、人机界面(12)、串口驱动(13)、串口收发模块(14),人机界面(12)的指令下发需更新的码流程序文件(11),并且依次通过串口驱动(13)、串口收发模块(14)与电路板(2)连接,发送码流数据指令;
所述电路板(2)包括接口单元(21)、flash储存单元(22)、fpga单元控制和数据中心(23),接口单元(21)与串口收发模块(14)连接,接口单元(21)接收码流数据指令并向fpga单元控制和数据中心(23)输送,fpga单元控制和数据中心(23)和flash储存单元(22)相连接,fpga单元控制和数据中心(23)识别码流数据指令后更新到flash储存单元(22)中完成串口更新程序过程;
所述flash储存单元(22)包括一号flash(221)和二号flash(222),一号flash(221)储存初始化程序文件,二号flash(222)储存uarttospi数据换模块(232)更新的码流程序文件。
2.根据权利要求1所述的实时更新编码型闪快记忆体,其特征在于:所述串口通信方式采用的串口为rs232串口或rs485串口或can串口。
3.根据权利要求2所述的实时更新编码型闪快记忆体,其特征在于:所述fpga单元控制和数据中心(23)中包括指令解析模块(231)和uarttospi数据换模块(232);指令解析模块(231)可将uart格式的码流数据指令解析;uarttospi数据换模块(232)可将uart格式的码流数据转化为spi接口输出至flash储存单元(22)。
4.根据权利要求3所述的实时更新编码型闪快记忆体,其特征在于:所述电路板(2)还包括辅助电路单元(24),辅助电路单元(24)与fpga单元控制和数据中心(23)相连接。
技术总结