CN113867835A - 用于dsp动态加载的装置及方法 - Google Patents
用于dsp动态加载的装置及方法 Download PDFInfo
- Publication number
- CN113867835A CN113867835A CN202111122470.1A CN202111122470A CN113867835A CN 113867835 A CN113867835 A CN 113867835A CN 202111122470 A CN202111122470 A CN 202111122470A CN 113867835 A CN113867835 A CN 113867835A
- Authority
- CN
- China
- Prior art keywords
- dsp chip
- transmission channel
- chip
- dsp
- loaded
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000005540 biological transmission Effects 0.000 claims abstract description 110
- 238000004891 communication Methods 0.000 claims abstract description 24
- 230000015654 memory Effects 0.000 claims description 10
- 230000007958 sleep Effects 0.000 claims description 9
- 239000005441 aurora Substances 0.000 claims description 3
- 230000005059 dormancy Effects 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims description 2
- 102100029368 Cytochrome P450 2C18 Human genes 0.000 claims 1
- 101000919360 Homo sapiens Cytochrome P450 2C18 Proteins 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000004606 Fillers/Extenders Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及嵌入式系统技术领域,公开一种用于DSP动态加载的装置,包括:上位机;FPGA芯片,被配置为通过高速总线协议与所述上位机模块之间建立用于控制指令传输的第一传输通道;DSP芯片,被配置为通过高速总线协议与所述上位机模块之间建立用于待加载程序文件和控制指令传输的第二传输通道,通过网络接口与所述上位机模块之间建立用于通信数据传输的第三传输通道,通过第一数据接口与所述FPGA芯片之间建立用于通信数据传输的第四传输通道,通过第二数据接口与所述FPGA芯片之间建立用于控制所述DSP芯片的第五传输通道。本申请还公开用于DSP动态加载的方法。
Description
技术领域
本申请涉及嵌入式系统技术领域,例如涉及一种用于DSP动态加载的装置及方法。
背景技术
数字信号处理DSP(Digital Signal Processor)芯片是一种针对数字信号处理设计的专门的微处理器,其体系结构针对数字信号处理操作的需要进行了优化,能够快速高效的完成数字信号处理所需要的大量运算,由于其这一特点,在各种领域都具有大量的应用。此外,动态加载是一种实现程序与系统分离的方法,它能使系统在无需断电的情况下重新加载新的任务程序,实现系统任务的快速切换,以满足不同工作任务的需求。
在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
现有的DSP芯片的工作模式一般为将待加载程序文件存储在内部存储空间,系统上电后由内部存储空间加载待加载程序文件到DSP芯片。这种方法虽然能够完成DSP芯片的程序启动和工作,但是DSP芯片在整个流程中仅完成固定程序的运行,仅仅适用于针对单一工作任务的设备。
同时,在需要DSP芯片重新加载时,需要靠平台系统断电重新上电来完成,这种工作模式不能够满足需要完成多种任务且需要任务之间快速切换设备的需要,极大的限制了DSP芯片的应用范围,降低了实际应用效率。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本公开实施例提供了一种用于DSP动态加载的装置以及用于DSP动态加载的方法,以实现对DSP芯片进行待加载程序文件的动态加载以及重构切换,从而扩展DSP芯片的应用场景并提高应用效率。
在一些实施例中,所述装置包括:
上位机;
FPGA芯片,被配置为通过高速总线协议与所述上位机模块之间建立用于控制指令传输的第一传输通道;
DSP芯片,被配置为通过高速总线协议与所述上位机模块之间建立用于待加载程序文件和控制指令传输的第二传输通道,通过网络接口与所述上位机模块之间建立用于通信数据传输的第三传输通道,通过第一数据接口与所述FPGA芯片之间建立用于通信数据传输的第四传输通道,通过第二数据接口与所述FPGA芯片之间建立用于控制所述DSP芯片的第五传输通道;
其中,所述上位机通过FPGA芯片控制所述DSP芯片的模式启动与初始化;所述上位机模块控制所述DSP芯片的程序动态加载以及加载前的复位。
在一些实施例中,所述方法包括:
上位机通过第一传输通道将系统配置的启动指令传输至FPGA芯片,以使所述FPGA芯片根据所述启动指令控制DSP芯片的启动;
所述上位机通过第二传输通道将待加载程序文件传输至所述DSP芯片,以使所述DSP芯片加载所述待加载程序文件;
在所述DSP芯片加载完成后,所述DSP芯片通过第五传输通道将加载完成的通知传输至所述FPGA芯片,以使所述FPGA芯片通过第一传输通道将所述加载完成的通知反馈至所述上位机。
在一些实施例中,所述方法包括:
上位机通过第二传输通道和电源休眠控制器控制DSP芯片进行复位;
所述上位机通过第二传输通道将待加载程序文件传输至所述DSP芯片,以使所述DSP芯片寻找并加载所述待加载程序文件;
在所述DSP芯片加载完成后,所述DSP芯片通过第五传输通道将加载完成的通知传输至所述FPGA芯片,以使所述FPGA芯片通过第一传输通道将所述加载完成的通知反馈至所述上位机。
本公开实施例提供的用于DSP动态加载的装置及方法,可以实现以下技术效果:
本申请通过上位机与FPGA芯片协同配合的方式,在无需对DSP芯片进行断电复位的条件下就可以实现对DSP芯片的动态加载,提高了DSP芯片的动态加载速度和实际应用效率,并且在DSP动态加载的过程,平台系统的其余模块也无需断电重启并能够正常运行各自任务,从而使得平台系统的加载效率进一步提升。
此外,本申请通过基于高速总线协议的第二传输通道和基于网络接口的第三传输通道,实现了将DSP芯片与上位机之间的数据传输与控制指令的分路传输,基于第一数据接口的第四传输通道和基于第二数据接口的第五传输通道,实现了将DSP芯片与FPGA芯片之间的数据传输与控制指令的分路传输,从而降低了高速数据传输对控制指令的影响,保证了平台系统运行的稳定性和可靠性,增加了平台系统的配置灵活性和、可扩展性和通用性。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:
图1是本公开实施例提供的用于DSP动态加载的装置的结构示意图;
图2是本公开实施例提供的用于DSP动态加载的方法的流程示意图;
图3是本公开实施例提供的FPGA芯片控制DSP芯片启动的流程示意图;
图4是本公开实施例提供的DSP芯片寻找并加载待加载程序文件的流程示意图;
图5是本公开实施例提供的用于DSP芯片的二次动态加载的方法的流程示意图;
图6是本公开实施例提供的上位机控制DSP芯片进行复位的流程示意图;
图7是本公开实施例提供的DSP芯片外置引脚与GPIO的连接示意图。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个或两个以上。
本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。
术语“对应”可以指的是一种关联关系或绑定关系,A与B相对应指的是A与B之间是一种关联关系或绑定关系。
本申请所述的用于DSP动态加载的装置可以适用于软件定义无线电(SoftwareDefined Radio,SDR)系统,所述软件定义无线电系统至少包括上位机、FPGA(FieldProgrammable Gate Array,现场可编辑门阵列)芯片以及DSP芯片,其中,上位机是指可以直接发出操控命令的计算机,其能够显示该装置的各个操控模块,完成各种配置指令的下发和待加载程序文件的选择。FPGA芯片是基于静态随机存取存储器(Static Random-Access Memory,SRAM)的现场可编程逻辑器件,是软件无线电平台中的一种核心器件,在FPGA芯片上包含可编程逻辑(Programmable Logic,PL)端、处理器系统(ProcessingSystem,PS)端以及块随机存取存储器(Block Random Access Memory,BRAM),作为FPGA芯片的PL端的随机存取存储器,可以配置为双口RAM,用于实现FPGA芯片中PS端到PL端的数据交互和共享,类似为Linux系统中的内存共享,也就是将数据写入共同可访问的数据空间,PS端和PL端各自访问来达到信息交流的目的,BRAM的A端口被指定为写端口,BRAM的B端口被指定为读端口。
结合图1所示,本公开实施例提供一种用于DSP动态加载的装置,包括:
上位机;
FPGA芯片,被配置为通过高速总线协议与所述上位机模块之间建立用于控制指令传输的第一传输通道;
DSP芯片,被配置为通过高速总线协议与所述上位机模块之间建立用于待加载程序文件和控制指令传输的第二传输通道,通过网络接口与所述上位机模块之间建立用于通信数据传输的第三传输通道,通过第一数据接口与所述FPGA芯片之间建立用于通信数据传输的第四传输通道,通过第二数据接口与所述FPGA芯片之间建立用于控制所述DSP芯片的第五传输通道;
其中,所述上位机通过FPGA芯片控制所述DSP芯片的模式启动与初始化;所述上位机模块控制所述DSP芯片的程序动态加载以及加载前的复位。
可选地,所述FPGA芯片包括:
可编程逻辑模块,被配置为通过所述第一传输通道与所述上位机通信连接;
处理器系统模块,被配置为通过所述第四传输通道和第五传输通道分别与所述DSP芯片通信连接,并通过AXI(Advanced eXtensible Interface)总线协议与所述可编程逻辑模块通信连接。
在本申请的实施例中,所述可编程逻辑模块用于与上位机的第一传输通道的接口进行通信连接,所述处理器系统模块用于对DSP芯片进行配置、初始化以及复位,并且所述可编程逻辑模块与处理器系统模块之间通过AXI总线协议进行交互,其中,AXI(AdvancedeXtensible Interface)是一种总线协议,该协议是AMBA(Advanced Micro-controllerBus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。
可选地,所述高速总线协议包括但不限于PCIE(Peripheral ComponentInterconnect Express)协议、Aurora协议、CPCI(Compact Peripheral ComponentInterconnect,紧凑型PCI)协议或PXI(PCI extensions for Instrumentation,面向仪器系统的PCI扩展)协议,其中,所述PCIE协议是一种高速串行计算机扩展总线标准,属于高速串行点对点双通道高带宽传输,所连接的设备分配单独的通道带宽,不共享总线带宽,主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量等功能,是一种端对端的互连协议,提供了高速传输带宽的解决方案;所述Aurora协议是由赛灵思(Xilinx)公司提供的一个开放、免费的链路层协议,可以用来进行点到点的串行数据传输,具有实现高性能数据传输系统的高效率和简单易用的特点;所述CPCI协议是国际工业计算机制造者联合会组织提出的高性能工业计算机总线标准,在电气特性上CPCI总线协议以外设部件互连标准(Peripheral Component Interconnect,PCI)电气规范为基础,解决了VME(Versa Module Euro-card)总线等技术与PCI总线不兼容的问题,使得基于计算机的x86架构、硬盘存储等技术能在工业领域使用;所述PXI协议是结合了PCI协议的电气总线特性与CPCI协议的坚固性、模块化及机械封装的特性发展成适合于试验、测量与数据采集场合应用的机械、电气和软件规范。
可选地,所述第一数据接口为SRIO(Serial Rapid Input/Output)接口,所述第二数据接口为GPIO(General Purpose Input/Output)接口,其中,所述SRIO接口是面向嵌入式系统开发提出的高可靠、高性能、基于包交换的一种非专有的高带宽系统级互连,它是一种分组交换互连,主要用作以每秒千兆字节性能级别进行芯片到芯片通信的系统内接口,该架构可用于连接的微处理器,内存和内存映射的I/O设备,所述GPIO接口也称为总线扩展器,利用工业标准I2C、系统管理总线(System Management Bus,SMBus)或串行外设接口(Serial Peripheral Interface,SPI)接口简化了I/O口的扩展,当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO产品能够提供额外的控制和监视功能。每个GPIO端口可通过软件分别配置成输入或输出。Maxim的GPIO产品线包括8端口至28端口的GPIO,提供推挽式输出或漏极开路输出。
可选地,所述上位机可以是X86架构的计算机,所述DSP芯片的型号可以是TMS320C6678,FPGA芯片的型号可以是xc7z045ffg676-2。
本申请通过上位机与FPGA芯片协同配合的方式,在无需对DSP芯片进行断电复位的条件下就可以实现对DSP芯片的动态加载,提高了DSP芯片的动态加载速度和实际应用效率,并且在DSP动态加载的过程,平台系统的其余模块也无需断电重启并能够正常运行各自任务,从而使得平台系统的加载效率进一步提升。
此外,本申请通过基于高速总线协议的第二传输通道和基于网络接口的第三传输通道,实现了将DSP芯片与上位机之间的数据传输与控制指令的分路传输,基于第一数据接口的第四传输通道和基于第二数据接口的第五传输通道,实现了将DSP芯片与FPGA芯片之间的数据传输与控制指令的分路传输,从而降低了高速数据传输对控制指令的影响,保证了平台系统运行的稳定性和可靠性,增加了平台系统的配置灵活性和、可扩展性和通用性。
结合图2所示,本公开实施例提供一种用于DSP动态加载的方法,包括:
步骤201:上位机通过第一传输通道将系统配置的启动指令传输至FPGA芯片,以使所述FPGA芯片根据所述启动指令控制DSP芯片的启动。
在本申请的实施例中,所述上位机可以通过PCIE总线协议建立于与FPGA芯片之间的第一数据传输通道,用于上位机进行系统配置和系统复位等指令的下发以及系统状态的反馈获取,以使所述FPGA芯片根据所述启动指令控制DSP芯片的启动。
步骤202:所述上位机通过第二传输通道将待加载程序文件传输至所述DSP芯片,以使所述DSP芯片加载所述待加载程序文件。
在本申请的实施例中,所述上位机可以通过基于PCIE总线协议的第二传输通道向DSP芯片待加载程序文件,用于控制DSP芯片通过启动引导程序将待加载程序文件烧写至多个内核中。
步骤203:在所述DSP芯片加载完成后,所述DSP芯片通过第五传输通道将加载完成的通知传输至所述FPGA芯片,以使所述FPGA芯片通过第一传输通道将所述加载完成的通知反馈至所述上位机。
在本申请的实施例中,在DSP芯片加载完成后,可以通过GPIO接口向FPGA芯片传输加载完成的通知从而进行状态反馈,FPGA芯片接收到DSP芯片的反馈后再反馈至上位机。
采用本公开实施例提供的用于DSP动态加载的方法,通过上位机与FPGA芯片协同配合的方式,在无需对DSP芯片进行断电复位的条件下就可以实现对DSP芯片的动态加载,提高了DSP芯片的动态加载速度和实际应用效率,并且在DSP动态加载的过程,平台系统的其余模块也无需断电重启并能够正常运行各自任务,从而使得平台系统的加载效率进一步提升。
可选地,结合图3所示,所述上位机通过第一传输通道将系统配置的启动指令传输至FPGA芯片,以使所述FPGA芯片根据所述启动指令控制DSP芯片的启动,包括:
步骤301:所述上位机通过第一传输通道将系统配置的启动指令传输至FPGA芯片。
步骤302:所述FPGA芯片根据所述启动指令生成对应的启动模式配置参数以及上电时序逻辑信号,并通过第五传输通道将所述启动模式配置参数以及上电时序逻辑信号传输至所述DSP芯片。
步骤303:所述DSP芯片根据所述上电时序逻辑信号上电启动,根据启动模式配置参数进入对应的启动模式,以使DSP芯片的内核进入空闲状态。
在本申请的实施例中,上位机可以通过PCIE总线协议将系统配置的启动指令传输至FPGA芯片,使FPGA芯片根据所述启动指令产生对应的DSP芯片的启动模式配置参数以及上电时序逻辑信号,配置DSP芯片的启动模式为PCIE启动。结合图7所示的DSP芯片的外置引脚与GPIO接口的连接关系可知,上电复位时序信号通过GPIO接口传输至DSP芯片,DSP芯片根据FPGA芯片产生的启动模式配置参数进入PCIE启动模式,并进行PCIE的链路初始化和链路训练,同时,固化引导加载程序开始执行,用于配置DSP芯片的基地址寄存器和系统中断,从而使得使DSP的多个内核进入空闲(IDLE)状态,等待程序加载。
这样,本申请采用将DSP芯片的上电时序逻辑信号与待加载程序文件分别配置的方法,仅需要在FPGA芯片中更改对DSP芯片的配置参数并相应的改变上位机与DSP芯片的传输协议就可以控制DSP芯片的其他模式启动和传输数据,可实现DSP芯片针对不同的上位机在不改变本申请硬件架构的基础上选择合适的启动方式完成平台系统的启动,从而增加了平台系统整体的配置灵活性和可扩展性。
可选地,结合图4所示,所述上位机通过第二传输通道将待加载程序文件传输至所述DSP芯片,以使所述DSP芯片寻找并加载所述待加载程序文件,包括:
步骤401:所述上位机通过第二传输通道向所述DSP芯片的内存中写入待加载程序文件,并更新所述DSP芯片的内核的Magic_Address为所述待加载程序文件的执行入口地址,从而引导DSP芯片的内核并触发MSI中断。
步骤402:所述DSP芯片检测到Magic_Address发生改变并有效,所述DSP芯片的内核退出空闲状态并根据更新的Magic_Address跳转到所述待加载程序文件的位置并执行所述待加载程序文件。
步骤403:根据所述待加载程序文件的要求,依次选择性更新DSP芯片的其他内核Magic_Address并触发进程间通信(InterProcess Communication,IPC)中断,引导其他内核启动,以完成所述待加载程序文件加载与执行。
在本申请的实施例中,X86架构下的上位机上电开机,进行PCIE扫描以发现DSP芯片,上位机进一步通过基于PCIE总线协议的第二传输通道向DSP芯片的内核(Core 0)的二级寄存器中写入初始化程序文件,并更新存放Core 0 c_init_00地址的Magic_Address为初始化程序文件的启动入口地址,其中,所述Magic_Address为放在二级寄存器中的0x0087FFFC起始地址,长0x4,用于存放程序执行入口地址。
上位机通过基于PCIE总线协议的第二传输通道向0x21800054地址的MSI_IRQ(MSI-Interrupt Request)寄存器写入中断号0x0,触发DSP芯片的信息信号中断(MessageSignaled Interrupt,MSI),并在触发信息信号中断后,DSP芯片的Core 0退出空闲状态,固化引导加载程序在Magic_Address中读取更新后的Core 0 c_init_00地址,DSP芯片的Core0跳转到c_init_00地址处执行上位机写入的初始化程序文件,以使DSP芯片的Core0引导成功,从而完成对DSP芯片系统的初始化。在DSP芯片初始化完成后,设置Magic_Address为0,DSP芯片系统开始对Magic_Address进行轮询检测,当Magic_Address无效时,系统进入等待程序写入状态。
此时,上位机基于PCIE总线协议的第二传输通道向DSP芯片中的双倍速率同步动态随机存储器(Double Data Rate SDRAM,DDR SDRAM)写入.h格式的待加载程序文件,并更新Magic_Address为待加载程序文件的执行入口地址,以引导DSP芯片的Core 0,若DSP芯片系统检测到Magic_Address发生改变并有效,则退出空闲状态,DSP芯片的Core 0根据更新的Magic_Address跳转到DSP芯片的位置并加载该程序,并且在加载过程中可以根据待加载程序文件的要求,依次选择性更新其他内核Magic_Address并触发进程间通信中断,引导其他内核启动,最终完成程序运行。
结合图5所示,本公开实施例提供一种用于DSP动态加载的方法,用于DSP芯片的二次动态加载,即在动态加载之前默认DSP芯片已经成功加载其他程序文件并处于运行状态,包括:
步骤501:上位机通过第二传输通道和电源休眠控制器控制DSP芯片进行复位。
在本申请的实施例中,本申请使用电源休眠控制器(Power Sleep Control,PSC)来对DSP芯片进行复位,通过配置PSC寄存器地址,启动PSC复位,通过PSC禁用除第二传输通道和DSP芯片的内核以外的所有模块,关闭时钟,使DSP芯片的内核恢复到初始状态。
步骤502:所述上位机通过第二传输通道将待加载程序文件传输至所述DSP芯片,以使所述DSP芯片寻找并加载所述待加载程序文件。
步骤503:在所述DSP芯片加载完成后,所述DSP芯片通过第五传输通道将加载完成的通知传输至所述FPGA芯片,以使所述FPGA芯片通过第一传输通道将所述加载完成的通知反馈至所述上位机。
在本申请的实施例中,所述步骤502和步骤503的内容与步骤202和步骤203的内容完全相同,可参见对于步骤202和步骤203的相关介绍,本申请在此不再进行赘述。
采用本公开实施例提供的用于DSP动态加载的方法,在对DSP芯片的进行二次动态加载过程中也不需要给平台系统其他部分进行断电并重新上电,可以实现平台系统其他部分在正常工作状态下,实现了单独对DSP芯片的二次动态加载,实现了平台系统模块化独立化配置,保证了DSP芯片使用过程中的灵活性、可扩展性和通用性。
可选地,结合图6所示,上位机通过第二传输通道和电源休眠控制器控制DSP芯片进行复位,包括:
步骤601:所述电源休眠控制器禁用除第二传输通道和DSP芯片的内核之外的所有模块并复位为初始状态。
步骤602:上位机通过第二传输通道将复位程序文件发送至所述DSP芯片的内核,更新DSP_boot_address为复位程序入口地址。
步骤603:所述电源休眠控制器启用所有模块,并将所述DSP芯片的内核从复位状态拉出。
步骤604:所述DSP芯片的内核跳转到DSP_boot_address地址并加载所述复位程序文件,DSP芯片复位成功进入空闲状态。
在本申请的实施例中,所述上位机通过基于PCIE总线协议的第二传输通道向DSP芯片的内核的二级寄存器中写入复位程序文件,并更新DSP_boot_address为复位程序入口地址,然后通过电源休眠控制器解除所有禁用,启用所有模块,将DSP芯片的内核从复位状态拉出,DSP芯片的内核跳转到DSP_boot_address地址启动所述复位程序文件,从而使得DSP芯片系统复位成功,DSP芯片再次进入空闲状态。
这样,能更好地通过电源休眠控制器实现在无需断电重启的情况下,实现DSP芯片的二次动态加载。
可选地,所述上位机通过第二传输通道将待加载程序文件传输至所述DSP芯片,以使所述DSP芯片寻找并加载所述待加载程序文件,包括:
步骤801:所述上位机通过第二传输通道向所述DSP芯片的内存中写入待加载程序文件,并更新所述DSP芯片的内核的Magic_Address为所述待加载程序文件的执行入口地址,从而引导DSP芯片的内核并触发MSI中断。
步骤802:所述DSP芯片检测到Magic_Address发生改变并有效,所述DSP芯片的内核退出空闲状态并根据更新的Magic_Address跳转到所述待加载程序文件的位置并执行所述待加载程序文件。
步骤803:根据所述待加载程序文件的要求,依次选择性更新DSP芯片的其他内核Magic_Address并触发进程间通信中断,引导其他内核启动,以完成所述待加载程序文件加载与执行。
在本申请的实施例中,所述步骤801至步骤803的内容与步骤401至步骤403的内容完全相同,可参见对于步骤401至步骤403的相关介绍,本申请在此不再进行赘述。
本公开实施例提供了一种软件无线电平台,包括如本申请所述的用于DSP动态加载的装置。
本公开实施例提供了一种存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行上述用于耗材购买的方法。
上述的存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (10)
1.一种用于DSP动态加载的装置,其特征在于,包括:
上位机;
FPGA芯片,被配置为通过高速总线协议与所述上位机模块之间建立用于控制指令传输的第一传输通道;
DSP芯片,被配置为通过高速总线协议与所述上位机模块之间建立用于待加载程序文件和控制指令传输的第二传输通道,通过网络接口与所述上位机模块之间建立用于通信数据传输的第三传输通道,通过第一数据接口与所述FPGA芯片之间建立用于通信数据传输的第四传输通道,通过第二数据接口与所述FPGA芯片之间建立用于控制所述DSP芯片的第五传输通道;
其中,所述上位机通过FPGA芯片控制所述DSP芯片的模式启动与初始化;所述上位机模块控制所述DSP芯片的程序动态加载以及加载前的复位。
2.根据权利要求1所述的装置,其特征在于,所述FPGA芯片包括:
可编程逻辑模块,被配置为通过所述第一传输通道与所述上位机通信连接;
处理器系统模块,被配置为通过所述第四传输通道和第五传输通道分别与所述DSP芯片通信连接,并通过AXI总线协议与所述可编程逻辑模块通信连接。
3.根据权利要求1或2所述的装置,其特征在于,所述高速总线协议包括但不限于PCIE协议、Aurora协议、CPCI协议或PXI协议;
所述第一数据接口为SRIO接口;
所述第二数据接口为GPIO接口。
4.一种用于DSP动态加载的方法,其特征在于,包括:
上位机通过第一传输通道将系统配置的启动指令传输至FPGA芯片,以使所述FPGA芯片根据所述启动指令控制DSP芯片的启动;
所述上位机通过第二传输通道将待加载程序文件传输至所述DSP芯片,以使所述DSP芯片加载所述待加载程序文件;
在所述DSP芯片加载完成后,所述DSP芯片通过第五传输通道将加载完成的通知传输至所述FPGA芯片,以使所述FPGA芯片通过第一传输通道将所述加载完成的通知反馈至所述上位机。
5.根据权利要求4所述的方法,其特征在于,所述上位机通过第一传输通道将系统配置的启动指令传输至FPGA芯片,以使所述FPGA芯片根据所述启动指令控制DSP芯片的启动,包括:
所述上位机通过第一传输通道将系统配置的启动指令传输至FPGA芯片;
所述FPGA芯片根据所述启动指令生成对应的启动模式配置参数以及上电时序逻辑信号,并通过第五传输通道将所述启动模式配置参数以及上电时序逻辑信号传输至所述DSP芯片;
所述DSP芯片根据所述上电时序逻辑信号上电启动,根据启动模式配置参数进入对应的启动模式,以使DSP芯片的内核进入空闲状态。
6.根据权利要求5所述的方法,其特征在于,所述上位机通过第二传输通道将待加载程序文件传输至所述DSP芯片,以使所述DSP芯片寻找并加载所述待加载程序文件,包括:
所述上位机通过第二传输通道向所述DSP芯片的内存中写入待加载程序文件,并更新所述DSP芯片的内核的Magic_Address为所述待加载程序文件的执行入口地址,从而引导DSP芯片的内核并触发MSI中断;
所述DSP芯片检测到Magic_Address发生改变并有效,所述DSP芯片的内核退出空闲状态并根据更新的Magic_Address跳转到所述待加载程序文件的位置并执行所述待加载程序文件;
根据所述待加载程序文件的要求,依次选择性更新DSP芯片的其他内核Magic_Address并触发进程间通信中断,引导其他内核启动,以完成所述待加载程序文件加载与执行。
7.一种用于DSP动态加载的方法,其特征在于,包括:
上位机通过第二传输通道和电源休眠控制器控制DSP芯片进行复位;
所述上位机通过第二传输通道将待加载程序文件传输至所述DSP芯片,以使所述DSP芯片寻找并加载所述待加载程序文件;
在所述DSP芯片加载完成后,所述DSP芯片通过第五传输通道将加载完成的通知传输至所述FPGA芯片,以使所述FPGA芯片通过第一传输通道将所述加载完成的通知反馈至所述上位机。
8.根据权利要求7所述的方法,其特征在于,上位机通过第二传输通道和电源休眠控制器控制DSP芯片进行复位,包括:
所述电源休眠控制器禁用除第二传输通道和DSP芯片的内核之外的所有模块并复位为初始状态;
上位机通过第二传输通道将复位程序文件发送至所述DSP芯片的内核,更新DSP_boot_address为复位程序入口地址;
所述电源休眠控制器启用所有模块,并将所述DSP芯片的内核从复位状态拉出;
所述DSP芯片的内核跳转到DSP_boot_address地址并加载所述复位程序文件,DSP芯片复位成功进入空闲状态。
9.根据权利要求7所述的方法,其特征在于,所述上位机通过第二传输通道将待加载程序文件传输至所述DSP芯片,以使所述DSP芯片寻找并加载所述待加载程序文件,包括:
所述上位机通过第二传输通道向所述DSP芯片的内存中写入待加载程序文件,并更新所述DSP芯片的内核的Magic_Address为所述待加载程序文件的执行入口地址,从而引导DSP芯片的内核并触发MSI中断;
DSP芯片检测到Magic_Address发生改变并有效,所述DSP芯片的内核退出空闲状态并根据更新的Magic_Address跳转到所述待加载程序文件的位置并执行所述待加载程序文件;
根据所述待加载程序文件的要求,依次选择性更新DSP芯片的其他内核的Magic_Address并触发进程间通信中断,引导其他内核启动,以完成所述待加载程序文件加载与执行。
10.一种软件无线电平台,其特征在于,包括如权利要求1至3所述的用于DSP动态加载的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111122470.1A CN113867835B (zh) | 2021-09-24 | 2021-09-24 | 用于dsp动态加载的装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111122470.1A CN113867835B (zh) | 2021-09-24 | 2021-09-24 | 用于dsp动态加载的装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113867835A true CN113867835A (zh) | 2021-12-31 |
CN113867835B CN113867835B (zh) | 2024-04-02 |
Family
ID=78993822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111122470.1A Active CN113867835B (zh) | 2021-09-24 | 2021-09-24 | 用于dsp动态加载的装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113867835B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064622A1 (en) * | 2002-09-30 | 2004-04-01 | Smith Winthrop W. | Signal processing resource with sample-by-sample selective characteristics |
US20060176077A1 (en) * | 2005-02-04 | 2006-08-10 | Grabill James G | Programmable application specific integrated circuit for communication and other applications |
CN103678728A (zh) * | 2013-11-25 | 2014-03-26 | 北京航空航天大学 | 一种基于fpga+dsp构架的高速数据记录系统及其构建方法 |
CN106507995B (zh) * | 2012-04-05 | 2014-10-22 | 上海新跃仪表厂 | 一种基于1553b总线的运载火箭控制单元的实现方法 |
CN105279133A (zh) * | 2015-10-20 | 2016-01-27 | 电子科技大学 | 基于SoC在线重构的VPX并行DSP信号处理板卡 |
CN112667320A (zh) * | 2021-01-14 | 2021-04-16 | 中国电子科技集团公司第五十八研究所 | 一种基于MicroBlaze的FPGA及DSP远程加载系统 |
-
2021
- 2021-09-24 CN CN202111122470.1A patent/CN113867835B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064622A1 (en) * | 2002-09-30 | 2004-04-01 | Smith Winthrop W. | Signal processing resource with sample-by-sample selective characteristics |
US20060176077A1 (en) * | 2005-02-04 | 2006-08-10 | Grabill James G | Programmable application specific integrated circuit for communication and other applications |
CN106507995B (zh) * | 2012-04-05 | 2014-10-22 | 上海新跃仪表厂 | 一种基于1553b总线的运载火箭控制单元的实现方法 |
CN103678728A (zh) * | 2013-11-25 | 2014-03-26 | 北京航空航天大学 | 一种基于fpga+dsp构架的高速数据记录系统及其构建方法 |
CN105279133A (zh) * | 2015-10-20 | 2016-01-27 | 电子科技大学 | 基于SoC在线重构的VPX并行DSP信号处理板卡 |
CN112667320A (zh) * | 2021-01-14 | 2021-04-16 | 中国电子科技集团公司第五十八研究所 | 一种基于MicroBlaze的FPGA及DSP远程加载系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113867835B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102039796B1 (ko) | 주변기기 서브시스템에 대한 개별화된 전력 제어를 제공하기 위한 방법 및 장치 | |
US20140068317A1 (en) | Peripheral device sharing in multi host computing systems | |
US10572434B2 (en) | Intelligent certificate discovery in physical and virtualized networks | |
CN103345407B (zh) | 控制电路、连通控制器、连通控制方法及主板 | |
JPH09508227A (ja) | Pciバス・コンピュータのための使用可/使用不可拡張romを有する追加ボード | |
US8261053B2 (en) | Method and apparatus for maintaining a partition when booting another partition | |
JP2009043256A (ja) | 記憶装置のアクセス方法及び装置 | |
TW201227516A (en) | System and method for facilitating wireless communication during a pre-boot phase of a computing device | |
US8775712B2 (en) | Bus connecting device for connecting host with external device | |
KR102669219B1 (ko) | 종단 장치로부터 제공되는 부트 업 명령어에 기초하여 부팅 동작을 수행하도록 구성되는 전자 장치 | |
US8898653B2 (en) | Non-disruptive code update of a single processor in a multi-processor computing system | |
US8996734B2 (en) | I/O virtualization and switching system | |
CN116302141B (zh) | 串口切换方法、芯片及串口切换系统 | |
TWI823253B (zh) | 計算系統、由電腦執行的方法以及電腦程式產品 | |
TWI840849B (zh) | 計算系統、電腦實施方法及電腦程式產品 | |
CN113867835B (zh) | 用于dsp动态加载的装置及方法 | |
JP5058890B2 (ja) | バス制御装置 | |
CN116848519A (zh) | 硬件接口信号的生成方法、装置及电子设备 | |
JP4791792B2 (ja) | デジタルシグナルプロセッサシステムおよびそのブート方法。 | |
JP5970846B2 (ja) | 計算機システム及び計算機システムの制御方法 | |
JP6841876B2 (ja) | プロセッサモジュールのフレキシブル接続 | |
JP2001027920A (ja) | バスブリッジ回路及びそのパワーマネージメント方法 | |
CN115454894A (zh) | 数据访问方法、电子设备及存储介质 | |
JPH1145209A (ja) | プログラム転送システム | |
JP2001034571A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |