功能描述
总线时序与配置说明
以下所述时钟周期,均指内部 PBUS CLK 周期,PBUS CLK 从 HCLK 时钟分频得到,通过配置 CLK_DIV 字段可以从 HCLK 进行 2/4/8 分频。
PBUS 每个信号含义如下所示:
信号名称 | 输入/输出 | 信号描述 |
---|---|---|
CLK | O | 外部总线时钟信号被访问外设不需要时钟信号,工作在异步模式;被访问外设需要时钟信号,则工作在同步模式。 |
NCS | O | 外设片选信号,默认低电平有效 |
NADV | O | 总线地址有效信号,默认低电平有效电平为低时,指示 AD[15:0]为地址 |
NWE | O | 总线读写控制信号默认低电平为写,高电平为读 |
NOE | O | 外设输出使能信号,默认低电平有效有效时允许外设往 AD[15:0]输出读数据信号 |
AD[15:0] | I/O | 地址/数据总线此总线 16 bits 宽,地址与数据复用,并且可传输读写双向数据可访问地址空间为 64K,映射地址为 0x1080_0000~0x1080_ffff |
下列示例中,每一个信号可调整的参数有 THxx,表示该信号保持的 BUS CLK 周期数,TDxx 表示该信号有效时刻点相对 NCS 有效时刻点的延迟。
- TH_CS = 8
- TD_ADV = 1
- TH_ADV = 2
- TD_WE = 1
- TH_WE = 6
- TD_AD = 1
- TH_AD = 3
- TD_WD = 6
- TH_WD = 2
- THxx 参数不允许为 0。
- WDAT 必须在 ADDR 结束后才有效,即 TD_WD ≥TD_AD+TH_AD。

- TD_OE=5
- TH_OE=2
- NOE 信号有效区间不能与 AD[15:0] 输出有效区间相重叠,即 TD_OE≥TD_AD+TH_AD。
- 保证 TD_OE > TD_ADV+TH_ADV。
- PBUS 模块对于 AD[15:0] 上 RDAT 的采样发生在 NOE 信号有效的最后时刻。

最小延迟为两次操作之间的最小延迟:NCS 信号除了有一个 TH_CS 参数之外,还有一个规定了两次 NCS 有效的最短时间间隔参数 TD_CS,表示两次传输之间必须保持一定的间隔,目的是为了避免两次传输之间 AD[15:0]信号冲突。

模块工作流程
-
NCS 有效 → Check TH_CS → NCS 无效
-
Check TD_ADV → NADV 有效 → Check TH_ADV → NADV 无效
-
Check TD_WE → NWE 有效 → Check TH_WE → NWE 无效
-
Check TD_AD → ADDR 输出 → Check TH_AD → 关闭 ADDR 输出,同时 Check TD_WD → WDAT 输出 → Check TH_WD → 关闭 WDAT 输出
-
NCS 有效 → Check TH_CS → NCS 无效
-
Check TD_ADV → NADV 有效 → Check TH_ADV → NADV 无效
-
Check TD_AD → ADDR 输出 → Check TH_AD → 关闭 ADDR 输出,同时 Check TD_OE → NOE 有效 → Check TH_OE → NOE 无效,同时锁存 RDAT
使用指南
用户可以直接使用寄存器 PBUS_CFG0、PBUS_CFG1、PBUS_CFG2 的默认值,通常只需要使能 CMU 模块时钟以及松开复位,PBUS 即可通过映射地址空间 0x1080_0000~0x1080_ffff 进行 PBUS 外设的读写访问。