首页> 中国专利> 一种基于FPGA/CPLD控制器的处理器程序远程动态加载系统及方法

一种基于FPGA/CPLD控制器的处理器程序远程动态加载系统及方法

摘要

本发明提供一种不同于常规但通用的基于FPGA/CPLD控制器的处理器程序动态远程加载系统及方法。该系统包括:上位机、通信单元、FPGA/CPLD控制器单元、处理器单元、并行易失性存储器单元;上位机存放处理器程序,将程序和控制命令封装成数据帧,添加标识符,传递给通信单元;通信单元接收上位机来的程序和控制命令,并发送给FPGA/CPLD控制器单元;FPGA/CPLD控制器单元管理处理器单元的外部总线,同时接收通信单元来的数据帧,根据数据帧标识符和数据帧内容,可将程序写入并行易失性存储器单元,并控制处理器跳转到程序所在地址开始运行。本发明实现了在不烧写固化存储器前提下在线对处理器进行远程动态加载。

著录项

  • 公开/公告号CN103389669A

    专利类型发明专利

  • 公开/公告日2013-11-13

    原文格式PDF

  • 申请/专利号CN201310320435.X

  • 发明设计人 贺亚龙;杭娇;朱旻;

    申请日2013-07-26

  • 分类号G05B19/042(20060101);

  • 代理机构33101 杭州九洲专利事务所有限公司;

  • 代理人陈健

  • 地址 310012 浙江省杭州市西湖区华星路96号

  • 入库时间 2024-02-19 20:39:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-06-29

    授权

    授权

  • 2013-12-04

    实质审查的生效 IPC(主分类):G05B19/042 申请日:20130726

    实质审查的生效

  • 2013-11-13

    公开

    公开

说明书

技术领域

本发明涉及数字电路数据处理传输技术领域,尤其涉及一种处理器程序的远程动态加载 系统及方法。

背景技术

国内油田地面设备系统一般由多块信号处理板组成,不同类型的信号处理板其系统硬件 构成大同小异,由处理器执行特定应用程序实现其不同功能。

通常信号处理板的加载模式大部分采用程序flash固化的方式,实现的功能单一,不能根 据需要动态配置、增加和改变其功能,因此设备需要的信号处理板数量较多,成本高,携带 不便。

如果信号处理板的程序可以由上位机动态加载,将类似的信号处理板进行统一设计,则 可以大大减少设备的组成规模,同时提高设备的功能综合能力以及改善设备的维护性、维修 性。因此具有动态加载功能的信号处理板对于提高新一代的油田地面设备的性能和使用性具 有重要意义。

目前嵌入式系统领域内常常通过处理器的特殊引导方式,采用多级引导的方法来实现处 理器程序动态加载。这种方法一般比较复杂,不同的芯片系列所采用的技术不同,如TI公司 的UART、HPI引导,ADI公司的HOST和LINK引导方法,因此不具备一般通用性。

绝大多数的处理器,包括TI公司的DSP、ADI公司的DSP、ARM架构处理器、PowerPC 架构处理器均拥有外部并行总线,可挂接并行存储器,复位时启动地址可以映射到外部并行 总线,属于一种通用特征。

并行易失性存储器具有几乎无限的读写次数,而处理器放置程序常规使用的非易失性存 储器,程序写入次数通常有限。

实现一种更通用的,对处理器特性依赖更少,可以随意更新程序内容的处理器程序加载 方法,对于解决设备功能动态配置、动态更新问题,具有更好的应用价值。

发明内容

本发明的目的在于克服现有技术存在的不足,提供一种不同于常规但通用的基于FPGA (现场可编程阵列)/CPLD(复杂可编程逻辑阵列)控制器的处理器程序动态加载系统和方 法,实现处理器程序的远程加载、更新。

本发明是通过以下技术方案实现的:

一种基于FPGA/CPLD控制器的处理器程序远程动态加载系统,其特征在于:该系统包 括:上位机、通信单元、FPGA/CPLD控制器单元、处理器单元、并行易失性存储器单元,其 中上位机与通信单元连接,FPGA/CPLD控制器单元与通信单元、并行易失性存储器单元、处 理器单元连接;

所述上位机存储待加载的处理器程序,将程序和控制命令封装成添加了标识符的数据帧, 将包含处理器程序、控制命令的数据帧发送给所述通信单元;

所述处理器单元根据所述FPGA/CPLD控制器单元的控制,运行待加载的处理器程序以 完成程序要求的功能;

所述通信单元与所述上位机和所述FPGA/CPLD控制器单元相连,用于接收所述上位机 传输的加载文件数据和控制命令,并将该加载文件数据和控制命令发送至所述FPGA/CPLD 控制器单元;

所述FPGA/CPLD控制器单元与所述通信单元、所述并行易失性存储器单元及所述处理 器单元相连,它接收所述通信单元发来的数据帧,从中提取控制命令和程序,根据控制命令, 管理所述处理器单元的状态,管理控制所述处理器单元与所述并行易失性存储器单元两者的 外部总线,它将处理器程序通过外部总线传输至所述并行易失性存储器单元,它也根据控制 命令控制所述处理器单元通过复位启动跳转到已载入程序的所述并行易失性存储器单元执 行;

所述并行易失性存储器单元可以是任意具有读写功能的并行易失性存储元件,它与所述 FPGA/CPLD控制器单元相连,用于接收所述FPGA/CPLD控制器单元发送的加载文件数据。

如上所述的一种基于FPGA/CPLD控制器的处理器程序远程动态加载系统,其特征在于: 其中并行易失性存储器单元的存储器是易失性并行总线存储器,包括但不限于同步并行 SRAM或异步并行SRAM或并行铁电存储器。

如上所述的一种基于FPGA/CPLD控制器的处理器程序远程动态加载系统,其特征在于: 并行易失性存储器单元的起始地址,由所述FPGA/CPLD管理,程序运行时位于处理器的复 位运行地址。

如上所述的一种基于FPGA/CPLD控制器的处理器程序远程动态加载系统,其特征在于: 所述通信单元是指用于实现数据通信和转发的功能单元,它进一步由有线传输芯片和/或无线 传输芯片组成或者由带有传输芯片的实现数据通信和转发的处理器电路组成。

如上所述的一种基于FPGA/CPLD控制器的处理器程序远程动态加载系统,其特征在于: 所述通信单元的传输接口可以是网口、串口、USB口和/或无线接收端口。

如上所述的一种基于FPGA/CPLD控制器的处理器程序远程动态加载系统,其特征在于: 其中上位机包括但不限于个人计算机PC、移动终端或服务器。

本发明在提供如上所述的一种基于FPGA/CPLD控制器的处理器程序远程动态加载系统 的同时,提供了一种基于FPGA/CPLD控制器的处理器程序远程动态加载方法,具体包括以 下步骤:

步骤一:所述上位机向所述通信单元发出“下载命令”,所述通信单元将“下载命令”转 发给所述FPGA/CPLD控制器单元,所述FPGA/CPLD控制器单元置所述处理器单元为复位 保持状态,并接管所述处理器单元和所述并行易失性存储器单元的外部总线;

步骤二:所述上位机向所述通信单元发出“程序数据”,所述通信单元将“程序数据”转 发给所述FPGA/CPLD控制器单元,所述FPGA/CPLD控制器单元通过所述并行易失性存储 器单元的外部总线将程序下载数据写入所述并行易失性存储器单元;

步骤三:所述上位机向所述通信单元发出“复位命令”,所述通信单元将“复位命令”转 发给所述FPGA/CPLD控制器单元,所述FPGA/CPLD控制器单元释放所述处理器单元的外 部总线,并将所述并行易失性存储器单元的外部总线归还给所述处理器单元进行控制和管理;

步骤四:所述FPGA/CPLD控制器单元通过所述处理器单元的复位电路发出完整复位信 号;

步骤五:所述处理器单元执行复位启动,自动跳转到所述并行易失性存储器所在的复位 地址开始执行下载的程序,所述处理器单元进入正常程序运行;

步骤六:所述处理器单元程序运行中,当需要实时在线更新程序时,返回步骤二。

本发明所提供的处理器程序远程动态加载系统和方法,能带来以下有益效果:

1、采用远程通信连接方式更新设备程序,无需对设备断电、开盖和采用专业工具如JTAG 仿真器/编程器。

2、可以通过上位机灵活选择处理器运行的程序,无需固化到设备。

3、过程简洁,主要控制过程由FPGA/CPLD控制器单元实现,不涉及处理器编程,降低 了对处理器的要求,提高了方法的实现性。

4、不依赖处理器的特殊加载方式,适用于目前主流的ARM体系处理器、PowerPC体系 处理器、TI(美国德州仪器公司)全系列DSP处理器、ADI(美国模拟器件公司)全系列DSP 处理器、支撑外部并行FLASH/EEPROM启动的各种单片机,具有很好的通用性。

附图说明:

图1是基于FPGA/CPLD控制器的处理器程序远程动态加载系统框图;

图2是基于FPGA/CPLD控制器的处理器程序远程动态加载系统优选实施例的硬件框图;

图3是基于FPGA/CPLD控制器的处理器程序远程动态加载系统优选实施例的上电和程 序加载过程运行流程图;

图4是基于FPGA/CPLD控制器的处理器程序远程动态加载系统优选实施例的上位机程 序流程图;

图5是基于FPGA/CPLD控制器的处理器程序远程动态加载系统优选实施例的FPGA程 序流程图;

附图中标记说明:DSP处理器1、FPGA控制器2、异步SRAM存储器3、USB2.0通讯 芯片4、PC机5、电源模块6、SDRAM模块7、总线通道8、输出控制信号9、总线通道10、 总线通道11。

具体实施方式

为了使本技术领域的技术人员更好地理解发明的技术方案,以下结合附图和优选实施例 对本发明作进一步的详细说明:

参见图2,提供了一种基于FPGA/CPLD控制器的处理器程序远程动态加载系统的优选实 施例,实现了基于FPGA控制器和USB2.0通讯传输的TMS320C6748处理器DSP程序动态 加载系统,主要包括:DSP处理器1(TI公司的TMS320C6748),对应图1中处理器单元;FPGA 控制器2(ALTERA公司的EP2C20F484),对应图1中FPGA/CPLD控制器单元;异步SRAM 存储器3(IDT公司的BS616LV1622),对应图1中易失性并行存储单元;USB2.0通讯芯片4 (CYPRESS公司的CY7C68013A),对应图1中通信单元;PC机5,对应图1中上位机;电 源模块6、SDRAM模块7为系统电路保持正常供电和运行之必要设施,但与本发明无涉。

优选实施例是为了更好地说明本发明的实施,在具体实施中,处理器单元可以但不限于 是DSP处理器TMS320C6748,FPGA/CPLD控制器单元可以但不限于是FPGA控制器 EP2C20F484,易失性并行存储单元可以但不限于是异步SRAM存储器BS616LV1622,通信 单元可以但不限于是USB2.0通讯芯片CY7C68013A,上位机可以但不限于是个人计算机PC、 移动终端或服务器。

USB2.0通讯芯片4的外部USB通讯接口与PC机5的USB通讯接口连接,用于接收PC 机5传输的加载文件和控制命令数据帧;USB2.0通讯芯片4的FIFO接口与FPGA控制器2 的总线通道10连接,用于将接收到的加载文件数据和控制命令数据帧发送给FPGA控制器2; DSP处理器1的EMIF总线口与FPGA控制器2的总线通道11连接;异步SRAM存储器3 的外部总线与FPGA控制器2的总线通道8连接;FPGA控制器2根据从USB2.0通讯芯片4 收到的命令,通过总线通道8管理异步SRAM存储器3的外部总线,通过总线通道11管理 DSP处理器1的EMIF总线;DSP处理器1的复位控制信号与FPGA控制器2的输出控制信 号9连接,由FPGA控制器2管理DSP处理器的复位或运行状态。

下面将分别对系统上电和程序加载过程运行流程、上位机程序流程、FPGA程序流程分 别说明:

参见图3,详细说明本发明优选实施例的系统上电和程序加载过程运行流程。步骤101: 系统上电时,FPGA控制器2通过输出控制信号9向DSP处理器1的复位电路送出复位有效 信号,置DSP处理器1为复位保持状态;步骤102:PC机5通过USB通讯口向USB2.0通 讯芯片4发出含有“下载命令”(0xAA标记)的数据帧;步骤103:USB2.0通讯芯片4将数 据帧转发给FPGA控制器2;步骤104:FPGA控制器2通过输出控制信号9向DSP处理器1 的复位电路送出复位有效信号,再次置DSP处理器1为复位保持状态;步骤105:FPGA控 制器2接管DSP处理器1的EMIF总线和异步SRAM单元3的外部总线;步骤106:PC机5 通过USB通讯口向USB2.0通讯芯片4发出“程序数据”(0x55)数据帧,下载程序数据;步 骤107:USB2.0通讯芯片4将“程序数据”(0x55)通过FIFO接口将数据帧发送给FPGA控 制器2;步骤108:FPGA控制器2通过总线通道8将剥去帧头的程序数据写入异步SRAM单 元3;循环执行步骤106、107、108,直至PC机5发送完程序数据;步骤109:PC机5向 USB2.0通讯芯片4发送“复位命令”(0XFF)数据帧;步骤110:USB2.0通讯芯片4从PC 机5收到“复位命令”(0XFF)数据帧,然后转发给FPGA控制器2;步骤111:FPGA控制 器2在内部将异步SRAM单元3的外部总线映射连接到DSP处理器1的EMIF总线;步骤 112:FPGA控制器2向DSP处理器1的复位电路发出完整复位信号;步骤113:DSP处理器 1执行复位启动,自动跳转到异步SRAM单元3所在的DSP处理器1复位地址;步骤114: 处理器开始执行下载的程序,进入正常程序运行;步骤115:若要再次加载程序,跳转到步 骤102。

参见图4,详细说明本发明优选实施例的上位机程序流程。步骤201:启动程序和交互界 面;步骤202:操作员通过交互界面选择待加载的功能程序;步骤203:PC机5向USB2.0 通讯芯片4发送“下载命令”(0xAA标记)数据帧,然后延迟1秒;步骤204:读取待加载 程序文件,每读取一次数据(最多1024字节)按表1协议封装成“程序数据”(0x55标记) 数据帧;步骤205:将“程序数据”(0x55标记)数据帧通过PC机5与目标连接的USB口 发送给USB2.0通讯芯片4,然后延迟等待目标完成数据写入;重复步骤204、205直至程序 全部数据已读取发送完成;步骤206:向板上USB2.0通讯芯片4发送“复位命令”(0xFF标 记)数据帧,然后等待目标程序开始运行;步骤207:等待操作员下一次命令。

优选实施例中,上位机程序按照表1通讯协议对下载文件和控制命令数据进行封装。具 体实施中通讯协议可以不同于优选实施例的设计。

优选实施例的通讯协议数据帧协议,参见下表:

表1

参见图5,详细说明本发明优选实施例的FPGA程序流程。步骤301:完成初始化和相关 的配置,通过与DSP处理器1复位电路相连的IO口送出复位有效信号,置DSP处理器1为 复位保持状态;步骤302:等待和接收USB2.0通讯芯片4发送的数据帧,判断当前操作是命 令还是数据操作;步骤303:如果帧头标记字为0xAA,则当前操作是“下载命令”操作,通 过与DSP处理器1复位电路相连的IO口送出复位有效信号,置DSP处理器1为复位保持状 态;步骤304:接管DSP处理器1的EMIF总线,并置FPGA写SRAM地址为起始地址;步 骤305:如果帧头标记字为0x55,则当前操作是“程序数据”操作,按照帧头中指定的帧长, 提取接收数据帧中的数据,通过与异步SRAM存储器3相连的总线口,按照地址递增写入; 步骤306:如果帧头标记字为0xFF,则当前操作是“复位命令”操作,将SRAM存储器3的 外部总线口由FPGA控制器2的内部逻辑映射转接到DSP处理器1的EMIF总线,SRAM存 储器3的起始地址对应映射到DSP处理器1的复位起始地址;步骤307:步骤306完成后, 通过与DSP处理器1的复位电路相连的IO口先送出复位有效信号,置DSP处理器1为复位 保持状态,经过有效时间后释放复位信号,完成复位波形,DSP处理器1进入运行。

本方案以USB2.0等通用高速接口为基础解决了程序动态加载和上下位机的数据传输问 题,同时不依赖特定处理器的专用接口,不仅适用于TI各系列数字信号处理器系统,同样也 可适用于其他嵌入式处理器系统,从而拓宽了需要进行程序动态加载设计系统的处理芯片选 型范围,大大有利于设计时提高目标的综合性能。

以上实施方式仅用于说明本发明,而非对本发明的限制。任何本领域技术人员在不脱离 本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能 的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实 施例所作的任何修改、等同变化及修饰,均属于本发明技术方案的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号