首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

可在线更新应用程序代码的DSP自举模块

可在线更新应用程序代码的DSP自举模块

针对现有DSP自举模块普遍存在程序代码更新不便的缺陷,提出了一种可便捷高效地在线更新用户应用程序代码的DSP自举模块。该模块由基于LabVIEW的图形用户界面(GUI)软件与C8051F340单片机构成。GUI软件完成DSP应用程序代码的格式转换,并通过驱动USB将转换完成的程序代码传送给C8051F340。C8051F340通过其片上USB外设接收DSP程序代码并存储于片上FLASH中,同时借助标准串行总线控制DSP完成应用程序代码的自举操作。该模块采用在线方式,可一键实现DSP应用程序代码的更新升级与自举操作。
TMS320VC54x系列DSP作为一种低功耗高速处理器在消费电子、通信等领域应用广泛[1-2]。通常为实现DSP程序代码的高速运行,一般需要将DSP的应用程序代码存储于DSP片内RAM中运行,但TMS320VC54x处理器是RAM型器件,掉电后DSP不能保存任何用户应用程序代码。因此,基于该型DSP的电子系统通常需要设计自举模块。所谓“自举”是指:DSP芯片内的程序引导装载器(Bootloader)自动地将DSP应用程序代码从DSP外部非掉电易失存储器加载到片内RAM中,脱离仿真器模式独立运行的过程。

TMS320VC54x系列DSP有两类自举方式:基于静态存储器(如:EEPROM、FLASH)的自举方式和基于处理器的自举方式。基于静态存储器的DSP自举方式[3-4]使用外扩的静态存储器存储DSP程序代码,由于该方式无需外加控制器干预,因此具有电路简单等优点。基于处理器的DSP自举方式[5-6],利用单片机存储DSP程序代码并控制DSP完成自举,具有可有效控制DSP自举时机,可灵活选择自举通信接口等优势。然而,无论哪类自举方式,要更新DSP应用程序代码都需要先将DSP开发软件CCS编译产生的.out程序代码文件通过一系列的格式转换,生成DSP自举所需的程序代码格式,并将得到的代码移植到DSP应用系统片外扩展的静态存储器或单片机中存储。显然,传统DSP自举模块的上述程序代码更新操作非常麻烦。为此本文提出一种便捷高效的DSP自举模块。借助该模块,用户无需熟悉DSP自举设计过程,便可一键实现DSP程序代码的更新升级与自举操作。

1 方案设计

DSP开发软件CCS编译生成的.out文件不能直接用来自举,需要将其进行一系列繁琐的格式转换得到合适的格式并移植到DSP的外部存储器进行自举[7]。为解决该问题,本模块通过基于LabVIEW的GUI软件完成上述转换并控制代码移植到外部存储器。如图1所示。GUI软件首先将.out文件转换为.hex格式,并将得到的.hex文件转换为方便DSP自举的.dat格式。之后GUI通过USB将数据传送给C8051F340单片机完成DSP程序更新。C8051F340是一款可提供USB功能并具有较大FLASH存储空间的混合信号微控制器。本模块使用其片上FLASH作为DSP的外部存储器,可省去外扩存储设备,节约成本,简化电路。自举开始时,单片机将FLASH中的代码数据通过标准串行自举方式传送给DSP,控制DSP的自举。标准串行自举与其他自举模式相比,占用DSP硬件资源少、电路简单。通过本模块,开发者可在PC机上实现一键完成DSP代码更新。



图1 DSP自举模块系统框图



2 硬件设计

本模块使用C8051F340的片上FLASH作为DSP的外部存储器。C8051F340通过标准串行接口与DSP通信,通过USB与处理代码格式转换的GUI软件通信。如图2所示,虚线框1为3线制的标准串行总线,负责数据的传输。虚线框2为复位与握手信号。DSP的bootloader通过拉低XF引脚通知单片机DSP已准备好接收数据;而单片机通过P1.3引脚拉低ˉRS来复位DSP。C8051F340与PC机通过USB连接。如图2所示,VBUS为USB电缆VBUS引线的感应输入端,当该引脚出现5V高电平信号时,表示该设备已经和主机连接好。D+、D-为USB的差分信号线,D+信号线接1.5k的上拉电阻R1使USB设备工作于高速。电容C1、C3为15pF的滤波电容。为了消除差模干扰,两信号线连接大小为33pF的电容C2。REGIN为C8051F340片内电压调节器的输入端。VDD为C8051F340片内电压调节的3.3V输出端。通过将REGIN和VDD短接,C8051F340被配置为USB固件自供电,片内稳压器禁止的工作模式。另外,C8051F340电路模块中,通过C2调试接口(包括C2CK时钟信号和C2D双向数据信号)连接JTAG对单片机程序进行烧写和调试。



图2 自举模块主要硬件连接关系图
返回列表