学習のゴール
PWM、DMA、MMUについて学習しよう!
PWM
データを伝送する際に最適な電気信号に変換することを変調と呼び、いくつかの変調方式があります。
パルス変調は、矩形波(パルス) の振幅や幅、周期などを変調信号に応じて変化させる変調方式です。
パルス変調にもいくつか種類がありますが、今回は組み込みシステムで使用されることが多いパルス幅変調:PWMについて解説します。
PWMは、ONとOFFの繰り返しスイッチングを行い、ON、OFF時間の比率(デューティ比)でモータなどの機器を制御する方法です。
PWMの応用
PWMは、DCモータの制御に使われることが多いです。
デューティ比を小さくするとモータの回転は遅くなり、デューティ比を大きくするとモータの回転は早くなります。
また、LEDの明るさ制御でも使用されます。
デューティ比を小さくすると暗く、大きくすると明るくなります。
DMA
DMA (Direct Memory Access)とは、CPUを介さずにメモリとメモリまたは、メモリとI/Oデバイス(入力、出力装置)の間で直接データを転送する機能やデバイスを指します。
大量のデータを転送する場合、毎回CPUがメモリやI/Oから読み書きを繰り返すとCPUの負荷が大きくなってしまいます。
そこで、DMAC (DMA Controller:DMAコントローラ)という専用の回路を使って転送することでCPUの負荷を下げられます。
DMACはデータ転送に最適化されているため、CPUよりも高速に転送できます。
MMU
MMU (Memory Management Unit:メモリ・マネジメント・ユニット)は、メモリを管理するための機能です。
実際のシステムでは、メモリを連続で使えるとは限りません。
その場合、間違って書き換えてしまったり、アクセス時間が長くかかったりする場合があります。
MMUを使うと実際のアドレス(物理アドレス)を仮想アドレスとして連続したわかりやすいアドレスに変換できます。