外部总线接口
33.1介绍
注意
对于该模块芯片实现的细节请参照芯片配置章节。
本章介绍了外部总线数据传输操作和错误条件。它介绍了核心处理器发起传输(或任何其他主机),包括详细的时序图显示支持总线操作的内部信号。
33.1.1概况
提供一种多功能的外部总线接口称为flexbus接口控制器,有设备接口的基本功能,只对从设备提供接口。它可以直接连接到以下异步或同步装置没有额外的电路:外部ROM,FLASH,可编程逻辑设备,其他的简单目标(从)设备。
对于异步设备,有一个简单的选择芯片借口可以使用。flexbus接口最多有六个通用芯片的选择,fb_cs [ 5:0 ]。实际可用的芯片选择数量取决于装置及其引脚配置。
33.1.2功能
主要的FLEXBUS功能包括:
六个独立的,用户可编程的芯片选择信号(FB_CS[5:0])可以与外部的SRAM,PROM,EPROM,EEPROM,FLASH等其他外设连接;
8位,16位,32位端口大小,可以配置成复用或者非复用地址或者数据总线;
8位,16位,32位和16字节传输;
可编程的突发和突发抑制传输可选择为每个芯片选择传输方向;
可编程地址建立时间相对于芯片选择的断言;
可编程地址保持时间相对于芯片选择和传输否定;
扩展地址锁存使能选择有助于同步无缝连接同步和异步存储器。
33.1.3操作模式
该外部接口是一个可以配置复用总线,可以配置成以下任一种模式:
复用32位地址和32位数据;
复用32位地址和16位数据(非复用16位地址和16位数据);
复用32位地址和8位数据(非复用24位地址和8位数据);
非复用32位地址和32位数据。
33.2信号描述
该章节介绍数据传输操作中的外部信号。
注意:可能不是以下所有的信号可以在具体的设备上可用。参照芯片配置细节来获取哪种信号可用的信息。
表33-1 FLEXBUS信号概述
33.2.1 地址和数据总线(fb_an,fb_dn,fb_adn)
在非复用模式,FB_A[31:0]与FB_D[31:0]总线分别传送地址和数据。传输的数据的字节通道数目是由选择的匹配芯片端口大小决定的。
在复用模式,FB_A[31:0]总线传输地址和数据。整个32位的地址由总线周期(地址相)的第一时钟驱动的。伴随第一时钟,数据被总线(数据相)驱动。在数据相,地址被连续的在引脚上驱动但是不用做数据。例如,在16位模式,低位的地址连续的在FB_AD[15:0]上驱动,并且在8位模式下,低位的地址连续的在FB_AD[23:0]上驱动。
33.2.2芯片选择(FB_CS[5:0])
芯片选择信号标识哪个设备被选中。一个特定的芯片选择生效
当传送地址是在设备的地址空间,其在基本和掩码地址寄存器中定义。芯片的实际选择数量可用取决于引脚配置。
33.2.3字节使能(FB_BE_31_24, FB_BE_23_16, FB_BE_15_8,
FB_BE_7_0)
当驱动低,使能输出的字节表示数据被锁存或驱动到一个数据总线的特定字节通道。一个配置选项设置生效这些信号的读取和写入或只写。外部SRAM或闪存设备,该fb_BEn输出必须接单个字节选通信号。
33.2.4输出使能(FB_OE)
输出使能信号(FB_OE)被发送到借口存储器和/或者外设来使能读传输。fb_oe只是在读访问时生效,当芯片的选择匹配当前的地址译码。
33.2.5 读/写使能(FB_R/W)
处理器驱动fb_r / W信号来指示当前总线操作方向。它是在读总线周期时驱动高和在写总线周期驱动低。
33.4功能描述
该章节提供模块的功能描述。
33.4.1 芯片选择操作
每个芯片选择都有一个具体的寄存器设置来配置与控制:
芯片选择地址寄存器CSARn控制芯片选择的基地址空间;
芯片选择掩码寄存器CSMRn提供16位地址掩码与控制;
芯片选择控制寄存器CSCRn提供端口大小与burst能力指示,等待状态产生,地址建立与保持时间,自动应答产生功能。
33.4.1.1 一般的芯片选择操作
当总线周期分到FLEXBUS上,设备首先比较它的地址与基地址并且掩码配置来选择CSCRn。结果由地址匹配与否决定。
33.4.1.2 8-,16-,32位端口大小
静态总线大小可以在端口大小中设置,CSCR[PS]。这个过程会一直驱动32位地址在FB_AD总线,忽略外部设备的地址大小。外部的设备必须用以下方式连接它的地址/数据总线。
地址线:FB_AD从FB_AD0往上;
数据线:如果CSCR[BLS]=0,FB_AD从FB_AD31往下;
如果CSCR[BLS]=1,FB_AD从FB_AD0往上。
当连接地址和数据线到fb_ad总线没有位订购所需要。例如,一个完整的16位地址/ 16位数据设备连接它的地址[15:0]到fb_ad [16:1]和数据[15:0]到fb_ad [31:16]。详见数据字节对齐和物理图形连接。
33.4.4地址/数据总线复用
接口支持单独的32位宽复用地址和数据总线(FB_AD[31:0])。整个32位地址一直在总线周期的第一时钟上被驱动。在数据相,FB_AD[31:0]线被用作数据是由相应的芯片选择所设定的端口大小决定的。设备继续驱动地址在任何的FB_AD[31:0]线上并不用做数据。
————————————————————————————————————————————————————————————————————————————
33.3存储器映射/寄存器定义
下表描述了配置片选操作时寄存器和位的含义。
实际的可用芯片选择的数目依赖于它的引脚的配置。如果设备不支持一些片选信号或者引脚不是被配置成片选功能,这时相应的片选寄存器在外部引脚上没有功能。
注意
你必须设定CSMR0[V]在片选寄存器生效前。
当向保留寄存器地址写入时会产生总线错误。
33.3.1片选地址寄存器(FB_CSARn)
CSARn 寄存器指定片选基地址。
注意
因为FLEXBUS模块式一种连接到交叉开关的从设备之一,所以它只能在一些存储器范围内可用。查找代表可用的FLEXBUS范围地址范围的设备存储器映射,来确定哪些片选是可以激活的。适当的来设定CSARn寄存器。
31-16 BA 基地址:定义片选FB_CSn指明的存储器的基地址。BA来比较内部地址总线上的31-16位来决定片选存储器是不是可用。
15-0 保留。
33.3.2 片选屏蔽寄存器FB_CSMRn
CSMRn寄存器为各自的片选指定地址屏蔽并且可用的类型。
31-16 BAM基地址屏蔽
通过masking地址位定义片选块大小。设定一个BAM位来引起相应的CSAR位不会在解码中介意。
FB_CSn块大小是2^n. n = (number of bits set inrespective CSMR[BAM]) + 16.
例如,如果 CSAR0[BA]等于0x0040,CSMR0[BAM]等于0x0008, FB_CS0 地址是两个不连续的 64 KB 存储器块: 一个是0x40_0000 – 0x40_FFFF ,另一个是 0x48_0000 –0x48_FFFF.
0:相应的地址位在片选解码中被用到;
1:相应的地址位在片选解码中被忽略。
15-9:保留
8 WP:写保护
在相应的CSAR中控制地址范围内的写访问。如果CSARn[WP]被置位,还试图向地址范围内写,就会引起内循环和无外循环的总线错误终止。
0:读和写访问均被允许;
1:只有读访问被允许。
7-1:保留。
0 V:有效
表明相应的CSAR,CSMR,CSCR内容的有效性。编程后的片选直到V位被设定后才生效,除了FB_CS0,被当作全局的片选)。重启后清除每个CSMRn[V]。
注意:重启后,除了FB_CS0可以被使用,其他的片选只有当CSMR0[V]置位后才可以使用。之后,FB_CS[5:0]如编程后实现功能。
0:片选无效;
1:片选有效。
33.3.3片选控制寄存器(FB_CSCRn)
每个CSCRn控制自动的应答、地址设定和保持时间,端口大小,burst能力,等待状态的数目。为了支持全局的片选(FB_CS0),CSCR0重启后的数值与其他的CSCRs不同。
注意
CSCR0重启后的值如下:
31-24位是0;23-3位是设备决定的;3-0位是0.查看芯片配置细节来确定设备的准确CSCR0重启的值。
31-26位 SWS二等待状态
如果SWSEN位被设定了,在内部传输应答之前产生之前插入的等待状的数目,为了burst传输除了第一终端,由等待状态计数(CSCRn[WS])控制。如果SWSEN位被清除,WS值被所有的burst传输所用,并且该区域被忽略。
25-24 保留
23 SWSEN 第二等待状态使能
0:WS值插入等待状态在内部传输应答产生之前for all transfers
1:SWS值插入等待状态,在内部传输应答产生之前,为了burst传输第二终端。
22 EXTS 扩展的地址锁存使能
0:FB_TS/FB_ALE生效为了一个总线时钟周期
1:FB_TS/FB_ALE直到FB_CSn生效后的第一时钟上升沿依然生效。
21-20 ASET 地址设定
控制芯片选择的生效伴随一个有效的地址和属性的生效。地址和属性都在fb_ts / fb_ale生效同一时间有效。
00 fb_csn生效在地址生效后的第一个时钟的上升沿后。(默认fb_csn)
01 fb_csn生效在地址生效后的第二时钟的上升沿后。
10 fb_csn生效在地址生效后的第三时钟的上升沿后。
11 fb_csn生效在地址生效后的第四时钟的上升沿后。(默认fb_cs0)
19-18 RDAH 读地址保持或者取消选择
该区域控制地址和属性保持时间,在片选地址空间在读周期终止后。
注意:保持时间仅适用于在传输结束。因此,在突发传送或传输端口小于传输大小过程中,保持时间仅在最后一个总线周期后增加。
周期的地址和属性在FB_CSn否定后保持的数目取决于CSCRn [AA]。
00如果AA被清除,1周期。如果AA设置,0个周期。
01如果AA被清除,2个周期。如果AA设置,1周期。
10如果AA被清除,3个周期。如果AA设置,2个周期。
11如果AA被清除,4个周期。如果AA设置,3个周期。
17–16 WRAH 写地址保持或者取消选择
写地址保持或取消
写地址举行或取消。该范围控制地址,数据,和属性保持时间,
一个写周期终止后,在芯片选择地址空间。
注意:保持时间仅适用于在传输结束。因此,突发传送或传输过程中端口尺寸小于传输大小,保持时间仅在最后一个总线周期增加。
00保持地址和属性在FB_CSn否定写一个周期后。(默认FB_CSn)
01保持地址和属性在FB_CSn否定写两个周期后。。
10保持地址和属性在FB_CSn否定写三个周期后。
11保持地址和属性在FB_CSn否定写四个周期后。(默认FB_CS0)
15-10 WS 等待状态
在FB_CSn生效后并且在传输应答产生前插入等待状态的数目。(WS=0插入0等待状态,WS=0X3F,插入63等待状态)
如果AA保留,FB_TA必须通过外部系统生效,忽略产生的等待状态。这种情况下,外部传输应答结束该周期。外部FB_TA取代内部FB_TA的产生。
9 BLS BYTE-lane偏移
决定在FB_AD上的数据出现left-justified或者右justified在FLEXBUS访问的数据相过程中。
0 不偏移,数据左justified在FB_AD上。
1 偏移。数据右justified在FB_AD上。
8 AA自动应答使能
自动应答使
确定内部传输应答的生效为了访问指定选择的芯片
地址。
注意:如果AA设置相应的FB_CSn和外部系统使外部FB_TA 生效
在等待状态倒计时使内部fb_ta生效之前,循环终止。脉冲周期
增加内部各终端之间的地址总线。
注:这一位必须设置如果CSPMCR禁用FB_TA。
0 没有内部FB_TA生效。周期外部终止。
1 WS所指定内部传输应答生效。
7-6 PS端口大小
指定端口的数据宽度伴随着每个芯片选择。它决定了在写周期数据驱动以及数据读取周期的数据采样。
00 32位端口尺寸。有效的数据采集和驱动。FB_D [ 31:0 ]
01 8位位端口尺寸。有效的数据采集和驱动。FB_D [ 31:24 ]如果BLS = 0或FB_D [7:0]如果BLS= 1
10 16位端口尺寸。有效的数据采集和驱动。FB_D [ 31:16]如果BLS = 0或FB_D [ 15:0 ]如果BLS = 1
11 16位端口尺寸。有效的数据采集和驱动。FB_D [ 31:16]如果BLS = 0或FB_D [ 15:0 ]如果BLS = 1.
5 BEM 字节使能模式
指定字节使能操作。某些存储器具有字节使能,必须在
读和写过程中生效。BEM可以设置在相关CSCR来提供这些SRAM合适的字节的支持模式。
0 FB_BEn信号对于读取不能生效。FB_BEn信号只在数据写时生效。
1 FB_BEn信号生效在数据读写访问时。
4 BSTR
突发读使能
指定是否突发读取用于存储器相关的每个FB_CSn。
0数据超过指定的端口大小分成个体,端口大小,非突发读取。
例如,一个长字为从8位端口读取时被分成四个8位。
1使能数据突发读取大于指定的端口尺寸,包括长字从8位端口读取和字从8位端口读,线从8,16和32位端口读取。
3 BSTW 突发写使能
指定是否突发写用于存储器相关的每个FB_CSn。
0数据超过指定的端口大小分成个体,端口大小,非突发喜写。
例如,一个长字为从8位端口写时被分成四个8位。
1使能数据突发写大于指定的端口尺寸,包括长字从8位端口写和字从8位端口写,线从8,16和32位端口写。
2-0 保留
33.3.4 片选端口复用控制寄存器FB_CSPMCR
CSPMCR寄存器控制FLEXBUS信号哦的复用。
注意
总线错误在以下情况下产生:
写一个保留的值;
写到寄存器保留的位上;或者没有以32位访问该寄存器。
31-28 GROUP1 FLEXBUS信号GROUP1 复用控制。
控制FB_ALE,FB_CS1,FB_TS信号的复用。
0000 FB_ALE
0001 FB_CS1
0010 FB_TS
ELSE 保留
27-24 GROUP2
FLEXBUS信号GROUP2复用控制
控制FB_CS4,FB_TSIZ0,FB_BE_31_24信号的复用。
0000 FB_CS4
0001 FB_TSIZ0
0010 FB_BE_31_24
ELSE保留
23-20 GROUP3
FLEXBUS信号GROUP3 复用控制
控制FB_CS5,FB_TSIZ1,FB_BE_23_16信号复用
0000 FB_CS5
0001 FB_TSIZ1
0010 FB_BE_23_16
ELSE 保留
19-16 GROUP4
FLEXBUS信号GROUP4 复用控制
控制FB_CS2,FB_TBST,FB_BE_15_8信号复用
0000 FB_TBST
0001 FB_CS2
0010 FB_BE_15_8
ELSE 保留
15-12 GROUP5
FLEXBUS信号GROUP5 复用控制
控制FB_CS3,FB_TA,FB_BE_7_0信号复用
注意:当GROUP5不是0000,必须设定CSCRn[AA]位,否则,在传输过程中总线会挂起。
0000 FB_TA
0001 FB_CS3
0010 FB_BE_7_0
ELSE 保留
11-0 保留
本文档详细介绍了Flexbus接口控制器的功能、操作模式和信号描述,包括6个独立的芯片选择信号、可配置的端口大小、多种操作模式,以及地址和数据总线的复用方式。此外,还阐述了芯片选择的地址和掩码寄存器,以及控制寄存器的设置,用于实现外部总线的数据传输和错误处理。
273

被折叠的 条评论
为什么被折叠?



