実際のマイコンでは、高速なAHBと消費電力が低いAPBを組み合わせて使用することが一般的です。一般的なAMBA2.0に準拠したArmマイコンのバス構成例を図1に示します。高速バスであるAHB上に、CPUやDMAコントローラー、メモリなどが配置されています。UARTなどの一般的なペリフェラルは、APB上に配置されます。また、AHBとAPBはバスブリッジを介して接続されます。
DMAコントローラーを搭載したマイコンの構成例として、STM32G0マイコンの構成を図2に示します。高速なデータ転送が必要なCPU、DMAおよびメモリは、AHB上に配置されています。バスマスターは、CPU、DMA1、DMA2の3つです。各バスマスターは、バスマトリックスのバスアービターにより、ラウンドロビン方式でバス使用時の競合が発生しないよう管理されています。また、CPUを介さずにDMA転送を開始するために、「DMAMUX」というDMA開始要求を管理するコントローラーを搭載しています。
STM32G0マイコンを例に、DMAコントローラーおよび周辺回路の構成例を図3に示します。
DMAコントローラーは以下のコンポーネントで構成されています。
Copyright © ITmedia, Inc. All Rights Reserved.