CN104239084A - 一种dsp程序自动加载的实现方法 - Google Patents
一种dsp程序自动加载的实现方法 Download PDFInfo
- Publication number
- CN104239084A CN104239084A CN201310252858.2A CN201310252858A CN104239084A CN 104239084 A CN104239084 A CN 104239084A CN 201310252858 A CN201310252858 A CN 201310252858A CN 104239084 A CN104239084 A CN 104239084A
- Authority
- CN
- China
- Prior art keywords
- dsp
- fpga
- spi
- program
- cpu
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开一种DSP程序自动加载的实现方法,利用搭载Linux操作系统的CPU管理CF卡中的多个DSP程序,并利用FPGA模拟SPI接口为DSP加载程序,所述CPU和FGPA之间使用异步总线进行数据交互。此方法不需要更换SPI FLASH模块,便可以管理和加载多种DSP程序,大大节省管理成本。
Description
技术领域
本发明涉及一种DSP程序自动加载的方法。
背景技术
数字信号处理器(DSP)以其强大的数据处理能力和较高的运行速度,在电力系统中日益得到广泛应用。系统设计时,常将DSP作为主控单元或者数据处理单元。
DSP具有片上加载器,可以在芯片上电后将代码从外部非易失存储器(例如FLASH等)加载至片内运行,常用的加载方式有I2C、SPI、CAN、并口等方式。其中SPI(串行外设接口)加载方式因其接口少、控制简单、存储芯片体积小等优点,使用较为频繁。
为了使系统具有较高的灵活性,可以将存储代码的SPI FLASH芯片设计成可插拔模块,通过插针和插座与电路板连接在一起,这样就可以通过简单地更换SPI FLASH模块,来更换DSP程序。然而当涉及到的DSP型号和程序版本较多时,会有十几种甚至几十种SPI FLASH模块需要管理,大大增加了管理成本。
基于以上分析,需要设计一种DSP程序自动加载的方法,以降低管理成本,本案由此产生。
发明内容
本发明的目的,在于提供一种DSP程序自动加载的实现方法,其不需要更换SPI FLASH模块,便可以管理和加载多种DSP程序,大大节省管理成本。
为了达成上述目的,本发明的解决方案是:
一种DSP程序自动加载的实现方法,利用搭载Linux操作系统的CPU管理CF卡中的多个DSP程序,并利用FPGA模拟SPI接口为DSP加载程序,所述CPU和FGPA之间使用异步总线进行数据交互。
所述FPGA引出4个I/O管脚作为SPI接口,通过延长线的方式连接到DSP的SPI接口上。
上述SPI通信过程中,DSP是主设备,FPGA是从设备,DSP上电之后分别通过3个SPI接口输出片选信号、时钟信号和命令信号,并通过剩余的一个SPI接口从FPGA的缓存中读取有效数据,直至程序加载完毕。
上述CPU在DSP程序加载过程中,通过FPGA查看缓存的剩余空间大小,动态地向缓存中补充数据,使得缓存在连续的高速读取过程中不会被读空。
采用上述方案后,本发明可以方便地存储和管理多个DSP程序,不需要更换硬件,即可为DSP加载所需的程序,特别适合用来设计通用型测试装置;它所需的硬件配置是比较常见的,主要的控制逻辑和数据通道由FPGA来完成,文件管理工作由CPU来完成,二者配合实现目标系统DSP程序的加载。
附图说明
图1是本发明的原理示意图;
图2是本发明中FPGA的功能框图;
图3是本发明中SPI接口的示意图;
图4是本发明中SPI通信时序示意图;
图5是本发明的流程图。
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明。
如图1所示,本发明提供一种DSP程序自动加载的实现方法,基于依次连接的CF卡、CPU和FPGA(现场可编程门阵列),其中,CF卡中存有多个DSP程序,CPU中搭载Linux操作系统,管理CF卡中的多个DSP程序,可以方便地读取CF卡中的数据,还支持与操作员进行人机交互;CPU与FPGA之间通过异步总线接口进行数据交互,FPGA引出4个I/O管脚作为SPI接口,通过延长线的方式连接到目标系统DSP的SPI接口上。
本发明特别适合设计通用型测试装置,硬件接口不变的条件下,可支持多种型号的DSP插件测试,并灵活地为其加载相应的测试程序。
主要的控制逻辑和数据通道由FPGA来完成,如图2所示。在FPGA中开辟一个FIFO,用于缓存CPU传来的数据。一般来说,FIFO的大小会比DSP程序小得多。CPU可以通过FPGA的指令寄存器来查看FIFO的剩余空间大小,还可以通过写控制器向FIFO中写入数据。读控制器可以将FIFO最前端的数据读出来,送到指令解析模块,在这里进行并串转换和时序控制,并通过SPI接口传输到DSP。
SPI即串行外设接口,由片选信号CS、时钟信号CLK、数据MOSI和数据MISO四根线组成。在通信过程中DSP作为主设备,控制CS、CLK和MOSI(命令信号),输出至FPGA的三个输入管脚上。FPGA作为从设备,从一个输出管脚输出MISO信号至DSP。除此之外,还需要一根地线将测试装置和目标系统共地。上述五根线需要延长出来,作为通信线连接测试装置和目标系统,如图3所示。
采用本方法的测试装置上电之后,操作员根据待加载的目标系统来选择DSP程序。CPU将根据文件名称在CF卡中进行搜索,得到该程序的起始地址和长度,这些代码就是本次加载需要使用的有效数据。之后通过异步总线下命令清空FPGA的缓存FIFO,再通过写控制器向FIFO中写满有效数据。这些操作发生在DSP上电之前,目的是防止DSP在刚开始无数据可读或者读到错误的数据。
将目标系统连接到测试装置上(包括通信线)。上电之后,DSP作为SPI通信的主设备,将使能片选信号CS,输出时钟信号CLK。通过MOSI数据线发送起始地址0。之后通过MISO数据线从FPGA的FIFO读取有效数据,直至加载完毕。DSP发出的时钟信号CLK是8个脉冲一组的,每组脉冲读回的数据长度为一个byte,两组脉冲之间间隔4-6us。如图4所示。
在前述读取过程中,CPU会不断地查询FIFO的剩余空间大小,动态地向FIFO中补充数据,使得FIFO在连续的高速读取过程中,不会被读空。而FPGA中的指令解析模块会去检测两组脉冲之间的间隔,并以此来驱动读控制器不断地从FIFO中读出数据。读出的数据在指令解析模块中进行并串转换,同时根据DSP送来的CLK信号,将转换后的二进制码流通过MISO数据线打出去。上述操作过程如图5所示。
综上,本发明一种DSP程序自动加载的实现方法,具有如下特点:
第一,所有的DSP程序存储在CF卡上。这样做有两个好处,一方面CF卡容量大,可以存储较多的程序,不像FLASH模块那样,每个程序都需要一个模块单独存储,不易管理和保存;另一方面插拔容易,当需要增删、维护程序或者更换CF卡时,可以很方便地取下。
第二,使用CPU(搭载Linux操作系统)来管理CF卡里面的DSP程序。当操作员要求加载某个程序时,CPU可以通过文件系统在CF卡中进行搜索,取得程序的起始地址和长度。
第三,使用FPGA实现数据传输通道和SPI传输协议解析。数据传输通道一端是需要加载的DSP程序,这些数据经过SPI协议解析之后转换为符合DSP加载时序的二进制码流,在正确的时间传输到DSP,完成加载过程。值得注意的是,不同厂家的DSP使用的SPI传输协议不尽相同,主要的区别是在开始和结束的命令上。
第四,FPGA内部搭建数据通道的方法如下:设计一个较大的FIFO,用于缓存数据。通过异步总线接口从CPU读取待加载的程序,并连接至FIFO的数据输入接口。FIFO的输出数据经过并串转换和时序控制之后,通过SPI接口传输至目标系统的DSP。上述数据传输过程由指令解析模块进行控制。功能框图如图2所示。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (4)
1.一种DSP程序自动加载的实现方法,其特征在于:利用搭载Linux操作系统的CPU管理CF卡中的多个DSP程序,并利用FPGA模拟SPI接口为DSP加载程序,所述CPU和FGPA之间使用异步总线进行数据交互。
2.如权利要求1所述的一种DSP程序自动加载的实现方法,其特征在于:所述FPGA引出4个I/O管脚作为SPI接口,通过延长线的方式连接到DSP的SPI接口上。
3.如权利要求2所述的一种DSP程序自动加载的实现方法,其特征在于:所述SPI通信过程中,DSP是主设备,FPGA是从设备,DSP上电之后分别通过3个SPI接口输出片选信号、时钟信号和命令信号,并通过剩余的一个SPI接口从FPGA的缓存中读取有效数据,直至程序加载完毕。
4.如权利要求1至3中任意一项所述的一种DSP程序自动加载的实现方法,其特征在于:所述CPU在DSP程序加载过程中,通过FPGA查看缓存的剩余空间大小,动态地向缓存中补充数据,使得缓存在连续的高速读取过程中不会被读空。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310252858.2A CN104239084A (zh) | 2013-06-24 | 2013-06-24 | 一种dsp程序自动加载的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310252858.2A CN104239084A (zh) | 2013-06-24 | 2013-06-24 | 一种dsp程序自动加载的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104239084A true CN104239084A (zh) | 2014-12-24 |
Family
ID=52227221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310252858.2A Pending CN104239084A (zh) | 2013-06-24 | 2013-06-24 | 一种dsp程序自动加载的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104239084A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446783A (zh) * | 2015-12-25 | 2016-03-30 | 浙江大学 | 一种皮卫星dsp程序快速加载方法 |
CN105785856A (zh) * | 2016-02-26 | 2016-07-20 | 西安电子科技大学 | 基于弹载应用的程序动态分段加载装置和方法 |
CN108196905A (zh) * | 2017-12-28 | 2018-06-22 | 北京翼辉信息技术有限公司 | 一种基于dsp的动态加载方法 |
CN115469901A (zh) * | 2022-08-16 | 2022-12-13 | 哈尔滨理工大学 | 一种双核dsp可拆卸远程升级系统及升级方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201060487Y (zh) * | 2007-05-29 | 2008-05-14 | 山东大学 | 一种高速可配置扩展spi总线 |
CN103019779A (zh) * | 2012-11-30 | 2013-04-03 | 北京遥测技术研究所 | 一种fpga/dsp嵌入式系统的程序更新方法 |
-
2013
- 2013-06-24 CN CN201310252858.2A patent/CN104239084A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201060487Y (zh) * | 2007-05-29 | 2008-05-14 | 山东大学 | 一种高速可配置扩展spi总线 |
CN103019779A (zh) * | 2012-11-30 | 2013-04-03 | 北京遥测技术研究所 | 一种fpga/dsp嵌入式系统的程序更新方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446783A (zh) * | 2015-12-25 | 2016-03-30 | 浙江大学 | 一种皮卫星dsp程序快速加载方法 |
CN105446783B (zh) * | 2015-12-25 | 2019-01-29 | 浙江大学 | 一种皮卫星dsp程序快速加载方法 |
CN105785856A (zh) * | 2016-02-26 | 2016-07-20 | 西安电子科技大学 | 基于弹载应用的程序动态分段加载装置和方法 |
CN105785856B (zh) * | 2016-02-26 | 2018-07-20 | 西安电子科技大学 | 基于弹载应用的程序动态分段加载装置和方法 |
CN108196905A (zh) * | 2017-12-28 | 2018-06-22 | 北京翼辉信息技术有限公司 | 一种基于dsp的动态加载方法 |
CN108196905B (zh) * | 2017-12-28 | 2019-03-22 | 北京翼辉信息技术有限公司 | 一种基于dsp的动态加载方法 |
CN115469901A (zh) * | 2022-08-16 | 2022-12-13 | 哈尔滨理工大学 | 一种双核dsp可拆卸远程升级系统及升级方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102077185B (zh) | 扩展用于输入输出操作的存储器接口的输入输出模块、处理平台和方法 | |
WO2017063577A1 (zh) | 一种光模块的固件升级方法及装置 | |
US20120316859A1 (en) | Embedded bus emulation | |
EP3697023A1 (en) | Fpga device and cloud system based on fpga device | |
CN110727466B (zh) | 多晶粒的多核计算机平台及其开机方法 | |
CN105790830A (zh) | 光模块在位检测方法和装置 | |
US11126382B2 (en) | SD card-based high-speed data storage method | |
CN104239084A (zh) | 一种dsp程序自动加载的实现方法 | |
CN103455419B (zh) | 现场可编程门阵列平台及其调试方法 | |
CN111563059B (zh) | 一种基于PCIe的多FPGA动态配置装置及方法 | |
US20200142849A1 (en) | Nand switch | |
CN105512084A (zh) | 一种Zynq平台数据交互装置 | |
CN106648758A (zh) | 一种多核处理器boot启动系统及方法 | |
CN101872308A (zh) | 内存条控制系统及其控制方法 | |
KR100914174B1 (ko) | Fpga 컨트롤러 기반 테스터 인터페이스 장치 | |
CN104485962B (zh) | 一种便携式数据采集系统及其采集方法 | |
CN103544121A (zh) | 一种基于微服务系统管理槽位号的方法、设备及系统 | |
CN101667133B (zh) | 固件更新方法和使用该方法更新固件的芯片 | |
CN109491959B (zh) | 一种可编程逻辑器件配置器 | |
KR100922635B1 (ko) | Pci 익스프레스 버스 기반 테스터 인터페이스 장치 | |
TW201435600A (zh) | Tbt晶片集成系統及方法 | |
CN103092725B (zh) | 一种实现存储器中数据备份的方法及装置 | |
CN111078605A (zh) | 一种多通信接口中断的综合处理系统 | |
KR102502326B1 (ko) | Nand 메모리를 위한 데이터 전송 프로토콜에서의 오버헤드 감소 | |
CN102540958A (zh) | 基于pxi总线的64路块隔离数字i/o模块 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141224 |
|
WD01 | Invention patent application deemed withdrawn after publication |