资料介绍
随着数字信号处理技术的快速发展,数字信号处理器(DSP)越来越广泛地应用于各种实时嵌入式系统中。当系统调试完毕,想脱离仿真环境并在上电复位后自动启动程序代码运行时,必须将程序代码存储在非易失性存储器中。Flash存储器以其大容量和可在线编程等特点已成为DSP系统的一个基本配置。在系统上电复位后,DSP芯片内部固化的引导装载器(Bootloader)把应用程序从Flash引导到DSP芯片内高速 RAM中执行。这样既利用了外部存储器扩展DSP有限的ROM资源,又可以充分保证用户程序的全速运行[1-2]。
本文采用德州仪器公司的16位定点DSP芯片TMS320VC5509A(以下简称5509A),其PGE封装形式只有14根地址总线(A0~A13),最大只能寻址16KB的Flash存储器[3]。若要寻址更大地址空间,就需要控制Flash存储器的高位地址线。常见的解决方案是采用DSP的通用输入输出GPIO(General Purpose Input/Output)引脚来控制Flash的高位地址线,从而实现Flash存储器的分页访问[5-6]。然而,对于较大容量的Flash存储器,如本文采用的Am29LV800的容量为512K×16bit,有19根地址线[4],如果采用上述方法,硬件连接虽然简单,但会占用较多的GPIO引脚,而且以后的系统扩展也不方便。本文介绍了一种基于CPLD快速译码的DSP二次引导方法,利用CPLD的时序严格、译码速度快、可在线编程等特点,在 DSP的外部存储器接口EMIF(Exteral Memory Interface)的CE2空间模拟了一个Flash换页寄存器FPR(Flash Page Register),在上电复位后控制Flash的高位地址线,从而实现Flash的分页访问。因此,可通过二次bootloader程序修改FPR的值,控制Flash的高位地址线,将最终的应用程序加载到RAM中运行。
1 TMS320VC5509A的并行引导模式
1.1 5509A的引导模式
5509A的引导模式选择是通过4个模式选择引脚BOOTM[3:0]来配置的,BOOTM3~0引脚分别与GPIO0、3、2、1相连。5509A提供了六种引导模式,即EHPI引导模式、8位/16位并行EMIF引导模式、8位/16位标准串行口引导模式、SPI EEPROM引导模式、USB引导模式以及I2C E2PROM引导模式。本文采用16位并行EMIF引导模式,将BOOTM[3:0]设置为1011即可。
在16位并行EMIF引导模式下,DSP芯片内部固化的Bootloader程序上电复位后,首先从CE1空间首地址0x200000h处开始读取程序代码,并加载到RAM中运行。
1.2 5509A的引导表格式
程序代码以引导表的格式存储在Flash存储器中。引导表是独立于所选引导模式的一种特定的格式,包含了用户程序的代码段、数据段、段在RAM中的目标地址以及程序入口地址等其他相关信息。5509A引导表结构如表1所示。
DSP芯片内部固化的Bootloader的主要功能是将Flash中存储的引导表按一定顺序加载到 RAM中,然后跳转到32位程序入口地址开始执行。引导表文件可以通过TI公司提供的16进制转换工具生成,一般是hex格式,然后将此hex文件烧写到 Flash存储器中供Bootloader加载。
2 DSP二次Bootloader的原理及实现
由上述分析可知,DSP用户程序的并行加载过程是由DSP内固化的Bootloader实现的。由于5509A的PGE封装只有14根地址线,最多只能访问到16K×16bit地址空间。对于超过16KB的用户代码,Bootloader将不能加载全部的引导表文件。因此若要加载超过16K的用户代码,必须进行二次Bootloader。
二次Bootloader的原理是由用户自行编写一个代码长度小于16KB的引导程序(以下简称 uboot),其功能与DSP内固化的Bootloader相同,用于加载最终的用户代码。在uboot程序中控制Flash存储器的高位地址线来访问 Flash的其他存储内容。这样,DSP上电复位后,Bootloader首先加载uboot并运行,然后uboot又加载最终用户代码,实现了大于 16K代码的二次引导。
2.1 DSP与Flash及CPLD的硬件接口
本文采用AMD的 Am29LV800作为DSP的外部存储器扩展。Am29LV800按8位方式访问,容量为1M字;按16位方式访问,容量为512K字。DSP外围电路逻辑译码及Flash高位地址线模拟由CPLD实现。Xilinx公司的XC9572XL是一款高性能的CPLD芯片,最高主频可达178MHz,包含了 72个宏单元,1 600个可用门电路,其TQFP封装有72个可用I/O引脚[7]。图1是5509A与CPLD及Flash之间的硬件接口设计原理图。
如图1所示,5509A的地址线A[13:1]与Flash的地址线A[12:0],A0未用。Flash存储器被映射到DSP的CE1空间,由片选线CE1经CPLD译码后选通。其中DSP的地址线A13和A[3:1]与CPLD接口,用于换页寄存器FPR的模拟。Flash存储器的BYTE引脚经上拉后接高电平,即按16位方式访问。
本文采用德州仪器公司的16位定点DSP芯片TMS320VC5509A(以下简称5509A),其PGE封装形式只有14根地址总线(A0~A13),最大只能寻址16KB的Flash存储器[3]。若要寻址更大地址空间,就需要控制Flash存储器的高位地址线。常见的解决方案是采用DSP的通用输入输出GPIO(General Purpose Input/Output)引脚来控制Flash的高位地址线,从而实现Flash存储器的分页访问[5-6]。然而,对于较大容量的Flash存储器,如本文采用的Am29LV800的容量为512K×16bit,有19根地址线[4],如果采用上述方法,硬件连接虽然简单,但会占用较多的GPIO引脚,而且以后的系统扩展也不方便。本文介绍了一种基于CPLD快速译码的DSP二次引导方法,利用CPLD的时序严格、译码速度快、可在线编程等特点,在 DSP的外部存储器接口EMIF(Exteral Memory Interface)的CE2空间模拟了一个Flash换页寄存器FPR(Flash Page Register),在上电复位后控制Flash的高位地址线,从而实现Flash的分页访问。因此,可通过二次bootloader程序修改FPR的值,控制Flash的高位地址线,将最终的应用程序加载到RAM中运行。
1 TMS320VC5509A的并行引导模式
1.1 5509A的引导模式
5509A的引导模式选择是通过4个模式选择引脚BOOTM[3:0]来配置的,BOOTM3~0引脚分别与GPIO0、3、2、1相连。5509A提供了六种引导模式,即EHPI引导模式、8位/16位并行EMIF引导模式、8位/16位标准串行口引导模式、SPI EEPROM引导模式、USB引导模式以及I2C E2PROM引导模式。本文采用16位并行EMIF引导模式,将BOOTM[3:0]设置为1011即可。
在16位并行EMIF引导模式下,DSP芯片内部固化的Bootloader程序上电复位后,首先从CE1空间首地址0x200000h处开始读取程序代码,并加载到RAM中运行。
1.2 5509A的引导表格式
程序代码以引导表的格式存储在Flash存储器中。引导表是独立于所选引导模式的一种特定的格式,包含了用户程序的代码段、数据段、段在RAM中的目标地址以及程序入口地址等其他相关信息。5509A引导表结构如表1所示。
DSP芯片内部固化的Bootloader的主要功能是将Flash中存储的引导表按一定顺序加载到 RAM中,然后跳转到32位程序入口地址开始执行。引导表文件可以通过TI公司提供的16进制转换工具生成,一般是hex格式,然后将此hex文件烧写到 Flash存储器中供Bootloader加载。
2 DSP二次Bootloader的原理及实现
由上述分析可知,DSP用户程序的并行加载过程是由DSP内固化的Bootloader实现的。由于5509A的PGE封装只有14根地址线,最多只能访问到16K×16bit地址空间。对于超过16KB的用户代码,Bootloader将不能加载全部的引导表文件。因此若要加载超过16K的用户代码,必须进行二次Bootloader。
二次Bootloader的原理是由用户自行编写一个代码长度小于16KB的引导程序(以下简称 uboot),其功能与DSP内固化的Bootloader相同,用于加载最终的用户代码。在uboot程序中控制Flash存储器的高位地址线来访问 Flash的其他存储内容。这样,DSP上电复位后,Bootloader首先加载uboot并运行,然后uboot又加载最终用户代码,实现了大于 16K代码的二次引导。
2.1 DSP与Flash及CPLD的硬件接口
本文采用AMD的 Am29LV800作为DSP的外部存储器扩展。Am29LV800按8位方式访问,容量为1M字;按16位方式访问,容量为512K字。DSP外围电路逻辑译码及Flash高位地址线模拟由CPLD实现。Xilinx公司的XC9572XL是一款高性能的CPLD芯片,最高主频可达178MHz,包含了 72个宏单元,1 600个可用门电路,其TQFP封装有72个可用I/O引脚[7]。图1是5509A与CPLD及Flash之间的硬件接口设计原理图。
如图1所示,5509A的地址线A[13:1]与Flash的地址线A[12:0],A0未用。Flash存储器被映射到DSP的CE1空间,由片选线CE1经CPLD译码后选通。其中DSP的地址线A13和A[3:1]与CPLD接口,用于换页寄存器FPR的模拟。Flash存储器的BYTE引脚经上拉后接高电平,即按16位方式访问。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- DCDC二次电源辐射特性研究
- 基于光华逼近函数的求解凸二次规划方法 3次下载
- 简析获取单片机代码运行时间的方法资料下载
- 变压器的一次绕组和二次绕组的检测方法资料下载
- 一种双向隔离DC-DC变换器二次纹波电压抑制方法 7次下载
- 针对二次再热机组DEH建模分析 0次下载
- 通信用二次电源的网上设计方法 3次下载
- 基于马氏距离的二次电源状态判析方法_王凤茹 0次下载
- 基于二次特征压缩技术的油液监测方法研究_刘学工 0次下载
- LED路灯的二次光学设计 4次下载
- AutoCAD VBA二次开发教程 0次下载
- 新型二次电池材料
- 二次电池的特性和应用
- 基于CPLD的计数及LED译码电路
- 面向对象的参数化CAD二次开发方法研究
- 电力系统一次设备和二次设备区别,二次回路的分类 1310次阅读
- 关于二次回路工作的安全规定 3373次阅读
- 二次回路简述 675次阅读
- 氮化镓中铬含量的二次离子质谱分析方法研究 541次阅读
- 二次回路识图方法讲解(附案例) 2217次阅读
- 电流互感器二次侧接地的方法 2w次阅读
- 电流互感器二次侧接地原因 2.4w次阅读
- 二次回路的作用 8962次阅读
- 什么是二次设备?二次设备有哪些 5.3w次阅读
- 电气二次常见问题有哪些_40个电气二次常见问题盘点 5271次阅读
- 电流互感器二次侧是什么意思_电流互感器二次侧为什么不能开路 8.1w次阅读
- 二次电池是什么_二次电池有哪些_二次电池充放电方程式 2.3w次阅读
- 什么是一次电流_什么是二次电流_计算公式是怎样的 5.1w次阅读
- mapreduce二次排序_ mapreduce二次排序原理 6198次阅读
- 基于TDD-LTE终端二次谐波的抑制应用设计 2968次阅读
下载排行
本周
- 1新概念模拟电路第四册信号处理电路电子书免费下载
- 10.69 MB | 50次下载 | 免费
- 2SL6341B USB3.2 Gen1X1 接口的的4口HUB
- 2.94 MB | 5次下载 | 免费
- 3FT-7800R对讲机维修手册附原理图
- 3.35 MB | 2次下载 | 免费
- 4和芯润德USB3.0HUB芯片SL6341设计资料
- 2.58 MB | 2次下载 | 免费
- 5TPS80032原理图核对表
- 74.95KB | 2次下载 | 免费
- 6使用CR6850C设计并制作12V5A开关电源
- 1.53 MB | 2次下载 | 2 积分
- 7设计院eplan 500多页项目图纸
- 21.43 MB | 2次下载 | 1 积分
- 82.1 MHz类放大器电感选择指南
- 598.3KB | 1次下载 | 免费
本月
- 1新概念模拟电路第四册信号处理电路电子书免费下载
- 10.69 MB | 50次下载 | 免费
- 2SW6308V原理图设计指南
- 0.75 MB | 14次下载 | 1 积分
- 3SW6308V三口多协议升降压移动电源SOC中文手册
- 1.61 MB | 14次下载 | 1 积分
- 4纯电动汽⻋的主要部件及⼯作原理
- 5.76 MB | 12次下载 | 5 积分
- 5800VA纯正弦波逆变器的参考设计
- 2.96MB | 12次下载 | 免费
- 6GP328和GP88S对讲机的维修实列资料合集免费下载
- 0.03 MB | 10次下载 | 10 积分
- 7SW6308V寄存器手册
- 1.08 MB | 10次下载 | 1 积分
- 8IP5385_DEMO开发资料
- 1.96 MB | 8次下载 | 2 积分
总榜
- 1matlab软件下载入口
- 未知 | 935115次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191364次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183329次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73805次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65985次下载 | 10 积分
评论
查看更多