一种提高星载dsp加载引导可靠性的方法

文档序号:6340699阅读:238来源:国知局
专利名称:一种提高星载dsp加载引导可靠性的方法
技术领域
本发明涉及数字信号处理器(DSP,Digital Signal Processing)的引导加载技术 领域,尤其涉及一种适合于微小卫星使用的提高DSP的引导加载可靠性的方法。
背景技术
随着微小卫星技术的发展,星载器件朝着小型化、多功能化和低功耗的方向发展。 而数字信号处理器DSP具有运算速度高、中央处理器(CPU,Center Process Unit)结构优 化、功耗低等特点,特别适合于实时嵌入式系统的开发(比如卫星的姿态控制系统)。在DSP 系统的开发中,DSP系统的引导加载是极为重要的一环。DSP的引导加载方式往往有很多 种,引导加载的作用是使系统在上电时将代码从片外加载到程序区,从而允许开发者事先 将代码放在外部低速的非易失性存储器件中,然后在执行时再将代码加载到高速的存储器 件中。
对于卫星,尤其是微小卫星而言,DSP的接口资源有限。因此占用较多接口 资源的引导加载方式,对微小卫星的应用来说不很适宜,通常采用集成电路总线(I2c, Intel-Integrated Circuit bus)或者串行外围设备接口(SPI,Serial Peripheral Interface )等串行接口进行加载。
对于应用于卫星的器件来说,空间高能粒子(重离子和高能质子)会引起单粒子 效应,包括单粒子锁定(SEL,Single Event Latchup)和单粒子翻转(SEU,Single Event Upset),因此很有必要采取有效的手段防止单粒子效应影响星载DSP的引导加载,避免DSP 无法正常工作。常用抗单粒子锁定和翻转的方法大都采用硬件的方法,如增加器件冗余,应 用错误检测和纠正电路(EDAC,Error Detection and Correction)等,这些措施都会增加 额外的硬件开销,对趋向于小型化和低功耗的微小卫星来说,不很适宜。除此之外还有一 些软件措施,如数据的结果比对、三取二表决等,这些措施没有或者很少增加额外的硬件开 销,但是应用于提高DSP引导加载可靠性的几乎没有,这是因为DSP的引导加载为了保证系 统的顺利运行、对实时性以及花费的加载时间要求很高,而这些软件措施需要花费额外的 表决用时。发明内容
本发明的目的在于针对现有技术的不足,提供一种提高星载DSP加载引导可靠性 的方法,提高了星载DSP弓I导加载的可靠性。
本发明的目的是通过以下技术方案来实现的一种提高星载DSP加载引导可靠性 的方法,系统由DSP、复杂可编程逻辑器件和电可擦可编程只读存储器依次相连组成;CPLD 包括第一计数器、第二计数器、第一接收移位寄存器接收来自DSP的加载读取指令、第一 发送移位寄存器、第二发送移位寄存器、第二接收移位寄存器、第三接收移位寄存器、第四 接收移位寄存器、指令判决器、三取二表决器和分频器等,其特征在于,该方法包括以下步 骤(1)系统上电,DSP接收到INT3中断,进入8位串行EEPROM加载模式;(2)第一计数器清零后对DSP发送的SPI同步时钟spi_clkl进行计数;(3)CPLD接收来自DSP的读取指令,并存储到第一接收移位寄存器中;(4)等待第一计数器的值达到8时(8个spi_clkl时钟过后),CPLD的指令判决器对存 储在第一接收移位寄存器中的指令进行判决,若正确,进入下一步骤;若错误,则跳转到步 骤8,等待第一计数器计数到32 ;(5)CPLD通过分频器产生高速率的SPI通信同步时钟spi_clk2,并且发送读取指令和 三个属于不同地址段的地址到EEPR0M,并接收来自EEraOM三个不同地址段上的数据,分别 存储到第二接收移位寄存器、第三接收移位寄存器和第四接收移位寄存器中;(6)CPLD实现三取二表决器对步骤6中的第二接收移位寄存器、第三接收移位寄存器 和第四接收移位寄存器中的数据进行三取二表决,并存储到第一发送移位寄存器中;(7)等待第一计数器的值达到M时,CPLD把第一发送移位寄存器中的数据移位输出 发送到DSP ;(8)等待第一计数器的值达到32,然后跳转到步骤2;不断循环,直至完成DSP加载。
进一步地,所述步骤(5)由以下子步骤组成(a)CPLD通过逻辑功能实现分频器,产生高速率的SPI同步时钟spi_clk2,跟EEPROM 进行通信;(b)第二计数器清零后对spi_clk2时钟进行计数;(c)CPLD在spi_clk2的同步下,通过第二发送移位寄存器发送读取指令rd_cmd和地 址addrl,接收EEPROiOiaaddrl上的数据,并存储到第二接收移位寄存器中;(d)等待第二计数器计数值到达40后,CPLD在spi_clk2的同步下,通过第二发送移位 寄存器发送读取指令rd_cmd和地址addr2,接收EEPROM地址addr2上的数据,并存储到第 三接收移位寄存器中;(e)等待第二计数器计数值到达80后,CPLD在spi_clk2的同步下,通过第二发送移位 寄存器发送读取指令rd_cmd和地址addr3,接收EEPROM地址addr3上的数据,并存储到第 四接收移位寄存器中;(f)等待第二计数器计数值到达120,进入步骤(6)。
与现有技术相比,本发明具有如下技术效果1、本发明独创性地采用CPLD实现了对DSP的串行EEPROM加载进行三取二表决,克服 了 SPI协议下的软件三取二表决的技术难度,提高了面向卫星尤其是微小卫星应用的DSP 引导加载的可靠性。
2、本发明中采用的CPLD除了实现DSP引导加载的三取二表决功能以外,还可以对 DSP的管脚进行扩展,时分复用,减小了硬件冗余,极大地提高了星载资源的利用率,满足了 微小卫星小型化和低功耗的要求。
3、本发明中采用的CPLD具有可编程功能,可以通过编程来实现三取二表决功能, 进行适当的编程转换以后,可以满足其他协议如1 协议的要求,方便灵活,极大减小了开 发时间和开发成本。


图1是本发明中的DSP引导加载的系统图; 图2是本发明中CPLD的模块连接关系图;图3是本发明中CPLD实现DSP可靠性引导加载的流程图; 图4是本发明中CPLD实现DSP可靠性引导加载的流程中步骤6的细化图。
具体实施方式
本发明提供一种提高星载DSP引导加载可靠性的方案,系统由DSP、复杂可编 程逻辑器件(CPLD,Complex Programmable Logic Device)和电可擦可编程只读存储器 (EEPROM, Electrically Erasable Programmable Read-Only Memory)三部分依次相连组 成。采用的引导加载方式为8位串行EEPROM引导加载模式,串行接口为SPI ;利用CPLD对 加载代码进行三取二表决,从而保证从EEPROM加载到DSP的程序的可靠性,具体连接如图1。
DSP作为被加载对象,发送EEPROM的读取指令,接收经过三取二表决的加载数据; 其中DSP的McBSP2在时钟停止模式(SPI)下从串行EEPROM中读取加载数据。若DSP未进 入主机接口 HPI引导加载模式,引导加载程序会通过检测外部中断INT3来判断是否选择串 行EEPROM方式。若发现中断标志位IFR中的INT3有效,则进入串行EEPROM引导加载方式。 为了产生有效的INT3中断,将多通道缓冲串行口 McBSP2的传输引脚BDX2与外部中断INT3 直接连接起来。
CPLD作为对加载代码进行三取二表决部分,既作为SPI通信从机,接收来自DSP的 读取指令,发送经过三取二表决的数据给DSP ;又作为SPI通信主机发送EERPOM的读取地 址和来自DSP的读取指令,接收来自EEPROM的加载数据,并对其进行三取二表决。
EEPROM作为存储加载数据部分,分别在其内部三个独立的64 kB空间里存储相 同的加载数据,并根据指令发送相应地址上的数据给CPLD。EEPROM里分别存储三段相 同的引导加载程序,其地址空间范围分别为00_0000!T00_FFFFH,01_0000H^01_FFFFH和 10_0000H 10_FFFFH,以 1_0000H 为地址偏移量。
CPLD作为实现DSP引导加载三取二表决的关键,可在CPLD中实现SPI通信协议分 别与DSP和EEPROM通信,并对来自EEPROM的加载数据进行三取二表决,图2是CPLD中各 功能模块的具体连接关系图,其主要包括第一计数器对DSP发送的SPI同步时钟spi_clkl进行计数; 第二计数器对CPLD内部分频器产生的时钟spi_clk2进行计数; 第一接收移位寄存器接收来自DSP的加载读取指令; 第一发送移位寄存器发送经过三取二表决后的数据到DSP。
第二发送移位寄存器发送读取指令和地址到EEPROM ;第二接收移位寄存器、第三接收移位寄存器和第四接收移位寄存器接收来自EEPROM 三段不同地址段上的数据;指令判决器对第一接收移位寄存器接收到的DSP加载读取指令进行判决; 三取二表决器对第二接收移位寄存器、第三接收移位寄存器和第四接收移位寄存器 中的数据进行三取二表决;分频器产生高速率的SPI同步时钟,同EEPROM进行通信。
本发明提供的提高星载DSP引导加载可靠性的方法,其实现步骤如下所示,如图 3 步骤1 当系统上电时,DSP接收到INT3中断,进入8位串行EEPROM加载模式。
步骤2 第一计数器清零,CPLD通过第一计数器对DSP发送的SPI同步时钟spi_ clkl进行计数。
需要说明的是,DSP加载是通过SPI串行通信实现的,有严格的时序要求,每读取 一个地址上的数据,需要耗费32个spi_clkl时钟周期。这里通过对串口加载同步时钟spi_ clkl进行计数的方式,来控制CPLD内部逻辑的实现,从而满足DSP加载时序的要求。
步骤3 :CPLD接收来自DSP的读取指令,并存储到第一接收移位寄存器中。
步骤4 等待第一计数器的值达到8时(8个spi_clkl时钟过后),进入步骤5。
需要说明的是,CPLD接收并存储来自DSP的读取指令是通过移位寄存器的形式来 实现的,而且根据DSP加载的时序要求,接收指令必须在前8个spi_clkl时钟周期内完成。
步骤5 =CPLD实现指令判决器对存储在第一接收移位寄存器中的指令进行判决, 若正确,则进入步骤6。若错误,则跳转到步骤10,等待第一计数器计数到32。
需要说明的是,EEPROM的操作通常有一定的指令要求,不同的指令对应不同的操 作,如读取、改写等。如果读取指令错误,则可能会引起EEPROM的误操作,甚至改写EEPR0M。 经过指令判决器对指令进行判决以后,如果读取指令错误,则不对EEPROM进行操作,避免 了对EEPROM进行的误操作,增加DSP引导加载的可靠性。
步骤6 =CPLD通过分频器产生高速率的SPI通信同步时钟spi_clk2,并且发送读 取指令和三个属于不同地址段的地址到EEPR0M,并接收来自EEPROM三个不同地址段上的 数据,分别存储到第二接收移位寄存器、第三接收移位寄存器和第四接收移位寄存器中。
步骤7 :CPLD实现三取二表决器对步骤6中的第二接收移位寄存器、第三接收移 位寄存器和第四接收移位寄存器中的数据进行三取二表决,并存储到第一发送移位寄存器 中。
需要说明的是,加载数据为非1即0的值,三取二表决就是对第二接收移位寄存 器、第三接收移位寄存器和第四接收移位寄存器的数据进行逐位判定,若该数据位相同则 取此相同数据值,若不完全相同则取占多数的数据值。如表1为三取二表决器的输出真值 表,通过真值表可以看出,三取二表决器的输出为三输入加法器的进位输出,利用CPLD可 以很方便的实现。表1.·
权利要求
1.一种提高星载DSP加载引导可靠性的方法,系统由DSP、复杂可编程逻辑器件和电可 擦可编程只读存储器依次相连组成;CPLD包括第一计数器、第二计数器、第一接收移位寄 存器接收来自DSP的加载读取指令、第一发送移位寄存器、第二发送移位寄存器、第二接 收移位寄存器、第三接收移位寄存器、第四接收移位寄存器、指令判决器、三取二表决器和 分频器等,其特征在于,该方法包括以下步骤(1)系统上电,DSP接收到INT3中断,进入8位串行EEPROM加载模式;(2)第一计数器清零后对DSP发送的SPI同步时钟spi_clkl进行计数;(3)CPLD接收来自DSP的读取指令,并存储到第一接收移位寄存器中;(4)等待第一计数器的值达到8时(8个spi_clkl时钟过后),CPLD的指令判决器对存 储在第一接收移位寄存器中的指令进行判决,若正确,进入下一步骤;若错误,则跳转到步 骤8,等待第一计数器计数到32 ;(5)CPLD通过分频器产生高速率的SPI通信同步时钟spi_clk2,并且发送读取指令和 三个属于不同地址段的地址到EEPR0M,并接收来自EEPROM三个不同地址段上的数据,分别 存储到第二接收移位寄存器、第三接收移位寄存器和第四接收移位寄存器中;(6)CPLD实现三取二表决器对步骤6中的第二接收移位寄存器、第三接收移位寄存器 和第四接收移位寄存器中的数据进行三取二表决,并存储到第一发送移位寄存器中;(7)等待第一计数器的值达到M时,CPLD把第一发送移位寄存器中的数据移位输出 发送到DSP ;(8)等待第一计数器的值达到32,然后跳转到步骤2;不断循环,直至完成DSP加载。
2.根据权利要求1所述提高星载DSP加载引导可靠性的方法,其特征在于,所述步骤 (5)由以下子步骤组成(a)CPLD通过逻辑功能实现分频器,产生高速率的SPI同步时钟spi_clk2,跟EEPROM 进行通信;(b)第二计数器清零后对spi_clk2时钟进行计数;(c)CPLD在spi_clk2的同步下,通过第二发送移位寄存器发送读取指令rd_cmd和地 址addrl,接收EEI3ROM地址addrl上的数据,并存储到第二接收移位寄存器中;(d)等待第二计数器计数值到达40后,CPLD在spi_clk2的同步下,通过第二发送移位 寄存器发送读取指令rd_cmd和地址addr2,接收EEPROM地址addr2上的数据,并存储到第 三接收移位寄存器中;(e)等待第二计数器计数值到达80后,CPLD在spi_clk2的同步下,通过第二发送移位 寄存器发送读取指令rd_cmd和地址addr3,接收EEPROM地址addr3上的数据,并存储到第 四接收移位寄存器中;(f)等待第二计数器计数值到达120,进入步骤(6)。
全文摘要
本发明公开了一种提高星载DSP引导加载可靠性的方法,DSP采用的引导加载方式为8位串行EEPROM加载模式,采用CPLD对加载数据进行三取二表决,提高星载DSP引导加载的可靠性。其中,在EEPROM的00_0000H~00_FFFFH、01_0000H~01_FFFFH和10_0000H~10_FFFFH三段地址空间内存储相同的加载数据,CPLD通过实现SPI通信协议与DSP和EEPROM进行通信,并对EEPROM中的三段不同地址上的数据进行三取二表决,实现DSP的可靠性加载。DSP加载完成以后,CPLD还可以实现数字开关功能,使DSP管脚进行扩充以作他用,提高星载资源利用率。
文档编号G06F15/177GK102043754SQ20101061477
公开日2011年5月4日 申请日期2010年12月30日 优先权日2010年12月30日
发明者朱小丰, 王昊, 郑伟, 金仲和 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1