外部设备连接接口包括外部存储器连接接口(EMIF)、主机接口(HPI)等。外部存储器接口主要用来同并行存储器连接,这些存储器包括SDRAM、SBSRAM、Flash、SRAM存储器等,外部存储器接口还可以同外部并行设备进行连接,这些设备包括并行A/D、D/A转换器、具有异步并行接口的专用芯片,并可以通过外部存储器接口同FPGA、CPLD等连接;主机接口主要用来为主控CPU和C55x处理器之间提供一条方便、快捷的并行连接接口,这个接口用来对DSP进行控制、程序加载、数据传输等工作。
这里主要是EMIF。
EMIF输入输出信号图:
EMIF为3种类型的存储器提供了无缝接口:
1 异步存储器,包括ROM,FLASH,异步SRAM
2 同步突发静态存储器( SBSRAM )
3 同步动态存储器( SDRAM )
异步存储器可以是静态随机存储器( SRAM )、只读存储器( ROM )和闪存存储器等存储器,在实际使用中还可以用异步接口连接并行 A/D 采样器件、并行显示接口等外围设备,但使用这些非标准设备时需要增加一些外部逻辑来保证设备的正常使用。
在使用外部存储器接口时应区分字寻址和字节寻址之间的区别,当 TMS320C55x 访问数据时, CPU 用 23 位地址访问 16 位字,该方式下数据空间被分成 128 页,每页字长 64K 。 CPU 访问程序代码时,用 24 位地址访问 8 位字节, DMA 控制器访问存储器时也采用字节寻址方式。
如果多个请求服务同时到达,EMIF会根据每个请求优先级来进行处理。最高为HOLD,最低为刷新。
对EMIF编程时,必须了解外部存储器地址如何分配给片使能空间,即CE空间,每个CE空间可以同那些类型的存储器连接,以及用那些寄存器位来配置CE空间。
TMS320C55x的外部存储器映射在存储空间的分布,相应于EMIF的片选使能信号,例如CE1空间的存储器,则必须将其片选引脚连接到EMIF的CE1引脚。当EMIF访问CE1空间时,驱动CE1变低。
TMS320C5510外部存储器映射中的最高地址单独分配给CE3空间,或由CE3及内部的DSP ROM共享。这些地址的分配由CPU状态寄存器ST3_55中的MPNMC位来决定。在DSP复位期间,MPNMC值取决于DSP的NP/MC引脚的信号电平。
可以使用全局控制寄存器EGCR和每个CE空间控制寄存器来配置CE空间。
对于每个CE空间,必须设置控制寄存器1中的以下域:
MTYPE 指定存储器类型
MEMFREQ 决定存储器信号的频率
MEMCEN 决定CLKMEM引脚是输出存储器时钟信号,还是被拉成高电平
一定要对全局控制寄存器写如下控制位。
WPE 对所有CE空间,使能或者禁止
NOHOLD 对所有CE空间,使能或禁止HOLD请求
外部寄存器接口硬件连接与配置
外部存储器接口所支持的异步存储器接口、同步突发静态存储器接口和同步动态存储器接口都支持程序代码访问以及 32 位宽、 16 位宽和 8 位宽数据访问。外部存储器的 4 个片选空间都可以单独进行设置,设置的内容包括存储器类型、存储器宽度、读写时序参数等内容。本节将分别给出不同接口的硬件连接以及参数的设置。
1 .异步存储器接口
异步存储器的类型多种多样,它们既包括静态随机存储器、闪存存储器、只读存储器等,又有先入先出存储器、双端口存储器等, 这些存储器有着不同的特点,可以根据需要灵活选用。
外部存储器接口所支持的异步存储器接口、同步突发静态存储器接口和同步动态存储器接口都支持程序代码访问以及 32 位宽、 16 位宽和 8 位宽数据访问。外部存储器的 4 个片选空间都可以单独进行设置,设置的内容包括存储器类型、存储器宽度、读写时序参数等内容。
AM29LV320D 是一种大容量的闪存存储器,存储容量可以达到 2M 字 /4M 字节,数据总线宽度可以是 8 位或 16 位,下面给出 AM29LV320D 与 DSP 的连接关系示意图。
从图中可以看到 C55x 处理器与 AM29LV320D 的连接用了数据线 D7-D0 ,在这种 连接方式下 AM29LV320D 的 DQ15/A-1 引脚应当作为地址线 A-1 来使用,处理器 的地址总线 A[21:0] 接到 AM29LV320D 的 A[20:-1] , AM29LV320D 的 BYTE# 信 号接地, RESET# 接到系统复位信号,写保护 / 快速编程 WP#/ACC 引脚接高电 平。
AM29LV320D 的读写时序,如图 5-5 和图 5-6 所示,从时序图中可以看到该 芯片的一个读写周期最短为 90ns 或 120ns ,而数字信号处理器的 CLKOUT 时钟 是 DSP 主时钟的 1/1 、 1/2 、 1/3 、 1/4 、 1/5 、 1/6 、 1/7 或 1/8 ,如果 DSP 运行在 200MHz ,则 DSP 一个时钟周期为 5ns ,如果不能让 DSP 的读写时序同 AM29LV320D 的读写时序相匹配,就无法实现正确的读写。调整 DSP 的读写时 序有两种方法,一种是将 AM29LV320D 的 RY/BY 信号接到 DSP 的 ARDY 信号上 ,通过硬件等待信号实现二者读写时序的同步,另外一种方法是通过软件设置 外部存储器接口寄存器实现正确读写。方法 1 使用简单,但灵活性不强,如果 DSP 通过外部存储器接口连接多个芯片,这种方法就不能使用,软件设置的方 法灵活、方便,推荐使用该种方法设置外部存储器接口的读写时序。
当 CLKOUT 为 4 分频时,设置建立时间为 1 个时钟周期,选通时间为 4 个时钟周期,保持时间为 2 个时钟周期就可以正确读取 AM29LV320D 存储器。
外部存储器接口为每个片选空间都提供了独立的片选控制寄存器,通过这些寄存器可以设置寄存器类型,读 / 写时序以及超时时钟周期数,具体可参见下表 。
片选控制寄存器 1 ( CEx_1 )
因此,使用异步存储器要注意的问题是:
1 外部存储器连接信号
2 EMIF对异步存储器的配置
3 EMIF异步读操作
4 EMIF异步写操作
5 随就绪信号(ARDY)插入的额外周期
|