11. 外部总线xBUS

11. 外部总线xBUS

11.1 外部总线寄存器

外部总线辅助设置寄存器(XBUS_AUX):

名称访问描述复位值
7bUART0_TXR0指示UART0的发送状态,为1表示正在发送过程中0
6bUART0_RXR0指示UART0的接收状态,为1表示正在接收过程中0
5bSAFE_MOD_ACTR0指示安全模式状态,为1表示当前正在安全模式下0
4bALE_CLK_ENRWALE引脚时钟输出使能,该位为1允许ALE在没有xBUS操作期间输出系统主频的12分频,即Fsys/12;该位为0禁止输出时钟信号,仅在访问外部总线必要时输出低8位地址锁存信号,以降低EMI0
3GF2RW通用标志位2:使用者可自己定义,可软件清零或置位0
2bDPTR_AUTO_INCRW使能在MOVX_@DPTR指令完成后DPTR自动加10
1保留R0保留0
0DPSRW双DPTR数据指针选择位:该位为0选择DPTR0;该位为1选择DPTR10

外部总线速度配置寄存器(XBUS_SPEED):

名称访问描述复位值
7bXBUS1_SETUPRW选择XBUS1建立时间:该位为0则2个时钟周期;该位为1则3个时钟周期1
6bXBUS1_HOLDRW选择XBUS1保持时间:该位为0则1个时钟周期;该位为1则2个时钟周期1
5bXBUS1_WIDTH1RWXBUS1总线脉冲宽度高位1
4bXBUS1_WIDTH0RWXBUS1总线脉冲宽度低位1
3bXBUS0_SETUPRW选择XBUS0建立时间:该位为0则2个时钟周期;该位为1则3个时钟周期1
2bXBUS0_HOLDRW选择XBUS0保持时间:该位为0则1个时钟周期;该位为1则2个时钟周期1
1bXBUS0_WIDTH1RWXBUS0总线脉冲宽度高位1
0bXBUS0_WIDTH0RWXBUS0总线脉冲宽度低位1

bXBUSn_WIDTH1和bXBUSn_WIDTH0(其中n=0或1),用于选择总线片选n的读写有效脉冲宽度,00则2时钟周期,01则4时钟周期,10则8时钟周期,11则16时钟周期。

11.2 外部总线引脚

表11.2.1 外部总线引脚列表

GPIO直接地址模式引脚复用地址模式引脚功能描述
P3.7RDRD外部总线读信号输出引脚,低电平有效,上升沿采样输入
P3.6WRWR外部总线写信号输出引脚,低电平有效
P0.0~P0.7D0~D7D0~D78位双向数据总线
A0~A7复用低8位地址A[0:7]输出,由ALE控制外部电路锁存
P4.0~P4.5A0~A5未用到总线直接地址A[0:5]输出引脚,另需设置P4_DIR输出
P3.5A6未用到总线直接地址A6输出引脚
P2.7A7总线直接地址A7输出引脚
A15总线地址A15输出引脚
P2.0~P2.6A8~A14A8~A14总线地址A[8:14]输出引脚
P3.4XCS0XCS0片选0输出引脚,地址范围4000h~7FFFh,低电平有效
P3.3!A15!A15总线地址A15反相输出引脚,相当于片选1输出,地址范围8000h~FFFFh,低电平有效,仅在ALE禁用状态可用
P5.5!A15!A15总线地址A15反相输出引脚,相当于片选1输出,地址范围8000h~FFFFh,低电平有效,仅在ALE使能状态可用
P5.4ALE复用低8位地址锁存控制输出引脚,高电平有效
ALE系统主频的12分频时钟Fsys/12输出引脚,占空比1/12

以上在外部总线状态下未用到的部分地址输出和片选输出等引脚,可以根据GPIO复用优先顺序用于其它模块,并且P4.0~P4.5中未用到的引脚还可以设置P4_DIR保持输入状态。

当bXBUS_CS_OE=1时,总线地址A15反相信号将根据ALE输出状态选择输出引脚,当ALE被允许输出时,!A15选择从P5.5输出;当ALE被禁止输出时,!A15选择从P3.3输出。ALE输出状态由bUH1_DISABLE、bXBUS_EN、bXBUS_AL_OE以及bALE_CLK_EN组合决定,参考下表11.2.2。

表11.2.2P5.4 引脚复用ALE输出状态表

bUH1_DISABLEbXBUS_ENbXBUS_AL_OEbALE_CLK_ENP5.4引脚功能描述
0xxx禁止ALE输出,优先用作HM(P5.5用作HP)
10x0禁止ALE输出,默认用作XB(P5.5用作XA)
10x1ALE仅输出系统主频的12分频时钟信号
1110禁止ALE输出,默认用于XB(P5.5用作XA)
1111ALE仅输出系统主频的12分频时钟信号
1100ALE仅在总线时输出低8位地址锁存信号
1101ALE在访问总线时输出低8位地址锁存信号,空闲时输出系统主频的12分频时钟信号