CN108228262A - 一种TigerSharc DSP快速加载方法 - Google Patents
一种TigerSharc DSP快速加载方法 Download PDFInfo
- Publication number
- CN108228262A CN108228262A CN201611139686.8A CN201611139686A CN108228262A CN 108228262 A CN108228262 A CN 108228262A CN 201611139686 A CN201611139686 A CN 201611139686A CN 108228262 A CN108228262 A CN 108228262A
- Authority
- CN
- China
- Prior art keywords
- dsp
- fifo
- states
- fpga
- flash
- 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
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/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Communication Control (AREA)
- Logic Circuits (AREA)
Abstract
本发明属于嵌入式计算机领域,涉及一种TigerSharc DSP快速加载方法。本方法使用FPGA作为传输中介,利用TigerSharc DSP的LINK接口高速数据传输优势,由FPGA通过DSP局部总线读取FLASH中存储的程序数据,在FPGA内部经过FIFO进行数据缓存,同时按照LINK接口传输协议向DSP的LINK接口传送数据,从而实现DSP程序加载。其有益效果是充分利用了FPGA灵活的接口特性及并行化硬件化的处理特点,构建基于LINK接口的加载环境,可在不改变***硬件条件的基础上,提高DSP的加载速度,缩短启动时间。
Description
技术领域:
本发明属于嵌入式计算机领域,涉及一种TigerSharc DSP快速加载方法。
背景技术:
图像跟踪处理***通常要求***具有较短的程序加载启动时间,以保证上电后能够快速跟踪目标。TigerSharc DSP由于较高的运行速度及高速率的l ink通信接口,被广泛应用于图像处理等高速数字信号处理领域。
TigerSharc DSP程序加载启动支持主引导和从引导两种引导模式,在大多数应用中通常采用主引导模式,在该模式下,TigerSharc作为主动方,使用DSP局部总线的地址、数据、读写等信号从EPROM或FLASH中加载代码,这种引导方式受到总线访问时序的限制,程序加载启动速度慢,不能满足图像跟踪处理***的使用要求。在从模式下,TigerSharc作为被动方,不向外部输出控制信号,仅启动若干DMA并执行第一个DMA所接收到的加载核,加载速度快。从加载方式通常用于多处理器***中,由主处理器或外部主机通过LINK接口进行程序加载,加载速度较快,但需要外部主机具有LINK接口。
FPGA由于具有灵活的接口特性、可配置的访问速度等多种优势,目前已被广泛应用于图像处理***中。利用FPGA构建基于LINK接口的加载环境,可在不改***件条件的基础上,提高加载速度,缩短启动时间。
发明内容:
本发明的目的是:
本发明是为了解决图像跟踪处理***中DSP程序的快速加载问题。
本发明的技术方案是:
本文采用FPGA作为传输中介,利用TigerSharc DSP的LINK接口的高速数据传输优势,设计了一种TigerSharc DSP快速加载方法,由FPGA通过DSP局部总线读取FLASH中存储的程序数据,在FPGA内部经过FIFO进行数据缓存,同时按照LINK接口传输协议向DSP的LINK接口传送数据,从而实现DSP程序加载,具体步骤如下:
a)DSP加载及总线权控制:在FPGA中将TigerSharc DSP的BMS管脚状态置为‘1’,配置DSP为从加载模式。在FPGA中通过对DSP的HBR管脚状态进行控制,实现总线权限的获取和释放。DSP加载完成前将HBR管脚状态置为‘0’,DSP释放局部总线权控制权给外部设备;当FPGA读取FLASH数据完成后,将DSP的HBR管脚状态置为‘1’,将DSP局部总线使用权归还DSP;
b)FLASH读控制:在FPGA中对FLASH的复位信号、片选使能信号、输出使能、写使能信号进行控制。FLASH的复位信号在DSP复位期间置为有效态,DSP复位结束后置为无效;FLASH的片选使能信号和输出使能信号在DSP复位结束后CE和OE置为有效态,当FLASH数据读取完成后置为无效态;FLASH写信号置无效态;
c)FIFO写控制:在FPGA内部开辟深度为16,宽度为8的FIFO缓冲区对读入的FLASH数据进行缓冲,FIFO读写时钟采用2倍的LINK接口时钟;FIFO写控制分为4个状态,复位时为状态S0;复位结束后进入S1状态,在S1状态将FIFO写信号置为有效态,判断FIFO是否已满及FLASH数据是否已读完,当FIFO未满且FLASH数据未读完继续留在S1状态,当FIFO已满跳转至S2状态,当FLASH数据已读完跳转至S3状态;在S2状态将FIFO写信号置为无效态,判断FIFO满状态及FLASH数据状态,当FIFO未满且FLASH数据未读完时跳转至S1状态,否则留在S2状态;在S3状态将FIFO写信号置为无效态,并最终停在S3状态,状态机结束;
d)FIFO读控制:FIFO读控制分为2个状态,复位或FIFO空或LINK口不允许发送时处于S4状态,在S4状态将FIFO读信号置为无效态,当复位结束且FIFO不空且LINK口允许发送时跳转至S5状态;在S5状态将FIFO读信号置为有效态,若FIFO空或LINK口不允许发送,则跳转至S4状态,否则继续留在S5状态;
e)LINK接口发送控制:在FPGA中按照LINK接口发送时序产生LxCLKIN、LxCLKOUT、LxDAT、LxDIR信号。LxCLKOUT信号为LINK发送数据的参考时钟;LxCLKIN信号为DSP端LINK接收端口的应答信号,高表示可以接收数据,低表示不能接收数据,FPGA中通过对该信号的监测判断DSP端LINK接口是否允许发送数据;LxDAT信号为待发送的数据,共8位数据线,从FIFO缓冲区读出;LxDIR信号代表信号传输方向,FPGA中置为‘1’,表示FPGA为发送方;
f)步骤a),b),c),d),e)均在FPGA中实现,各步并行执行。
本发明具有的优点是:
使用搭建硬件逻辑电路的方式将程序数据发送到TigerSharc DSP的高速LINK接口,充分利用了FPGA并行化硬件化的处理特点,大大缩短了图像跟踪处理***的加载时间,为快速跟踪进而打击目标提供了保障。
附图说明:
图1为TigerSharc DSP程序快速加载电路原理图;
图2为FIFO写控制状态图;
图3为FIFO读控制状态图。
具体实施方式:
本发明所述的一种TigerSharc DSP快速加载方法已经在某图像跟踪处理***中成功实施,其中DSP使用ADSP公司TigerSharc系列ADSP-TS101芯片,FPGA使用Xi l inx公司的XC2V3000芯片,FlASH使用深圳国微公司的SM29LV160芯片,存储1.96Mbytes的程序数据,程序中将LINK接口时钟频率配置为LINK接口默认频率(250/8)MHz。
由FPGA通过DSP局部总线读取FLASH中存储的程序数据,在FPGA内部经过FIFO进行数据缓存,同时按照LINK接口传输协议向DSP的LINK接口传送数据,最终实现DSP程序的加载,具体步骤如下:
a)在FPGA中将TigerSharc DSP的BMS管脚状态置为‘1’,配置DSP为从加载模式。DSP加载完成前将HBR管脚状态置为‘0’,DSP释放局部总线权控制权给外部设备;当FPGA读取FLASH数据完成后,将DSP的HBR管脚状态置为‘1’,将DSP局部总线使用权归还DSP;
b)在FPGA中对FLASH的复位信号、片选使能信号、输出使能、写使能信号进行控制。FLASH的复位信号在DSP复位期间置为有效态,DSP复位结束后置为无效;FLASH的片选使能信号和输出使能信号在DSP复位结束后CE和OE置为有效态,当FLASH数据读取完成后置为无效态;FLASH写信号置无效态;FLASH读时钟为程序数据2倍的LINK接口时钟,即(250/4)MHz;
c)在FPGA内部开辟深度为16,宽度为8的FIFO缓冲区对读入的FLASH数据进行缓冲,FIFO读写时钟采用2倍的LINK接口时钟,即(250/4)MHz;
d)FIFO写控制分为4个状态,复位时为状态S0;复位结束后进入S1状态,在S1状态将FIFO写信号置为有效态,判断FIFO是否已满及FLASH数据是否已读完,当FIFO未满且FLASH数据未读完继续留在S1状态,当FIFO已满跳转至S2状态,当FLASH数据已读完跳转至S3状态;在S2状态将FIFO写信号置为无效态,判断FIFO满状态及FLASH数据状态,当FIFO未满且FLASH数据未读完时跳转至S1状态,否则留在S2状态;在S3状态将FIFO写信号置为无效态,并最终停在S3状态,状态机结束;
e)FIFO读控制分为2个状态,复位或FIFO空或LINK口不允许发送时处于S4状态,在S4状态将FIFO读信号置为无效态,当复位结束且FIFO不空且LINK口允许发送时跳转至S5状态;在S5状态将FIFO读信号置为有效态,若FIFO空或LINK口不允许发送,则跳转至S4状态,否则继续留在S5状态;
f)根据ADSP-TS101手册中的LINK接口发送时序,在FPGA中产生LxCLKIN、LxCLKOUT、LxDAT、LxDIR信号。LxCLKOUT信号为LINK发送数据的参考时钟,即FLASH程序中配置的LINK接口时钟频率(250/8)MHz;LxCLKIN信号为DSP端LINK接收端口的应答信号,高表示可以接收数据,低表示不能接收数据,FPGA中通过对该信号的监测判断DSP端LINK接口是否允许发送数据;LxDAT信号为待发送的数据,共8位数据线,从FIFO缓冲区读出;LxDIR信号代表信号传输方向,FPGA中置为‘1’,表示FPGA为发送方;
以上步骤在FPGA中并行执行,加载1.96Mbytes大小的程序数据共耗时为86ms。使用时可在程序中提高LINK接口的时钟频率,进一步缩短程序加载时间。
Claims (1)
1.一种TigerSharc DSP快速加载方法,其特征是,由FPGA通过DSP局部总线读取FLASH中存储的程序数据,在FPGA内部经过FIFO进行数据缓存,同时按照LINK接口传输协议向DSP的LINK接口传送数据,从而实现DSP程序加载,具体步骤如下:
a)DSP加载及总线权控制:在FPGA中将TigerSharc DSP的BMS管脚状态置为‘1’,配置DSP为从加载模式;在FPGA中通过对DSP的HBR管脚状态进行控制,实现总线权限的获取和释放;DSP加载完成前将HBR管脚状态置为‘0’,DSP释放局部总线权控制权给外部设备;当FPGA读取FLASH数据完成后,将DSP的HBR管脚状态置为‘1’,将DSP局部总线使用权归还DSP;
b)FLASH读控制:在FPGA中对FLASH的复位信号、片选使能信号、输出使能、写使能信号进行控制;FLASH的复位信号在DSP复位期间置为有效态,DSP复位结束后置为无效;FLASH的片选使能信号和输出使能信号在DSP复位结束后CE和OE置为有效态,当FLASH数据读取完成后置为无效态;FLASH写信号置无效态;
c)FIFO写控制:在FPGA内部开辟深度为16,宽度为8的FIFO缓冲区对读入的FLASH数据进行缓冲,FIFO读写时钟采用2倍的LINK接口时钟;FIFO写控制分为4个状态,复位时为状态S0;复位结束后进入S1状态,在S1状态将FIFO写信号置为有效态,判断FIFO是否已满及FLASH数据是否已读完,当FIFO未满且FLASH数据未读完继续留在S1状态,当FIFO已满跳转至S2状态,当FLASH数据已读完跳转至S3状态;在S2状态将FIFO写信号置为无效态,判断FIFO满状态及FLASH数据状态,当FIFO未满且FLASH数据未读完时跳转至S1状态,否则留在S2状态;在S3状态将FIFO写信号置为无效态,并最终停在S3状态,状态机结束;
d)FIFO读控制:FIFO读控制分为2个状态,复位或FIFO空或LINK口不允许发送时处于S4状态,在S4状态将FIFO读信号置为无效态,当复位结束且FIFO不空且LINK口允许发送时跳转至S5状态;在S5状态将FIFO读信号置为有效态,若FIFO空或LINK口不允许发送,则跳转至S4状态,否则继续留在S5状态;
e)LINK接口发送控制:在FPGA中按照LINK接口发送时序产生LxCLKIN、LxCLKOUT、LxDAT、LxDIR信号;LxCLKOUT信号为LINK发送数据的参考时钟;LxCLKIN信号为DSP端LINK接收端口的应答信号,高表示可以接收数据,低表示不能接收数据,FPGA中通过对该信号的监测判断DSP端LINK接口是否允许发送数据;LxDAT信号为待发送的数据,共8位数据线,从FIFO缓冲区读出;LxDIR信号代表信号传输方向,FPGA中置为‘1’,表示FPGA为发送方;
f)步骤a),b),c),d),e)均在FPGA中实现,各步并行执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611139686.8A CN108228262B (zh) | 2016-12-12 | 2016-12-12 | 一种TigerSharc DSP快速加载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611139686.8A CN108228262B (zh) | 2016-12-12 | 2016-12-12 | 一种TigerSharc DSP快速加载方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108228262A true CN108228262A (zh) | 2018-06-29 |
CN108228262B CN108228262B (zh) | 2021-03-26 |
Family
ID=62638597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611139686.8A Active CN108228262B (zh) | 2016-12-12 | 2016-12-12 | 一种TigerSharc DSP快速加载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108228262B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111462189A (zh) * | 2020-04-16 | 2020-07-28 | 吉林大学 | 一种图像锁定跟踪***及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7327153B2 (en) * | 2005-11-02 | 2008-02-05 | Texas Instruments Incorporated | Analog built-in self-test module |
US20130236195A1 (en) * | 2012-03-08 | 2013-09-12 | Alcatel-Lucent Usa Inc. | Optical feed-forward equalizer for mimo signal processing |
CN103678728A (zh) * | 2013-11-25 | 2014-03-26 | 北京航空航天大学 | 一种基于fpga+dsp构架的高速数据记录***及其构建方法 |
CN105281783A (zh) * | 2015-09-25 | 2016-01-27 | 中国船舶重工集团公司第七二六研究所 | 基于fpga和dsp平台的信号解码单元及其实现方法 |
-
2016
- 2016-12-12 CN CN201611139686.8A patent/CN108228262B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7327153B2 (en) * | 2005-11-02 | 2008-02-05 | Texas Instruments Incorporated | Analog built-in self-test module |
US20130236195A1 (en) * | 2012-03-08 | 2013-09-12 | Alcatel-Lucent Usa Inc. | Optical feed-forward equalizer for mimo signal processing |
CN103678728A (zh) * | 2013-11-25 | 2014-03-26 | 北京航空航天大学 | 一种基于fpga+dsp构架的高速数据记录***及其构建方法 |
CN105281783A (zh) * | 2015-09-25 | 2016-01-27 | 中国船舶重工集团公司第七二六研究所 | 基于fpga和dsp平台的信号解码单元及其实现方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111462189A (zh) * | 2020-04-16 | 2020-07-28 | 吉林大学 | 一种图像锁定跟踪***及方法 |
CN111462189B (zh) * | 2020-04-16 | 2023-06-20 | 吉林大学 | 一种图像锁定跟踪***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108228262B (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102360329B (zh) | 总线监控与调试控制装置及进行总线监控与总线调试的方法 | |
CN102087606A (zh) | 一种fpga配置文件更新装置 | |
CN109902053A (zh) | 一种基于双控制器的spi通信方法、终端设备及存储介质 | |
CN106104698B (zh) | 用于产生具有可编程延迟的动态随机存取存储器(dram)命令的存储器物理层接口逻辑 | |
CN105739949A (zh) | 用于在非对称处理器核之间的协作式执行的技术 | |
CN101432699A (zh) | 在多个处理器/核的测试与调试进程期间控制电源、时钟和复位的装置和方法 | |
CN108984442B (zh) | 一种基于二值化算法的加速控制***、芯片及机器人 | |
CN102880536A (zh) | 一种多核处理器的jtag调试方法 | |
CN101719098B (zh) | Nandflash芯片组存储控制器 | |
KR101239658B1 (ko) | 시험 장치 | |
US8423703B2 (en) | Data transfer in memory card system | |
US9026746B2 (en) | Signal control device and signal control method | |
CN116521604B (zh) | 一种同步数据的方法及相关装置 | |
US20060236001A1 (en) | Direct memory access controller | |
CN108228262A (zh) | 一种TigerSharc DSP快速加载方法 | |
CN202267954U (zh) | 总线监控与调试控制装置 | |
CN105718396A (zh) | 一种大数据主设备传输的i2c总线装置及其通讯方法 | |
US8688428B2 (en) | Performance evaluation device, performance evaluation method and simulation program | |
CN101950276B (zh) | 一种存储器访问装置及其程序执行方法 | |
CN102542525A (zh) | 一种信息处理设备以及信息处理方法 | |
CN201936294U (zh) | 一种高速图像采集***的缓存*** | |
CN106205692A (zh) | 存储器控制器与存储器模块 | |
CN106815175A (zh) | 数据传输设备 | |
JP2011081695A (ja) | データ演算装置の制御回路及びデータ演算装置 | |
US9645818B2 (en) | Information processing apparatus and control method of information processing apparatus |
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 |