本实用新型涉及电路技术,尤其涉及一种基于DSP与FPGA的控制电路装置。
背景技术:
目前在电力电子等自动化设备中,以DSP+FPGA相结合的控制系统逐渐成为市场主流。基于RAM的FPGA价格较便宜,但由于SRAM掉电后数据消失的问题,每次系统上电后,均需对FPGA进行重新配置。
技术实现要素:
在下文中给出了关于本实用新型的简要概述,以便提供关于本实用新型的某些方面的基本理解。应当理解,这个概述并不是关于本实用新型的穷举性概述。它并不是意图确定本实用新型的关键或重要部分,也不是意图限定本实用新型的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
鉴于此,本实用新型提供了一种基于DSP与FPGA的控制电路装置,以至少解决目前基于RAM的FPGA由于SRAM掉电后数据消失的原因而需要在每次系统上电后对FPGA进行重新配置的问题。
根据本实用新型的一个方面,提供了一种基于DSP与FPGA的控制电路装置,控制电路装置包括DSP单元、FPGA单元和电阻单元,FPGA单元包括第一FPGA模块,电阻单元包括第一电阻和第二电阻;其中,DSP单元的第零I/O口连接第一FPGA模块的DATA0管脚,DSP单元的第一I/O口连接第一FPGA模块的nSTATUS管脚,DSP单元的第二I/O口连接第一FPGA模块的nCONFIG管脚,DSP单元的第三I/O口连接第一FPGA模块的CONF_DONE管脚,DSP单元的第四I/O口连接第一FPGA模块的DCLK管脚;第一电阻的一端和第二电阻的一端连接预定正电压,第一电阻的另一端连接DSP单元的第一I/O口,第二电阻的另一端连接DSP单元的第三I/O口;第一FPGA模块的MSEL0管脚、MSEL1管脚与nCE管脚接地。
进一步地,第一FPGA模块的nCE0管脚空置。
进一步地,FPGA单元还包括第二FPGA模块;DSP单元的第零I/O口连接第二FPGA模块的DATA0管脚,DSP单元的第一I/O口连接第二FPGA模块的nSTATUS管脚,DSP单元的第二I/O口连接第二FPGA模块的nCONFIG管脚,DSP单元的第三I/O口连接第二FPGA模块的CONF_DONE管脚,DSP单元的第四I/O口连接第二FPGA模块的DCLK管脚;第一FPGA模块的nCE0管脚连接第二FPGA模块的nCE管脚,第二FPGA模块的MSEL0管脚与MSEL1管脚接地。
进一步地,DSP单元采用TMS320F28335芯片。
本实用新型的基于DSP与FPGA的控制电路装置属于电路级底层功能模块,该控制电路装置为利用DSP子系统中空闲的FLASH空间存放FPGA的配置数据的目标提供了硬件层面的实施途径,由此在使用本实用新型的控制电路装置情况下不需要每次系统上电后对FPGA进行重新配置。经过实验验证,通过DSP(如TMS320F28335)模拟专用EPROM对FPGA进行配置,能够降低硬件成本并实现FPGA的在线升级。
通过以下结合附图对本实用新型的最佳实施例的详细说明,本实用新型的这些以及其他优点将更加明显。
附图说明
本实用新型可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本实用新型的优选实施例和解释本实用新型的原理和优点。在附图中:
图1是示意性地示出本实用新型的基于DSP与FPGA的控制电路装置的一个示例的结构示意图;
图2示出了本实用新型的基于DSP与FPGA的控制电路装置的一个示例的结构示意图;
图3示出了本实用新型的基于DSP与FPGA的控制电路装置的另一个示例的结构示意图。
本领域技术人员应当理解,附图中的元件仅仅是为了简单和清楚起见而示出的,而且不一定是按比例绘制的。例如,附图中某些元件的尺寸可能相对于其他元件放大了,以便有助于提高对本实用新型实施例的理解。
具体实施方式
在下文中将结合附图对本实用新型的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本实用新型,在附图中仅仅示出了与根据本实用新型的方案密切相关的装置结构和/或处理步骤,而省略了与本实用新型关系不大的其他细节。
本实用新型的实施例提供了一种基于DSP与FPGA的控制电路装置,控制电路装置包括DSP单元、FPGA单元和电阻单元,FPGA单元包括第一FPGA模块,电阻单元包括第一电阻和第二电阻;其中,DSP单元的第零I/O口连接第一FPGA模块的DATA0管脚,DSP单元的第一I/O口连接第一FPGA模块的nSTATUS管脚,DSP单元的第二I/O口连接第一FPGA模块的nCONFIG管脚,DSP单元的第三I/O口连接第一FPGA模块的CONF_DONE管脚,DSP单元的第四I/O口连接第一FPGA模块的DCLK管脚;第一电阻的一端和第二电阻的一端连接预定正电压,第一电阻的另一端连接DSP单元的第一I/O口,第二电阻的另一端连接DSP单元的第三I/O口;第一FPGA模块的MSEL0管脚、MSEL1管脚与nCE管脚接地。
图1示出了本实用新型的基于DSP与FPGA的控制电路装置的电原理图,图2示出了其一个示例的结构示意图。
如图1所示,在该示例中,基于DSP与FPGA的控制电路装置100包括DSP单元110、FPGA单元120和电阻单元。
DSP单元110例如采用TMS320F28335芯片实现。下文中,主要以TMS320F28335芯片作为示例进行描述,但应当注意,DSP单元并不限于TMS320F28335芯片,也可以采用能够本实用新型方案的其他类型DSP芯片。
其中,FPGA单元120包括第一FPGA模块120-1,电阻单元包括第一电阻R1和第二电阻R2。
DSP单元110的第零I/O口GPIO0连接第一FPGA模块120-1的DATA0管脚,DSP单元110的第一I/O口GPIO1连接第一FPGA模块120-1的nSTATUS管脚,DSP单元110的第二I/O口GPIO2连接第一FPGA模块120-1的nCONFIG管脚,DSP单元110的第三I/O口GPIO3连接第一FPGA模块120-1的CONF_DONE管脚,DSP单元110的第四I/O口GPIO4连接第一FPGA模块120-1的DCLK管脚。
由此,DSP单元110利用5个I/O脚(即第零I/O口GPIO0、第一I/O口GPIO1、第二I/O口GPIO2、第三I/O口GPIO3和第四I/O口GPIO4)与FPGA相连,就实现了无源串行(PS)方式的硬件连接,具体信号见表1(信号方向从侧看)。
表1
此外,如图1和图2所示,第一电阻R1的一端和第二电阻R2的一端连接预定正电压(如3.3V),第一电阻R1的另一端连接DSP单元110的第一I/O口GPIO1,第二电阻R2的另一端连接DSP单元110的第三I/O口GPIO3;第一FPGA模块120-1的MSEL0管脚、MSEL1管脚与nCE管脚接地。
第一FPGA模块的nCE0管脚例如可以空置。
图3示出了本实用新型的基于DSP与FPGA的控制电路装置的另一个示例的结构示意图。
如图3所示,FPGA单元120还包括第二FPGA模块120-2。
DSP单元110的第零I/O口GPIO0连接第二FPGA模块120-2的DATA0管脚,DSP单元110的第一I/O口GPIO1连接第二FPGA模块120-2的nSTATUS管脚,DSP单元110的第二I/O口GPIO2连接第二FPGA模块120-2的nCONFIG管脚,DSP单元110的第三I/O口GPIO3连接第二FPGA模块120-2的CONF_DONE管脚,DSP单元110的第四I/O口GPIO4连接第二FPGA模块120-2的DCLK管脚。
此外,如图3所示,第一FPGA模块120-1的nCE0管脚连接第二FPGA模块120-2的nCE管脚,第二FPGA模块120-2的MSEL0管脚与MSEL1管脚接地。
通过以上描述可知,本实用新型的基于DSP与FPGA的控制电路装置属于电路级底层功能模块,该控制电路装置为利用DSP子系统中空闲的FLASH空间存放FPGA的配置数据的目标提供了硬件层面的实施途径。经过实验验证,通过DSP(如TMS320F28335)模拟专用EPROM对FPGA进行配置,能够降低硬件成本并实现FPGA的在线升级。
下面以TMS320F28335作为DSP单元的示例来描述本实用新型的基于DSP与FPGA的控制电路装置的一个应用实例。
基于RAM的FPGA由于SRAM工艺的特点,掉电后数据会消失。因此,每次系统上电后,均通过DSP对FPGA进行配置。对于Altera的FPGA,本设计采用PS(无源串行)方式对FPGA进行配置,是基于如下几个方面的考虑:PS方式连线最简单;与Configuration EPROM方式可以兼容;与并行配置相比,误操作的几率小,可靠性高。
例如,利用本实用新型的基于DSP与FPGA的控制电路装置,可以按照如下方式对TMS320F28335的I/O口线进行操作,以完成后续对FPGA的配置:
1.nCONFIG=“0”、DCLK=“0”,保持2μS以上。
2.检测nSTATUS,如果为“0”,表明FPGA已响应配置要求,可开始进行配置。否则报错。正常情况下,nCONFIG=“0”后1μS内nSTATUS将为“0”。
3.nCONFIG=“1”,并等待5μS。
4.Data0上放置数据(LSB first),DCLK=“1”,延时。
5.DCLK=“0”,并检测nSTATUS,若为“0”,表明FPGA配置有错误,则应回到步骤1重新开始。
6.准备下一位数据,并重复执行步骤4、5,直到所有数据送出为止。
7.此时Conf_done应变成“1”,表明FPGA的配置已完成。如果所有数据送出后,Conf_done不为“1”,必须重新配置(从步骤1开始)。
8.配置完成后,再送出10个周期的DCLK,以使FPGA完成初始化。
在线升级
采用本实用新型的最大优点是可以实现单板FPGA的在线升级。
硬件要求
要实现在线升级,单板设计必须考虑以下几个问题:
TMS320F28335的启动必须不依赖于FPGA,即TMS320F28335子系统应在FPGA被配置前可独立运行并访问所需资源。
FPGA配置前(或配置过程中)必须保证控制的设备处于非工作态或不影响其他设备工作的稳定态。
为了实现FPGA的在线升级,存放FPGA配置数据的存储器器必须是TMS320F28335可重写的,且此存储器应是非易失性的,以保证单板断电后,FPGA数据不需从后台重新获得。
技术指标
利用TMS320F28335完成对FPGA的配置。
本模块设计已在TMS320F28335和FPGA环境下完成验证,对于Altera的FPGA均适用。
以TMS320F28335小系统为例,我们可以将转换完成的RBF文件作为二进制文件,直接写到TMS320F28335中由伪指令划出的一定的FLASH区域。由于这段数据的起始地址和长度都是已知的,相应的软件编写是很方便的。
此外,在每次系统上电后,DSP在运行初始化程序时会自动调用FPGA的配置过程,在建立完备的可靠通讯的前提下,完成FPGA的配置。
成本预计
与Configuration EPROM方式相比,本模块设计省去了Configuration EPROM的硬件成本。同时,利用现有资源,不增加硬件成本。
性能
本模块设计严格按照FPGA的PS配置流程进行,并在配置过程中始终监测工作状态,在完善的软件配合下,可纠正如上电次序导致配置不正常等错误。因此,采用此方法对FPGA进行配置,性能将优于Configuration EPROM方式。
特点
与Configuration EPROM方式相比本设计有如下优点:
1)降低硬件成本——省去了FPGA专用外部存储器的成本,而几乎不增加其他成本。以ALTERA的10K系列为例,板上至少要配一片以上的EPC1,每片EPC1的批量价是30多元,容量1M位。提供1Mb的存储空间,对于大部分单板来说(如860系统的单板),是不需要增加硬件的。即使增加1Mb存储空间,通用存储器也会比FPGA专用EPROM便宜。
2)可多次编程——若使用专用EPROM几乎都是OTP,则FPGA版本一旦更换,旧版本的并不便宜的EPROM只能丢弃。如果使用本设计对FPGA配置,选用可擦除的通用存储器保存FPGA的编程数据,更换FPGA版本,无须付出任何硬件代价。这也是降低硬件成本的一个方面。
3)实现真正“现场可编程”——FPGA的特点就是“现场可编程”,只有使用DSP(如TMS320F28335)对FPGA编程才能体现这一特点。如果设计周全的话,单板上的FPGA可以做到在线升级。
4)减少生产工序——省去了对“FPGA专用EPROM”烧结的工序,对提高生产率,降低生产成本等均有好处;此外,由于FPGA的程序存放在DSP的FLASH区域,因而受到DSP自身的密码保护,不易泄露。
利用本实用新型,可以在后续处理中,通过使用DSP的伪指令在DSP的FLASH划出一定的区域用来存放FPGA的程序;在功能逻辑上,利用DSP的多总线特性,按照严格的时序逻辑将存放在这个特定的FLASH空间中的数据写入FPGA中。保证在系统掉电时,DSP可在进行自身的程序初始化时完成对FPGA本轮的程序配置。同时,本设计中可以利用一片DSP芯片配置多个FPGA。本设计一方面解决之前FPGA掉电数据丢失的问题,另一方面省略了FPGA的外部下载JATG接口及FPGA外部的存储器,节省单板空间,降低系统成本。
尽管根据有限数量的实施例描述了本实用新型,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本实用新型的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本实用新型的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本实用新型的范围,对本实用新型所做的公开是说明性的,而非限制性的,本实用新型的范围由所附权利要求书限定。