9、嵌入式系统硬件设计详解

嵌入式系统硬件设计详解

1. DMA 传输

DMA(直接内存访问)传输是一种高效的数据传输方式。在 DMA 传输过程中,DMA 控制器会请求总线,完成数据传输后再将总线交还给处理器。DMA 控制器具有可编程性,能够实现多种数据传输模式,包括从内存到内存、从内存到 I/O、从 I/O 到内存以及从 I/O 到 I/O 的数据传输。

其优势在于,所有的仲裁操作都在微处理器内部完成,这样不仅节省了硬件资源,还能确保所有的时序都是正确的。此外,内部 DMA 控制器通常可以与内部 RAM(CPU 芯片内部的 RAM)进行数据传输,这是外部 DMA 控制器所无法做到的。

DMA 请求可以来自需要发送数据的源设备(例如接收到一个字节并需要将其传输到内存的 UART),也可以来自需要接收数据的目标设备(同一个 UART 可能刚刚发送完一个字节,需要一个新的字节)。在某些系统中,DMA 请求者是源设备还是目标设备并不重要,但在其他情况下则很关键。

例如,80186/80188 DMA 控制器支持源请求或目标请求,在数据手册中分别称为源同步或目标同步。实际上,由于源/目标同步是由固件编程到 DMA 控制器中的,所以任何一个设备都可以成为请求者。不过,源同步和目标同步的选择会影响传输的时序。源同步允许更快的传输速度,但要求在 DMA 写周期结束之前撤销 DMA 请求;目标同步速度较慢,但在撤销 DMA 请求时对时序的要求更为宽松。

Motorola MCF5407 ColdFire 处理器提供了一个内部四通道 DMA 控制器。其中两个通道支持来自外部设备的 DMA 请求,另外两个通道允许内部 UART 将数据传输到内存。

此外,DMA 还可以

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值