CORDICって何?:Q&Aで学ぶマイコン講座(60)(1/4 ページ)
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。60回目は、初級者の方からよく質問される「CORDICって何?」についてです。
素朴な疑問から技術トラブルなどマイコンユーザーのあらゆる悩みに対し、マイコンメーカーのエンジニアが回答していく連載「Q&Aで学ぶマイコン講座」。
今回は、初級者から多く寄せられる質問です。
マイコンのカタログやマニュアルに、「CORDIC搭載」と書かれているものがありますが、そもそも「CORDIC」とは何ですか? どのような機能を持っているものですか? また、どのように使うのでしょうか?
STマイクロエレクトロニクス(以下、ST)の汎用32ビットマイコン「STM32G4シリーズ」*1)に搭載されたCORDIC(COordinate Rotation DIgital Computer)を例に説明します(図1)
CORDICとは、三角関数や対数、平方根などの数学関数をソフトウェアではなく、ハードウェアで実行する機能です。特に、三角関数をハードウェアで高速演算できるので、モーター制御、計測、信号処理などの幅広いアプリケーションで使用されます。
関数で決められた引数を渡すことで自動的に演算し、その結果を結果レジスタに戻すので、使い方は簡単です。
<CORDICのメリット>
- ハードウェアによる高速演算のため、マイコンを低い周波数で動作させた場合でも、ソフトウェアよりも短時間で演算結果を得られる。
- 演算結果の読み出しアクセスは、結果が使用可能になるまで待機し、使用可能になるとすぐに結果がCPUに返される。そのため、結果を読み出すオーバーヘッドがない。
- 割り込みによって演算終了をCPUに知らせることも可能。この場合、CPUは演算結果が出るまで他の演算を行える。
- DMAを搭載している場合、メモリから引数を提供し、演算結果を直接メモリに書き込むことも可能。この場合も、演算中にCPUは他の演算を行える。
<CORDICを使用する際の注意点>
- CORDICは固定小数点演算である。
マイコンメーカーでは、CORDICの使い方に関する各種資料を提供しているので、適宜、参照すると良いでしょう。
【CORDICに関する資料例】(STマイクロエレクトロニクス/閲覧にはユーザー登録が必要です)
・アプリケーションノート
・技術ノート
Copyright © ITmedia, Inc. All Rights Reserved.