当前位置:首页 > 电源 > 数字电源
[导读] Blackfin处理器是ADI公司与Intel公司于2003年4月联合推出的一系列DSP产品,主要面向嵌入式音频、视频和通信等领域,除了具有强大的信号处理性能和理想的电源效率,还集成了32位的RISC精简指令集。ADSP-BF533是目前B

 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所示。

图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将以何种方式装载用户应用程序代码/数据。然后,按照用户选择的格式引导应用程序并执行。

图3  Blackfin应用程序引导过程[!--empirenews.page--]

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

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

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭