CN103064806B - 一种利用cpld控制dsp实现二次启动的方法 - Google Patents
一种利用cpld控制dsp实现二次启动的方法 Download PDFInfo
- Publication number
- CN103064806B CN103064806B CN201210589013.8A CN201210589013A CN103064806B CN 103064806 B CN103064806 B CN 103064806B CN 201210589013 A CN201210589013 A CN 201210589013A CN 103064806 B CN103064806 B CN 103064806B
- Authority
- CN
- China
- Prior art keywords
- dsp
- cpld
- pin
- level
- restarting
- 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.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Abstract
一种利用CPLD控制DSP实现二次启动的方法,本发明嵌入式系统中数字信号处理器DSP的程序全部存储在片外程序存储器中;每次上电DSP程序加载需要分为一级加载和二级加载两个阶段;一级加载是由DSP通过DMA或EDMA方式自动进行,将位于片外程序存储器开头的一段代码传输到片内地址0x00处执行,整个传输过程不受用户控制;二级加载是在一级加载成功的基础上进行的,执行一级加载的代码把用户的应用程序由加载地址拷贝到运行地址的过程。本发明具有二次启动时间短、判断方式可靠性高、代码编写容易、调试方便,可以很方便地用示波器在IO管脚上监测到信号以及和DSP之间连线方便灵活,便于印制板布线的优点。
Description
技术领域
本发明涉及一种嵌入式系统技术领域,具体涉及一种由可编程逻辑器件控制数字信号处理器实现二次启动的方法。
背景技术
随着现代电子技术的发展,数字信号处理器DSP由于具有体积小、速度快、集成度高、一致性好、接口丰富、易于扩展和抗干扰能力强等诸多特点优点在嵌入式系统中得到了日益广泛的应用。基于芯片构架及商业利益等原因,很多采用DSP的嵌入式系统中每次启动时都需要从DSP片外程序空间把代码加载到片内RAM中才能运行。随着嵌入式系统功能的日益强大,DSP代码量也越来越大,代码加载的时间也越来越长。由于系统在启动过程中,工作电源容易受到干扰,会造成系统代码加载错误造成启动失败的现象。而一旦首次启动失败,通常需要断电或复位以进行二次启动,造成启动时间过长,无法满足用户要求。
为了防止启动失败的现象,通常都需要对电源采取严格的隔离保护措施。但是,由于干扰的不确定性,这样做并不能确保每次启动都能成功,特别是对启动时间和启动可靠性要求高的场合,仅仅对电源采取措施是不够的。那么,如何提高嵌入式系统启动的可靠性,并有效缩短二次启动时间就成为需要解决的技术问题。
发明内容
本发明所要解决的技术问题在于,提供一种利用CPLD控制DSP实现二次启动的方法,以提高启动可靠性并缩短二次启动时间。
本发明所述的嵌入式系统中数字信号处理器DSP的程序全部存储在片外程序存储器中。每次上电DSP程序加载需要分为一级加载和二级加载两个阶段。一级加载是由DSP通过DMA或EDMA方式自动进行,将位于片外程序存储器开头的一段代码传输到片内地址0x00处执行,整个传输过程不受用户控制;二级加载是在一级加载成功的基础上进行的,执行一级加载的代码把用户的应用程序由加载地址拷贝到运行地址的过程。
本发明的技术解决方案是:
一种利用CPLD控制DSP实现二次启动的方法,其特征在于,该方法包括:
1)把CPLD的某个通用IO脚,暂名为IO1;和DSP自身的复位信号相与后,接到DSP的复位管脚RST上;
2)把DSP的某个通用GPIO脚接到CPLD的某个通用IO脚上,暂名为IO2;把DSP的写信号WR接到CPLD的某个通用IO脚上,暂名为IO3;把DSP的地址空间选择信号CEx接到CPLD的某个通用IO脚上,暂名为IO4;
3)把DSP的外部数据总线D0到D31全部接到CPLD的IO管脚上,
和以上IO管脚不重复;
4)把DSP的外部地址总线A17到A21全部接到CPLD的IO管脚上,和以上IO管脚不重复;
5)可用VHDL或Verilog硬件描述语言编写CPLD的代码;
6)每次CPLD上电复位结束后,初始化启动标志寄存器的值,把IO1输出高电平;
7)用汇编语言,在DSP的一级代码增加使其GPIO输出一个低脉冲信号,低脉冲持续时间可使CPLD充分识别即可;然后,给标志寄存器中写入特征值;
8)每次上电后,CPLD若在规定时间内未捕获到IO2管脚出现低脉冲信号,则把IO1输出低电平,中断当前启动,重新开始启动;否则,读取启动标志寄存器;
9)若启动标志寄存器的内容等于特征值,则表明首次启动成功;否则,把IO1输出低电平,中断当前启动,重新开始启动。
2、根据权利要求1所述一种利用CPLD控制DSP实现二次启动的方法,其特征在于:所述DSP只要是二级启动的处理器即可,具体为TI公司的TMS320C6713;所述CPLD具体为ALTERA公司的EPM1270。
本发明的优点是:
1.二次启动时间短。所述CPLD每次在DSP一级加载期间就可预判DSP是否会启动失败,不必等到二级加载结束后才去判断,明显节约了二次启动时间。
2.判断方式可靠性高。不仅通过DSP的GPIO电平变化来判断,还通过DSP的数据总线D[0..31]是否写操作正常来判断,综合考虑了两个方面的因素。
3.代码编写容易。用户只需在DSP的一级代码中增加对GPIO和给定地址寄存器的写操作即可。
4.调试方便,可以很方便地用示波器在IO管脚上监测到信号。
5.和DSP之间连线方便灵活,便于印制板布线。
附图说明
图1为二次启动原理框图;
图2为CPLD控制DSP二次启动流程图。
具体实施方式
1.发明中的数字信号处理器为TI公司的TMS320C6713,可编程逻辑器件为ALTERA公司的EPM1270。启动原理,参见图1,CPLD对DSP进行二次启动的流程,参见图2。
2.把CPLD的某个通用IO脚(暂名为IO1)和DSP自身的复位信号相与后,接到DSP的复位管脚RST上。
3.把DSP的某个通用GPIO脚接到CPLD的某个通用IO脚(暂名为IO2)上。把DSP的写信号WR接到CPLD的某个通用IO脚(暂名为IO3)上。把DSP的地址空间选择信号CEx接到CPLD的某个通用IO脚(暂名为IO4)上。
4.把DSP的外部数据总线D0到D31全部接到CPLD的IO管脚上,和以上IO管脚不重复。
5.把DSP的外部地址总线A17到A21全部接到CPLD的IO管脚上,和以上IO管脚不重复。
6.可用VHDL、Verilog等硬件描述语言编写CPLD的代码。
7.每次CPLD上电复位结束后,初始化启动标志寄存器的值,例如可以写成0X00。把IO1输出高电平。
8.用汇编语言,在DSP的一级代码增加使其GPIO输出一个低脉冲信号,低脉冲持续时间可使CPLD充分识别即可。然后,给标志寄存器中写入特征值,例如0X55AA55AA。
9.每次上电后,CPLD若在规定时间内未捕获到IO2管脚出现低脉冲信号,则把IO1输出低电平,中断当前启动,重新开始启动。否则,读取启动标志寄存器。
10.若启动标志寄存器的内容等于特征值,则表明首次启动成功。否则,把IO1输出低电平,中断当前启动,重新开始启动。
本发明实现以下结果
1)DSP和CPLD同时上电,各自有独立的上电复位电路;正常启动时,CPLD并不控制DSP的复位;只有在DSP二次启动时,CPLD才控制DSP二次复位;每次DSP开始加载之前,CPLD已加载复位完毕处于工作状态;
2)DSP每次启动时,在一级加载期间,DSP会在规定的时间内发出通知信号给CPLD,并给CPLD中指定地址的寄存器写入预先约定好的值,该值是判断DSP是否已经启动成功的标志。
3)CPLD每次上电复位后,都会把指定地址的寄存器清零,并在规定的时间内判读该寄存器的值是否已经被DSP写入规定好的值。若没有检测到通知信号则表明DSP启动失败,若检测到则进一步读取指定地址的寄存器是否是预定值。若是预定值,则表明DSP启动成功,否则失败。
4)CPLD在发现DSP启动失败后,立即给DSP发出复位信号,中断当前加载进程,使DSP开始重新开始启动。
Claims (2)
1.一种利用CPLD控制DSP实现二次启动的方法,其特征在于,该方法包括:
1)把CPLD的某个通用IO脚,暂名为IO1;和DSP自身的复位信号相与后,接到DSP的复位管脚RST上;
2)把DSP的某个通用GPIO脚接到CPLD的某个通用IO脚上,暂名为IO2;把DSP的写信号WR接到CPLD的某个通用IO脚上,暂名为IO3;把DSP的地址空间选择信号CEx接到CPLD的某个通用IO脚上,暂名为IO4;
3)把DSP的外部数据总线D0到D31全部接到CPLD的IO管脚上,
和以上IO管脚不重复;
4)把DSP的外部地址总线A17到A21全部接到CPLD的IO管脚上,和以上IO管脚不重复;
5)可用VHDL或Verilog硬件描述语言编写CPLD的代码;
6)每次CPLD上电复位结束后,初始化启动标志寄存器的值,把IO1输出高电平;
7)用汇编语言,在DSP的一级代码中增加一段代码,使其GPIO输出一个低脉冲信号,低脉冲持续时间可使CPLD充分识别即可;然后,给标志寄存器中写入特征值;
8)每次上电后,CPLD若在规定时间内未捕获到IO2管脚出现低脉冲信号,则把IO1输出低电平,中断当前启动,重新开始启动;否则,读取启动标志寄存器;
9)若启动标志寄存器的内容等于特征值,则表明首次启动成功;否则,把IO1输出低电平,中断当前启动,重新开始启动。
2.根据权利要求1所述一种利用CPLD控制DSP实现二次启动的方法,其特征在于:所述DSP只要是二级启动的处理器即可,具体为TI公司的TMS320C6713;所述CPLD具体为ALTERA公司的EPM1270。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210589013.8A CN103064806B (zh) | 2012-12-31 | 2012-12-31 | 一种利用cpld控制dsp实现二次启动的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210589013.8A CN103064806B (zh) | 2012-12-31 | 2012-12-31 | 一种利用cpld控制dsp实现二次启动的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103064806A CN103064806A (zh) | 2013-04-24 |
CN103064806B true CN103064806B (zh) | 2016-01-06 |
Family
ID=48107437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210589013.8A Active CN103064806B (zh) | 2012-12-31 | 2012-12-31 | 一种利用cpld控制dsp实现二次启动的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103064806B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114138333B (zh) * | 2021-11-27 | 2023-04-18 | 深圳曦华科技有限公司 | 程序加载的方法及相关装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2687736Y (zh) * | 2004-04-09 | 2005-03-23 | 清华大学 | 单片机复位配置装置 |
CN1916916A (zh) * | 2006-08-31 | 2007-02-21 | 株洲南车时代电气股份有限公司 | 一种确保现场可编程门阵列可靠配置的电路及方法 |
CN101169679A (zh) * | 2006-10-25 | 2008-04-30 | 中兴通讯股份有限公司 | 多状态复位方法及多状态复位电路 |
CN101271414A (zh) * | 2008-05-06 | 2008-09-24 | 江苏东大金智建筑智能化系统工程有限公司 | 嵌入式系统的全程喂狗方法 |
CN102253864A (zh) * | 2011-06-14 | 2011-11-23 | 中国科学院长春光学精密机械与物理研究所 | Fpga芯片加电启动容错装置 |
-
2012
- 2012-12-31 CN CN201210589013.8A patent/CN103064806B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2687736Y (zh) * | 2004-04-09 | 2005-03-23 | 清华大学 | 单片机复位配置装置 |
CN1916916A (zh) * | 2006-08-31 | 2007-02-21 | 株洲南车时代电气股份有限公司 | 一种确保现场可编程门阵列可靠配置的电路及方法 |
CN101169679A (zh) * | 2006-10-25 | 2008-04-30 | 中兴通讯股份有限公司 | 多状态复位方法及多状态复位电路 |
CN101271414A (zh) * | 2008-05-06 | 2008-09-24 | 江苏东大金智建筑智能化系统工程有限公司 | 嵌入式系统的全程喂狗方法 |
CN102253864A (zh) * | 2011-06-14 | 2011-11-23 | 中国科学院长春光学精密机械与物理研究所 | Fpga芯片加电启动容错装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103064806A (zh) | 2013-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9542267B2 (en) | Enhanced recovery mechanisms | |
CN101916201B (zh) | 一种基于Android移动终端冷启动的方法和装置 | |
US9367446B2 (en) | Computer system and data recovery method for a computer system having an embedded controller | |
CN110806794A (zh) | 存储系统的掉电保护方法、系统、计算机设备以及介质 | |
US20080276132A1 (en) | Microprocessor supervision in a special purpose computer system | |
TWI475368B (zh) | 電源控制系統及其方法 | |
RU2405192C2 (ru) | Способ и устройство для отладки многоядерной системы | |
CN104777888A (zh) | 通过多电源的软硬件协调控制减少计算机系统中的能耗 | |
CN102467417B (zh) | 计算机系统 | |
US20170371574A1 (en) | Managing host communication with a regulator in a low power mode | |
US20170286254A1 (en) | Method and apparatus for using target or unit under test (uut) as debugger | |
EP3167371B1 (en) | A method for diagnosing power supply failure in a wireless communication device | |
US10394307B2 (en) | Information processing apparatus, information processing method, and program | |
US20160070634A1 (en) | System and method for system-on-a-chip subsystem trace extraction and analysis | |
CN113691722B (zh) | 一种控制方法、装置及电子设备 | |
US9971535B2 (en) | Conversion method for reducing power consumption and computing apparatus using the same | |
US20040250147A1 (en) | Uninterrupted system operation | |
CN104317685A (zh) | 计算器系统的启动方法 | |
CN104156289A (zh) | 基于检测电路的同步控制方法及系统 | |
TW201626237A (zh) | 伺服器節點關機技術 | |
CN104850182A (zh) | 应用于嵌入式系统的电路结构和掉电保护方法 | |
US9218029B2 (en) | Method and system for resetting a SoC | |
CN103064806B (zh) | 一种利用cpld控制dsp实现二次启动的方法 | |
US20040172233A1 (en) | Semiconductor integrated circuit device and microcomputer development assisting apparatus | |
CN101436097B (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 | ||
C56 | Change in the name or address of the patentee | ||
CP01 | Change in the name or title of a patent holder |
Address after: 710077 Xi'an high tech Zone, Jin Industrial Road, No., No. C Venture Park, No. 8, Patentee after: Xi'an Qiwei Technology Co. Ltd. Address before: 710077 Xi'an high tech Zone, Jin Industrial Road, No., No. C Venture Park, No. 8, Patentee before: Xi'an Keyway Technology Co.,Ltd. |