TMS320VC5402主机接口引导方案的设计kkWord文件下载.docx
- 文档编号:22480006
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:15
- 大小:170.11KB
TMS320VC5402主机接口引导方案的设计kkWord文件下载.docx
《TMS320VC5402主机接口引导方案的设计kkWord文件下载.docx》由会员分享,可在线阅读,更多相关《TMS320VC5402主机接口引导方案的设计kkWord文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
4、要求编写引导完成后的用户初始化代码。
5、完成电路设计,说明引导过程,在CCS5000上验证程序。
设计完成后要求每人上交一份课程设计说明书,说明书要求包含有课程设计任务书,各文件的说明,各文件里关键语句的说明。
说明书要求字迹工整、叙述清楚。
6、发挥部分,如时间可行,增加设计成为一个完整的项目(附加一个简单例程、一个命令文件和一个向量表文件)。
并验证结果。
7、时间:
一周。
完成期限:
2011.1.10---2011.1.15
指导教师签名:
胡智宏
课程负责人签名:
2011年1月10日
目录
摘要I
第一章DSP概述1
第二章主机接口bootload工作原理3
第三章系统硬件电路设计4
第一节HPI自举加载的过程4
第二节系统硬件电路设计5
第三章系统的软件设计11
第一节用户初始化程序11
第二节主机通过HPI引导程序到目标DSP12
结束语14
致谢15
参考文献16
摘要
本文主要介绍了DSPTMS320VC5402芯片的主机接口引导装载的实现方案。
在此设计中用户程序代码存放在主机中,DSP处理器上电后能通过主机接口将程序引导入DSP的程序存储区,正常进入用户程序代码。
同时给出了相应的硬件电路,并对各部分电路进行了说明,并且编写了引导完成后的硬件电路初始化代码。
关键词:
DSP主机接口引导TMS320VC5402
第一章DSP概述
随着信息技术革命的深入和计算机技术的飞速发展,数字信号处理技术已经逐渐发展为一门主流技术。
在这个过程中,DSP的功能日益强大,技术不断升级,它的普及和应用已成为不可逆转的潮流。
TI公司生产的TMS320VC5402是一种基于哈佛结构的固点DSP,有高度的操作灵活性,且最高频率可达100MHz,它已广泛地应用于通信、数字图像、语音、雷达、控制等领域。
BOOTLOADED是开发DSP应用系统的最后一个必要环节,也是很重要的环节之一。
TMS320VC5402是一款内部只有16K×
16位RAM和4K×
16位掩膜ROM的定点DSP芯片。
而且掩膜ROM不对用户开放,因此用户程序必须固化在外部存储器中、上电复位时,片内ROM中的BOOTLOADER小程序将固化在外部存储器中的用户程序搬移到片内RAM程序区,并将程序指针移到执行程序的第一行处。
第二章主机接口BOOTLOAD的工作原理
第一节BOOTLOAD的工作原理
众所周知,通用单片机的程序是把单片机放入专用的烧写器中,先将程序烧入EEPROM中,然后将单片机装入功能板上工作。
DSP为了增加软件下载的灵活性,将这个EEPROM等存储器放置到片外,由一片或几片FLASH来代替。
DSP的内部ROM固化了一个称为BOOT的程序,在DSP上电硬复位后(MP/MC=0),DSP自动执行这个BOOT程序,将外部FLASH的程序读入DSP内部的高速RAM程序区中。
所以,所谓的BootLoader就是DSP上电后自动将固化在FLASH中的程序读入到DSP的片RAM或片外RAM映射成的存储区间的一个过程。
按照BOOT时程序由外部FLASH等存储器进入到DSP片上RAM的通道不同分为多种BOOTLOADER的模式,包括并行I/O口BOOTLOAD、串行口BOOTLOAD、HPIBOOTLOAD、外部并行BOOTLOAD、WARMBOOTLOAD,并支持8位、16位及多块程序BOOTLOAD。
这些不同的BOOTLOAD方式可以满足用户不同的应用场合。
在上电复位后,DSP只有处于微计算机状态,即MP/MC为零时才能进入加载引导过程。
在TMS320C54X芯片内部ROM的0F800h~0FC00h中固化了一段加载引导程序,其作用是先根据相关控制信号的不同状态来确定采用何种加载引导方式,然后将代码从外部加载到程序区,最后再将程序入口地址赋给程序指针。
在这段程序的开始,还应对CPU状态寄存器进行初始化设置,包括屏蔽中断、内部DARAM映射到程序/数据区、程序/数据区读写加7个等待周期等设置。
第二节主机接口加载引导方式
主机接口是TI公司DSP的特色之一,即DSP作为协处理器将片内DARAM共享以便让其他智能器件(比如单片机或另外的DSP)作为主机访问,从而提供一种方便快捷的通讯联系方式。
在主机接口引导方式下,首先将代码通过主机接口下载到DSP片内存储器中,然后,DSP再从数据区007FH提供的地址开始执行程序。
一般在DSP芯片复位后,首先判断是否选择主机接口引导方式。
具体方式是加载引导程序先将数据区007Fh清零并发出主机中断,然后检测中断标志寄存器(LFR)中的外部中断2(INT2),此时若有INT2发生,则认为主机接口引导方式被唯一选中并进入该引导方式。
否则,加载引导程序还会检查其它引导方式,包括主机方式。
为了适时地触发INT2外部中断,可以将主机中断(HINT)和外部中断2(INT2)直接连在一起,或者在DSP复位30个时钟周期内触发一个有效的外部中断(INT2)。
进入主机接口引导方式后,主机就可以向DSP加载代码,直到加载结束,同时在DSP数据区的007Fh写入DSP程序开始执行位置。
而加载引导程序则一直监测007Fh的数据是否有改变,如果数据发生非零改变,则结束加载引导,同时将程序指针设为该非零值以作为程序起始地址。
第三章系统硬件电路设计
第一节HPI自举加载的过程
C5402包含4K字的片内ROM,该ROM的一部分用于存储自举加载器代码。
PMST寄存器的MP/MC位在复位时被采样,它的值部分地可以决定C5402存储器的映射。
如果MP/MC设置为0,则C5402被置于微计算机模式,并且自举加载器复位时就开始启动。
ROM中的自举加载器被定位被定为到程序存储器地址0xF800。
C5402在复位后执行它的自举加载器。
执行开始时,自举加载器开始查询不同的资源,用来确定使用哪种自举模式。
自举加载器使用各种控制信号(包括中断信号、BIO、和XF引脚)以及片内存储器的数据,来配置和控制自举过程。
如果没有发现有效的自举模式,则自举加载器持续循环,检查每种模式,直到选择了一种自举加载模式。
有两种方法为HPI自举有效的加载器提供信号,即中断和数据存储器位置0x007F。
自举加载器检查IFR寄存器的中断2标志位(INT2)是否为1。
如果在INT2引脚产生中断信号,则选择了HPI模式。
自举加载器也会清除0x007F单元,并且把0x007F用作一个软件标志以显示HPI自举加载是否已经完成。
如果中断2信号用于激活HPI自举模式,有两种方式可以用来获取中断2引脚上的输入信号,我们采用将主机中断(HINT)与INT2中断直接相连。
第二节系统硬件电路设计
一系统组成框图
图1系统组成框图
此系统包含DSP处理器、时钟复位及电容去耦等辅助电路、外扩的程序存储器、外扩的数据存储器、外扩的IO空间(即模数转换电路)、HPI接口电路、主机控制模块。
是一个完整的DSP开发系统。
二HPI与主机连接模块
图2HPI与主机设备之间的连接框图
8位数据总线(HD0~HD7)与主机之间交换信息。
因为C54xDSP的16位字的结构,所以主机与DSP之间数据传输必须包含两个连续的字节。
专用的HBIL引脚信号确定传输的是第一个还是第二个字节。
HPI控制寄存器HPIC的BOB位决定第一个或第二个字节放置在16位字的高8位,而主机不必破坏两个字节的访问顺序。
如果字节的传输顺序被破坏,则数据可能会丢失,产生不可预测的结果。
两个控制输入表示那个HPI寄存器被访问,并且表示对寄存器进行那种访问。
这两个输入与HBIL一起由主机地址总线位驱动。
使用HCNTL0/1输入,主机可以指定对三个HPI寄存器的访问:
HPI控制寄存器、HPI地址寄存器或HPI数据寄存器。
HPIA寄存器也可以使用自动增寻址方式访问HPIA寄存器。
自动增特性为连续的字单元的读写提供了方便。
在自动增模式下,一次数据读会使HPIA在数据读操作后增加1,而一个数据写操作会使HPIA操作前预先增加1。
通过写HPIC,主机可以中断C54xDSP,并且HINT输出可以被C54xDSP用来中断主机。
主机通过写HPIC来应答中断并清除HINT。
两个数据选通信号、读写选通信号和地址选通信号,可以使HPI与各种工业标准主机设备进行连接。
HPI准备引脚(HRDY)允许为准备输入的主机插入等待状态,这样可以调整主机对HPI的访问速度。
当HRDY直接用于来自C54xCPU,则它不必满足主机时序要求,该信号可以使用外部逻辑实现重新同步。
图3主机接口配置
在使用时用短路冒将2、3短路,使INT2与HINT2直接相连,用来激活HPI自举模式。
三电源供电模块
图4电源电路
该系统采用TPS73HD318电源芯片供电,将5V电源转换成3.3V和1.8V双电源,每路电源的最大输出电流为750mA,并且提供两个宽度为200ms的低电平复位脉冲。
四存储空间扩展
图5扩展的程序存储空间
图6扩展存储空间的逻辑电路
图7扩展的数据存储空间
由于C5402的片上资源有限,需要外扩数据存储器和程序存储器。
IS61LV6416为64K的RAM。
与DSP的连接电路如上图。
第三章系统软件设计
第一节用户初始化代码
.c-mode
.mmregs
CONST-COPY.set1
.sect“.boot”
.global–c-int00
.global–main,-exit,-STACK-SIZE
-stack:
.usect“.stack”,0;
定义堆栈
-c-int00
****堆栈初始化****
STM#-stack,SP;
栈底-->
SP
ADDM#(-STACK-SIZE-1),*(SP);
SP+栈长度=>
栈顶-->
ANDM#0fffeh,*(SP);
让SP为偶地址
SSBXSXM;
STM置位
LD#cinit,A
****寄存器初始化****
SSBXCPL;
打开编译模式位
RSBXOVM;
清除溢出位
LD#0,ARP
RSBXC16
RSBXCMPT
RSBXFRCT
SSBXXF
****变量区初始化****
stm#0x3a00,arl
st#0,*arl+
st#0,*arl
****常量区初始化*****
-const-init
STM#03a24h,AR2;
常量区.const运行地址->
AR2
RPT#05fh
MVPD#0f000h,*AR2+;
将.const由flash拷贝到RAM区
****程序初始化****
STM#0cc0h,AR2;
程序段.text运行地址->
RPT#300h
将.text由flash拷贝到RAM区
****中断向量表初始化****
STM#080h,AR2;
中断向量表.vector运行地址->
RPT#07fh
MVPD#0ff80h,*AR2+;
将.vector由flash拷贝到RAM区
CALL-main;
转入主程序入口
CALL-exit;
转入结束程序入口
RET
.end
第二节主机通过HPI引导程序到目标DSP
一个程序由初始化区和非初始化区两部分组成,主机处理器必须根据.cmd命令文件把这两个区装载到DSP正确的地址。
下面这段代码就是将代码段和数据段两部分分别下载到指定地址(即程序RAM和数据RAM)。
它主要是从*source中读出32位长的数据,然后通过HPI将此数据写到DSP的dest_add地址(即程序RAM和数据RAM)中。
*source中的数据就是DSP的启动代码段和数据段中的数据。
voidC6x_write_section(int*ptr_hpi,short*source,intdest_add,intlength)
{
inti;
/*WriteHPICwithHWOB=1,1sthalfwordtransferredisleastsignificant*/
/*HCNTRL1HCNTRL0HHWIL*/
ptr_hpi[0]=0x0001;
/*1sthalfword000*/
ptr_hpi[1]=0x0001;
/*2ndhalfword001*/
/*WritedestinationaddresstoHPIA,1sthalfwordisleastsignificant*/
ptr_hpi[2]=(int)(dest_add&
0x0ffff);
/*010*/
ptr_hpi[3]=(int)((dest_add>
>
16)&
0x0ffff);
/*011*/
for(i=0;
i<
length;
i++)
/*Writesource_wordtoHPIDwithaddresspost-increment*/
/*1sthalf-wordtransferredisleastsignificant*/
ptr_hpi[4]=(int)*source++;
/*100*/
ptr_hpi[5]=(int)*source++;
/*101*/
}
结束语
经过一周的课程设计,我又重新将DSP复习了一遍。
在设计的过程中遇到了很多的问题,当然也收获了不少。
由于课本上对主机接口引导方式介绍的很少,只是介绍了一下主机接口,刚接到题目时很迷茫,不知道从哪里入手,当然更不知道引导方式有几种。
通过几天在网上搜资料和在图书馆查资料,我知道了原来DSP引导方式有很多种方法。
初步理解了主机接口引导方式,并且也知道了以前老师讲的是并行装载引导方式。
虽然学了半学期的DSP,但当拿到这个题目的时候,还是感觉很陌生。
这充分的说明了自己在学习的时候功夫还是没有下够,对DSP的了解还差的太远。
思考了很多,重新定了一下自己的当前位置。
不懂的还有很多,要学习的还有很多。
这次课程设计提醒了自己以前学的都是理论知识,现在正是运用理论知识解决问题的时候,但是自己好像理论与实际连不起来,还缺乏经验。
这次课程设计只是个开始,以后要以这个为起点,认真学习。
致谢
在老师的帮助下学习到了很多关于dsp的知识和实验方法,也在同学老师的倾力配合下完成了实验,团队的力量是巨大的。
也不断磨练自己的意志,感谢老师,感谢同学。
参考文献
1.清源科技,TMS320C54xDSP硬件开发教程[M],北京,机械工业出版社,2003.8
2.TMS320C54XDSPReferenceSet,Volume1:
CPUandPeripherals,TexasInstrument,2001
3.TMS320C54XDSPReferenceSet,Volume4:
ApplicationsGuide,TexasInstrument,1997
4.周霖,DSP通信工程技术应用,北京:
国防工业出版社,2004
5.彭启宗,李玉柏.DSP技术[M].成都:
电子科技大学出版社,2002
6.刘益成,TMS320C54XDSP应用程序设计与开发[M],北京:
北京航空大学出版社,2002
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TMS320VC5402 主机 接口 引导 方案 设计 kk