利用MSP430实现Blackfin DSP的程序引导

发布者:leader5最新更新时间:2012-04-21 来源: 21ic 关键字:MSP430  Blackfin  程序引导 手机看文章 扫描二维码
随时随地手机看文章

       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的双处理器模式:B F533主要完成宽带扩频信号的快速捕获跟踪和解码功能;MSP430完成的功能包括USB控制器接口、射频控制和DSP引导、监控等,如图1所示。

系统结构简图

图1  系统结构简图

       MSP430通过USB控制器同PC机建立通信,整个系统作为一个USB设备被PC机访问。天线接收射频信号进行直接下变频,经AD转换后进入BF533。DSP程序存放在MSP430F149片内FLASH ROM中。

       MSP430F149和BF533通过SPI总线连接,在解决DSP程序引导问题的同时,也实现了DSP的实时监控。

       Blackfin 应用程序引导过程

       开发Blackfin 应用程序的一般过程如图2所示。

Blackfin 引导文件生成过程

图2  Blackfin 引导文件生成过程

       DSP应用程序编写和调试通常在ADI公司的集成开发环境VisualDSP++下完成。在软件设计阶段,可使用硬件仿真器Summit ICE通过JTAG(边界扫描测试接口)同目标处理器连接进行调试开发。VisualDSP++会将用户应用程序代码编译生成DSP可执行文件(.DXE),并通过JTAG口装入目标处理器的内存。 在设计独立的目标系统时,必须考虑用户程序的引导方式和相应的外部存储器,通过VisualDSP++产生与存储器类型相应的引导文件(.LDR),将引导文件烧录到外部存储器中。最后,通过某种引导模式将引导文件装载到DSP内存并执行。

       BF533内部有一段固化的引导程序(Boot ROM),见图3。硬件复位后进入引导进程,执行存放在Boot ROM中的引导程序。首先,通过对两个专用引导模式选择引脚BMODE[1:0]的采样,决定BF533将以何种方式装载用户应用程序代码/数据。然后,按照用户选择的格式引导应用程序并执行。

Blackfin应用程序引导过程

图3  Blackfin应用程序引导过程[page]

       BF533共有4种程序引导模式,表1显示了引脚BMODE[1:0]的值和引导模式的关系。

       对任何一种模式,引导程序会根据模式引脚选择的外部程序存储器的类型,先读出一个10个字节的文件头(Header)。文件头由4个字节的目的地址、4个字节的传输数据数量(字节数)和2个字节的控制标志组成。如果用户程序或数据需要放在DSP内存的不同地址块,可以采用分块引导的方式来进行数据加载,每个块(Block)用不同的文件头描述。一旦所有的块装载完毕,处理器将结束引导进程,并从L1指令存储器的起始地址(0xFFA00000)开始执行放在这里的用户代码。文件头中控制标志描述了块的一些属性。图4是引导时的数据流和文件头格式。

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

图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程序可在线升级等特点。

关键字:MSP430  Blackfin  程序引导 引用地址:利用MSP430实现Blackfin DSP的程序引导

上一篇:基于MSP430F449的悬挂运动控制系统设计
下一篇:基于MSP430的车体自动调平系统

推荐阅读最新更新时间:2024-03-16 12:58

初识MSP430F5438A单片机
德州仪器MSP430系列超低功耗微控制器种类繁多,各成员器件配备不同的外设集以满足各类应用的 需要。该架构与多种低功耗模式配合使用,是延长便携式测量应用电池寿命的最优 选择。该器件 具有 一个强大的 16 位 RISC CPU,使用 16 位寄存器以及常数发生器,以便获得最高编码效率。该数控振荡器 (DCO) 可在 3.5µs(典型值)内从低功率模式唤醒至激活模式。 MSP430F543xA 和 MSP430F541xA 系列微控制器配置包括三个 16 位定时器、一个高性能 12 位 ADC、多达四个通用串行通信接口 (USCI)、一个硬件乘法器、DMA、具有报警功能的 RTC 模块和多达 87 个 I/O 引脚。
[单片机]
初识<font color='red'>MSP430</font>F5438A单片机
Msp430时钟设计与寄存器说明
4.1基础时钟模块+介绍 基础时钟模块+支持低系统消耗和超低功耗。采用三种片内时钟信号,用户可以选择合适 的性能和低功耗。基础时钟模块只需接一个外部电阻、一个或两个外部晶体、或者用振荡器, 通过软件控制。 基础时钟模块+有4 个时钟源: LFXT1CLK:由低频时钟晶体或外接32768Hz 时钟源产生的低频/高频振荡器或由标准晶 体、振荡器,或外部400KHz~16MHz的外部时钟源提供。 XT2CLK:可供选择的高频振荡器,由标准晶体、振荡器,或外部400KHz~16MHz 的外 部时钟源提供。 DCOCLK:片内可数字控制的振荡器。 VLOCLK:片内超低功耗、12KHz 的低频振荡器。 基础时钟模块可提
[单片机]
<font color='red'>Msp430</font>时钟设计与寄存器说明
MSP430 ADC12采样转换模式详解
一、ADC12转换模式 ADC12提供4种转换模式: 单通道单次转换 对选定的通道进行单次转换要进行如下设置: x=CSStartAdd,指向转换开始地址 ADC12MEMx存放转换结果 ADC12IFG.x为对应的中断标志 ADC12MCTLx寄存器中定义了通道和参考电压 转换完成时必须使ENC再次复位并置位(上升沿),以准备下一次转换。在ENC复位并再次置位之前的输入信号将被忽略。 序列通道单次转换 对序列通道进行单次转换要进行如下设置: x=CSStartAdd,指示转换开始地址 EOS(ADC12MCTLx.7)=1标志序列中最后通道y,非最后通道的EOS位都是0,表示序列没有结束。 ADC12MEMx,...AD
[单片机]
MSP430F5529&LCD1602程序
代码 LCD1602.c #include msp430.h #include string.h #include LCD1602.h #define CPU_F ((double)8000000) #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) #define DataDir P3DIR #define DataPort P3OUT #define Busy 0x80 #define
[单片机]
基于MSP430及USB总线的便携式血压计的设计
  目前,市场上的血压计大部分仍是水银血压计,电子血压计在国外已经大量普及,而我国才开始应用。水银血压计每次测量必须由医生戴上听诊器进行测量,测量过程复杂,而且不同的医生,测量结果可能不同。而电子血压计弥补了水银血压计的不足。本文使用低功耗MSP430单片机对人体血压信号进行采集,通过USB控制芯片CH375将这些数据存储到U盘中,可以通过PC机的软件分析一天中血压的变化。   1 硬件设计   1.1芯片介绍   MSP430是近几年流行的16位单片机,由于它具有超低功耗(在5V电压下运行于12MHz的80C51工作电流达到十几mA;而MSP430在3V时的工作电流为340μA,在2.2V的工作电流为220μA)、众多的片
[单片机]
基于<font color='red'>MSP430</font>及USB总线的便携式血压计的设计
电力传输线路监测系统的设计与实现
0 引言 为解决人工调整电力传输线路中偏相观测难、记录难、校准难这三大难题。该设计通过对软硬件的设计,实现了较长时间、无间断地对电力传输线路中电流、电压、零序电流、功率因数、有功功率、无功功率、视在功率、基波及谐波电能的监测、记录和存储。该设计采用MSP430F135单片机为控制核心,结合电压、电流互感器、DSP 电能芯片、人机接口、声光报警电路和信号处理电路等实现对电力传输线路参数的监测,该系统能利用存放在U 盘中长时间采集的数据在上位机进行曲线分析,为电力部门调整线路负荷提供科学、可靠的依据。 1 系统设计方案 1.1 DSP 电能芯片的选择 该设计选用DSP 电能芯片,此芯片具有七路二阶16 位sigma-d
[单片机]
电力传输线路监测系统的设计与实现
一文读懂MSP430系列与89C5l系列的差异
msp430系列单片机是一种新型的16位单片机,主要特点就是功耗小,速度快,主要开发语言是c。开发环境有iar集成开发环境。 msp430单片机有不同系列,有f系列,c系列。比如f系列msp40f135表示的是rom是flash型的。常用的是f系列的13系列14系列。13系列的有msp430f133和msp430f135两种。14系列的有msp430f149msp430f144等。 比如msp4301f149有60KB的flash和2KB的ram。比起51的算是很大了。 c51单片机比较有代表性的如64KB的flash和1KB的ram算是很大了。 51单片机和430单片机的主要区别是51是8位的,430是16位的。开发
[单片机]
一文读懂<font color='red'>MSP430</font>系列与89C5l系列的差异
低功耗MSP430单片机在3V与5V混合系统中的逻辑接口技术
摘要:低功耗MSP430单片机与传统的LSTTL、HCMOS和CMOS接口技术,特别阐述了3V器件具有5V容限的特点,介绍两种电平移位器。 关键词:单片机 接口电路 微机硬件 MSP430超低功耗微处理器是TI公司推出的一种新型单片机。它具有16位精简指令结构,内含12位快速ADC/Slope ADC,内含60K字节FLASH ROM,2K字节RAM,片内资源丰富,有ADC、PWM、若干TIME、串行口、WATCHDOG、比较器、模拟信号,有多种省电模式,功耗特别小,一颗电池可工作10年。开发简单,仿真器价格低廉,不需昂贵的编程器。 MSP430其特点有:1.8V~3.6V低电压供电;高效16位RISC CPU可
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved