首页 | 求职宝典 | 行业秘籍 | 试题精解 | 成功职场 | 资料下载 | 管理文库 | 行业资讯 | 范文
创业 | 毕业生 | 个人简历 | 招聘信息 | 薪酬资讯 | 在线测试 | 酷职贴吧 | 笑话游戏 | 论文
用户名:  
密 码:  
校验码:  
   
找更多文章资料,输入关键字搜索
 
首页 >> 论文频道 >> 电子技术论文 >> DSP论文
TMS320VC5402外部并行引导装载方法的研究
来自: 作者: 匿名 发布时间:2007-10-1 20:05:38
摘要:分析了TMS320VC5402 DSP的引导装载过程,给出了两个外部并行引导装载的典型电路。针对这两个电路设计了可脱离Flash烧写器的仿真器在线编程装载方法,并得到了实验验证。

    关键词:DSP引导装载 在线编程装载 虚拟扩展程序空间 DSP

所谓引导方式就是指单片机(MCU)系统复位时,其系统软件代码所取得的方式。对于单片机来说,它使用复位矢量方式从程序空间的固定地址处开始取得指令代码。如果所需代码来自程序空间外部,则引导过程无法进行。TMS320VC5402 DSP内部ROM中的引导装载程序Bootloader使系统上电后能自动将程序代码从外部如Flash、Eprom、主机引导装载到DSP内部或者外部程序存储器中脱机运行。这样的设计有三个突出点:一是程序代码可以存储在片外相对慢速、非易失性器件中,而装载运行于高速器件;二是提供多种装载方式,使得DSP可以灵活应用到不同系统;三是省去对DSP片内ROM进行掩膜编程操作,节省大量费用。

引导装载程序根据不同的系统要求提供了多种装载模式,主要包括并行I/O口引导装载、串行口引导装载、HPI引导装载、外部并行引导装载等模式,并且兼容8位和16位字引导装载方式。

1 引导装载程序分析

TMS320VC5402内部4K字的ROM程序位于0xF000~0xFFFF程序空间,包括引导装载程序、μ律和A律扩充表、正弦对照表、工厂测试码和中断向量表。其中,引导装载程序位于0xF800~0xFBFF空间。复位时,如果TMS320VC5402处在微计算机方式MP/MC=0,则片内ROM中的引导装载程序就会被执行。引导装载程序在决定采用何种装载模式之前,首先对CPU状态寄存器进行初始化。初始化工作包括:禁止可屏蔽中断INTM=1,内部DARAM映射到程序/数据区OVLY=1,对程序和数据区均设置为7个等待状态。初始化完成后,引导装载程序执行装载模式判断。判断的顺序是:HPI模式、SPI模式、外部并行模式、标准串口模式、并行I/O模式。图1说明了整个装载模式的判断流程。

图1 引导装载模式选择流程

2 外部并行装载电路的设计

由图1可知,外部并行装载时引导装载程序先读I/O空间FFFFh,判断是否是有效的并行装载模式;如果FFFFh处为非有效值,则读数据空间FFFFh,判断是否是有效的并行装载模式。对于外部并行装载,要求装载时Flash位于数据空间。下面给出两种实际应用过的并行装载电路,如图2所示。

图2(a)适用于程序运行时不要求大数据空间的系统。若对DS(数据空间选择)信号与A15地址线译码,Flash占用数据空间的8000h~FFFFh共32K空间,因此程序代码的存储区大小不能超过32K。当然,若对A15、A14与DS译码,Flash也可将整个片外48K的数据空间作为程序代码的存放区。

图2(b)将Flash分为16页,每页64K,Flash的片选信号CE利用DSP的A16~A19、通用I/O引脚XF以及程序/数据空间选择DS/PS信号译码获得。图2b所示系统上电后,XF=1,译码后Flash的0页映射到数据空间,此时引导装载程序可利用它正确装载;装载完毕后,DSP从程序代码的入口地址开始执行,此时DSP设置XF=1,DSP利用内部DARAM或者外部SRAM作为程序和数据空间存储器,Flash的0页被屏蔽而无法再操作,Flash的1~15页作为DSP扩展程序存储器使用。这样设计系统电路有如下好处:由于装载时与系统程序运行时数据空间的物理存储器分离,系统程序可利用全部64K的数据空间;程序运行时程序代码存储器被屏蔽,保证了装载程序的安全性;扩展程序空间可作为数据暂存或永久存储空间,满足了数据处理系统的要求。当然,也可使用单片64K的Flash作为程序代码存储器,以SRAM作为程序扩展空间存储器。

图2 外部并行装载典型电路

3 外部并行装载的仿真器在线编程

DSP引导装载程序从外部数据存储器(Flash)中读取引导装载表,并且装载程序代码到DSP片内或片外程序存储器。Flash中存储的是引导装载表。它的结构如表1所示。要使用TMS320VC5402的引导装载功能,必须利用Hex转换工具生成一个如表1所示结构的包含引导装载操作所需的全部数据项的引导装载表。表中第一个字08AAh/10AAh代表8/16位并行装载模式。

表1 引导装载表结构

08AAh或者10AAh
SWWSR寄存器初始化值
BSCR寄存初始化值
程序入口地址XPC
程序入口地址指(PC)
第一程序块大小
第一个程序块目标地址XPC
第一个程序块目标地址指针
程序代码1
……
程序代码N
最后程序块大小
最后程序块目标地址XPC
最后程序块目标地址指针
程序代码1
……
程序代码N
代码结束标志0000h

通常的DSP独立系统都需要利用Flash烧写器将引导装载表写入Flash中,对于采用表贴封装的Flash器件,烧写器无法写入数据。为了解决这个问题,采用仿真器在线编程方式将引导装载表数据写入Flash,它具有节约开发成本、减小器件尺寸、编程灵活的特点。

对于图2a所示的系统,在仿真器仿真状态下,将引导装载表读入DSP数据区的0000h~7FFFh空间,然后使用Flash在线编程方法将数据写入Flash中,最后在Flash的FFFFh处写入引导装载表在Flash中的起始地址。编程完毕,复位系统即可实现装载过程。

对于图2(b)所示的系统,仿真器在线编程则要复杂得多。由于在仿真状态下,程序空间与Flash的0页空间重叠,Flash的0页被屏蔽,程序无法操作到Flash的存储空间。为此,程序将Flash的0页空间作为“虚拟扩展程序空间”,以便程序写入引导装载表。具体实现过程是:设置外部控制信号=1,此时译码电路将A18地址线信号取反,虚拟扩展程序空间开放。Flash的0页空间虚拟成为扩展程序空间的040000h~04FFFFh空间。这样,仿真器在线编程040000h~04FFFFh空间即相当于对Flash的0页编程。编程完毕后,设置外部控制信号=0,复位系统后即可实现装载过程。

本文分析了TMS320VC5402的引导装载程序的装载过程,给出了两个经常使用的外部并行装载典型电路。针对两个典型电路设计了仿真器在线编程装载方法。利用此方法实现了一个以128K×16bit的SRAM作为程序和数据空间,以1M×16bit的Flash作为扩展程序空间和系统程序代码存储器的系统。该系统无需Flash烧写器进行Flash数据写入,并且完全利用了TMS320VC5402的全部存储空间,充分发挥了DSP的效能。

注:只要你是出于公益目的,我们不限制任何人转载本站内容,但请注明出处和原始网址
 
[我要评论]
推荐栏目
管理制度 质量管理 市场营销 合同范本 企划方案 商业计划书 可行性报告 六西格玛 JIT精益生产 KPI TPM 提案
调研报告 品牌管理 战略管理 项目管理 生产管理 经营管理 人力资源 财务管理 汽车行业 现场管理 招聘信息 论文
面试技巧 英文简历 自我鉴定 推荐信 电子简历 简历封面 Resume CV Cover Letter 思想汇报 入党申请书 李小龙
北京数码轻舟科技发展有限公司版权所有 ICP京050055号 客服电话:(010)62535917
地址:北京市海淀区成府路35号北楼119室 邮编:100083 传真:(010)62535917
联系我们:webmaster#koojob.com 客服邮箱:service#koojob.com(请将#替换@)
©Copyright2004-2006 Beijing Shumaqingzhou Technology Development Co., Ltd.