本发明专利技术提供一种现场可编程门阵列的加载电路及加载方法,加载电路包括微处理器、非易失性存储器以及现场可编程门阵列,非易失性存储器与微处理器连接,微处理器与现场可编程门阵列连接,使用该加载电路加载数据时,微处理器从非易失性存储器中读取加载数据,并将加载数据写入寄存器中,通过控制器从寄存器中读取加载数据,并通过加载数字信号将加载数据传输至现场可编程门阵列。实施本发明专利技术提升了整个加载过程的速度,大幅度的降低了加载时间,从而降低了系统启动配置时间,也降低了系统的故障恢复时间,提升了产品性能和指标。
【技术实现步骤摘要】
本专利技术涉及向现场可编程门阵列中加载文件方法及相应的加载电路。
技术介绍
FPGA (Field-programmable gate arrays,现场可编程门阵列)是一种可擦 除可编程的只读存储器。通常在单板上电初始化时,将相关程序数据加载到 FPGA中。FPGA初始化后,可以完成复杂的逻辑控制,实现各种业务处理功 能。由于FPGA是一种掉电不保存数据的逻辑芯片,所以要求每次上电启动 后要重新加载,即将程序数据重新加载写入到FPGA芯片中,使其能够正常 工作。请参见图1,图1为一种现有的对FPGA加载文件的加载电路,该电路包 括微处理器(MCU) 11、非易失性存储器DATAFLASH12以及FPGA13,非 易失性存储器12与MCU 11连接,MCU 11通过通用输入/输出GPIOlll模块 与FPGA 13连接。现有的一种对FPGA加载文件的方法是将加载的文件存储在非易失性存 储器12中,上电启动后MCU 11通过其专门接口从非易失性存储器12中读 取数据,存储到緩存区中,然后再通过MCU 11的GPIO接口 111加载到FPGA 13中去,FPGA与MCU之间的加载信号如下表所示<table>table see original document page 4</column></row><table>D—IN加载数字信号上表所示的FPGA加载信号都要单独连接到MCU 11的一个GPIO 111 管脚上,在图1所示,FPGA 13的加载管脚PROG_B、 INIT—B、 DONE、 CCLK、 D—IN分别连接到MCU 11中的GPIO 111的5根管脚上,由软件实现对各个 管脚的控制。MCU 11提供的5根GPIO管脚通常具有控制作用,通过软件控 制CCLK和D一IN信号实现数据传输,完成最终的加载功能。MCUll按比特 位依次从緩存区中从低位到高位依次读取一个字节的数据时,首先将CCLK 信号拉低,读取传输字节数据的最低位的比特位,将该位状态通过D一IN信号 传输给FPGA;然后将CCLK信号拉高,准备下一比特位数据输出,将加载 的字节数据右移一位,即将下一位数据移至最低位。由于这种加载方式需要通过软件控制各管脚工作状态,软件控制的方式 通常对最高传输速率有上限阈值,因此对数据的加载速度限制较大,同时, GPIO管脚的控制时间受限于MCU的时钟速率,例如,加载数据采用软件控 制数字板ARM指令时钟和数据传输,FPGA的加载时间受到MCU的指令时 钟限制,而数字板ARM指令时钟通常控制加载FPGA的时钟为500K左右。 而且加载一个字节数据要分别控制CCLK和D_IN管脚八次,对于加载大文 件的FPGA数据,加载的时间就较难控制,甚至加载时间过长,影响到系统 初始化工作。
技术实现思路
本专利技术的目的在于提供一种现场可编程门阵列的加载方法及加载电路, 能够提高加载速度,减少系统启动配置时间。本专利技术提供一种现场可编程门阵列的加载方法,包括步骤步骤l,微处理器读取加载数据;步骤2,将所述加载数据写入所述微处理器的串行总线传输接口模块的寄 存器中;步骤3,所述串行总线传输接口模块的控制器从所述寄存器中读取所述加载数据;步骤4,根据串行总线传输接口模块向所述现场可编程门阵列发送的时钟 信号,通过所述串行总线传输接口模块发送加载数字信号将所述加载数据传 输至所述现场可编程门阵列。本专利技术还提供一种现场可编程门阵列的加载电路,包括微处理器、非易 失性存储器以及现场可编程门阵列,所述非易失性存储器与所述微处理器连 接,所述微处理器与所述现场可编程门阵列连接,所述微处理器包括通用输入/输出接口模块和串行总线传输接口模块,所 述通用输入/输出接口模块与与所述现场可编程门阵列连接,发送复位信号以 及接收复位完成信号和加载完成信号;所述串行总线传输接口模块与所述现场可编程门阵列连接,发送加载时 钟信号和加载数字信号;该串行总线传输接口模块包括寄存器,以及控制器;所述微处理器从所述非易失性存储器中读取加载数据,并将所述加载数 据写入所述寄存器中,通过所述控制器从所述寄存器中读取所述加载数据, 并通过所述加载数字信号将所述加载数据传输至所述现场可编程门阵列。实施本专利技术的现场可编程门阵列的加载方法及加载电路,通过写SPI数 据寄存器,由SPI模块的控制器完成加载数据的输出过程,减少了对MCU的 GPIO模块的多重控制,进一步,由于SPI模块的时钟信号由MCU的CPU产 生,其最高传输速率的限制要求远低于现有技术中通过软件控制时钟频率对 最高传输速率的要求,可以根据用户对传输速率的需求进行设置,从而使的 传输速率远大于MCU控制GPIO的速率。通过SPI ^^莫块的传输速率提升整个 加载过程的速度,大幅度的降低了加载时间,从而降低了系统启动配置时间, 也降低了系统的故障恢复时间,提升了产品性能和指标。附图说明图1为现有技术中现场可编程门阵列的加载电路的原理框图2为本专利技术的一个实施例中现场可编程门阵列的加载方法;图3为本专利技术的一个实施例中现场可编程门阵列的加载电路的原理框图4为本专利技术的一个优选实施例中现场可编程门阵列的加载方法;图5为本专利技术的一个优选实施例中现场可编程门阵列的加载电路的原理 框图。具体实施例方式参阅图2和图3,本专利技术对FPGA加载数据的加载方法及加载电路使用 SPI ( Serial Peripheral Interface,串行总线传输接口 )来克服对MCU管脚的速 率要求。如图3所示,MCU 11通过GPIO 31模块和SPI 32模块与FPGA13 连接。在一个实施例中,MCU 11通过总线与DATAFLASH 12连接,实现将 存储在DATAFLASH 12中需要加载的文件通过GPIO 31模块和SPI32模块快 速加载到FPGA 13中。如图2所示,当对FPGA 13加载数据时,MCU 11从DATAFLASH12读 取加载数据(SI);然后将所读取的加载数据写入SPI 32模块的寄存器中(S2 ); SPI的控制器从该寄存器中读取加载数据(S3);在本专利技术中,通过SPI32模 块向FPGA 13发送时钟信号,根据SPI 32模块向FPGA 13发送的时钟信号, 通过所述SPI 32模块将加载数据传输至FPGA 13 ( S4 )。在本专利技术的一个实施例中,在执行步骤S1之前,可以通过向FPGA13发 送PROG—B信号,使FPGA13进入加载状态。另外,在本专利技术的一个实施例 中,当MCU从低位开始传输加载数据的字节时,设置SPI 32模块的工作模 式,将SPI 32设置为SPI主机模式,即,数据传输的起始由主机发送数据来 启动,主机激活时钟并开始传输;另外,设置SPI 32模块数据传输LSB低位 在先,工作模式为模式0,以保持与MCU传输的方向一致。在本专利技术的一个实施例中,当FPGA 13接收到PROG—B信号时,对该信 号进行处理,启动FPGA 13的加载过程;当复位完成后FPGA 13会向MCU 11 发送INIT—B信号,当MCU 11接收到该信号后,检测该信号是否指示出错, 如果指示出错,则结束,当前加载过程失败,否则,执行Sl步骤。本文档来自技高网...
【技术保护点】
一种现场可编程门阵列的加载方法,其特征在于,包括步骤: 步骤1,微处理器读取加载数据; 步骤2,将所述加载数据写入所述微处理器的串行总线传输接口模块的寄存器中; 步骤3,所述串行总线传输接口模块的控制器从所述寄存器中读取所述加载数据; 步骤4,根据串行总线传输接口模块向所述现场可编程门阵列发送的时钟信号,通过所述串行总线传输接口模块发送加载数字信号将所述加载数据传输至所述现场可编程门阵列。
【技术特征摘要】
【专利技术属性】
技术研发人员:左延麟,
申请(专利权)人:京信通信系统中国有限公司,
类型:发明
国别省市:81[中国|广州]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。