概要
はじめに
今回は、MPLAB X IDEに搭載された Data Visualizer の使い方をご紹介します。
- MPLAB X IDE のプラグイン版またはスタンドアロン版として利用可能な、無料の可視化ツールです
- 組み込みターゲット(Microchip製マイコン等)からのデータをリアルタイムで取得し、グラフ表示や端末表示が可能です 。
- デバッガと連携したインタラクティブなデバッグにも対応しています 。
本記事では、後者のアドイン版(IDE統合版)を使用して動作確認を行っています。
Data Visualizerとは
🔑 主な機能
- ストリーム取得
- シリアル(CDC/COMポート)やData Gateway Interface(DGI)経由でデータを受信 (fig.1-1),(fig.1-2)
- 複数のソースから同時にデータを取得・表示できます 。
- グラフ・端末表示
- デコード形式を指定してデータをタイムプロットとして視覚化。
- オシロスコープ風表示(トリガ/カーソル測定など)や端末画面としての出力も可能 。
- デバッグと同時利用
- プラグイン版であれば、デバッグと可視化を同時に操作でき、観測を中断せずにコード解析が可能 。(fig.1-3)
- データ解析支援
- バンド幅やパルス幅の測定用カーソル搭載。
- CSVやApache Arrow形式によるデータのロギングやスナップショット保存対応
- DVRT(ランタイム可視化プロトコル)
- グローバル変数の読み書きや、デコード時のリアルタイム解析に対応 。
- 電力・PC値の可視化
- 対象ボードが対応していれば、電力消費やプログラムカウンタ(PC)値も監視可能 。



📥 インストールと対応環境
- プラグイン版
- MPLAB X IDE v5.50以降に対応
- 「Tools → Plugins」で選択・インストール可能
- スタンドアロン版
- Windows/macOS/Linuxで動作、独自にダウンロードして使用可能 。
- DGI対応ボードやCOMポート経由での接続が可能です 。
🧭 運用例(Curiosity Nano/Xplained Pro)
- ポテンショメータやGPIOのデータを、ストリーミング&グラフ表示。
- ランタイム中にトリガ付きのオシロビューや、波形のカーソル分析も可能 。
✅ まとめ
- GUIベースでリアルタイム監視・解析ができる強力なツール。
- デバッグ中に動作状況を直観的に把握したい開発者に特に有用です。
- 変数・波形・電力消費など多様な測定対象に対応しており、効率的な開発・デバッグが可能になります。
Data Visualizer RunTime と Variable Streamerの違い
Data Visualiserは可視化ツールですが、以下の2種類の機能が有ります。
DVRT(Data Visualizer RunTime)とVariable Streamer(ストリーマ)は、どちらも Microchip の Data Visualizer でMCUから変数の値をリアルタイムで可視化するための機能ですが、目的や使い方に明確な違いがあります。
大きくはリアルタイムにモニタする値を変更できるか固定にするかの違いです。
| 項目 | DVRT | Variable Streamer |
|---|---|---|
| 目的 | デバッグ中に変数を選択的に読み書き・可視化 | 固定フォーマットでの変数のストリーム送信 |
| 通信方式 | 双方向通信(変数の読み書きが可能) | 一方向通信(送信のみ) |
| 変数の選択 | ランタイム中にGUIで選択・変更可能 | コード上に固定された変数のみ |
| MCU側の実装 | DVRT_Process()を周期呼び出し、UART経由で通信 | 送信用に変数を構造体にまとめてUARTなどで定期送信 |
| 構成の柔軟性 | 実行中に変数追加・削除、更新レート変更が可能 | 変数構成はビルド時に固定 |
| 読み書き機能 | 読み取り・書き込み両方対応 | 読み取りのみ(送信のみ) |
| 使いやすさ | セットアップはやや複雑(ライブラリ導入が必要) | 非常にシンプル(printf風でもOK) |
| 表示の自由度 | グラフ・端末・XYプロット・可変デコードなど豊富 | 同様に可視化可能(フォーマット指定次第) |
| 主な用途 | 開発後期の詳細デバッグ・キャリブレーション | 開発初期のざっくり確認やログ取り |
記事変更履歴
| 公開/ 変更日 | 特記 |
| 25/6/30 | 初版公開。 |
関連リンク
内部リンク
| 記事タイトル | リンク |
| 【MPLAB X】 IO Viewの使い方 | 【MPLAB X】 IO Viewの使い方 – ぴくおの電子工作的な何かWP |
| X2CScopeの使い方 | X2CScopeの使い方 – ぴくおの電子工作的な何かWP |
外部リンク
| 記事タイトル | リンク |
| ユーザーマニュアル | MPLAB® Data Visualizer User’s Guide |
| プラグインサイト | MPLAB® Data Visualizer | Microchip Technology |
| Microchip UNIVERSITY | MPLAB® Data Visualizerによるビジュアルデバッギング |
| Youtube Introduction to the Data Visualizer Run Time (DVRT) protocol, for the MPLAB Data Visualizer | Introduction to the Data Visualizer Run Time (DVRT) protocol, for the MPLAB Data Visualizer |
インストール方法
①メニューの「Tools > Plugins」をクリック

②Available Pluginsにチェックを入れ「Install」をクリック

MCU側のソースコードの準備
DVRTプロジェクトのセットアップ
DVRTをMCC経由で作成する場合、以下の手順で設定します。
①MCCを立ち上げ「Data Visualizer」>「DV Run time」の+ボタンをクリック

②DV run timeモジュールが読み込まれます。UartとTimerが割り当てられられていませんので、

③今回はUART1とSCCP1を割り当てました。

④UART-USBコンバータなどで、PCと接続しているピンにUARTを割り当てます。

⑤「Generate」を押してソースコードを生成します。

⑥グローバル変数として「loop」を定義し、メインループ内で加算します

⑦プロジェクトをビルドし、マイコンに書き込みます。
MPLAB X側の設定
① 「メニュー」→「Debugging」→「Data Visualizer」 をクリックします。
Data Visualizerパネルが起動します。

②パネル内の 「DVRT Session」 をクリックします。

③「Source」 に、接続しているCOMポートを選択します。
(USB接続の開発ボードなどが自動で割り当てられている場合があります)

④「Load Debug Symbols」 をクリックするとファイル選択ダイアログが開きます。
ここで、先ほどビルドした ELFファイル を読み込みます。
通常、以下のパスに生成されます:
[プロジェクトフォルダ]/dist/default/production/プロジェクト名.X.production.elf

⑤ 「Name」 欄に、監視したい変数名やレジスタ名を入力すると、ドロップダウンリストに候補が表示されます。
表示された中から目的の変数をクリックして選択します。

⑥ 変数を追加したら、「開始(Start)」ボタンをクリックすると、現在の値が表示されます。

⑦ さらに、グラフアイコンをクリックすると、選択した変数の値が時間軸でグラフ表示されます。
リアルタイムでの変化を視覚的に確認することができます。

⑧ [DVRT Protocol]タブ内の空白領域をクリックすると、その下にDVRTプロトコルの各種オプションやステータス情報が表示されます。
ここでは、サンプリング周期(Streaming Tick)やバッファサイズなどの設定・状態を確認できます。

⑨ 例えば、Streaming Tickを「10」に設定すると、非常に高頻度なサンプリングが実現され、変数の変化をより細かく追うことができます。
以下の図は、その設定時のグラフ出力例です。

記事についての注意点
本記事は慎重に内容を検討し正確さに努めておりますが、内容に誤りがあったとしても、この記事を参考にして生じた損害等については一切の責任を負いません。


コメント