組込み・ファームウェア
マイコンでADコンバータの変換結果を一定の間隔で大量に取り込むとき、DMAを使う利点として正しいものはどれか。
- AADコンバータの分解能が自動で上がる
- B入力の電圧が自動で大きくなる
- C変換が終わるたびにCPUが割り込みで読む必要がなく、DMAがメモリに並べてくれるので、CPUの負担が減る
答えと解説を見る
正解:C. 変換が終わるたびにCPUが割り込みで読む必要がなく、DMAがメモリに並べてくれるので、CPUの負担が減る
変換のたびに割り込みでCPUが結果を読むと、1秒に数万回の取り込みでは割り込みの手間だけでCPUの多くの時間が使われます。DMAを使えば、変換が終わるたびにDMAが結果をメモリの配列に順に書き込み、配列がいっぱいになったときだけCPUに知らせます。タイマで変換を始める設定と組み合わせれば、正確な間隔での取り込みをCPUなしで続けられます。
- A. 分解能は変わりません。
- B. 電圧は変わりません。
- C. 正しい。CPUはまとまったデータを後で処理できます。