设为首页
收藏本免费论文网
老版首页
老版首页2
经济学论文 财政税收论文 证券金融论文 管理学论文 会计审计论文 工商管理论文 财务管理论文 公共管理论文 法学论文
理学论文 医药学论文 政治论文 社会学论文 教育类论文 工学论文 计算机论文 艺术类论文 哲学论文
文化论文 英语论文 应用文论文 论文指导论文 文学论文 老版免费论文 老版2免费论文 本站导航
本站已收录十余万免费论文,并不断增加中,想要什么论文资料,轻松一搜便得! 关键词:
免费工学论文免费论文网首页 --> 工学论文 --> 电子信息工程论文 -->双片adsp-21160系统的程序加载设计

双片adsp-21160系统的程序加载设计

 本文档详细说明了双片ADSP-21160系统的加载,以及如何在VISUAL DSP++集成开发环境中通过DSP将引导程序上载到FLASH中。SHARC系列是美国模拟器件公司(Analog Devices)的重要芯片系列之一。该系列产品具有很强的数字信号处理能力,多片SHARC芯片可以构成更为处理能力强大的系统,广泛应用于通信,雷达等领域。SHARC系列芯片族包含了ADSP-21060/21061/21601/21065L,以及最新的21160/21161系列。它们共同的特点是不但有强大的处理能力,而且有丰富的接口资源,十分适合多片级联构成功能更复杂的系统。
在多片系统中,如何对多片SHARC DSP进行程序加载是一个比较实际的问题,本文就是从硬件构架和软件流程上对双片ADSP-21160的SHARC系统的加载问题进行分析的。
1. 双片ADSP-21160系统的硬件构架
1.1 双片ADSP-21160的连接 以AD21160N为例。
两片SHARC分别为DSP1和DSP2,相应的ID2~0管脚置为001和010。其中ID为001的是主片,ID为010的为从片。

如果系统采用非主机引导模式,每片的/HBG,/HBR分别置为无效状态(拉高)。
如果加载采用EPROM引导,每片SHARC的/BMS做线或后和EPROM的/CE相连。并且每片的BR1,BR2对应相连,其余BRx置为无效(拉高)。
ACK信号决定了总线权的转移,应该把ACK强制拉高。当ID = 000(单片系统),或者ID = 001(多片系统的主片)的时候,ACK会自动内部拉高。为了保险起见,可以把主片和从片的ACK都在外部强制拉高。否则,会出现总线权不能交给从片的现象。
地址总线和数据总线对应相连,并和EPROM的地址线,数据线相连。
当双片系统加电后,主片ADSP-21160和从片ADSP-21160都是从EPROM中读出256个字节的初始程序段。这256个字节的程序段包含了加载初始化信息,在此段的最后有一张跳转表,显示了不同ID的程序对应的不同的存储地址。SHARC通过读自己的系统寄存器得到自己的ID,然后取出自己所要加载的程序代码的偏移地址。
根据SHARC的总线制裁机制,ID号低的SHARC有较高的优先权,所以ID=001的主片先加载。当第一片加载完毕后,通过BR1通知第二片可以开始加载,总线权转移到ID=010的SHARC。当第二片加载完毕后,通过BR2通知系统,然后此双片系统开始运行程序。
1.2 ADSP-21160与FLASH的连接
FLASH的CE,OE,WE分别与AD21160的BMS,RD,WR相连,其中BMS表示片选信号,WR为写信号,RD为读信号。另外FLASH的地址线和数据线也分别与DSP连接好。
如果把AD21160的MS0~2与FLASH的片选线相连,就是把FLASH成了AD21160的外部扩展存储区。这样会带来方便,首先,可以在VisualDSP++ for SHARC中直接读FLASH里的数据,无需编程读出;其次,可以用直接读写的办法烧写FLASH,还可以用软件控制插入的等待时间。
如果仅用BMS与FLASH相连,那么就只能用DMA的方式进行FLASH的读写操作。
1.3 烧写FLASH的方式
当使用BMS片选FLASH的时候,FLASH作为AD21160的字节存储空间,AD21160只能通过DMA方式访问FLASH。
完成一次DMA传送需对4个存储器映像寄存器进行设置。注意,写FLASH只能使用DMA10。
具体如下:
1.设置BSO,使BMS强制有效,并打开DMA10的中断使能;
USTAT1 = DM(SYSCON);
BIT SET USTAT1 BSO;
DM(SYSCON) = USTAT1;
BIT SET MODE1 IRPTEN;
BIT SET IMASK EP1I;
BIT SET IMASK EP0I;
2.注意对FLASH的写是字节编程,所以要把数据文件转化为8bit的字节形式。每次DMA只能送出一个字节。
3.因为BMS片选FLASH,所以不能对FLASH的读写进行插入等待状态的指令。变通的办法是,DMA次数寄存器设为3或3以上的整数,即对同一个地址连续多次写入同一个字节,等效于插入等待状态,拉宽写使能信号的宽度。
4.有关FLASH读写时序,请参看所使用的FLASH的datasheet,并按照其时序和控制字要求,使用SHARC的汇编指令编写FLASH的烧写程序。该程序可以通过仿真器在SHARC芯片上运行,实现把.dat文件烧写到FLASH中。

   
双片adsp-21160系统的程序加载设计 来自: 免费论文网www.paper800.com  
2. 双片系统的LDF文件
LDF文件是对系统的存储资源进行说明和定义的文件,双片系统的LDF与单片的LDF有所不同。为了更好的进行双片之间的通信,其LDF文件一般定义如下:
ARCHITECTURE(ADSP-21160) 21160系统
SEARCH_DIR( $ADI_DSP\211xx\lib ) 库文件路径
$LIBRARIES = lib160.dlb;
COMMAND_LINE_OBJECTS.
$OBJECTS = $COMMAND_LINE_OBJECTS;
MEMORY //片内存储区定义
{ mem_rth { TYPE(PM RAM) START(0x00040000) END(0x000400ff) WIDTH(48) } //程序内存,中断向量表段
mem_pmco { TYPE(PM RAM) START(0x00040100) END(0x000491ff) WIDTH(48) } //程序内存,代码段
mem_pmda { TYPE(PM RAM) START(0x0004db00) END(0x0004efff) WIDTH(32) } //程序内存,数据段
论文双片ADSP-21160系统的程序加载设计来自

mem_dmda { TYPE(DM RAM) START(0x00050000) END(0x00057fff) WIDTH(32) } //数据内存,数据段
mem_dmex { TYPE(DM RAM) START(0x00800000) END(0x00800fff) WIDTH(32) } //数据存储区,片外数据段
}
//以下是对多片(ID1 和ID2)映射空间说明
MPMEMORY
{ ID1 { START(0x00100000) } //第一片映射到0x00100000
ID2 { START(0x00200000) } //第一片映射到0x00200000
}
下是对共享的外部存储区的声明,比如外挂的SRAM等器件的存储空间
{ OUTPUT(shared.sm)
SECTIONS
{ dxe_dmex
{ INPUT_SECTIONS( shared.doj(sram_da) )
} >mem_dmex
}
}
PROCESSOR ID1 //处理器 ID1 的段定义.
{ LINK_AGAINST(ID2.dxe)
OUTPUT(ID1.dxe)
SECTIONS
{ dxe_rth
{ INPUT_SECTIONS( ID1.doj(seg_rth) $LIBRARIES(seg_rth))
} >mem_rth
dxe_pmco
{ INPUT_SECTIONS( ID1.doj(seg_pmco) $LIBRARIES(seg_pmco))
} >mem_pmco
dxe_pmda
{ INPUT_SECTIONS( ID1.doj(seg_pmda) $LIBRARIES(seg_pmda))
} >mem_pmda
dxe_dmda
{ INPUT_SECTIONS( ID1.doj(seg_dmda) $LIBRARIES(seg_dmda))
} >mem_dmda
}
}
PROCESSOR ID2 //处理器 ID2 的段定义
{
LINK_AGAINST(ID1.dxe)
OUTPUT(ID2.dxe)
SECTIONS
{ dxe_rth
{INPUT_SECTIONS( ID2.doj(seg_rth) $LIBRARIES(seg_rth))
} >mem_rth
dxe_pmco
{ INPUT_SECTIONS( ID2.doj(seg_pmco) $LIBRARIES(seg_pmco))
} >mem_pmco
dxe_pmda
{INPUT_SECTIONS( ID2.doj(seg_pmda) $LIBRARIES(seg_pmda))
} >mem_pmda
dxe_dmda
{INPUT_SECTIONS( ID2.doj(seg_dmda) $LIBRARIES(seg_dmda))
} >mem_dmda
}
}
通过以上的定义,就实现了在一个LDF文件中声明了两片AD21160的存储空间,以及多片存储区映射(MMS),和共享片外存储区。

   
双片adsp-21160系统的程序加载设计 来自: 免费论文网www.paper800.com  
3. 烧写双片SHARC的流程实例
新建一个工程,采用以上的LDF文件声明。
然后编写两个.asm文件:ID1.asm,ID2.asm。
这两个.asm文件都有独立的中断向量表,可以独立执行各自的程序。
例如,可以在ID1.asm中让FLAG0和FLAG1输出反相的方波,在ID2.asm中让FLAG2和FLAG3输出另一个频率的反相的方波。
编译通过后,可以找到新生成的可执行文件ID1.DXE,ID2.DXE。
在VISUAL DSP++集成环境中,选择工程属性(Project Option),改变如下:

1.如上图,把Type由DSP executable file改为Loader file;

2.如上图,选定Multiprocessor,就可以在被激活的选择框中选择要使用的.DXE文件。在1处,选择ID1.DXE;在2处,选择ID2DXE。这意味着将对第一片加载ID1.DXE,对第二片加载ID2.DXE。Kernel file选择默认的160_prom.dxe,该文件是由AD提供的加载核文件。在Output file中设定输出文件名(在这里是Two_SHARC.ldr);选定ASCII格式,将产生16bit的数据文件;boot type选定eprom,这将产生适合从eprom中加载的数据文件。
3.一切完成后,进行一次编译。就可以在DEBUG文件夹里找到生成的Two_SHARC.ldr。
4.接好仿真器后,打开FLASH烧写程序,把要烧结的文件名添加到程序中。运行FLASH烧结程序,就把两片加载程序烧到FLASH里了。
5.关闭VisualDSP,拔掉仿真器,重新启动目标板,按下RESET,通过示波器观测第一片DSP的FLAG0和FLAG1,和第二片DSP的FLAG2和FLAG3,检查是否有对应的反相方波输出。如果有,说明双片AD21160加载成功。
4. 结 束 语
美国AD公司的SHARC系列DSP的多片级连能力是其特点之一,从本文介绍的两片系统加载方案可以推知多片SHARC系列DSP芯片系统的加载也是类似的。多片系统同样也要注意系统的硬件架构,包含多片DSP芯片之间的连接方式,总线仲裁机制,以及与FLASH MEMORY之间的连接。软件上对.LDF的设置是关键,它决定了多片DSP之间的相互访问的存储分区。多片SHARC系统会大大发挥该系列芯片强大的浮点处理能力,在通信,雷达等方面有重大应用。
作者联系:hanwei2004@sohu.com

   
双片adsp-21160系统的程序加载设计 来自: 免费论文网www.paper800.com

 如果觉得本篇论文可以,添加到收藏夹! [返回顶部↑
搜 索 其 它
相 关 论 文
先锋派对艺术自律性的否定
鲁迅文艺评论的高度思想要求
电视经济信息节目中的视听艺术详细内容
中西文化精神论略
从情感主义到后情感主义
亚洲当代艺术及其在西方的接纳
基督教艺术的边界详细内容
论侗族大歌生态详细内容
相 关 类 别
通信学论文
电子机械论文
工程建筑论文
材料工程学论文
交通运输论文
工业设计论文
环境工程论文
电力论文
水利工程论文
电子信息工程论文
自动化论文
电气工程及其自动化论文
通信工程论文
计算机科学与技术论文
电子科学与技术论文
热能与动力工程论文
测控技术与仪器论文
材料成型及控制工程论文
机械设计制造及其自动化论文
石油工程论文
矿物加工工程论文
农学论文
园林论文
园艺论文
水产养殖学论文
草业科学论文
动物科学论文
森林资源与保护游憩论文
农业资源与环境论文
林学论文
植物保护论文
水土保持与荒漠化防治论文
动物医学论文

免费论文网包含:各类免费毕业论文下载、免费法律论文、免费计算机论文、免费会计论文、免费英语论文、免费经济论文、免费管理论文、免费金融论文、大学生社会实践论文、三个代表论文、三农问题论文等所有论文均来源于网上的共享资源以及一些期刊杂志,所有论文仅供网友间相互学习交流之用,请特别注意勿做其他非法用途!如果我们有侵犯你的版权或其他有损您利益的行为,请联系我们指出,我们会立即进行改正或删除有关内容!
广告服务 | 关于我们 | 加盟合作 | 免责条款 | 人才招聘 | 联系我们