1.一种SoPC程序远程更新方法,其特征在于,所述SoPC程序远程更新方法包括以下步骤:步骤一,编译生成FPGA的硬件配置文件和NiosII的软件映像文件后进行合并,并转换为二进制文件;
步骤二,NiosII微处理器按照预置的通讯协议指令将外部通讯模块传来的应用模式配置程序写入片内RAM中暂存;
步骤三,NiosII微处理器将EPCS存储器指定地址内的数据擦除,并把片内RAM中暂存的配置程序烧录到EPCS存储器的指定地址中;
步骤四,重新上电时,FPGA首先进入工厂模式,然后根据RSU专用电路的配置,自动加载存储在EPCS存储器中的相应应用模式配置程序;
步骤一中,转换为一个直接烧录、包含FPGA硬件配置文件和NiosII软件映像文件的二进制文件;所述二进制文件为应用模式配置程序;所述应用模式配置程序传输过程中包含信息效验操作;每次通讯完成后都进行CRC效验,用于确保数据传输可靠性;
步骤二中,NiosII微处理器通过通讯模块与上位机建立连接,按照预置的通讯协议指令将外部通讯模块传来的应用模式配置程序写入片内RAM中暂存;
步骤四中,当远程更新失败时,FPGA加载工厂模式配置程序,用于系统正常工作,同时进行下一次代码远程更新;
所述SoPC程序远程更新方法的SoPC程序远程更新系统包括:FPGA模块,用于进入工厂模式,然后根据RSU专用电路的配置,自动加载存储在EPCS存储器中的相应应用模式配置程序;当远程更新失败时,通过加载工厂模式配置程序,用于系统正常工作,同时进行下一次代码远程更新;
EPCS存储器,与FPGA模块连接,用于存储FPGA的硬件配置文件和软件映像文件;
EEPROM存储器,与FPGA模块连接,用于存储配置过程中的启动参数;
通讯模块,与FPGA模块通过通讯接口连接,用于上位机与FPGA模块的通讯;
当有配置程序需要更新时,上位机通过通讯模块和FPGA模块将配置文件下载到EPCS存储器中,重新上电时,FPGA模块根据启动参数自动加载存储在EPCS存储器中的相应配置程序;
所述FPGA模块为由NiosII微处理器、CAN控制器、片上RAM、EPCS控制器、RSU控制器、RSU专用电路、IIC控制器、JTAG控制器构成;所述NiosII微处理器、CAN控制器、片上RAM、EPCS控制器、RSU控制器、IIC控制器、JTAG控制器均通过片内Avalon总线相连;
所述NiosII微处理器,用于与上位机的数据交互,根据上位机的控制指令对CAN控制器、片上RAM、EPCS控制器、RSU控制器、IIC控制器进行操作;
所述CAN控制器,用于NiosII微处理器与上位机的串行通讯;
所述片上RAM,用于暂存远程更新数据;
所述EPCS控制器,用于对EPCS器件的擦除、烧录和效验;
所述RSU控制器,用于实现对RSU专用电路的配置;
所述IIC控制器,用于对EEPROM器件的读写操作;
所述应用模式配置程序包括FPGA模块,其中FPGA模块由NiosII微处理器、CAN控制器、片上RAM、EPCS控制器、IIC控制器、BootLoader构成;所述BootLoader,用于应用模式FPGA硬件配置文件加载完成后,从EPCS存储器中指定地址拷贝NiosII软件映像文件进行启动运行;
所述EPCS存储器中的存储区域包括:工厂模式配置程序区域和应用模式配置程序区域;
所述工厂模式配置程序区域用于存储工厂模式配置程序;
所述应用模式配置程序区域用于存储远程更新的应用模式配置程序;
所述应用模式配置程序区域有多个,用于存储远程更新的多份应用模式配置程序;
所述SoPC程序远程更新系统还包括JTAG接口模块,JTAG接口模块与FPGA模块的JTAG控制器通过片内Avalon总线相连;
所述工厂模式配置程序采用直接通过FPGA模块的JTAG链为EPCS存储器下载配置程序,作为SoPC程序远程更新的基础代码;
所述SoPC程序远程更新系统可存储多份SoPC系统配置程序,实现多功能的灵活切换,适应不同条件的使用需求。