DSP和FPGA之间EMIF连接,使用外部中断上升沿触发,持续时间是多少?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DSP和FPGA之间EMIF连接,使用外部中断上升沿触发,持续时间是多少?相关的知识,希望对你有一定的参考价值。
参考技术A
这个是同步时序,中断的话,一个节拍应该就够了
参考技术B
中断上升沿时间吗?这个在dsp的emif寄存器里面的时间异步寄存器可以设置,直接和芯片的速度等级有关系,要计算本回答被提问者采纳
DSP之外部设备连接接口之EMIF
外部设备连接接口包括外部存储器连接接口(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变低。
数据页
|
字寻址方式地址范
围
(
16
进制)
|
外部存储器
|
字节寻址方式地址
范围
(
16
进制)
|
第
2
页后
64K
字节
3-31
|
02 8000-1F FFFF
|
CE0
空间
(
4M-320K
)字节
|
05 0000-3F FFFF
|
32-63
|
20 0000-3F FFFF
|
CE1
空间
4M
字节
|
40 0000-7F FFFF
|
64-95
|
40 0000-5F FFFF
|
CE2
空间
4M
字节
|
80 0000-BF FFFF
|
96-127
|
60 0000-7F FFFF
|
当
MP/MC=0
CE3
空间长度为
(
4M-32K
)字节
剩余地址空间被片上ROM占用
当
MP/MC=1
CE3
空间长度为
4M
字节
|
C0 0000-FF FFFF
|
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
)
位
|
字段
|
数值
|
说明
|
15~13
|
Reserved
| |
保留
|
14~12
|
MTYPE
|
000b
001b
010b
011b
100b
101b~111b
|
存储器类型
8
位宽异步存储器
16
位宽异步存储器
32
位宽异步存储器
32
位宽同步动态存储器
(SDRAM)
32
位宽同步静态突发存储器
(SBSRAM)
保留
|
11~8
|
READ SETUP
|
1~15
|
读建立时间
|
7~2
|
READ STROBE
|
1~63
|
读选通时间
|
1~0
|
READ HOLD
|
0~3
|
读保持时间
|
片选控制寄存器
2
(
CEx_2
)
位
|
字段
|
数值
|
说明
|
15~14
|
EXTENED HOLD READ
|
0~3
|
读延长保持时间
|
13~12
|
EXTENED HOLD WRITE
|
0~3
|
写延长保持时间
|
11~8
|
WRITE SETUP
|
1~15
|
写建立时间
|
7~2
|
WRITE STROBE
|
1~63
|
写选通时间
|
1~0
|
WRITE HOLD
|
0~3
|
写保持时间
|
片选控制寄存器
3
(
CEx_3
)
位
|
字段
|
数值
|
说明
|
15~8
|
Reserved
| |
保留
|
7~0
|
TIMEOUT
|
0
1
≤
N
≤
255
|
超时字段(同步存储器超时字段无效)
超时功能被禁止
当ARDY信号为低超过N个时钟周期,则发生超时错误 |
因此,使用异步存储器要注意的问题是:
1 外部存储器连接信号
2 EMIF对异步存储器的配置
3 EMIF异步读操作
4 EMIF异步写操作
5 随就绪信号(ARDY)插入的额外周期
2
.同步突发静态存储器
(SBSRAM)
同步突发静态存储器是一种高密度、高速的存储器,同同步动态存储器相比,同步静态存储器不需要刷新,访问更加方便、快捷。
TMS320C55x
外部存储器接
口
支持
32
位宽无校验同步突发管道型静态存储器,同步突发静态存储器的工作频率在与
CPU
时钟同频或
CPU
时钟频率的
1/2
。
SBSRAM有流水和流通两种类型,但EMIF只支持流水型,在相同吞吐量的情况下,可以工作在更高的频率。
同步突发静态存储器所使用的信号包括数据总线
D[0..31]
、地
址总线
A[21..0]
、片选信号
CE0-CE3
、字节使能信号
BE0-BE3
,此
外还有
SBSRAM
地址选通信号
SSADS
、输出使能信号
SSOE
、写
使能信号
SSWE
和存储器接口时钟
CLKMEM
。
接下来给出
C55x
外部存储器接口同
32
位无校验管道型
SBSRAM
的连接图。图中
SBSRAM
占用
CE0
空间,
SBSRAM
的
MODE
信号接到低电平使
SBSRAM
工作在
线性突发模式,其他未用的
SBSRAM
信号如
ZZ
、
ADV
、
ADSP
和
GW
信号都接
成非活动状态。
如果所用的
SBSRAM
是有校验型存储器,连接时则应注意
SBSRAM
的校验
信号
DQP[d:a]
应当接地以减少功率消耗。
如果要使用
SBSRAM
的电源关闭模式,可以将
SBSRAM
的
ZZ
引脚
同
C55x
的通用输入输出引脚相连接,通过通用输入输出引脚控制
SBSRAM
是否进入电源关闭模式。
控制
SBSRAM
接口的寄存器包括
EMIF
全局控制寄存器和片选
控制寄存器
CEx_1
,接下来给出
SBSRAM
所需设置字段表。
SBSRAM
需要设置字段
所在寄存器
|
位
|
字段名称
|
数值
|
说明
|
片选控制寄存器
|
14~12
|
MTYPE
|
100b
|
32
位宽
SBSRAM
|
全局控制寄存器
|
11~9
|
MEMFRE
Q
|
000b
001b
|
CLKMEM
频率
CLKOUT
频率
CLKOUT
频率除
2
|
全局控制寄存器
|
7
|
WPE
|
0
1
|
后写使能
禁止后写
后写使能
|
全局控制寄存器
|
5
|
MEMCEN
|
0
1
|
存储器时钟使能
CLKMEM
保持高电平
CLKMEM
输出使能
|
全局控制寄存器
|
0
|
NOHOLD
|
0
1
|
外部保持控制
允许外部保持
禁止外部保持
|
3
.同步突发动态存储器
(SDRAM)
TMS320C55x
外部存储器接口支持
16
位、
32
位宽,
64M
位和
128M
位
SDRAM
,
SDRAM
可以工作在
C55x
频率的
1/2
或
1/1
。
SDRAM
的引脚映射和寄存器配置表