专利名称:Fpga通过ddr2接口与dsp通信的方法及装置的制作方法
技术领域:
本发明涉及通信领域,尤其涉及一种场可编程门阵列(FPGA,Field Programmable Gate Array)通过 DDR2 接 口与数字信号处理器(DSP,Digital Signal Processor)通信的 方法及装置。
背景技术:
随着DSP技术的发展和数字处理带宽的增加,目前的DSP外部接口都向着高速串 行接口发展,而抛弃了原有的并行低速接口,这样有利于减少芯片的引脚数量,从而减小芯 片的尺寸,也大大简化了 PCB布线的复杂度。但随之而来的问题是使用高速串行总线带来了器件成本的大幅增加,包括芯片 本身和与其连接的芯片,如FPGA,FPGA在使用高速串行总线和DSP链接时,必须使用带有高 速串行收发器的FPGA,而且实现高速串行总线链接的协议要消耗大量的FPGA资源,这样造 成了 FPGA器件成本的激增以及资源的消耗。
发明内容
有鉴于此,本发明要解决的技术问题是,提供一种通过DDR2接口与DSP通信的方 法及装置,能够使FPGA通过DDR2接口实现与DSP的通信,降低了与FPGA器件的成本以及 FPGA的资源消耗。为此,本发明实施例采用如下技术方案本发明实施例提供一种FPGA通过DDR2接口与DSP通信的方法,包括对DDR2接口进行上电启动中的初始化处理;并且,接收DSP的DDR2控制器的时序配置;接收到DDR2控制器发来的读写命令时,根据所述读写命令以及所述时序配置生 成读写时序;在所述读写时序执行所述读写命令指示的读写操作。其中,所述对DDR2接口进行上电启动中的初始化处理包括
接收DDR2控制器发来的MR初始化命令和EMR初始化命令;根据所述初始化命令中携带的寄存器参数值相应进行MR和EMR的初始化;启动DDR2接口内部的锁相环;根据EMR中的0⑶校验模式值,进行DDR接口的阻抗校验。根据所述读写命令以及所述时序配置生成读写时序包括根据所述读写命令以及时序配置确定DDR2控制器的读写时序;将所述DDR2控制器的读写时序转换为芯片内部部件能够识别的读写时序。所述在所述写时序执行所述写命令指示的写操作包括接收DDR2控制器发来的数据;将所述数据转换为单倍速率数据;
在对应的写时序对转换后的单倍速率数据进行写操作。所述在所述读时序执行所述读命令指示的读操作包括在对应的读时序进行读操作;将读出的数据转换为DDR2数据;将转换后的DDR2数据发送给DDR2控制器。本发明实施例还提供一种FPGA通过DDR2接口与DSP通信的装置,包括接收单元,用于对DDR2接口进行上电启动中的初始化处理;并且,接收DSP的 DDR2控制器的时序配置;生成单元,用于接收到DDR2控制器发来的读写命令时,根据所述读写命令以及所 述时序配置生成读写时序;操作单元,用于在所述读写时序执行所述读写命令指示的读写操作。其中,所述接口单元包括
第一接收子单元,用于接收DDR2控制器发来的MR初始化命令和EMR初始化命令;初始化子单元,用于根据所述初始化命令中携带的寄存器参数值相应进行MR和 EMR的初始化;启动子单元,用于启动DDR2接口内部的锁相环;校验子单元,用于根据EMR中的OCD校验模式值,进行DDR接口的阻抗校验;第二接收子单元,用于接收DSP的DDR2控制器的时序配置。生成单元包括确定子单元,用于根据所述读写命令以及时序配置确定DDR2控制器的读写时序;第一转换子单元,用于将所述DDR2控制器的读写时序转换为芯片内部部件能够 识别的读写时序。操作单元包括第三接收子单元,用于接收DDR2控制器发来的数据;第二转换子单元,用于将所述数据转换为单倍速率数据;第一操作子单元,用于在对应的写时序对转换后的单倍速率数据进行写操作。操作单元包括第二操作子单元,用于在对应的读时序进行读操作;第三转换子单元,用于将读出的数据转换为DDR2数据;发送子单元,用于将转换后的DDR2数据发送给DDR2控制器。对于上述技术方案的技术效果分析如下对DDR2接口进行上电启动中的初始化处理;并且,接收DSP的DDR2控制器的时序 配置;接收到DDR2控制器发来的读写命令时,根据所述读写命令以及所述时序配置生成读 写时序;在所述读写时序执行所述读写命令指示的读写操作,从而通过DDR2接口替代了原 来的高速串行总线接口,实现了 FPGA与DSP的通信,降低了 FPGA器件的成本以及FPGA的 资源消耗;并且,与DSP通信的芯片上无需另外增加高速串行收发器,有助于FPGA芯片的小 型化。
图1为本发明实施例FPGA通过DDR2接口与DSP通信的方法流程示意图;图2为本发明实施例FPGA通过DDR2接口与DSP通信的装置结构示意图。
具体实施例方式以下,结合附图详细说明本发明实施例FPGA通过DDR2接口与DSP通信的方法及 装置的实现。图1为本发明实施例FPGA通过DDR2接口与DSP通信的方法流程示意图,该方法 可以适用于FPGA芯片中;如图1所示,该方法包括步骤101 :FPGA对DDR2接口进行上电启动中的初始化处理;并且,接收DSP的DDR2 控制器的时序配置;其中,所述初始化处理可以包括A 接收DSP的DDR2发来的模式寄存器(MR)的初始化命令和扩展模式寄存器 (EMR)的初始化命令;MR包括CAS延时(CL),促发类型,促发长度(BL)等参数。EMR内部包括终端匹配(ODT,On Die Termination)电阻值,阻抗校准(OCD,Off Chip Driver impedance adjustment)校验模式,附加延时(AL)等,在相应的初始化命令中 将分别携带以上寄存器中参数的具体参数值,以便在下一步骤B中由芯片根据所述具体参 数值进行相应寄存器的初始化操作。B 分别根据所述初始化命令中携带的寄存器参数,分别初始化DDR2接口的所述 MR 禾口 EMR0C 启动DDR2接口的内部锁相环。D 根据EMR中的0⑶校验模式值,进行DDR接口的OOT。经过以上的四个步骤后,DDR2即可以正常工作了。其中,在发送所述初始化命令之前,上电后,当电源和DDR2的时钟都基本稳定后, DDR2控制器还输出预充电(precharge)命令给与DSP连接的所述芯片,以指示进行DDR内 部存储单元的充电,但是由于本发明实施例中是通过FPGA等与DSP通过DDR2连接的芯片 模拟DDR2接口,因此,接收到该预充电命令之后,可以不进行任何操作,直到接收到DDR2控 制器的初始化命令,直接进行MR和EMR的初始化即可。另外,接收的DDR2控制器的时序配置可以包括CAS延时、附加延时、读延时(RL)、 写延时(WL)和促发长度等。步骤102 :FPGA接收DDR2控制器的读写命令,根据所述读写命令以及时序配置,生 成芯片内部部件可识别的读写时序;其中,与DSP相连的所述芯片的读写时序一般与DDR2控制器的读写时序不同,因 此,本步骤的实现可以为根据所述读写命令以及时序配置确定DDR2控制器的读写时序;将所述DDR2控制器的读写时序转换为芯片内部部件能够识别的读写时序。步骤103 =FPGA在所述读写时序执行所述读写命令指示的读写操作。所述在所述写时序执行所述写命令指示的写操作包括
接收DDR2控制器发来的数据;将所述数据转换为单倍速率数据;在对应的写时序对转换后的单倍速率数据进行写操作。所述在所述读时序执行所述读命令指示的读操作包括在对应的读时序进行读操作;将读出的数据转换为DDR2数据;将转换后的DDR2数据发送给DDR2控制器。图1所述的FPGA通过DDR2接口与DSP通信的方法中,接收DDR2控制器的时序配 置,根据DDR2控制器的读写命令以及时序配置生成芯片自身所使用的读写时序,在所述读 写时序执行所述读写命令指示的读写操作。从而通过DDR2接口替代了原来的高速串行总 线接口,实现了 FPGA与DSP的通信,降低了实现成本;并且,FPGA上无需另外增加高速串行 收发器,有助于FPGA芯片的小型化。与图1所示的方法相对应的,本发明实施例还提供了一种FPGA通过DDR2接口与 DSP通信的装置,该装置可以设置于FPGA中,如图2所示,该装置包括接收单元210,用于对DDR2接口进行上电启动中的初始化处理;并且,接收DSP的 DDR2控制器的时序配置;生成单元220,用于接收到DDR2控制器发来的读写命令时,根据所述读写命令以 及所述时序配置生成读写时序;操作单元230,用于在所述读写时序执行所述读写命令指示的读写操作。优选地,所述接口单元210可以包括第一接收子单元,用于接收DDR2控制器发来的MR初始化命令和EMR初始化命令;初始化子单元,用于根据所述初始化命令中携带的寄存器参数值相应进行MR和 EMR的初始化;启动子单元,用于启动DDR2接口内部的锁相环;校验子单元,用于根据EMR中的OCD校验模式值,进行DDR接口的阻抗校验;第二接收子单元,用于接收DSP的DDR2控制器的时序配置。优选地,生成单元220可以包括确定子单元,用于根据所述读写命令以及时序配置确定DDR2控制器的读写时序;第一转换子单元,用于将所述DDR2控制器的读写时序转换为芯片内部部件能够 识别的读写时序。优选地,操作单元230可以包括第三接收子单元,用于接收DDR2控制器发来的数据;第二转换子单元,用于将所述数据转换为单倍速率数据;第一操作子单元,用于在对应的写时序对转换后的单倍速率数据进行写操作。和/或,优选地,所述操作单元230可以包括第二操作子单元,用于在对应的读时序进行读操作;第三转换子单元,用于将读出的数据转换为DDR2数据;发送子单元,用于将转换后的DDR2数据发送给DDR2控制器。图2所述的FPGA通过DDR2接口与DSP通信的装置中,接收单元接收DDR2控制器的时序配置,生成单元根据DDR2控制器的读写命令以及时序配置生成芯片自身所使用 的读写时序,操作单元在所述读写时序执行所述读写命令指示的读写操作,从而通过DDR2 接口替代了原来的高速串行总线接口,实现了 FPGA与DSP的通信,降低了实现成本;并且, FPGA上无需另外增加高速串行收发器,有助于芯片的小型化。本领域普通技术人员可以理解,实现上述实施例的方法的过程可以通过程序指令 相关的硬件来完成,所述的程序可以存储于可读取存储介质中,该程序在执行时执行上述 方法中的对应步骤。所述的存储介质可以如ROM/RAM、磁碟、光盘等。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应 视为本发明的保护范围。
权利要求
1.一种FPGA通过DDR2接口与DSP通信的方法,其特征在于,包括对DDR2接口进行上电启动中的初始化处理;并且,接收DSP的DDR2控制器的时序配置;接收到DDR2控制器发来的读写命令时,根据所述读写命令以及所述时序配置生成读 写时序;在所述读写时序执行所述读写命令指示的读写操作。
2.根据权利要求1所述的方法,其特征在于,所述对DDR2接口进行上电启动中的初始 化处理包括接收DDR2控制器发来的MR初始化命令和EMR初始化命令;根据所述初始化命令中携带的寄存器参数值相应进行MR和EMR的初始化;启动DDR2接口内部的锁相环;根据EMR中的OCD校验模式值,进行DDR接口的阻抗校验。
3.根据权利要求1或2所述的方法,其特征在于,根据所述读写命令以及所述时序配置 生成读写时序包括根据所述读写命令以及时序配置确定DDR2控制器的读写时序; 将所述DDR2控制器的读写时序转换为芯片内部部件能够识别的读写时序。
4.根据权利要求1或2所述的方法,其特征在于,所述在所述写时序执行所述写命令指 示的写操作包括接收DDR2控制器发来的数据;将所述数据转换为单倍速率数据;在对应的写时序对转换后的单倍速率数据进行写操作。
5.根据权利要求1或2所述的方法,其特征在于,所述在所述读时序执行所述读命令指 示的读操作包括在对应的读时序进行读操作;将读出的数据转换为DDR2数据;将转换后的DDR2数据发送给DDR2控制器。
6.一种FPGA通过DDR2接口与DSP通信的装置,其特征在于,包括接收单元,用于对DDR2接口进行上电启动中的初始化处理;并且,接收DSP的DDR2控 制器的时序配置;生成单元,用于接收到DDR2控制器发来的读写命令时,根据所述读写命令以及所述时 序配置生成读写时序;操作单元,用于在所述读写时序执行所述读写命令指示的读写操作。
7.根据权利要求6所述的装置,其特征在于,所述接口单元包括第一接收子单元,用于接收DDR2控制器发来的MR初始化命令和EMR初始化命令; 初始化子单元,用于根据所述初始化命令中携带的寄存器参数值相应进行MR和EMR的 初始化;启动子单元,用于启动DDR2接口内部的锁相环;校验子单元,用于根据EMR中的OCD校验模式值,进行DDR接口的阻抗校验; 第二接收子单元,用于接收DSP的DDR2控制器的时序配置。
8.根据权利要求6或7所述的装置,其特征在于,生成单元包括确定子单元,用于根据所述读写命令以及时序配置确定DDR2控制器的读写时序; 第一转换子单元,用于将所述DDR2控制器的读写时序转换为芯片内部部件能够识别 的读写时序。
9.根据权利要求6或7所述的装置,其特征在于,操作单元包括 第三接收子单元,用于接收DDR2控制器发来的数据;第二转换子单元,用于将所述数据转换为单倍速率数据; 第一操作子单元,用于在对应的写时序对转换后的单倍速率数据进行写操作。
10.根据权利要求6或7所述的装置,其特征在于,操作单元包括 第二操作子单元,用于在对应的读时序进行读操作;第三转换子单元,用于将读出的数据转换为DDR2数据; 发送子单元,用于将转换后的DDR2数据发送给DDR2控制器。
全文摘要
本发明公开了一种FPGA通过DDR2接口与DSP通信的方法及装置,包括对DDR2接口进行上电启动中的初始化处理;并且,接收DSP的DDR2控制器的时序配置;接收到DDR2控制器发来的读写命令时,根据所述读写命令以及所述时序配置生成读写时序;在所述读写时序执行所述读写命令指示的读写操作。该方法和装置能够使FPGA通过DDR2接口实现与DSP的通信,降低了与DSP通信的FPGA芯片器件的成本以及资源消耗。
文档编号G06F13/38GK102053936SQ20101059096
公开日2011年5月11日 申请日期2010年12月15日 优先权日2010年12月15日
发明者何梁 申请人:北京北方烽火科技有限公司