TMS320VC5402 DSP的并行I/O引导装载方法研究
发布时间:2007/9/10 0:00:00 访问次数:575
摘 要 介绍TMS320VC5402 DSP芯片的性能,着重分析它的片内ROM结构及并行I/O引导装载程序,并给出利用8031单片机实现8位并行I/O引导装载的方法。实践证明,该方法具有很大的灵活性和实用性。
关键词 数字信号处理器(DSP) 引导装载 单片机
TMS320VC5402(以下简称C5402)是德州仪器公司(TI)1999年10月推出的性价比极高(目标价格仅为5美元)的定点数字信号处理器(DSP)。C5402主要特点如下[1]:
·操作速率达100MIPS;
·具有先进的多总线结构,三条16位数据存储器总线和一条程序存储器总线;
·40位算术逻辑单元(ALU),包括一个40位桶形移位器和两个40位累加器;
·一个17×17乘法器和一个40位专用加法器,允许16位带/不带符号的乘法;
·整合维特比加速器,用于提高维特比编译码的速度;
·单周期正规化及指数译码;
·8个辅助寄存器及一个软件栈,允许使用业界最先进的定点DSP C语言编译器;
·数据/程序寻址空间1M×16bit,内置4K×16bit ROM和16K×16bit RAM;
·内置可编程等待状态发生器、锁相环(PLL)时钟产生器、两个多通道缓冲串行口、一个8位并行与外部处理器通信的HPI口、2个16位定时器以及6通道DMA控制器;
·低功耗,工作电源有3V和1.8V(内核),特别适合电池供电设备。
由此可见,与TMS32054X系列的其它芯片相比,C5402以其独有的高性能、低功耗和低价格特性,使得一推出就受到业内用户的欢迎。但它的内部结构和片内掩模的引导装载(Bootloader)程序与C54X系列的其它DSP处理器[2]有较大的差异,而它的应用对象又大多是要求能脱机运行,如机顶盒(STB)、个人数字助理(PDA)和数字无线通信等内嵌式系统。为此,本文立足我们的实践经验,简单介绍C5402 Bootloader程序分析和实现方法,并较为详细地介绍并行I/O Bootloader方法。
1 几种引导装载方法
C5402片内掩模的Bootloader用于在上电复位时把用户程序从外部引导到高速RAM中,以保证其全速运行。C5402提供了如下四种Bootloader方法:8位或16位并行EPROM方法、8位或16位并行I/O方法、8位或16位串行口方法和处理器通信口(主端口)HPI方法。
上电复位后,C5402检测其MP/MC引脚,如果MP/MC=“0”则进入Bootloader程序。进入Bootloader后,如有INT2请求中断,则进入HPI引导方式,否则则读入端口地址为0FFFFH的I/O端的引导方式选择字(Boot Routine Selection,BRS)。当BRS=XXXX00时,进入I/O或串行口引导方式如BRS=XXXX1000时,进入8位I/O引导方式BRS=XXXX1100时,进入16位I/O引导方式,否则则进入串行口引导方式。当BRS=XXXX01时,进入8位EPROM引导方式,BRS=XXXX10时,进入16位EPROM引导方式。
2 C5402片内ROM结构及并行I/O引导装载程序分析
C5402提供了4K×16bit 的掩模ROM,其具体内容见表1。C5402上电复位后,如果MP/MC=“0”则从F800h地址开始运行Bootloader程序。在进入8位并行I/O引导程序以前,C5402与外部I/O要进行一系列的通信联络,其程序框图如图1所示。
以下是8位并行I/O引导程序片段下:
行号 源程序 注 解
(标号) ..
END ;读入用户代码结束
;并转执行用户程序
1 CALL (21) ;调用读数据子程序
2 STL B,61h ;B的内容→61H单元
3 CALL (21) ;调用读数据子程序
4 STL B,61h ;B的内容→62H单元
5 CALL (21) ;调用读数据子程序
6 BC (END), BEQ ;B=0时结束
7 SUB #01h,0,B,B ;B-1→B
8 STLM B,BRC;B→BRC
摘 要 介绍TMS320VC5402 DSP芯片的性能,着重分析它的片内ROM结构及并行I/O引导装载程序,并给出利用8031单片机实现8位并行I/O引导装载的方法。实践证明,该方法具有很大的灵活性和实用性。
关键词 数字信号处理器(DSP) 引导装载 单片机
TMS320VC5402(以下简称C5402)是德州仪器公司(TI)1999年10月推出的性价比极高(目标价格仅为5美元)的定点数字信号处理器(DSP)。C5402主要特点如下[1]:
·操作速率达100MIPS;
·具有先进的多总线结构,三条16位数据存储器总线和一条程序存储器总线;
·40位算术逻辑单元(ALU),包括一个40位桶形移位器和两个40位累加器;
·一个17×17乘法器和一个40位专用加法器,允许16位带/不带符号的乘法;
·整合维特比加速器,用于提高维特比编译码的速度;
·单周期正规化及指数译码;
·8个辅助寄存器及一个软件栈,允许使用业界最先进的定点DSP C语言编译器;
·数据/程序寻址空间1M×16bit,内置4K×16bit ROM和16K×16bit RAM;
·内置可编程等待状态发生器、锁相环(PLL)时钟产生器、两个多通道缓冲串行口、一个8位并行与外部处理器通信的HPI口、2个16位定时器以及6通道DMA控制器;
·低功耗,工作电源有3V和1.8V(内核),特别适合电池供电设备。
由此可见,与TMS32054X系列的其它芯片相比,C5402以其独有的高性能、低功耗和低价格特性,使得一推出就受到业内用户的欢迎。但它的内部结构和片内掩模的引导装载(Bootloader)程序与C54X系列的其它DSP处理器[2]有较大的差异,而它的应用对象又大多是要求能脱机运行,如机顶盒(STB)、个人数字助理(PDA)和数字无线通信等内嵌式系统。为此,本文立足我们的实践经验,简单介绍C5402 Bootloader程序分析和实现方法,并较为详细地介绍并行I/O Bootloader方法。
1 几种引导装载方法
C5402片内掩模的Bootloader用于在上电复位时把用户程序从外部引导到高速RAM中,以保证其全速运行。C5402提供了如下四种Bootloader方法:8位或16位并行EPROM方法、8位或16位并行I/O方法、8位或16位串行口方法和处理器通信口(主端口)HPI方法。
上电复位后,C5402检测其MP/MC引脚,如果MP/MC=“0”则进入Bootloader程序。进入Bootloader后,如有INT2请求中断,则进入HPI引导方式,否则则读入端口地址为0FFFFH的I/O端的引导方式选择字(Boot Routine Selection,BRS)。当BRS=XXXX00时,进入I/O或串行口引导方式如BRS=XXXX1000时,进入8位I/O引导方式BRS=XXXX1100时,进入16位I/O引导方式,否则则进入串行口引导方式。当BRS=XXXX01时,进入8位EPROM引导方式,BRS=XXXX10时,进入16位EPROM引导方式。
2 C5402片内ROM结构及并行I/O引导装载程序分析
C5402提供了4K×16bit 的掩模ROM,其具体内容见表1。C5402上电复位后,如果MP/MC=“0”则从F800h地址开始运行Bootloader程序。在进入8位并行I/O引导程序以前,C5402与外部I/O要进行一系列的通信联络,其程序框图如图1所示。
以下是8位并行I/O引导程序片段下:
行号 源程序 注 解
(标号) ..
END ;读入用户代码结束
;并转执行用户程序
1 CALL (21) ;调用读数据子程序
2 STL B,61h ;B的内容→61H单元
3 CALL (21) ;调用读数据子程序
4 STL B,61h ;B的内容→62H单元
5 CALL (21) ;调用读数据子程序
6 BC (END), BEQ ;B=0时结束
7 SUB #01h,0,B,B ;B-1→B
8 STLM B,BRC;B→BRC