双核DSP片TMS320VC5421并行引导方案
ootloader程序总是检查该核有没有片外总线的控制权,如果没有,将循环检查直到取得片外总线的控制权。为了避免这种情况的发生,应该以合理的顺序给两个核上电。
由于VC5421中A核带有用来控制时钟频率的锁相环电路,所以应该先对A核进行复位,再启动A核,然后利用A核的用户程序来控制B核的复位,以实现两个核的启动。
根据系统需要,本设计使用Altera公司的CPLD芯片来产生各种控制信号。其电路连接示意图如图3所示。A核的复位信号A_RS由CPLD芯片直接给出,并在系统上电或复位的同时对A核进行复位。而B核的复位信号B_RS则通过CPLD映射到DSP的I/O空间0000h地址单元的第6位:B核复位控制位(在系统复位后值为0)如图4所示。在A核启动后,通过用户程序写B_RS位可为B核提供复位信号。
4 VC5421的并行引导自启动操作
4.1 用户程序的搬移
两个DSP核要完成各自的功能,执行的用户程序是不尽相同的,而且A核的用户程序还要控制B核的复位,因此两个DSP核的Boot表内容是不同的。由DMA方式内部存储器图可知,程序空间的第0页和第1页属于A核,第2页和第3页属于B核。因此,需要注意的是,当Bootloader程序搬移用户程序时,A核的用户程序要被搬移到内部程序空间的第0页上,而B核的用户程序则要被搬移到第2页上。于是B核Boot表中的程序入口XPC和目的XPC应被设置成0002h。
4.2 Boot表的放置
本系统用4Mbit(256k×16)FLASH器件SST39VF400A作为片外数据存储器。页选信号由DSP通过CPLD给出,并且映射到DSP中I/O空间的0000h地址单元的低5位(系统复位后5位均为0,即第0页)。如图4所示。另外,此地址单元的第5位(CFG位)是控制FLASH映射的配置位。当CFG为0时,FLASH被映射到DMA片外数据空间的0000h,此时,Bootloader程序可以以DMA方式从FLASH中搬移数据并进行自启动;当CFG为1时,FLASH被映射到CPU片外数据空间的8000h,在这种情况下,可以通过程序向FLASH中烧写数据。因此,这一位在系统上电或复位后将被设置成0,以使A核能够顺利启动。
由于两个DSP核的Boot表内容不同,故应视Boot表的大小,将两个Boot表放到FLASH的不同页上,以便对两个核分别实行引导。本设计将A核的Boot表放到第0页,将B核的Boot表放到第1页。
4.3 外总线控制权的释放
如图5所示,在GPIO控制寄存器(地址3Ch)中,XIO_GRANT位为1代表相应的DSP核取得了片外总线的控制权;而在还没有取得控制权(XIO_GRANT位为0)但在申请片外总线的控制权时,相应的XIO_REQ位应置为1;CORE_SEL位用于表示程序在哪个核上运行,当在CPU A上运行时,读A核的GPIO控制寄存器的CORE_SEL位将返回到"0",而当同一个程序在CPU B上运行时,读B核的GPIO控制寄存器的CORE_SEL位将返回到"1"。有关GPIO控制寄存器的其它相关位,设计时可查阅有关的参考文献1。
4.4 FLASH的烧写
笔者根据SST39VF400A的资料编写了一个DSP程序,该程序可同时将A核的Boot表烧写到FLASH的第0页,而将B核的Boot表烧写到第1页。
在系统上电或复位后,A核首先运行它的Boot-loader程序(此时FLASH的第0页映射到DMA片外数据空间的0000h地址单元),A核启动后执行用户程序。用户程序首先将页选设置成第1页,这样,FLASH的第一页将被映射到DMA片外数据空间的0000h;然后,A核释放片外总线控制权,并给B核发出复位信号,此时由于只有B核复位,且A核已释放片外总线的控制权,因此,B核将申请到片外总线控制权,同时执行Bootloader程序的启动以完成整个DSP引导。完整的启动过程流程图如图6所示,下面是A核的启动测试程序代码:
*mmregs
*titlc ″testLEDA″
*global begin
*text
.............
begin stm #0x000,0x0061 ;设置页选信号
portw ox0061,00h
call wait
andm #0xffcf,3ch ;释放片外总线
call wait ; 控制权
stm #0x004
双核 DSP TMS320VC5421 并行引导 相关文章:
- UCOS-II 操作系统在数码相框中的应用(03-02)
- 基于DSP/ARM双核系统的通信接口设计(01-28)
- 基于DSP/ARM的双核系统的通信接口设计(04-03)
- 基于双核多接口的智能汽车控制系统设计方案(04-07)
- 双核实时系统的架构方法(02-26)
- 双核处理器ARM+DSP如何实现协同工作(11-27)