STM32F103のADC_DMA(AD変換時間計算)
AD変換DMAにおけるAD変換時間は、以下の要素によって決まります。
クロック周波数
変換時間
変換チャネル数
DMA転送速度
クロック周波数は、AD変換クロックを設定することで変更できます。変換時間は、変換モードやサンプリング時間の設定によって決まります。変換チャネル数は、使用するチャネルの数によって決まります。DMA転送速度は、DMA転送時のバッファサイズと転送完了までの時間によって決まります。
AD変換時間の計算式は、以下のようになります。
AD変換時間 = 変換時間 × 変換チャネル数 ÷ DMA転送速度
例えば、下記設定の場合
クロック周波数を72MHz
変換時間を13.5クロックサイクル
変換チャネル数を3
DMA転送速度を2.25MB/s
AD変換時間は以下のようになります。
AD変換時間 = 13.5 × 3 ÷ (2.25 × 10^6) = 18μs
このように、AD変換時間は、クロック周波数、変換時間、変換チャネル数、DMA転送速度によって変わります。適切な設定を行い、必要な性能を実現できるようにする必要があります。
DMA転送速度は、DMAコントローラーの性能や使用しているメモリーや周辺デバイスの性能に依存します。
DMAコントローラーの最大転送速度はデータシートやマニュアルに記載されています。
一方、使用しているメモリーや周辺デバイスの転送速度については、それらのデータシートやマニュアルに記載されている場合があります。
一般に、DMA転送速度はデータのサイズ、転送元と転送先のアドレス、DMAチャネルの設定などによっても影響を受けます。実際には、試行錯誤によって最適な設定を見つける必要がある場合があります。
STM32F103のDMA転送速度は、DMAコントローラーの最大クロック周波数に依存します。
STM32F103の場合、
最大クロック周波数は72MHzであり、
DMA転送速度は最大36MB/sとなります。
この情報は、STM32F103のデータシートのDMA性能のセクションに記載されています。
データシートはSTマイクロエレクトロニクスのウェブサイトから入手できます。
ADC_CLK:12MHz
サンプル時間: