嵌入式系统硬件设计全解析
1. DMA 传输
1.1 DMA 基本原理
DMA(直接内存访问)传输是一种高效的数据传输方式。DMA 控制器向总线发出请求,获取总线控制权后进行数据传输,完成后再将总线控制权交还给处理器。它具有可编程性,能够实现多种数据传输模式,包括从内存到内存、从内存到 I/O、从 I/O 到内存以及从 I/O 到 I/O 的传输。
1.2 仲裁与内部 DMA 优势
所有的仲裁工作都在微处理器内部完成,这样不仅节省了硬件资源,还能确保所有的时序都是正确的。此外,内部 DMA 控制器通常可以与内部 RAM(CPU 芯片内部的 RAM)进行数据传输,这是外部 DMA 控制器无法做到的。
1.3 DMA 请求来源
DMA 请求可以来自需要发送数据的源设备(例如,一个 UART 接收到一个字节后需要将其传输到内存),也可以来自需要接收数据的目标设备(同一个 UART 可能刚刚发送完一个字节,需要接收一个新的字节)。在某些系统中,DMA 请求者是源设备还是目标设备并不重要,但在其他情况下则很关键。
1.4 不同处理器的 DMA 支持
- 80186/80188 :其 DMA 控制器支持源请求或目标请求,在数据手册中被称为源同步或目标同步。实际上,由于源/目标同步是由固件编程到 DMA 控制器中的,所以任何一个设备都可以作为请求者。不过,源同步和目标同步的选择会影响时序。源同步允许更快的传输,但要求在 DMA 写周期结束前撤销 DMA 请求;目标同步较慢,但对撤销 DMA 请求的时序要求较为宽松。 <
超级会员免费看
订阅专栏 解锁全文
1750

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



