11. 外部总线xBUS
11.1 外部总线寄存器
外部总线辅助设置寄存器(XBUS_AUX):
| 位 | 名称 | 访问 | 描述 | 复位值 |
|---|---|---|---|---|
| 7 | bUART0_TX | R0 | 指示UART0的发送状态,为1表示正在发送过程中 | 0 |
| 6 | bUART0_RX | R0 | 指示UART0的接收状态,为1表示正在接收过程中 | 0 |
| 5 | bSAFE_MOD_ACT | R0 | 指示安全模式状态,为1表示当前正在安全模式下 | 0 |
| 4 | bALE_CLK_EN | RW | ALE引脚时钟输出使能,该位为1允许ALE在没有xBUS操作期间输出系统主频的12分频,即Fsys/12;该位为0禁止输出时钟信号,仅在访问外部总线必要时输出低8位地址锁存信号,以降低EMI | 0 |
| 3 | GF2 | RW | 通用标志位2:使用者可自己定义,可软件清零或置位 | 0 |
| 2 | bDPTR_AUTO_INC | RW | 使能在MOVX_@DPTR指令完成后DPTR自动加1 | 0 |
| 1 | 保留 | R0 | 保留 | 0 |
| 0 | DPS | RW | 双DPTR数据指针选择位:该位为0选择DPTR0;该位为1选择DPTR1 | 0 |
外部总线速度配置寄存器(XBUS_SPEED):
| 位 | 名称 | 访问 | 描述 | 复位值 |
|---|---|---|---|---|
| 7 | bXBUS1_SETUP | RW | 选择XBUS1建立时间:该位为0则2个时钟周期;该位为1则3个时钟周期 | 1 |
| 6 | bXBUS1_HOLD | RW | 选择XBUS1保持时间:该位为0则1个时钟周期;该位为1则2个时钟周期 | 1 |
| 5 | bXBUS1_WIDTH1 | RW | XBUS1总线脉冲宽度高位 | 1 |
| 4 | bXBUS1_WIDTH0 | RW | XBUS1总线脉冲宽度低位 | 1 |
| 3 | bXBUS0_SETUP | RW | 选择XBUS0建立时间:该位为0则2个时钟周期;该位为1则3个时钟周期 | 1 |
| 2 | bXBUS0_HOLD | RW | 选择XBUS0保持时间:该位为0则1个时钟周期;该位为1则2个时钟周期 | 1 |
| 1 | bXBUS0_WIDTH1 | RW | XBUS0总线脉冲宽度高位 | 1 |
| 0 | bXBUS0_WIDTH0 | RW | XBUS0总线脉冲宽度低位 | 1 |
bXBUSn_WIDTH1和bXBUSn_WIDTH0(其中n=0或1),用于选择总线片选n的读写有效脉冲宽度,00则2时钟周期,01则4时钟周期,10则8时钟周期,11则16时钟周期。
11.2 外部总线引脚
表11.2.1 外部总线引脚列表
| GPIO | 直接地址模式引脚 | 复用地址模式引脚 | 功能描述 |
|---|---|---|---|
| P3.7 | RD | RD | 外部总线读信号输出引脚,低电平有效,上升沿采样输入 |
| P3.6 | WR | WR | 外部总线写信号输出引脚,低电平有效 |
| P0.0~P0.7 | D0~D7 | D0~D7 | 8位双向数据总线 |
| A0~A7 | 复用低8位地址A[0:7]输出,由ALE控制外部电路锁存 | ||
| P4.0~P4.5 | A0~A5 | 未用到 | 总线直接地址A[0:5]输出引脚,另需设置P4_DIR输出 |
| P3.5 | A6 | 未用到 | 总线直接地址A6输出引脚 |
| P2.7 | A7 | 总线直接地址A7输出引脚 | |
| A15 | 总线地址A15输出引脚 | ||
| P2.0~P2.6 | A8~A14 | A8~A14 | 总线地址A[8:14]输出引脚 |
| P3.4 | XCS0 | XCS0 | 片选0输出引脚,地址范围4000h~7FFFh,低电平有效 |
| P3.3 | !A15 | !A15 | 总线地址A15反相输出引脚,相当于片选1输出,地址范围8000h~FFFFh,低电平有效,仅在ALE禁用状态可用 |
| P5.5 | !A15 | !A15 | 总线地址A15反相输出引脚,相当于片选1输出,地址范围8000h~FFFFh,低电平有效,仅在ALE使能状态可用 |
| P5.4 | ALE | 复用低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_DISABLE | bXBUS_EN | bXBUS_AL_OE | bALE_CLK_EN | P5.4引脚功能描述 |
|---|---|---|---|---|
| 0 | x | x | x | 禁止ALE输出,优先用作HM(P5.5用作HP) |
| 1 | 0 | x | 0 | 禁止ALE输出,默认用作XB(P5.5用作XA) |
| 1 | 0 | x | 1 | ALE仅输出系统主频的12分频时钟信号 |
| 1 | 1 | 1 | 0 | 禁止ALE输出,默认用于XB(P5.5用作XA) |
| 1 | 1 | 1 | 1 | ALE仅输出系统主频的12分频时钟信号 |
| 1 | 1 | 0 | 0 | ALE仅在总线时输出低8位地址锁存信号 |
| 1 | 1 | 0 | 1 | ALE在访问总线时输出低8位地址锁存信号,空闲时输出系统主频的12分频时钟信号 |