INERTIAL GUIDE
CV7・GQ7のMIP出力設定|出力レートと通信帯域を決める
CV7・GQ7のMIP出力レートをBase Rateとdecimationから設定し、Message Format、通信帯域、受信レートの確認方法を解説します。
3DM-CV7や3DM-GQ7をMIPで使用するときは、必要なデータをすべて最高レートで送るのではなく、必要な項目・必要な周期・通信インターフェースの帯域を合わせて設計します。
このページでは、基準レート、decimation、Message Format、Data Stream Control、通信量の見積もりを順番に整理します。
このページでできること
- 使用するデータ項目が機器で利用できるか確認する
- 基準レートからdecimationを決める
- 項目ごとに異なる出力レートを設定する
- UARTの通信量を概算する
- 設定値と実際の受信レートを分けて確認する
1. 最初に「何を何Hzで必要か」を決める
まずアプリケーション側の要求を整理します。
例えば、
- 加速度:500 Hz
- 角速度:500 Hz
- 姿勢:100 Hz
- Filter Status:10 Hz
のように、項目ごとに必要なレートを決めます。
すべての項目を同じレートで出力する必要はありません。低い更新頻度で十分な状態情報を高速で送り続けると、通信帯域とホスト側の処理量を無駄に消費します。
2. 対応データと基準レートを確認する
MIPでは、まず対象機器が必要なDescriptorやコマンドをサポートしているか確認します。
型式名だけを見て「このデータは必ず1000 Hz」と固定せず、使用している機器・ファームウェアのProtocol Supportやデバイスからの応答を確認してください。
基準レートを取得したら、周期出力の基本関係は次のように考えます。
出力レート = 基準レート ÷ decimation
例えば基準レートが1000 Hzで、100 Hz出力にしたい場合は、decimation 10です。
希望レートが基準レートを整数で割り切れない場合は、使用可能なdecimationから実際の出力レートを決めます。
3. Message Formatで項目ごとのレートを設定する
Message Formatでは、同じDescriptor Set内でもデータ項目ごとに異なるdecimationを設定できます。
例えば、
- Scaled Accel:100 Hz
- Scaled Gyro:100 Hz
- Timestamp:100 Hz
- Magnetometer:10 Hz
のような構成が可能です。
低速の項目はすべてのパケットへ含まれるとは限りません。パーサ側では、「毎パケット同じフィールド数になる」ことを前提にしない設計が必要です。
設定後はMessage FormatをReadして、書き込んだDescriptorとdecimationを確認します。
4. ストリームの有効化を確認する
Message Formatを設定しただけでは、目的のデータが必ず送信されるとは限りません。
データストリームのEnable/Disableや、機器がIdle状態かStreaming状態かも確認します。
MIPを直接実装する場合は、
Message Formatの設定
Data Streamの有効化
機器の動作状態
を別々に確認してください。
5. SensorConnectでは項目ごとのレートを見る
SensorConnectを使う場合も、画面上部の代表的なレートだけでなく、各データ行の設定を確認します。


画像内のレートは表示例です。用途に適した推奨値を示すものではありません。
6. UARTでは1秒あたりのバイト数を見積もる
UARTを使う場合は、データフィールドだけでなく、MIPパケットのヘッダー、フィールド長、Descriptor、チェックサムを含めて通信量を見積もります。
例えば、1パケット48 byteのデータを200 packet/sで送るとします。
48 × 200 = 9,600 byte/s
一般的な8N1のUARTでは1 byteの転送に10 bit必要なので、
9,600 × 10 = 96,000 bit/s
となります。
115200 baudに対して約83%です。
これは説明用の計算です。実際には、
- 他のデータフィールド
- コマンドとACK/NACK
- パケット構成
- ホスト側バッファ
- ファイル書き込み
- OSの処理
なども考慮する必要があります。
通信速度ぎりぎりを常用条件にせず、余裕を持たせます。
7. UARTのBaud RateとUSB帯域を混同しない
SensorConnectではUART Baud Rateの設定を確認できます。

この値はUART通信に関する設定です。
USB接続時の実効帯域を、UART Baud Rateの数値だけから計算することはできません。
使用するインターフェースに合わせて帯域を評価してください。
8. 設定したレートと「実際に受信できたレート」を分ける
設定後は、設定値を読み戻すだけでなく、実データでも確認します。
確認方法の例は、
- 一定時間の受信パケット数を数える
- Timestampの差を確認する
- 期待するDescriptorが予定した周期で含まれているか確認する
- 欠落や大きな時間間隔がないか確認する
です。
レートを上げたときだけ問題が発生する場合は、機器設定だけでなく、通信帯域、受信バッファ、解析処理、ディスク書き込みも確認します。
記録しておくとよい項目
- 製品型式・ファームウェア
- 接続方式:Serial / USBなど
- UART Baud Rate
- Descriptor Set / Field Descriptor
- 基準レート
- decimation
- 設定上の出力レート
- パケットサイズ概算
- 1秒あたりの通信量
- 実際の受信パケット数
- Timestampから求めた実レート
参考資料
- 3DM-CV7 Online Manual / MIP Data Communications Protocol
https://files.microstrain.com/CV7%20Online/ - 3DM-GQ7 User Manual / Multiple Rate Data
https://files.microstrain.com/GQ7%20User%20Manual/dcp_content/introduction/Multiple%20Rate%20Data.htm
原典リンク
- Get Base Rate
- Message Format
- Data Stream Control
- CV7 Multiple Rate Data
- GQ7 Protocol Support
- Shared Data Descriptors
既存の関連ページもあわせて確認
既存の技術解説・ソフトウェア説明と相互に参照できるよう、本番反映時に現在のURLへ接続します。
