当前位置:首页 > 电源 > 数字电源
[导读]针对如何灵活应用高性能32/64位浮点DSP TMS320C672x提供的性能优良的外部存储器接口(EMIF),分析了EMIF的特点和使用技巧,以TMS320C6722B型DSP为例,设计了EMIF与外部HY57V281620A型SDRAM和异步AM29LV800BB-90EC型Flash的硬件接口,并分析了EMIF访问SDRAM和Flash时各控制寄存器配置的方法和具体步骤,列出了该配置命令下EMIF引脚与逻辑地址的对应关系和具体的软件编写例程;同时讨论了通过EMIF并行模式实现二次Boot的原理和方法

目前,DSP技术已广泛用于信号处理、通信和雷达等领域。TI公司的带EMIF扩展存储器接口的浮点DSPTMS320C672x系列是专为高速、高性能应用而开发的,主要应用于高速宽带、图像处理和高速铁路轨道信号处理等领域。DSP应用平台设计中,外部存储器接口(EMIF)是为DSP与外部设备之间提供连接。EMIF和外部器件SDRAM以及Flash的合理设计关系到系统的数据存储和程序加载。
    TMS320C672x系列浮点DSP的EMIF性能优良,增强了与外部1、2或4区的16位或32位SDRAM和异步器件连接的方便性和灵活性。TMS320C6722和TMS320C6726 EMIF宽度为16位,支持的SDRAM可达128 Mb;TMS320C6727EMIF宽度为32位,支持高达256Mb和512Mb的SDRAM。
    异步存储器接口是从并行的8位、16位或32位NOR Flash实现系统自启动。若使用大容量的Flash,EMIF连接Flash的高位地址线可通过外部器件CPLD或自身GPIO口扩展。

1 EMIF接口
    EMIF接口具有很强的外设连接能力,可寻址空间一般比较大,数据吞吐较快。EMW接口支持的器件包括同步突发静态RAM(SBSRAM)、同步动态RAM(SDRAM)、各种异步设备(SRAM、ROM和FIFO)以及同步FIFO。TMS320C672x的EMIF引脚结构如图1所示。


    其主要引脚功能如下:
    EM_A[x:0]:EMIF地址总线。当与SDRAM器件连接时,地址总线主要为SDRAM提供行地址和列地址。当与异步器件连接时,这些引脚与EM_BA引脚提供器件地址。
    EM_BA[1:0]:EMIF存储区地址线。与SDRAM连接时,为SDRAM提供存储区地址。与异步器件连接时,这些引脚与EM_A引脚共同提供器件地址。
    EM_WE_DQM[x:0]:低电平有效写触发或字节使能引脚。与SDRAM连接时,这些引脚与SDRAM的DQM引脚连接。在数据访问中分别使能/禁止每一字节。与异步器件连接时,这些引脚可作为字节使能(DQM)或字节写触发(WE)。
    EM_CS[0]和[2]:CS[0]为SDRAM器件低电平有效芯片使能引脚,当访问异步器件时此引脚失效,在完成异步存取后自动恢复其功能;CS[2]为低电平有效异步器件使能引脚,仅在访问异步存储器时有效。
    EM_RAS:低电平有效行地址选通引脚,与SDRAM的RAS引脚连接,用于向此器件发送命令。
    EM_CAS:低电平有效列地址选通引脚,与SDRAM的CAS引脚连接,用于向此器件发送命令。
    EM_CKE:时钟使能引脚,与SDRAM的CKE连接,发出自刷新命令,使器件进入自刷新模式。
    EM_CLK:SDRAM时钟引脚,EMIF时钟来自DSP的PLL控制器的SYSCLK3时钟模块。

2 EMIF与SDRAM的设计
   
这里以SDRAM(HY57V281620A)为例,说明EMIF和SDRAM的接口与配置,HY57V281620A是4 Bankx2MBx16 bit的SDRAM器件,可与TMS320C67 22 DSP无缝连接。图2是TMS320C6722型DSP与HY57V281620A型SDRAM的电路连接。


2.1 SDRAM的软件配置
   
在TMS320C6722的EMIF中有一组存储器映射寄存器,通过设置这些寄存器便可完成对SDRAM的配置,包括配置寄存器SDCR、刷新控制寄存器SDRCR、时序寄存器SDTIMR和自刷新退出时序寄存器SDSRETR。具体的配置代码如下:


2.2 SDRAM的软件操作
   
根据上面软件配置中IBANK和PAGESIZE字段的设置,图3列出了C6722 EMIF连接16位4区256字页面的SDRAM地址映射关系,其他系列地址映射关系参考TI资料。SDRAM读/写程序流程如图4所示。[!--empirenews.page--]


    EMIF控制SDRAM工作时,当行地址选通引脚EM_RAS有效时,SDRAM通过A0~A11获取行地址;当列选通引脚EM_CAS有效时,SDRAM通过A0~A11获取列地址。EMIF访问的外部SDRAM空间地址映射为0x80000000-0x8FFFFFFF,由表1的地址映射知,如果要存储16位的short int型数据到SDRAM,每次逻辑地址需要加2,如:*(short int*)(0x80000000+i*2)=short int i;存储32位的int型数据每次地址需要加4,如:*(int*)(0x80000000+i*4)=int i。

3 EMIF与Flash的设计
   
当DSP脱机运行时,系统上电或复位后,DSP系统自带的Bootloader将一段存储在外部的非易失性存储器中的代码搬移到内部高速存储单元中执行。这样既利用了外部存储单元扩展DSP本身有限的ROM资源,又充分发挥了DSP内部资源的效能。TMS320C672x系列DSP只支持一种硬启动选项,即从内部ROM地址0x00000000启动,其他启动选项由存储于ROM的软启动器实现。软启动器使用CFGPIN0和CFGPIN1寄存器,这2个寄存器在复位时捕捉相关器件引脚的状态,以决定进入那种启动模式。ROM主要有4种自启动模式:从EM_CS2空间的并行Flash启动、利用SPI0或I2C1主模式从EEPROM启动、利用SPI0或I2C1从模式从外部MCU启动以及利用UHPI口从外部MCU启动。这里分析了从EM_CS2空间的并行Flash启动模式,给出了高密度、非易失性的电可擦除存储器AM29LV800BB-90EC(512 Kx16 Bit)与EMIF的接口设计方案。
3.1 Flash的硬件连接
   
AM29LV800BB~90EC型Flash具有19根地址线,而TMS320C6722 EMIF只有14根地址线(EBA0~EBA1、EA0~EA11)。因此,EMIF与Flash连接时地址线不够用,需要扩展高位地址线,这里提出两种扩展方法:GPIO扩展和CPLD地址锁存器扩展。
3.1.1 GPIO扩展
   
TMS320C672X MCASP通道的各功能引脚都可以作为通用的I/O接口,直接与Flash存储器的高位地址线连接。硬件原理图如图5所示研。图5中,任何在复位时可下拉的GPIO引脚都可用于控制Flash启动器的地址线A[18:13]。


3.1.2 CPLD地址锁存器扩展
   
在CPID中设计一个地址锁存器74L273,通过74L273的输出口扩展7根高位地址线A11~A17,分别与Flash的A12~A18连接。EMW的EM_A[11]作为CPLD锁存器的输入选通端选,EMIT数据线作为锁存器的输入,如图6所示。


3.2 FLash的软件配置
   
在EMIF异步接口中,AICR是唯一需要编程的寄存器。根据Flash器件的特性,配置如下:

   
3.3 Flash的软件操作
   
TMS320C672x DSP的存储器中EMIF访问的外部异步器件Flash空间地址映射为0x90000000~0x9FFFFFFF之间。由于Flash数据总线宽度为16位,因此在硬件设计时选用半字寻址,即EMIF的BA[1]连接Flash的A[0]。根据配置寄存器A1CR中数据总线宽度的配置,访问异步器件时TMS320C6722中内部地址和EMIF地址引脚对应如表1所示。[!--empirenews.page--]


    Flash在读操作中类似于普通的ROM,在写操作中需要使用一些特殊命令字,按一定的顺序编程,且可随时编程,编程命令根据器件参考资料。对Flash的读/写流程如图7所示。


    由表1知,对Flash进行16位数据写操作时每次偏移地址需要左移1位,即:*(short int*)(0x90000000+i*2)=shortint i://对Flash的i地址写入16位数据i由于此Flash高位地址线为扩展的地址线,必然导致访问Flash时地址不连续。每次只能连续访问Flash内部4 Kx16 Bit空间,即0x9000_0000~0x9000_1FFE。需要访问高地址空间时,首先通过设置相应的GPIO引脚或者通过数据线利用CPLD设置Flash的相应高地址线;然后再分别操作低位地址线进行读写,便可完成对高地址空间的读写。

4 EMIF并行Flash自启动
4.1 Flash自启动过程

    在实际应用中通常把代码和数据表存放在外部的非易失性存储器Flash中。TMS320C672X系列DSP片上的Bootloader工具只能将1KB的代码搬移到内部RAM。但是在通常情况下,用户应用程序的大小都会超过1 KB,所以需要在外部Flash的前1 KB范围内预先存放一小段程序,待片上Bootloader工具把此段代码搬移入内部并开始执行后,由此段代码将Flash中剩余的用户应用程序搬移入内部RAM中。Flash中前1 KB代码为二级Bootloader。系统上电或复位时,DSP内部固化的启动代码会自动将位于Flash地址空间(0x90000000~0x9FFFFFFF)开头的1 KB代码传输到RAM存储空间,这就是一次引导。很明显,一次引导的代码并不能满足绝大多数编程者对代码长度的要求,因此就需要二次引导过程。二次引导是将DSP一次引导的1 KB代码编写成一个搬移程序,搬移程序将用户的主程序搬移到高速RAM中,并且搬移完成后自动跳转至主程序入口处运行主程序。由于硬件设计中Flash的地址不连续,因此对高位地址线的控制需要在搬移程序中实现。图8为使用二级Bootloader的流程图。


    二级Bootloader代码的编写必须使用汇编语言,因为在执行二级Bootloader时C的运行环境还未建立起来。
4.2 Flash的烧写方法
   
应用程序和二次Boot编写和编译完成之后,便可使用TI公司提供的FlashBurn工具完成Flash烧写,烧写完成后需要重新上电或复位,便可实现自启动。此FlashBurn工具虽然烧写方法较为直观,但是过程复杂,首先需要下载一个.out文件(FBTC)至DSP系统中,实现对Flash的操作;其次FlashBurn工具不能识别.out文件,只能接收.hex的十六进制文件,必须将.out文件转换为.hex文件。
    因此,用户可以自己根据Flash器件的操作方法编写烧写程序,避免文件格式转换的繁琐。首先把用户应用程序(包括二级Bootloader)编译生成的.out文件转载到DSP的RAM中,然后根据要求编写Flash烧写程序,把烧写程序的.out文件装载到DSP的另一块区域(注意修改cmd文件中地址范围,避免两次装载可能产生的地址覆盖),执行程序完成Flash的烧写。注意:烧写到Flash中的应用程序前面12个字节用于存放_c _int00地址、应用程序字节数、应用程序在RAM中的起始地址,这12个字节需要在烧写过程中添加。

5 结束语
   
本文主要研究了TMS320C672x系列DSP EMIF接口的功能和使用方法,并针对SDRAM和Flash器件讨论了EMIF的具体硬件接口设计和软件配置;同时分析了TMS320C672x系列的自启动过程,提出了两种烧写Flash的方法。该应用方法经实验验证,确实可行并易于实现。

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

作者 Mohamad Ali| IBM咨询首席运营官 北京2024年5月24日 /美通社/ -- 生成式AI的兴起几乎在所有面向上给业务带来改变。根据 IBM 商业价值研究院最新的年度 CEO 研究,近60%...

关键字: IBM AI BSP 模型

电磁干扰(Electromagnetic Interference),简称EMI,有传导干扰和辐射干扰两种。传导干扰主要是电子设备产生的干扰信号通过导电介质或公共电源线互相产生干扰;辐射干扰是指电子设备产生的干扰信号通过...

关键字: EMI 传导干扰 辐射干扰

根据蓄电池分级恒流充电的要求,给出一种基于DSP、变参数积分分离PI 控制的新型蓄电池恒流充电电源的设计方案。介绍了电源的系统结构、工作原理、控制策略及软件设计。

关键字: 蓄电池 DSP 变参数积分

电磁干扰 (EMI) 及其对组件、电路和系统的影响是许多设计的一个严重问题。它可能导致暂时性故障、不稳定的性能、间歇性问题、系统故障、组件退化和硬故障。

关键字: EMI 集成电路 电路保护

减少PCB设计上电磁干扰(EMI)的最佳方法之一就是灵活地使用运算放大器。遗憾的是,在许多应用中,运算放大器的这个作用通常被忽略了。

关键字: 运算放大器 PCB EMI

汽车仪器仪表和工业控制等科技领域中,当设备设计涉及应变计、传感器接口和电流监控时,通常需要采用精密模拟前端放大器。

关键字: 电磁干扰 EMI 精密模拟

台北2024年5月21日 /美通社/ -- 提供针对AMD WRX90和TRX50主板优化的DDR5 OC R-DIMM 提供容量128GB(16GBx8)到768GB(96GBx8),速度5600MHz到8...

关键字: AMD 内存 BSP GB

上海2024年5月20日 /美通社/ -- 2024年5月16日,世界知名的生命科学公司 Eppendorf 集团于第二十三届生物制品年会上成功举办了"疫路超越 推流出新"的产品发布会,正式推出大规模...

关键字: RF PEN BSP IMAC

北京2024年5月20日 /美通社/ -- 过去五年里,支付和收款方式日新月异,其发展和变化比过去五十年都要迅猛。从嵌入式数字商务的出现,到"一拍即付"的...

关键字: VI BSP PAY COM

华钦科技集团(纳斯达克代码: CLPS ,以下简称"华钦科技"或"集团")近日宣布致敬 IBM 大型机 60 载辉煌历程,并将继续实施集团大型机人才培养计划。

关键字: IBM BSP 研发中心 PS
关闭
关闭