打印
[牛人杂谈]

M451的EBI

[复制链接]
1393|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
为了配合特殊产品的需要,NuMicro M451 系列配备一个外部总线接口(EBI:External Bus
Interface),以供外部设备使用,而最经常用到 EBI 的是 SRAM,如同我们常用 PC 的 CPU需要外扩
内存条,原因在于 NuMicro M451 系列微控制器的内部 RAM 只有仅仅的32KB。为节省外部设备与芯
片的连接引脚数,EBI 支持地址总线与数据总线复用模式. 且地址锁存使能 (ALE:Address Latch
Enable)信号能区分地址与数据周期。同时经由两组片选,EBI可连接两个各自有不同时序设定的外部
设备。
 特性
外部总线接口(EBI)有下列功能:
 支持地址总线和数据总线多路复用以节省地址管脚
 支持带极性控制的两种片选方式
 每个片选信号控制的设备提供最高 1MB的地址空间
 支持基于 HCLK所产生的可设定不同频率的外部总线基本时钟(MCLK:Master Clock)
 支持 8位或 16 位数据宽度
 支持可变的地址锁存使能时间(tALE:Time Address Latch Enable)
 支持可变的数据访问时间(tACC:Time Access)和地址访问保持时间(tAHD:Time Address Hold)
 支持可配置的空闲周期以用于不同访问条件:空闲写命令完成(W2X),空闲连续读(R2R)

沙发
yiyigirl2014|  楼主 | 2016-9-24 21:48 | 只看该作者
20.2 功能描述
一、EBI 区域和片选地址
EBI 映射地址分布在 0x6000_0000 ~ 0x601F_FFFF,总共内存空间为 2M。 当系统请求地址在 EBI 的内存空间内时,相应
的 EBI芯片选择信号有效,EBI 状态机工作,不同的片选对应的地址映射如下表 20.2.1。
表 20.2.1 片选对应的地址映射
片选信号 地址映射
EBI_nCS0    0x6000_0000 ~ 0x600F_FFFF
EBI_nCS1    0x6010_0000 ~ 0x601F_FFFF
为了映射整个 EBI内存空间,8 位数据宽度设备需 20 位地址宽度,16 位数据宽度设备需 19 位地址宽度。对于输出小于 20 位
地址的设备,EBI 将映射设备到镜像空间。
例如,一个 18-位 EBI 地址设备,EBI 将同时映射外设( Bank0/EBI_nCS0) 到 0x6000_0000~ 0x6003_FFFF,
0x6004_0000~0x6007_FFFF,0x6008_0000~0x600B_FFFF 和0x600C_0000~0x600F_FFFF。

使用特权

评论回复
板凳
yiyigirl2014|  楼主 | 2016-9-24 21:49 | 只看该作者
二、EBI 数据宽度连接-多路地址与数据总线模式
EBI 支持具有多路地址总线和数据总线的设备。对于地址总线和数据总线分开的外部设备, 与设备的连接需要额外的逻辑单元锁
存地址。这样,管脚 EBI_ALE 需要连接到锁存器上锁存地址值。管脚 EBI_AD 为锁存器的输入,锁存器的输出连接到外部设备的地
址总线上。对于 16位设备,EBI_AD [15:0]由地址与 16 位数据公用,EBI_ADR [18:16]作为地址,直接与 16 位设备连接。当
EBI 数据宽度设置为 16 位,EBI_ADR[19]无作用。对于 8 位设备,只有 EBI_AD [7:0]是地址与数据共用,EBI_AD[15:8] 和EBI_ADR[19:16]作为地址,直接与 8位设备连接。
图 20.2.1描述 16 位 EBI 数据宽度与16 位设备的连接,图 20.2.2 描述8 位 EBI 数据宽度与 8 位设备的连接。


使用特权

评论回复
地板
yiyigirl2014|  楼主 | 2016-9-24 21:56 | 只看该作者
当系统访问数据宽度大于 EBI的数据宽度,EBI控制器将访问一次以上成操作。例如,如果系统通过EBI 设备请求 32 位数据,
当 EBI为 8 位数据宽度时,EBI 控制器将访问4 次数据完成操作。

使用特权

评论回复
5
yiyigirl2014|  楼主 | 2016-9-24 22:00 | 只看该作者
三、EBI 操作控制
MCLK 控制
当 EBI工作时,芯片内所有 EBI 信号通过EBI_MCLK 进行同步。当芯片以较低工作频率连接到外部设备,EBI_MCLK 可以通过
设定寄存器 MCLKDIV (EBI_CTLx[10:8])最多分频到 HCLK/32。因此,芯片可以适用于宽频率范围的EBI 设备。如果 EBI_MCLK
设置为 HCLK/1,则EBI 信号与 EBI_MCLK 的上升沿同步,否则与EBI_MCLK 的下降沿同步。
操作与访问时间控制
开始访问时,片选(EBI_nCS0 和 EBI_nCS1)置低并等待一个 EBI_MCLK 时间用于地址时间(tASU)以使地址稳定。地址稳定
后,EBI_ALE 置高并保持一段时间(tALE)用以地址锁存。地址锁存后,EBI_ALE 置低并等待一个 EBI_MCLK 的时间锁存保持时间
(tLHD)。和另一个插入到地址保持时间之后的 EBI_MCLK 的时间(tA2D)用于总线转换(地址 到数据)。然后当读时 EBI_nRD 置低
或写时 EBI_nWR置低。 在保持访问时间(tACC)后 EBI_nRD 或 EBI_nWR置高用于读或写。 之后, EBI 信号保持地址访问时间(tAHD)
和片选置高,地址由当前访问控制释放。
EBI 控制器提供灵活的时序控制以用于不同外部设备。EBI的时序控制,tASU, tLHD 和 tA2D 固定为 1个 EBI_MCLK 时间。
tAHD 可以在 1~8 个 EBI_MCLK 周期调节,通过寄存器设定 TAHD (EBI_TCTLx[10:8]),tACC 可以在 1~32 个 EBI_MCLK 周期
调节,通过寄存器设定 TACC (EBI_TCTLx[7:3]), tALE可以在 1~8 个 EBI_MCLK周期调节,过寄存器设定 TALE
(EBI_CTL0[18:16]。一些外设可以支持数据访问零保持时间,EBI 控制器可以略过 tAHD,通过寄存器设定 WAHDOFF
(EBI_TCTLx[23]) 和 RAHDOFF (EBI_TCTLx[22]) 提高访问速度。

使用特权

评论回复
6
yiyigirl2014|  楼主 | 2016-9-24 22:20 | 只看该作者
对每个芯片的片选,除了 tALE 可以由 EBI_CTL0 控制,其他的寄存器设定,EBI 会提供单独的寄存器用于时序控制,其余详
细时序参数如下表 20.2.2。


使用特权

评论回复
7
yiyigirl2014|  楼主 | 2016-9-24 22:22 | 只看该作者

图 20.2.3 16位数据宽度的时序控制波形
图 20.2.3 是一个设置 16 位数据宽度的例子。在该例中,EBI_AD 总线用作地址[15:0]和数据[15:0]。当 EBI_ALE 置高,
EBI_AD 为地址输出。在地址锁存后,EBI_ALE 置低并且在读取访问操作时,EBI_AD 总线转换成高阻以等待设备输出数据,或用于
写数据输出。

使用特权

评论回复
8
yiyigirl2014|  楼主 | 2016-9-24 22:25 | 只看该作者

图 20.2.4是一个设置 8 位数据宽度的例子。 8 位和16 位数据宽度的不同之处在于 EBI_AD[15:8]。 在 8 位数据宽度的设置中,
EBI_AD[15:8]总为地址[15:8]输出,因此外部锁存只需要 8位宽度。
插入空闲周期
当 EBI 连续访问时,如果器件访问时间较长,可能会有总线冲突。EBI 控制器支持额外空闲周期以解决该问题。在空闲周期,
所有 EBI的控制信号无效。如下空闲周期图:


使用特权

评论回复
9
yiyigirl2014|  楼主 | 2016-9-24 22:26 | 只看该作者
以下两个条件,EBI 可通过时序控制插入空闲周期:
1) 写访问之后
2) 读访问之后与下一个读访问之前(R2R idle cycle)
通过设定寄存器 W2X (EBI_TCTLx[15:12]),和R2R (EBI_TCTLx[27:24]),空闲周期可设定在 0~15 的 EBI_MCLK。
写缓冲
当用户通过 EBI总线写一个数据到外设时,EBI 控制器将立刻开始写动作,CPU 是保持状态,直到 EBI 写动作结束。用户可以
使能写缓存功能来提高 CPU和 EBI 的访问效率。当 EBI 写缓存功能使能后,在 EBI 向外设写数据期间,CPU 还可以持续执行其他指
令。例外的情况,当 EBI执行写动作时,如果 CPU 通过 EBI执行令另一个数据访问,CPU 会是保持状态。

使用特权

评论回复
10
玛尼玛尼哄| | 2016-9-24 23:04 | 只看该作者
为节省外部设备与芯片的连接引脚数,EBI 支持地址总线与数据总线复用模式.

使用特权

评论回复
11
dongnanxibei| | 2016-9-25 21:36 | 只看该作者
支持地址总线和数据总线多路复用以节省地址管脚

使用特权

评论回复
12
mintspring| | 2016-9-26 00:19 | 只看该作者
8 位数据宽度设备需 20 位地址宽度,16 位数据宽度设备需 19 位地址宽度。对于输出小于 20 位

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

200

主题

3469

帖子

10

粉丝