DSP芯片(数字信号处理器)已成为人们日益关注并得到迅速发展的具有前关沿技术的一种集成电路,而且已得到越来越广泛的应用。TI公司推出的5000系列DSP具有高性能、低功耗等优良性能,一推出就得到了用户的欢迎。5000系列DSP被广泛应用于电信、雷达、仪器仪表、图像处理等许多方面。其应用范围的广泛性决定了必须有灵活多样的加载方式与之相适应。正因为如此,它的加载方式也较单片机的加载要复杂的多。为了能让读者对DSP的各种加载方法有个初步的了解和今后应用的方便,本文立足实际经验,简单介绍了各种加载方法,并较为详细地介绍了EPROM并行加载方法及应注意的问题。
1 DSP的各种加载方式
C5000系列可提供的加载方式有以下几种:
●主机端口(HPI)加载
程序的执行代码由主机通过主机接口(HPI)加载到DSP的片内存储器;
●并行加载
加载程序通过外部并行总线从数据空间读取自举表,自举表内包含有程序代码部分、每部分代码的目的地址、加载成功后程序的执行地址以及其它一些配置信息;
●标准串口加载
加载程序通过多通道缓冲串口(McBSP)来接收自举表,并根据自举表中的信息来加载代码。McBSP0支持16位的串行接收方式,McBSP1支持8位的串行接收方式;
●8位或16位I/O加载
加载程序通过使用异步握手协议从I/O的OH口读取自举表;
●8位串口EEPROM加载
加载程序从一个连接到McBSP1的串行EEPROM来接收数据。
2 C5000的加载过程
C5000系列加载程序已固化在ROM内。在硬件复位期间,如果DSP的MP引脚为高是平,系统就从外部程序存储器FF80H执行用户程序;若MP为低电平,系统则从片内ROM的FF80H开始执行程序,同时选择加载方式。C5000的具体加载过程如下:
(1)首先,在自举加载前对其进行初始化,其中包括:使中断无效(INTM=1),内部RAM映射到程序/数据区(OVLY=1),对程序和数据区均设置七个等待状态等。
(2)检查INT2,决定是否从HPI中载。主机接口(HPI)是利用INT2进行自举加载的。如果没有INT2信号,说明不是HPI加载。
(3)检查INT3决定是否进行串行EEPROM加载。如果DSP检测到INT3信号,则进行串行EEPROM加载,否则转到(4)。
(5)初始化串口,置XF为低。若McBSP1接收到一个数据,先检查是否是有效的关键字,若是则通过McBSP1进行串口加载,否则检查McBSP0,其过程与McBSP1相同。
(6)检测BID引脚是否为低,若为低再检查是否为有效的关键字,若是则进行I/O加载,否则检测是否是有效的入口点,若是,则转入入口点,若都不是则跳到(5)。
下面通过一个具体的例子来详细介绍一下EPROM并行加载过程,DSP选用TMS320VC5402(5402提供4k 16bit的掩模ROM),EPROM选用27C256。
由TMS320V5402和27C256所构成的程序加载电路如图1所示。图中74LVC245的作用是将27C256输出的TTL电平转换成TMS320VC5402能接收的电平。它还对DSP起到保护作用。若去掉274LVXC245,则会烧坏5402。
27C256的输出使能控制线(OE)用来控制器件的有效或无效(双侧相互隔离)。
74LS08将27C256的地址定为8000H~FFFFH。LVC245的DIR端接DSP的R/