メディア
連載
» 2021年04月01日 11時00分 公開

CORDICって何?Q&Aで学ぶマイコン講座(60)(1/4 ページ)

マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。60回目は、初級者の方からよく質問される「CORDICって何?」についてです。

[STマイクロエレクトロニクス,EDN Japan]

過去の質問一覧はこちら

 素朴な疑問から技術トラブルなどマイコンユーザーのあらゆる悩みに対し、マイコンメーカーのエンジニアが回答していく連載「Q&Aで学ぶマイコン講座」。

 今回は、初級者から多く寄せられる質問です。

 マイコンのカタログやマニュアルに、「CORDIC搭載」と書かれているものがありますが、そもそも「CORDIC」とは何ですか? どのような機能を持っているものですか? また、どのように使うのでしょうか?

 STマイクロエレクトロニクス(以下、ST)の汎用32ビットマイコン「STM32G4シリーズ」*1)に搭載されたCORDIC(COordinate Rotation DIgital Computer)を例に説明します(図1

図1:CORDICブロック図(STM32G4シリーズの場合)

 CORDICとは、三角関数や対数、平方根などの数学関数をソフトウェアではなく、ハードウェアで実行する機能です。特に、三角関数をハードウェアで高速演算できるので、モーター制御、計測、信号処理などの幅広いアプリケーションで使用されます。

 関数で決められた引数を渡すことで自動的に演算し、その結果を結果レジスタに戻すので、使い方は簡単です。

<CORDICのメリット>

  • ハードウェアによる高速演算のため、マイコンを低い周波数で動作させた場合でも、ソフトウェアよりも短時間で演算結果を得られる。
  • 演算結果の読み出しアクセスは、結果が使用可能になるまで待機し、使用可能になるとすぐに結果がCPUに返される。そのため、結果を読み出すオーバーヘッドがない。
  • 割り込みによって演算終了をCPUに知らせることも可能。この場合、CPUは演算結果が出るまで他の演算を行える。
  • DMAを搭載している場合、メモリから引数を提供し、演算結果を直接メモリに書き込むことも可能。この場合も、演算中にCPUは他の演算を行える。

<CORDICを使用する際の注意点>

  • CORDICは固定小数点演算である。

 マイコンメーカーでは、CORDICの使い方に関する各種資料を提供しているので、適宜、参照すると良いでしょう。

【CORDICに関する資料例】(STマイクロエレクトロニクス/閲覧にはユーザー登録が必要です)
 ・アプリケーションノート
 ・技術ノート

*1)32ビットマイコン「STM32G4シリーズ」

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.