CN104239084A - 一种dsp程序自动加载的实现方法 - Google Patents

一种dsp程序自动加载的实现方法 Download PDF

Info

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
Application number
CN201310252858.2A
Other languages
English (en)
Inventor
李汉杰
王峰
魏磊
赵天恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NR Electric Co Ltd
NR Engineering Co Ltd
Original Assignee
NR Electric Co Ltd
NR Engineering Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NR Electric Co Ltd, NR Engineering Co Ltd filed Critical NR Electric Co Ltd
Priority to CN201310252858.2A priority Critical patent/CN104239084A/zh
Publication of CN104239084A publication Critical patent/CN104239084A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开一种DSP程序自动加载的实现方法,利用搭载Linux操作系统的CPU管理CF卡中的多个DSP程序,并利用FPGA模拟SPI接口为DSP加载程序,所述CPU和FGPA之间使用异步总线进行数据交互。此方法不需要更换SPI FLASH模块,便可以管理和加载多种DSP程序,大大节省管理成本。

Description

一种DSP程序自动加载的实现方法
技术领域
本发明涉及一种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查看缓存的剩余空间大小,动态地向缓存中补充数据,使得缓存在连续的高速读取过程中不会被读空。
CN201310252858.2A 2013-06-24 2013-06-24 一种dsp程序自动加载的实现方法 Pending CN104239084A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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嵌入式系统的程序更新方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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