CN102929677B - 多数字信号处理器的加载系统及方法 - Google Patents
多数字信号处理器的加载系统及方法 Download PDFInfo
- Publication number
- CN102929677B CN102929677B CN201210439542.XA CN201210439542A CN102929677B CN 102929677 B CN102929677 B CN 102929677B CN 201210439542 A CN201210439542 A CN 201210439542A CN 102929677 B CN102929677 B CN 102929677B
- Authority
- CN
- China
- Prior art keywords
- dsp
- sram
- fifo buffer
- read
- fpga device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种多数字信号处理器的加载系统及方法,多数字信号处理器的加载系统包括主机、FPGA器件、静态随机存储器,主机通过系统总线与FPGA器件连接,静态随机存储器通过数字线与FPGA器件连接,FPGA器件通过硬件接口线实现与多个DSP之间的连接,FPGA器件包括系统总线接口单元、读写控制单元、选择器、FIFO缓冲器、DSP接口单元,系统总线接口单元通过操作总线与读写控制单元连接,读写控制单元还与选择器、FIFO缓冲器连接,FIFO缓冲器还与DSP接口单元连接。本发明降低所有DSP加载的总时间,提高加载过程中系统总线的利用率。
Description
技术领域
本发明涉及一种加载系统及方法,特别是涉及一种多数字信号处理器的加载系统及方法。
背景技术
随着通信业务发展的需要,在嵌入式系统中,多DSP(DigitalSignalProcessor,数字信号处理器)或多DSP阵列的应用越来越广泛。在这类系统中,考虑到系统功能的多样化,DSP的程序一般都通过主机在系统启动过程中来加载。
目前的设计方案中,一般都采用主机直接通过FPGA(FieldProgrammableGateArray,现场可编程门阵列)与多个DSP硬件接口连接的方式,将加载文件写入到对应DSP的内存中,从而实现DSP的加载。现有多数字信号处理器的加载系统如图1所示(空心的大箭头表示系统总线,实心的小箭头表示硬件接口线),现有多数字信号处理器的加载系统包括多个缓冲/接口单元和主机等,现有多数字信号处理器的加载系统的加载方法通常包括如下流程:
首先,主机执行加载初始化,用于加载驱动,分配资源,对每个DSP的加载文件按照帧的格式进行划分,为DSP加载做准备。
其次,主机通过系统总线将第一个DSP(DSP1)的加载文件的第一帧数据写入到FPGA中与该DSP对应的内部缓冲区中,继而按照与DSP之间的硬件接口时序,将数据写入到该DSP的内存中。之后,主机不断查询FPGA的内部缓冲区的空满状态,当内部缓冲区的可写深度大于一帧的长度时,继续写入下一帧的加载数据,直至该个DSP的所有加载数据都写入到该DSP的内存中。
最后,主机采用同样的方法依次完成其它DSP的加载文件的传输。
需要说明的是,DSP的多种硬件接口,如HPI接口(HostPortInterface,主机接口)、LinkPort接口均可以用来实现DSP的加载。依赖于不同的硬件接口,DSP的加载文件写入到DSP内存之后,需要不同的方式去唤醒程序。采用HPI接口时,加载文件通过HPI接口写入到DSP内存之后,向DSP发送约定的信号,触发DSP运行程序。采用LinkPort接口时,加载文件通过LinkPort接口写入到DSP内存之后,加载文件中的引导代码会自动引导其余的代码,从而运行其程序。
上述加载系统和方法虽然能够灵活地选择DSP的程序文件进行加载,但是也有如下的缺点:
第一,主机在向FPGA中的内部缓冲区写加载文件数据的时候,由于FPGA内部存储器资源有限,建立的缓冲区长度较小,同时,由于DSP加载时,其硬件接口速度相对较慢,并且具有一定的时序约束,为了防止数据的溢出和丢失,就需要一帧帧地将加载文件数据写入到FPGA中的内部缓冲区,并且不断检测缓冲区的状态,只有缓冲区的可写深度大于一帧的数据长度时,才能写入一帧新的数据,否则就需要等待。主机的查询和等待过程会造成巨大的时间浪费,其浪费的时间要远远大于实际数据传输的时间,特别是在多DSP系统中,DSP加载时间过长的缺陷极其明显。
第二,在加载过程中,主机的系统总线一直被占用,但是由于查询和等待过程的存在,其总线利用率极低。对于一个复杂的嵌入式系统来讲,在系统启动时,通常有许多器件或者板卡都需要通过主机和系统总线进行初始化,DSP加载过程对系统总线的过多占用,势必会影响其它器件或者板卡对系统总线的使用,从而造成整个系统启动时间的增加。
发明内容
本发明所要解决的技术问题是提供一种多数字信号处理器的加载系统及方法,其降低所有DSP加载的总时间,提高加载过程中系统总线的利用率。
本发明是通过下述技术方案来解决上述技术问题的:一种多数字信号处理器的加载系统,其特征在于,所述多数字信号处理器的加载系统包括主机、FPGA器件、静态随机存储器,主机通过系统总线与FPGA器件连接,静态随机存储器通过数字线与FPGA器件连接,FPGA器件通过硬件接口线实现与多个DSP之间的连接,FPGA器件包括系统总线接口单元、读写控制单元、选择器、FIFO缓冲器、DSP接口单元,系统总线接口单元通过操作总线与读写控制单元连接,读写控制单元还与选择器、FIFO缓冲器连接,FIFO缓冲器还与DSP接口单元连接。
优选地,所述数字线为地址线或数据线或控制线。
优选地,所述主机对FPGA器件进行读写操作。
优选地,所述FPGA器件通过数字线实现对静态随机存储器的读写操作。
优选地,所述系统总线接口单元负责实现作为主机的系统总线的接口,完成系统总线和操作总线的转换。
优选地,所述DSP接口单元实现作为FPGA器件与多个DSP之间的接口,将FIFO缓冲器中的数据写入到DSP之中。
优选地,所述读写控制单元负责静态随机存储器的读写操作控制。
本发明还提供一种多数字信号处理器的加载系统的加载方法,其特征在于,该加载方法采用如上所述的多数字信号处理器的加载系统,该加载方法包括以下步骤:
第一步,主机执行加载初始化,把所有DSP的程序代码合并到一个加载文件中,计算出每一个DSP的程序代码映射到静态随机存储器中的起始地址以及结束地址;
第二步,主机软件把加载文件中的程序代码数据流一次性地写入到静态随机存储器中;
第三步,在FPGA器件中构建n个计数器,计数器的起始值和结束值分别对应于n个DSP的程序代码映射到静态随机存储器中的起始地址以及结束地址,n为自然数;
第四步,读写控制单元检测所有FIFO缓冲器的几乎满状态,当前i-1个DSP对应的FIFO缓冲器达到几乎满条件,并且第i个DSP对应的FIFO缓冲器没有达到几乎满条件时,读写控制单元从静态随机存储器中读取第i个DSP的一帧加载数据;同时,控制选择器的开关,使得读出的数据流写入到第i个DSP对应的FIFO缓冲器中;之后,数据流通过DSP接口单元写入到对应的DSP中,i为自然数;
第五步,重复第四步操作,直到所有的计数器都达到了结束值,表明所有DSP的程序都已经传输到了对应的FIFO缓冲器;
第六步,当所有DSP对应的FIFO缓冲器达到空状态时候,根据DSP硬件接口的不同,主机向DSP发送约定信号,触发DSP运行程序,或者等待DSP自动执行程序。
本发明的积极进步效果在于:一、系统启动时,本发明加载方法和加载系统能够降低DSP加载过程中对系统总线的占用时间,提高系统总线的利用率,在其释放的时间里,系统总线可以去完成其它板卡或器件的初始化操作,从而降低整个系统的启动时间。二、FPGA器件具有可编程性和实时性,因而能够灵活地选择SRAM(StaticRandomMemory,静态随机存储器)的读地址,并且能够实时地判断出每个DSP的接口FIFO缓冲器的几乎满状态,进而能够利用一个DSP加载过程中的等待时间去加载其它个DSP,减少多个DSP加载的总时间。
附图说明
图1为现有多数字信号处理器的加载系统的原理框图。
图2为本发明多数字信号处理器的加载系统的原理框图。
具体实施方式
下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。
如图2所示,本发明多数字信号处理器的加载系统包括主机、FPGA器件302、SRAM(StaticRandomMemory,静态随机存储器),主机通过系统总线301与FPGA器件302连接,SRAM通过数字线303与FPGA器件302连接,FPGA器件302通过硬件接口线304实现与多个DSP之间的连接,FPGA器件302包括系统总线接口单元305、读写控制单元307、选择器311、FIFO(FirstInputFirstOutput,先入先出)缓冲器312、DSP接口单元313,系统总线接口单元305通过操作总线306与读写控制单元307连接,读写控制单元307还与选择器311、FIFO缓冲器312连接,FIFO缓冲器312还与DSP接口单元313连接。
主机负责通过系统总线301实现与FPGA器件302的交互和连接,可以对FPGA器件进行读写操作。SRAM负责暂存所有DSP的加载文件数据,可以由FPGA进行读写控制。
FPGA器件302通过数字线303实现对SRAM的读写操作,FPGA器件302通过DSP的硬件接口线304实现与多个DSP之间的连接。数字线303为地址线或数据线或控制线。
系统总线接口单元305负责实现作为主机的系统总线的接口,完成系统总线和FPGA内部操作总线306的转换。DSP接口单元313实现作为FPGA器件与多个DSP之间的接口,将FIFO缓冲器312中的数据写入到DSP之中。读写控制单元307负责SRAM的读写操作控制,写操作时,将所有加载文件写入到SRAM中,读操作时,将读出的DSP的加载文件数据通过选择器311写入到每个DSP对应的FIFO缓冲器中,SRAM的读操作受FIFO缓冲器的几乎满标志控制、选择器311的开关受SRAM的读操作地址控制。选择器311负责加载文件数据的分发,保证DSP的加载数据写入到对应DSP的FIFO缓冲器312中。
SRAM的数据总线采用32bit位宽。FIFO缓冲器的深度为1K字,位宽选择32bit,从写端口看,FIFO缓冲器中数据大于或等于768个字时,几乎满标志为1,否则为0。定义一帧数据的长度为256个字。
本发明多数字信号处理器的加载系统包括以下步骤:
第一步,主机执行加载初始化,把所有DSP的程序代码合并到一个加载文件中,其顺序为DSP1程序代码、DSP2程序代码...DSPn程序代码。计算出每一个DSP的程序代码映射到SRAM中的起始地址DSP1_START_ADD、DSP2_START_ADD...DSPn_START_ADD以及结束地址DSP1_STOP_ADD、DSP2_STOP_ADD...DSPn_STOP_ADD。
第二步,主机软件把加载文件中的程序代码数据流一次性地写入到FPGA器件的外挂SRAM中。此后系统总线就可以去实现对系统的其它器件或者板卡的控制。
第三步,在FPGA器件中构建n个计数器,即DSP1_COUNT、DSP2_COUNT...DSPn_COUNT,n为自然数。计数器的起始值和结束值分别对应于n个DSP的程序代码映射到静态随机存储器中的起始地址以及结束地址。
计数器的起始值分别为DSP1_START_ADD、DSP2_START_ADD...DSPnSTART_ADD,计数器的结束值分别为DSP1_STOP_ADD、DSP2_STOP_ADD...DSPn_STOP_ADD。其中第i个DSP的程序代码在对应SRAM的读地址计数器采用DSPi_COUNT。
第四步,读写控制单元检测所有FIFO缓冲器的几乎满状态,当前i-1(i最大为n,i和n都为自然数)个DSP对应的FIFO缓冲器达到几乎满条件,并且第i个DSP对应的FIFO缓冲器没有达到几乎满条件时,读写控制单元从SRAM中读取第i个DSP的一帧加载数据,其读地址采用DSPi-COUN计数器,DSPi-COUNT计数器递增,其它计数器保持不变。同时,控制选择器的开关,使得读出的数据流写入到第i个DSP对应的FIFO缓冲器中。之后,数据流通过DSP接口单元写入到对应的DSP中。
第五步,重复第四步操作,直到所有的计数器都达到了结束值,表明所有DSP的程序都已经传输到了对应的FIFO缓冲器。此后,读写控制单元不再对SRAM进行读写控制。
第六步,当所有DSP对应的FIFO缓冲器达到空状态时候,根据DSP硬件接口的不同,主机向DSP发送约定信号,触发DSP运行程序,或者等待DSP自动执行程序。
该方法虽然增加了程序代码写入到SRAM中的时间,但是由于SRAM访问速度较高、FPGA器件编程具有实时性的特点,减少了DSP加载过程中的查询时间,同时可以利用一个DSP的加载等待时间去加载其它个DSP,其节省的时间远大于程序代码写入到SRAM中的时间,因此减少了多个DSP加载的总时间。并且,主机减少了系统总线在DSP加载过程中的占用时间,可以在FPGA器件从SRAM读数据加载DSP的过程中,去实现对其他器件或者板卡的初始化操作,从而缩短了系统的启动时间。SRAM在加载之后可以作为存储器使用,不会浪费资源。
主机软件把所有DSP的程序代码一次性地写入到FPGA的外挂大容量SRAM(StaticRandomMemory,静态随机存储器)中,FPGA根据每个DSP的接口状态,控制SRAM的读地址,将读出的数据通过DSP的硬件接口写入到对应DSP的内存中。本发明还可以把SRAM换成其它的外部高速存储器,比如SDRAM、DDR2-SDRAM、DDR3-DRAM等,同样可以实现该加载系统及其加载方法。
本领域的技术人员可以对本发明进行各种改型和改变。因此,本发明覆盖了落入所附的权利要求书及其等同物的范围内的各种改型和改变。
Claims (8)
1.一种多数字信号处理器的加载系统,其特征在于,所述多数字信号处理器的加载系统包括主机、FPGA器件、静态随机存储器,主机通过系统总线与FPGA器件连接,静态随机存储器通过数字线与FPGA器件连接,FPGA器件通过硬件接口线实现与多个DSP之间的连接,FPGA器件包括系统总线接口单元、读写控制单元、选择器、FIFO缓冲器、DSP接口单元,系统总线接口单元通过操作总线与读写控制单元连接,读写控制单元还与选择器、FIFO缓冲器连接,FIFO缓冲器还与DSP接口单元连接;
第一步,主机执行加载初始化,把所有DSP的程序代码合并到一个加载文件中,计算出每一个DSP的程序代码映射到静态随机存储器中的起始地址以及结束地址;
第二步,主机软件把加载文件中的程序代码数据流一次性地写入到静态随机存储器中;
第三步,在FPGA器件中构建n个计数器,计数器的起始值和结束值分别对应于n个DSP的程序代码映射到静态随机存储器中的起始地址以及结束地址,n为自然数;
第四步,读写控制单元检测所有FIFO缓冲器的几乎满状态,当前i-1个DSP对应的FIFO缓冲器达到几乎满条件,并且第i个DSP对应的FIFO缓冲器没有达到几乎满条件时,读写控制单元从静态随机存储器中读取第i个DSP的一帧加载数据;同时,控制选择器的开关,使得读出的数据流写入到第i个DSP对应的FIFO缓冲器中;之后,数据流通过DSP接口单元写入到对应的DSP中,i为自然数;
第五步,重复第四步操作,直到所有的计数器都达到了结束值,表明所有DSP的程序都已经传输到了对应的FIFO缓冲器;
第六步,当所有DSP对应的FIFO缓冲器达到空状态时候,根据DSP硬件接口的不同,主机向DSP发送约定信号,触发DSP运行程序,或者等待DSP自动执行程序。
2.如权利要求1所述的多数字信号处理器的加载系统,其特征在于,所述数字线为地址线或数据线或控制线。
3.如权利要求2所述的多数字信号处理器的加载系统,其特征在于,所述主机对FPGA器件进行读写操作。
4.如权利要求3所述的多数字信号处理器的加载系统,其特征在于,所述FPGA器件通过数字线实现对静态随机存储器的读写操作。
5.如权利要求4所述的多数字信号处理器的加载系统,其特征在于,所述系统总线接口单元负责实现作为主机的系统总线的接口,完成系统总线和操作总线的转换。
6.如权利要求5所述的多数字信号处理器的加载系统,其特征在于,所述DSP接口单元实现作为FPGA器件与多个DSP之间的接口,将FIFO缓冲器中的数据写入到DSP之中。
7.如权利要求6所述的多数字信号处理器的加载系统,其特征在于,所述读写控制单元负责静态随机存储器的读写操作控制。
8.一种多数字信号处理器的加载系统的加载方法,其特征在于,该加载方法采用权利要求7所述的多数字信号处理器的加载系统,该加载方法包括以下步骤:
第一步,主机执行加载初始化,把所有DSP的程序代码合并到一个加载文件中,计算出每一个DSP的程序代码映射到静态随机存储器中的起始地址以及结束地址;
第二步,主机软件把加载文件中的程序代码数据流一次性地写入到静态随机存储器中;
第三步,在FPGA器件中构建n个计数器,计数器的起始值和结束值分别对应于n个DSP的程序代码映射到静态随机存储器中的起始地址以及结束地址,n为自然数;
第四步,读写控制单元检测所有FIFO缓冲器的几乎满状态,当前i-1个DSP对应的FIFO缓冲器达到几乎满条件,并且第i个DSP对应的FIFO缓冲器没有达到几乎满条件时,读写控制单元从静态随机存储器中读取第i个DSP的一帧加载数据;同时,控制选择器的开关,使得读出的数据流写入到第i个DSP对应的FIFO缓冲器中;之后,数据流通过DSP接口单元写入到对应的DSP中,i为自然数;
第五步,重复第四步操作,直到所有的计数器都达到了结束值,表明所有DSP的程序都已经传输到了对应的FIFO缓冲器;
第六步,当所有DSP对应的FIFO缓冲器达到空状态时候,根据DSP硬件接口的不同,主机向DSP发送约定信号,触发DSP运行程序,或者等待DSP自动执行程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210439542.XA CN102929677B (zh) | 2012-11-07 | 2012-11-07 | 多数字信号处理器的加载系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210439542.XA CN102929677B (zh) | 2012-11-07 | 2012-11-07 | 多数字信号处理器的加载系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102929677A CN102929677A (zh) | 2013-02-13 |
CN102929677B true CN102929677B (zh) | 2016-07-06 |
Family
ID=47644487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210439542.XA Expired - Fee Related CN102929677B (zh) | 2012-11-07 | 2012-11-07 | 多数字信号处理器的加载系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102929677B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020864A (zh) * | 2016-05-10 | 2016-10-12 | 西安电子工程研究所 | 基于网络和光纤数据传输实现的多板卡fpga程序烧写方法 |
CN109460381A (zh) * | 2018-10-22 | 2019-03-12 | 深圳市派捷电子科技有限公司 | 基于FPGA的LinkPort串行通信系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0498454A2 (en) * | 1991-02-08 | 1992-08-12 | Mitsubishi Denki Kabushiki Kaisha | Signal processing apparatus |
CN101901156A (zh) * | 2010-07-26 | 2010-12-01 | 四川九洲电器集团有限责任公司 | 一种处理器应用程序动态加载方法及其系统 |
CN102722390A (zh) * | 2012-06-05 | 2012-10-10 | 上海联影医疗科技有限公司 | 多处理器共用flash的装置及固件程序加载与升级方法 |
-
2012
- 2012-11-07 CN CN201210439542.XA patent/CN102929677B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0498454A2 (en) * | 1991-02-08 | 1992-08-12 | Mitsubishi Denki Kabushiki Kaisha | Signal processing apparatus |
CN101901156A (zh) * | 2010-07-26 | 2010-12-01 | 四川九洲电器集团有限责任公司 | 一种处理器应用程序动态加载方法及其系统 |
CN102722390A (zh) * | 2012-06-05 | 2012-10-10 | 上海联影医疗科技有限公司 | 多处理器共用flash的装置及固件程序加载与升级方法 |
Non-Patent Citations (1)
Title |
---|
一种基于TMS320C6000系列芯片的多DSP程序动态加载方案;吴海燕,张晓玲;《电子元器件应用》;20081231;第10卷(第12期);第12-13页,图1 * |
Also Published As
Publication number | Publication date |
---|---|
CN102929677A (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6796304B2 (ja) | 最終レベルキャッシュシステム及び対応する方法 | |
WO2017041567A1 (zh) | 基于软核处理器的fpga多镜像升级加载方法及装置 | |
CN103714026B (zh) | 一种支持原址数据交换的存储器访问方法及装置 | |
CN108228492B (zh) | 一种多通道ddr交织控制方法及装置 | |
CN105868093B (zh) | 一种日志写入方法及服务端 | |
CN103345451B (zh) | 一种在多核处理器中缓冲数据的方法 | |
CN103778013A (zh) | 一种多通道Nand Flash控制器及其控制方法 | |
CN106951379A (zh) | 一种基于axi协议的高性能ddr控制器及数据传输方法 | |
CN110910921A (zh) | 一种命令读写方法、装置及计算机存储介质 | |
CN112035381A (zh) | 一种存储系统及存储数据处理方法 | |
CN104317770A (zh) | 用于众核处理系统的数据存储结构及数据访问方法 | |
CN101944075B (zh) | 总线系统、对低速总线设备进行读写操作的方法及装置 | |
CN104239252A (zh) | 数据存储系统的数据传输方法、装置及系统 | |
CN104615386A (zh) | 一种核外高速缓存装置 | |
CN102929677B (zh) | 多数字信号处理器的加载系统及方法 | |
CN102591823A (zh) | 一种具有指令队列功能的Nandflash控制器 | |
CN105718396A (zh) | 一种大数据主设备传输的i2c总线装置及其通讯方法 | |
CN103838694A (zh) | 一种fpga高速读取usb接口数据的方法 | |
CN201218944Y (zh) | 双口ram实现闪存控制器缓存的结构 | |
CN106980474B (zh) | 一种基于pcie接口的数据记录仪 | |
CN105404591A (zh) | 处理器系统及其存储器控制方法 | |
CN102385555B (zh) | 一种缓存系统和数据缓存的方法 | |
CN106776394B (zh) | 一种数据转换的硬件系统和存储器 | |
CN112565474B (zh) | 面向分布式共享spm的批量数据传输方法 | |
CN104346131A (zh) | 一种支持批量读写从机寄存器的主机控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190306 Address after: 266000 No. 98 Xiangjiang Road, Huangdao District, Qingdao City, Shandong Province Patentee after: CHINA ELECTRONICS TECHNOLOGY INSTRUMENTS Co.,Ltd. Address before: 266000 No. 98 Xiangjiang Road, Qingdao economic and Technological Development Zone, Shandong Patentee before: THE 41ST INSTITUTE OF CHINA ELECTRONICS TECHNOLOGY Group Corp. |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160706 Termination date: 20211107 |
|
CF01 | Termination of patent right due to non-payment of annual fee |