当前位置:首页 > 电源 > 数字电源
[导读]TMS3.0VC5409 是TI公司推出的第一代的高性能、低价位、低功耗数字信号处理器(DSP)。与现在流行的TMS320C5409相比,性能提高了60%,功耗效率提高了 50%。它的应用对象大多是要求能脱机运行的内嵌式系统,如机顶盒(

TMS3.0VC5409 是TI公司推出的第一代的高性能、低价位、低功耗数字信号处理器(DSP)。与现在流行的TMS320C5409相比,性能提高了60%,功耗效率提高了 50%。它的应用对象大多是要求能脱机运行的内嵌式系统,如机顶盒(STB)、个人数字助理(PDA)和数字无线通信等。闪烁存储器FLASH MEMORY)是可以在线电擦写、掉电后信息不丢失的存储器。FLASH与EPROM相比,具有更高的性能价格比,而且体积小、功耗低、擦写速度快、使用比较方便。因此,采用FLASH存储程序和固定数据是一种比较好的选择。AMD公司的Am29LV400B FLASH可以直接与DSP相接。

  1 Am29LV400B的主要特点及编程方法

  Am29AL400B是AMD公司新推出的256K×16位产品,具有以下主要特点:

  (1)支持单电源操作,可分为满负荷电压供电(2.7V~3.6V)和电压范围可调节(3.0V~3.6V)和电压范围可调节(3.0V~3.6V)供电两种方式。满幅度电压供电压供电方式主要用于电池供电的应用中,而电压范围可调节供电方式直接与3.3V的高性能DSP接口,简化了系统的电源要求。

  (2)最快的存取速度高达55ns,CMOS工艺,具有100000次写入/擦写寿命。

  (3)低功耗(200nA的自动休眠电流,200nA的待命电流,7mA的读电流,15mA的编程/擦除电流)。

  (4)灵活的块结构支持整片擦除、块擦除。整片分为11个块(1块8K字、2块4K字、1块16K字、7块32K字)。

  (5)块保护功能,具有防止对任何区段进行编程或擦除的硬件保护机制。

  (6)与JEDEC标准兼容,引脚分布和命令集与单电源FLASH相兼容,具有优越的防止意外编程的保护功能。

  (7)数据查询位和数据切换位,可以通过软件方法检测编程/擦除操作的状态。

  (8)Ready/Busy#管脚,可以通过硬件方法检测编程/擦除操作的状态。

  (9)具有擦除暂停/擦除恢复功能。在暂停擦除操作过程中,支持读写不处于擦除状态的块。

  (10)内嵌的擦除/编程算法能自动对整个芯片或某几个块进行擦除编程操作。

  Am29LV400B编程和擦除算法的命令定义如表1所示。

  表1 Am29LV400B命令定义

  表中,RA为要读的存储器地址;RD为从存储器地址RA处读出的数据;SA为要擦除的段地址;PA为要写入数据的存储器地址;PD为要在地址PA处写入的数据。根据表中的命令定久可编制FLASH的“烧写”和“擦除”程序(用C语言和汇编语言混合编程实现)。根据需要,我们编制了“烧写”单字和“烧写”多字的程序。[!--empirenews.page--]

  2 硬件电路组成

  DSP 存储区硬件接口电路如图1所示。主要由5部分组成:DSP处理器-TMS320VC5409、系统逻辑控制电路(采用CPLD-EPM7128实现)、闪存FLASH-Am29LV400B(256K字的FLASH用来存储应用程序和初始化数据)、程序存储器SRAM1-IDT71V416S12PH(容量为256K字)、数据存储器SRAM2-IDT71V016S12PH(容量为64K字)。逻辑控制电路主要由3个模块组成:FLASH页选控制模块、读/写控制模块、程序空间/数据空间/FLASH切换控制模块。图中,CPLD的输出FMSEL为FLASH的片选脚;PMSEL为程序空间的片选脚; DMSEL为数据空间的片选脚。

  FLASH分为8页,每页32K,通过CPLD中的FLASH页选控制模块(Page0~Paeg2)实现FLASH翻页功能。为实现FLASH引导装载,FLASH物理空间的前32K映射到TMS320VC5409的数据空间0x8000h~0xFFFFh上,即TMS320VC5409的数据空间 0x8000h~0xFFFFh为FLASH的前32K空间。为了重点说明FLASH的引导装载过程,本文只谈及DSP片内程序存储空间以及FLASH前 32K字的使用情况。

  3 TMS320VC5409 DSP的引导装载方式

  TMS320VC5409芯片具有两种引导方式:片内引导方式和片外执行方式。片内引导方式就是利用片内ROM中的引导程序将程序从外部加载到程序存储器中运行。由于FLASH的速度较低,难以与DSP相匹配,因此,本文采用片内引导方式。

  TMS320VC5409 片内掩模ROM中固化的引导装载(Bootloader)程序用于在上电复位时把用户程序从外部引导到高速RAM中,以保证其全速运行。 TMS320VC4509提供的片内引导方法有:有机口HPI方法、8位或16位并行EPROM方法、8位或16位并行I/O方法和8位或16位串行口方法等。TMS320VC5409片内引导装载源程序可以在TI网络下载得到,读者可以自行分析。下面通过图2所示的引导过程框图,阐述一下本文选用的并行引导方式过程。

[!--empirenews.page--]

  上电复位后,TMS320VC5409检测其MP/MC引脚,如果MP/MC="0",DSP从0xFF80h处开始执行片内引导装载程序。进入引导程序后,如有INT2请求中断,则进入HPI 引导方式;如有INT3请求中断,则进入EEPROM串行口引导方式;否则就进入并行引导方式。其详细引导过程如图3所示。

  片内并行引导方式前半部件是I/O空间并行引导方式,我们不采用此方式,程序继续运行直到从数据空间0xFFFFh地址读入一个地址数据,此数据为用户自举表的入口地址。这时片内引导程序就开始执行FLASH中的用户自举表,若自举表的第一个字是0x10AA,则表示是16位并行引导模式。

  4 FLASH中自举表(Boottable)的存储格式

  为了实现DSP加电自举,FLASH的数据必须按照自举表的格式“烧写”。自举表的作用是:DSP运行此表时,首先根据自举表中前部分用户起始地址把后面的用户程序代码加载到DSP片内程序空间中相应的用户地址区域(由于FLASH与DSP时间不匹配,要设置好SWWR和BSCR寄存器),然后根据自举表中的程序入口址,在程序空间相应的地址开始运行程序。表2为16位并行自举的代码结构(自举表在空间允许的情况下可以放几个程序代码段,为便于说明,在此只说明一个程序代码段的情况)。

  表2 并行自举表的代码结构

  下面结合一个实例,说明利用hex500命令生成二进制数据自举表的方法。

  (1)所编写的一个用户程序名为myblink.C,在编译链接成功后生成的输出文件名为myblink.out;程序空间的开始地址为0x1400h,程序执行的入口地址为0x144Fh。利用hex500工具,生成文件名为myblink.hex的二进制数据,hex500命令后添加如下条件:

  mybilink.out ;要转换的.out文件[!--empirenews.page--]

  -a ;生成ASCII码的形式

  -e 0x144Fh ;程序空间中程序运行的开始

  地址

  -boot ;转换成自举表的形式

  -bootorg PARALLEL ;并行格式

  -byte ;按字节分配地址

  -memwidth 16 ;系统存储器字宽度为16位

  -romwidth 16 ;ROM物理宽度为16位

  -swwsr 0x7FFFh ;SWWSR设置软件等待周期

  -bscr 0xF800h ;BSCR设置段开关控制寄存器值0xF800

  -o myblink.hex ;输出的二进制数据文件名

  (2)生成的进制数据文件myblink.hex的数据为:

  0x10AA 0x7FFF 0xF800 0x0000 0x144F 0x00D1 0x0000 0x1400 …(用户程序代码)… 0x0000;

  前8个数据解释分别为:

  0x10AAh:16位并行寻址格式;

  0x7FFFh:SWWSR初始值为0x7FFFh,因为FLASH的运行速度比DSP慢,等待7个周期;

  0xF8000h:BSCR初始值为0xF800h;

  0x0000h:自举表程序入口的XPC=0;

  0x144Fh:自举表程序入口的地址=0x144Fh;

  0x00D1h:自举表程序的长度=0xD1h;

  0x0000h:自举表起始地址XPC=0;

  0x1400h:自举表的起始地址=0x1400h。

  (3)编写一个数据转换程序,把二进制数据文件myblink.hex转换为数组头文件myblink.h。在CCS环境下,FLASH的“烧写”主程序包含此头文件,编译链接后通过仿真器下载到DSP中,运行DSP,用户程序就被“烧入”FLASH中了。

  实际应用是:在数据空间地址0xFFFFh(也就是FLASH的空间0xFFFFh)中“烧写”数据0x9000h(FLASH中存放的自举表起始地址),在FLASH的地址0x9000h开始“烧入”用户自举表数据即myblink.h中的数组数据。

  DSP 运行情况是:依据第3节所述的引导装载过程,经过一系列的设置,使DSP寻址到数据空间地址0xFFFFh,得到自举表的起始地址0x9000h,PC指针指向0x9000h,执行自举表的数据,根据自举表写入信息,把后面的程序装载入程序空间起始地址0x1400h(XPC=0)(这时通过仿真器查看程序空间0x1400h开始的数据,与仿真器下载的myblink.out文件数据是一致的)。然后,DSP的PC指针指向程序入口地址0x144Fh (XPC=0)开始执行用户程序,从而完成了DSP利用FLASH实现16位并行引导装载的过程。

 

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

马斯克旗下的SpaceX公司正式推出航空专用星链(Starlink)卫星互联网服务,抢夺航班WiFi市场。如果想让私人喷气式飞机连上星链,先要安装SpaceX天线,收费15万美元。装完硬件每月还要交一笔可观的服务使用费,...

关键字: 飞机 SPACEX LINK Wi-Fi

我们知道 Flash 读时序里有五大子序列 CMD + ADDR + MODE + DUMMY + READ,前面的文章中痞子衡讲过《串行NOR Flash的Continuous read模式》,Continuous r...

关键字: CMD ADDR Flash

南京2022年10月17日 /美通社/ -- 日前《2022第三届中国高端家电品牌G50峰会》于浙江宁波落幕,来自两百余名行业大咖、专家学者共同探讨了在形势依然严峻的当下,如何以科技创新、高端化转型等手段,帮助...

关键字: LINK AI BSP 智能家电

马斯克(Elon Musk)旗下的SpaceX公司已开始在日本提供运用卫星通信技术的互联网服务“Starlink(星链)”。日本是首个展开该服务的亚洲国家。该公司打算用该服务来抓住日本的山区和离岛等确保通信手段的需求。官...

关键字: LINK ST SPACEX 互联网

南京2022年10月10日 /美通社/ -- 什么样的家才是"健康的家"?人们对这个老生常谈的问题似乎都给出过不同的答案。在疫情尚未消散的今天,越来越少走出家门的人们更是关注家庭环境的健康舒适。而一直...

关键字: LINK AI 燃气 热泵

Flash Memory 是一种非易失性的存储器。在嵌入式系统中通常用于存放系统、应用和数据等。在 PC 系统中,则主要用在固态硬盘以及主板 BIOS 中。

关键字: Flash 存储器 嵌入式系统

为增进大家对存储器的认识,本文将对单片机中的程序存储器、数据存储器以及二者的区别予以介绍。

关键字: 程序存储器 指数 存储器

为增进大家对存储器的认识,本文将对PLC内部常用存储器的使用规则予以介绍。

关键字: 存储器 指数 PLC

为增进大家对存储器的认识,本文将对随机存储器、只读存储器以及二者的区别予以探讨。

关键字: 随机存储器 指数 存储器

南京2022年10月8日 /美通社/ -- 近日,由中国建材工业经济研究会装配式建筑和绿色发展分会主办的第九届"宜居中国"装配式内装修产业发展大会在北京举办。家电巨头A.O.史密斯获颁&qu...

关键字: AI LINK BSP 燃气

数字电源

15504 篇文章

关注

发布文章

编辑精选

技术子站

关闭