CN103064806B - 一种利用cpld控制dsp实现二次启动的方法 - Google Patents

一种利用cpld控制dsp实现二次启动的方法 Download PDF

Info

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
Application number
CN201210589013.8A
Other languages
English (en)
Other versions
CN103064806A (zh
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.)
Xi'an Qiwei Technology Co. Ltd.
Original Assignee
XI'AN KEYWAY TECHNOLOGY 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 XI'AN KEYWAY TECHNOLOGY CO LTD filed Critical XI'AN KEYWAY TECHNOLOGY CO LTD
Priority to CN201210589013.8A priority Critical patent/CN103064806B/zh
Publication of CN103064806A publication Critical patent/CN103064806A/zh
Application granted granted Critical
Publication of CN103064806B publication Critical patent/CN103064806B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

一种利用CPLD控制DSP实现二次启动的方法,本发明嵌入式系统中数字信号处理器DSP的程序全部存储在片外程序存储器中;每次上电DSP程序加载需要分为一级加载和二级加载两个阶段;一级加载是由DSP通过DMA或EDMA方式自动进行,将位于片外程序存储器开头的一段代码传输到片内地址0x00处执行,整个传输过程不受用户控制;二级加载是在一级加载成功的基础上进行的,执行一级加载的代码把用户的应用程序由加载地址拷贝到运行地址的过程。本发明具有二次启动时间短、判断方式可靠性高、代码编写容易、调试方便,可以很方便地用示波器在IO管脚上监测到信号以及和DSP之间连线方便灵活,便于印制板布线的优点。

Description

一种利用CPLD控制DSP实现二次启动的方法
技术领域
本发明涉及一种嵌入式系统技术领域,具体涉及一种由可编程逻辑器件控制数字信号处理器实现二次启动的方法。
背景技术
随着现代电子技术的发展,数字信号处理器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。
CN201210589013.8A 2012-12-31 2012-12-31 一种利用cpld控制dsp实现二次启动的方法 Active CN103064806B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116820586A (zh) * 2021-11-27 2023-09-29 深圳曦华科技有限公司 一种程序加载的方法及相关装置和存储介质和程序

Citations (5)

* Cited by examiner, † Cited by third party
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芯片加电启动容错装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
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
CN204360323U (zh) 用于启用主电源的连接的控制电路、计算系统及装置
US7774648B2 (en) Microprocessor supervision in a special purpose computer system
US9367446B2 (en) Computer system and data recovery method for a computer system having an embedded controller
TWI475368B (zh) 電源控制系統及其方法
RU2405192C2 (ru) Способ и устройство для отладки многоядерной системы
CN110806794A (zh) 存储系统的掉电保护方法、系统、计算机设备以及介质
CN102467417B (zh) 计算机系统
US20170371574A1 (en) Managing host communication with a regulator in a low power mode
EP3167371B1 (en) A method for diagnosing power supply failure in a wireless communication device
US20170286254A1 (en) Method and apparatus for using target or unit under test (uut) as debugger
US20160070634A1 (en) System and method for system-on-a-chip subsystem trace extraction and analysis
US10394307B2 (en) Information processing apparatus, information processing method, and program
US20040250147A1 (en) Uninterrupted system operation
CN104317685A (zh) 计算器系统的启动方法
CN104156289A (zh) 基于检测电路的同步控制方法及系统
US9971535B2 (en) Conversion method for reducing power consumption and computing apparatus using the same
CN104850182A (zh) 应用于嵌入式系统的电路结构和掉电保护方法
CN103064806B (zh) 一种利用cpld控制dsp实现二次启动的方法
US20040172233A1 (en) Semiconductor integrated circuit device and microcomputer development assisting apparatus
CN101436097B (zh) 电子装置及其唤醒方法
US20160179626A1 (en) Computer system, adaptable hibernation control module and control method thereof
CN101303655B (zh) 基本输入输出系统的管理装置及其方法
CN109656350B (zh) 一种基于dft扫描链的低功耗实现方法
US9632795B2 (en) Electronic device and method for monitoring battery module of the same

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.