当前位置:首页 > 测试测量 > 测试测量
[导读]前言DSP系统的引导装载是指在系统加电时,由DSP将一段存储在外部非易失性存储器中的代码移植到内部高速存储器单元并执行的过程。这种方式即可利用外部存储单元扩展DSP本身有限的ROM资源,又能充分发挥DSP内部资源的高

前言

DSP系统的引导装载是指在系统加电时,由DSP将一段存储在外部非易失性存储器中的代码移植到内部高速存储器单元并执行的过程。这种方式即可利用外部存储单元扩展DSP本身有限的ROM资源,又能充分发挥DSP内部资源的高速效能。因此,引导装载系统的性能直接关系到整个DSP系统的可靠性和处理速度,是DSP系统设计中必不可少的重要环节。在装载系统中,外部非易失性存储器和DSP的性能尤为重要。FLASH是一种高密度、非易失性的电可擦写存储器,而且单位存储比特的价格比传统EPROM要低。为此,本文介绍了TMS320C6713浮点DSP芯片和SST公司提供的SST39VF400A FIASH存储器的基本特点,给出了使用该FLASH存储器设计和实现完整的TMS320C6713 DSP引导装载系统的具体方法。

1 硬件设计

1.1主要芯片介绍

DSP自动引导装载系统主要使用DSP芯片(TMS320C6713)和外扩存储器(SST39VF400A)两种芯片来实现。其中TMS320C6713是一款高性能的32位浮点DSP,适用于专业音频信号处理。该芯片的内部结构是在TMS320C62XX的基础上加以改进制成的。其内部集成了多个功能单元,并采用了先进的VLIW体系结构及流水线技术;它采用3.3 V的I/O电压和1.8 V的内核电压供电方式。并具有两级cache缓存结构。除此之外,它还有以下两个主要特点:

第一是运行速度快。德州仪器公司(TI)推出的这一款300 MHz的TMS320C6713数字信号处理器(DSP)的处理速度高达1800 MFLOPS。TMS320C6713可以使用的工作时钟和对应指令周期表如表1所列。

 

 

其次是精度高。TMS320C6713有三个因素影响着浮点格式的内在高精度。首先,浮点DSP的24位I/O字长在整数与实数值方面可实现比定点器件中常用的16位字长更高的精确度。第二,取幂大幅提高了应用可用的动态范围,较大的动态范围对处理极大数据集以及难以方便预计数据集范围的情况相当重要。第三,硬件内部的浮点数据表示法比定点器件更为精确,这就保证了最终结果的更高精确度。

SST39VF400A是SST公司推出的FLASH存储器。该器件十分适合用作外扩存储器,它的存储容量为4 MB,采用3.3 V单电源供电,因而无需额外提供高电压即可通过一些特殊的命令字序列来实现对各个子模块的读写和擦除,并可重复十万次以上,此外,还可通过I)SP编程来实现对它的读写操作,十分适合于系统的调试和开发。

1.2系统硬件接口设计

DSP访问片外存储器主要通过外部存储器接口(EMIF)完成。它不仪具有很强的接口能力(可以和各种存储器直接接口),而且具有很高的数据吞吐能力(高达l 200 MB/s)。TMS320C6713的EMIF能支持8位、16位和32位宽的所有存储器,当从这些窄位宽的存储空间读写数据时,EMIF会将多个数据打包成一个32位的值,而不必增加额外电路。TMS320C6713与SST39VF400的接口电路设计如图1所示。该电路主要通过DSP的相关输出管脚来控制FLASH的擦除和读写。其中。A0~A19为地址线,DQ0~DQ15为数据线OE和WE分别为输出使能和写使能,CE1为片使能。由于TMS320C6713默认的引导模式是从外部CEl空间的16位FLASH来引导装载,所以,TMS320C6713的CEl和FLASH的片选CE相连。

 

 

.

2 软件设计

本引导装载系统主要由用户应用程序和FBTC (the FLASHBurn Targel Component)程序两部分构成,图2所示是基于CCS的Flash存储器烧写系统框图。其中,用户程序除了要完成用户设计要求外,还要对DSP板上的EMIF寄存器进行设置;FBTC程序则包括FLASH存储器烧写算法、初始化操作、地址映射等。

 

 

2.1用户程序设计

用户可根据设计要求及实际算法编写用户主程序。除此之外,用户还要根据自己的目标板上存储器分配进行配置。TMS320C6713芯片上电后。若选择从EMIF引导程序,DSP则自动将位于地址空间CE1(Ox90000000~Ox9FlFFFFFFl开头的1KB代码传输到地址空间0处。它的数据传输采用默认时序,用户可以选择外部程序存储器的宽度(8位/16位/32位),然后由EMIF自动将几次读入的数据合成为32位数据。传输由DSP中的ED-MA通道以单帧形式自动进行。传输完成后,程序从地址0处开始运行。因此,要在TMS320C6713中实现基于FLASH的自引导功能,必须将FLASH配置在DSP的CEl地址空间中。

在这里,用户要编写的EMIF配置文件是c6713- emif.s62,其程序设计代码如下:

事实上,除了要对EMIF进行配置外,用户还必须在链接文件中为某些段制定两个不同的地址:一个是导人地址,一个是运行地址。导入地址用来决定装载器把段的原始数据放在何处,而运行地址就是该段代码运行的地址。制定两个地址的目的是为了加快代码执行速度。它们的链接可由*.cmd文件来实现。对存储器的设置如下:

IRAM:origin=00000000h length="0000FAooh" (内部RAM)

FLASH-BOOT:origin=Ox90000000 length="00000400h" (存储自举代码)

FLASH-REST:origin=0x90000400 length="000lfcOOh" (存储主程序代码等)

在完成用户主程序、EMIF配置文件、链接命令文件后,就可利用TI公司的DSP集成开发环境CCS进行编译、调试及链接,以生成用户应用程序的目标文件*.OUt。

2.2 FBTC程序的设计

FBTC程序主要是针对DSP目标板上的FLASH存储器进行操作。即通过一定的编程命令序列来控制FLASH的工作方式。这些命令序列是一些特定字符的组合,只要向FLASH中的特定寄存器以特定的顺序输入这些字符,即可进人相应的编程模式。SST39VF400中的主要命令和写入地址如表2所列。FBTC程序主函数的状态图如图3所示。

 

 

图3中的信息处理函数可依据FlashBurn编程协议提供的信息格式来设计;命令处理函数主要包括FLASH的擦除、读取和烧写。同样的,FBTC程序设计完成后,也可利用TI公司的DSP集成开发环境CCS进行编译、调试及链接,从而生成FBTC程序的目标文件*.out。

3 FLASH的烧写

对FASH存储器进行烧写一般有以下几种方法:一是通过编程器烧写;二是通过开发商提供的专门烧写软件工具进行烧写;三是自己编写烧写程序通过DSP烧写。本文是通过TI公司提供的FlashBum软件来对FLASH存储器进行烧写。将FlashBum与CCS、HEX文件转换工具以及FBTC配合使用,可以方便快捷地将用户数据与程序写入FLASH存储器。FlashBurn采用图形化界面,使用方便,用户只要简单配置几个操作参数,即可实现对FIASH存储器进行擦除、烧写和查看内存内容等多项功能操作。其具体步骤如下:

(1) 编写用户程序,通过CCS编译、链接生成目标文件user.out:

(2) 编写FBTC程序,通过CCS编译、链接以生成目标文件FBTC.out:

(3) 编写hex6x命令文件(*.cmd),并利用hex6x来执行这个文件,然后将用户目标文件user.out转换为十六进制格式usei.hex。

hex6x命令文件如下:

use.out

-a

-memwidth 8

-image

-map user.map

ROMS

{

FLASH:org=0x90000000,len=Ox0040000,

romwidth="8",files={user.hex}

}

SECTTONS

{

.boot_load/*:PADDR=Ox90000000*/

.text

.cinit

}

(4) 打开FlashBurn软件,新建一个*.cdd文件并设置,其设置示意图如图4所示;

(5) 装载FBTC.out,然后再擦除和烧写FASH;

(6) 去掉仿真器并复位DSP目标板,以使程序自动加载运行。

4 结束语

按照上述步骤将用户应用程序成功下载到FLASH后,再将DSP目标板脱离仿真器并重新上电复位,其用户应用程序便可正常运行。而且FLASH擦除和烧写速度比较快。该方法成功解决DSP程序的脱机引导加载问题。事实上,根据不同的应用,也可以参考本设计中实现方法,以求简单、有效地解决FLASH存储器的自举问题。

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

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 隧道灯 驱动电源
关闭