积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> DSP >> 应用论文
  相关分类: 应用论文 | TI DSP | 新产品 | 算法 | 下载 | DSP代码示例 | ADI DSP | freescale DSP |
利用MSP430实现Blackfin DSP的程序引导
 
作者:国防科技大学机电工程与自动化学院 周永彬 杨波 杨俊   来源:电子产品世界    点击数:95   更新时间:2008-5-27
您可以添加到网摘 让更多人关注此文章:

    

摘要: 本文针对ADSP-BF533的引导方法进行探讨,给出了一种利用微控制器MSP430F149对BF533进行引导的独特方案。在成功实现引导功能的同时,兼具完善的监控功能。
关键词:  DSP;引导程序;SPI接口;扩频通信
引言
Blackfin处理器是ADI公司与Intel公司于2003年4月联合推出的一系列DSP产品,主要面向嵌入式音频、视频和通信等领域,除了具有强大的信号处理性能和理想的电源效率,还集成了32位的RISC精简指令集。ADSP-BF533是目前Blackfin系列数字信号处理器中性能最高的一款,具有600MHz的主频,双16位的MAC(乘加器)和两个40位的ALU(算术逻辑单元),4个8位的视频处理单元,8个算术寄存器,10个地址寻址单元。DSP集成了148K字节的片内RAM,并具有丰富的外部接口,如SDRAM、通用并行数据口、SPI、PPI、同步和异步串口等。
MSP430F149是工业级闪存型16位RISC MCU,具有功耗极低、片上资源丰富等特点,同样非常适合掌上设备使用。
本系统为软件无线电掌上设备平台,采用了BF533+MSP430F149的双处理器模式:BF533主要完成宽带扩频信号的快速捕获跟踪和解码功能;MSP430完成的功能包括USB控制器接口、射频控制和DSP引导、监控等,如图1所示。
MSP430通过USB控制器同PC机建立通信,整个系统作为一个USB设备被PC机访问。天线接收射频信号进行直接下变频,经AD转换后进入BF533。DSP程序存放在MSP430F149片内FLASH ROM中。MSP430F149和BF533通过SPI总线连接,在解决DSP程序引导问题的同时,也实现了DSP的实时监控。


图1  系统结构简图

图2  Blackfin 引导文件生成过程

Blackfin 应用程序引导过程
开发Blackfin 应用程序的一般过程如图2所示。
DSP应用程序编写和调试通常在ADI公司的集成开发环境VisualDSP++下完成。在软件设计阶段,可使用硬件仿真器Summit ICE通过JTAG(边界扫描测试接口)同目标处理器连接进行调试开发。VisualDSP++会将用户应用程序代码编译生成DSP可执行文件(.DXE),并通过JTAG口装入目标处理器的内存。
在设计独立的目标系统时,必须考虑用户程序的引导方式和相应的外部存储器,通过VisualDSP++产生与存储器类型相应的引导文件(.LDR),将引导文件烧录到外部存储器中。最后,通过某种引导模式将引导文件装载到DSP内存并执行。
BF533内部有一段固化的引导程序(Boot ROM),见图3。硬件复位后进入引导进程,执行存放在Boot ROM中的引导程序。首先,通过对两个专用引导模式选择引脚BMODE[1:0]的采样,决定BF533将以何种方式装载用户应用程序代码/数据。然后,按照用户选择的格式引导应用程序并执行。
BF533共有4种程序引导模式,表1显示了引脚BMODE[1:0]的值和引导模式的关系。
对任何一种模式,引导程序会根据模式引脚选择的外部程序存储器的类型,先读出一个10个字节的文件头(Header)。文件头由4个字节的目的地址、4个字节的传输数据数量(字节数)和2个字节的控制标志组成。如果用户程序或数据需要放在DSP内存的不同地址块,可以采用分块引导的方式来进行数据加载,每个块(Block)用不同的文件头描述。一旦所有的块装载完毕,处理器将结束引导进程,并从L1指令存储器的起始地址(0xFFA00000)开始执行放在这里的用户代码。文件头中控制标志描述了块的一些属性。图4是引导时的数据流和文件头格式。

图3  Blackfin应用程序引导过程


图4  BF533的引导数据流和文件头格式

SPI引导时序
SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。将各个设备的串行时钟引脚接在一起,主设备的数据输出接从设备的数据输入MOSI(Master Out Slave In),从设备的数据输入接主设备的数据输出MISO(Master In Slave Out)。
由于MSP430和BF533的SPI口均可软件配置为主或从设备,因此通过同样的连接方法既可使BF533为主机,又可使MSP430为主机。
程序引导时,BF533是主机,串行时钟由BF533提供,监控过程中MSP430是主机,通过SPI口控制BF533,与引导时相比,硬件连接没有改变,只是MSP430和BF533各提供一个通用IO引脚用作握手信号,用来避免MSP430在DSP忙时中断DSP。
在本系统中,BF533引导模式设为从16位串行SPI存储器引导。BF533上电或硬件复位后,SPI接口默认为主模式,并提供频率为500KHz的串行时钟。引导时序最初的几个周期是:从第一个SPI时钟周期开始,BF533在MOSI引脚上产生读SPI的串行EEPROM命令字节,其值为0x03。这个值对于SPI串行EEPROM而言,是读存储器命令。存储器应从下一个时钟节拍开始将存储器内数据串行送到BF533的MISO引脚上。由图4可知,首先送出的应该是块1的目的地址信息0xFFA00000。读出这个值之后,DSP内部会对该值进行判断,如果目的地址不是DSP内存区域内的有效地址,BF533将重复发送读SPI EEPROM命令字节并判断地址有效性这一过程。如果读入的地址有效,将会启动读存储器时序,再发送一个读SPI 串行EEPROM命令字节:先读入文件头,再读入引导内容。
设计中应特别考虑MSP430软件以确保由MSP430F149的SPI接口产生的引导时序和从EEPROM引导时的时序相同。根据笔者开发经验,BF53x系列正式版本具有相同的SPI引导时序,但测试版本芯片的SPI时序与正式版有所差异。

DSP实时监控与程序在线升级
在DSP程序运行的过程中,通常我们需要知道它的运行状况。因此需要建立一种机制用来实现对DSP内存区域的实时读写操作,即完成程序的实时监控。
在BF533应用程序设计中,设置BF533的SPI口为从模式。在引导完成之后,设置MSP430的SPI口为主模式,而引导进去的BF533用户应用程序开始执行,从而在MSP430和BF533之间建立了主从的SPI通信。
此外,MSP430通过USB接口器件PDIUSBD12连接到PC机。监控命令由PC机或键盘操作发起,MSP430响应PC机通过USB总线下发的命令或键盘命令,再根据命令类型进行操作。监控命令分为两类:
(1)PC机或键盘对MSP430的控制命令。命令通过USB总线或键盘传到MSP430,MSP430响应命令并执行相应操作。此类命令包括:升级DSP程序、下载数据到FLASH、外围控制等。
(2)PC机或键盘对DSP的控制命令。这类命令可由PC机通过USB总线或键盘操作下达到MSP430,也可由MSP430直接发起,命令接受方是DSP。此类命令主要有两个:读DSP内存区域和写DSP内存区域。命令由命令包和数据包组成,读命令包主要包括命令代码、目的地址、读出长度以及校验字。在发出读命令包后,如果收到DSP正确的响应,就发出跟读出长度相应的数据包,每发一个数据包就将收到DSP返回的一包数据。写命令包主要包括命令代码、目的地址、写入长度以及校验字。在发出写命令包后,如果收到DSP的正确响应,就将欲写的数据打包送出,如果写入成功,就会收到DSP的正确响应。
MSP430具有60K字节的片上FLASH程序存储器,除了自身程序占用的程序空间,还可空出约48K字节的空间。本系统中,这部分空闲空间用来存放待引导的DSP程序。MSP430的FLASH存储器具有分段擦除和编程功能,最小擦除单位是512(0x200)字节。其FLASH ROM除了可以用专门的开发工具进行编程操作外,还可以自编程实现DSP程序的在线升级。

结语
通过MSP430F149直接对ADSP-BF533进行程序引导和实时监控,与通常使用串行EEPROM引导相比,避免了烧写EEPROM这一中间过程,减少了电路复杂度。在同样的电路连接上既实现了引导功能,又实现了监控功能。此外,通过MSP430灵活的软件编程,还使系统具有引导时机可灵活掌握、DSP程序可在线升级等特点。

参考文献:
1. AD Inc., ADSP-BFx Blackfin DSP Hardware Reference [Z], April 2003
2. AD Inc., ADSP BF53x Data Sheet [Z], April 2004
3. Yongbin Zhou,Bo Yang,Yueke Wang,etc.  All Digitalized language learning system based on DSP net[M],Proc.ISTM/2003:1029-1032,2003



相关文章
· 基于ADSP-BF533的μClinux嵌入式系统移植与开发[8]
· TMS320C54x代码在OMAP5910上的实现[112]
· 基于TMS320C64X协处理器TCP的Turbo译码实现[103]
· DSP和Flash接口技术的实现[143]
· 基于dSPACE的双绕组感应发电机实时控制系统研究[106]
热门评论排行
·VHDL设计中电路简化问题的
·江苏嵌入式Linux教育培训
·锐极LINUX驱动培训班定于
·基于实时操作系统μC/OS-
·ARM处理器应用开发4步骤

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
首尔半导体就日亚(NICHIA)专利
MIPS 科技授权国家集成
美国微芯科技公司与安森美半导体拟以每
中嵌联盟嵌入式工程师俱乐部"
e-Shuttle与香港科技园携手
美国国家半导体推出业界首个传感器信号
PAC 2008 
Power Archite
2008上半年中国集成电路市场回顾
日本开发出接近人眼功能的新型电荷耦合
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
13×8的led屏一般用什么方...
[分享]选购家用稳压电源...
[分享]变频电源的外围配置要点...
dsp控制异步电机,加cpld...
请问一下,5000系列的DSP...
modbus与gsm连接,请问...
DSP信号处理配套MEMORY...
FPGA微处理器POWERPC...
[推荐]嵌入式3.5寸工业主板...
高级射频工程师(猎头职务-珠海...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网