16
www.国家的.com
usbn9603/usbn9604
4.0 直接 记忆 进入 (dma) 支持
这 设备 支持 DMA transfers 和 一个 外部 DMA 控制 从/至 endpoints 1 至 6. 这个 模式 使用 这 设备
管脚 DRQ 和
DACK 在 增加 至 这 并行的 接口 管脚 RD 或者 WR 和 d7-0 数据 管脚. DMA 模式 能 仅有的 是 使用
和 并行的 接口 模式 (mode1 必须 是 grounded). 这 读 或者 写 地址 是 发生 内部 和 这 状态 的
这 a0/ale 管脚 是 ignored 在 一个 dma 循环.
这 DMA 支持 逻辑 有 一个 更小的 priority 比 这 并行的 接口.
CS 必须 停留 inactive 在 一个 DMA 循环. 如果 CS 是-
comes 起作用的,
DACK 是 ignored 和 一个 regular 读/写 运作 是 执行. 仅有的 一个 endpoint 能 是 使能 在 任何
给 时间 至 公布 一个 dma 要求 当 数据 是 received 或者 transmitted.
二 不同的 dma 模式 是 supported: 标准 和 自动.
4.1 标准 DMA 模式 (dma)
至 使能 dma transfers 在 标准 dma 模式, 这 下列的 步伐 必须 是 执行:
1. 这 local CPU programs 这 DMA 控制 为 fly-用 要求 模式 transfers. 在 这个 模式, transfers 出现 仅有的 当
这 设备 requests 它们 通过 这 DRQ 管脚. 这 数据 是 读/写 从/至 这 设备 receive/transmit 先进先出 和 writ-
ten/读 在/从 local 记忆 在 这 一样 总线 transaction.
2. 这 DMA 地址 计数器 是 编写程序 至 要点 至 这 destination 记忆 块 在 这 local shared 记忆, 和 这
字节 计数 寄存器 是 编写程序 和 这 号码 的 字节 在 这 块 至 是 transferred. 如果 必需的 这 自动 错误
处理 应当 是 使能 在 这个 要点 along 和 这 错误 处理 计数器. 在 增加 这 用户 needs 至 设置 这 re-
spective endpoint 使能 位.
3. 这 dma 使能 位 和 dma 源 位 是 设置 在 这 dmacntrl 寄存器.
4. 这 USB host 能 now 执行 USB 大(量) 或者 isochronous 数据 transfers 在 这 USB 总线 至 这 receive 先进先出 或者 从
这 transmit 先进先出 在 这 设备.
5. 如果 这 FIFOs 警告 限制 是 reached 或者 这 传递/reception 是 完成, 一个 DMA 要求/acknowledge sequence
是 initiated 为 这 predetermined 号码 的 字节. 这 时间 在 这个 一个 DMA 要求 是 issued 取决于 在 这 选择
DMA 模式 (控制 用 这 DMOD 位 在 这 DMACNTRL 寄存器), 这 电流 状态 的 这 endpoint 先进先出, 和 这
先进先出 警告 使能 位. 一个 dma 要求 能 是 issued 立即.
6. 之后 这 DMA 控制 有 准予 控制 的 这 总线, 它 驱动 一个 有效的 记忆 地址 和 asserts
DACK 和 RD 或者
wr, 因此 transferring 一个 字节 从 这 receive 先进先出 至 记忆, 或者 从 记忆 至 这 transmit 先进先出. 这个 处理 con-
tinues 直到 这 dma 字节 计数, 在里面 这 dma 控制, reaches 零.
7. 之后 这 编写程序 数量 的 数据 是 transferred, 这 firmware 必须 做 一个 的 这 下列的 (取决于 在 这 转移
方向 和 模式):
—
queue 这 新 数据 为 传递 用 设置 这 tx_en 位 在 这 txcx 寄存器.
—
设置 这 终止 的 小包装板盒 marker 用 设置 这 tx_last 位 在 这 TXCx 寄存器. re-使能 reception 用 设置 这
rx_en 位 在 这 rxcx 寄存器.
—
审查 如果 这 last 字节 的 这 小包装板盒 是 received (rx_last 位 在 这 rxsx 寄存器).
这 DMA 转移 能 是 halted 在 任何 时间 用 resetting 这 DMA 要求 使能 位. 如果 这 DMA 要求 使能 位 是
cleared 在 这 middle 的 一个 dma 循环, 这 电流 循环 是 完成 在之前 这 dma 要求 是 terminated.
看 计算数量 8 和 9 为 这 transmit 和 receive sequences 使用 标准 dma 模式.
设置 向上 dma
微控制器
Transaction
USB
fill 先进先出
DMA
图示 8. Transmit 运作 在 标准 DMA 模式
微控制器
使能 tx
DMA
fill 先进先出
时间
设置 向上 dma
微控制器
Transaction
USB
读 先进先出
DMA
图示 9. Receive 运作 在 标准 DMA 模式
使能 rx
使能 rx
微控制器
微控制器
时间