MPLABX IDEシミュレータの使い方( Logic Analyzer )

実機で動かす前にある程度はシミュレータで確認しておきたいところだが、すぐ使い方忘れてしまうので、自分なりのまとめをしておく。

※ v5.45だとLogicAnalyzerが動かないので、v5.35を使っている。

PWMの波形を出力してLogicAnalyzerで確認してみる

まずは、PICのシステムクロックを設定する。今回は実験で最大速度32MHzを指定する。

simulator_mplabx_006

プロジェクト設定でシミュレータの動作クロックを設定する。

simulator_mplabx_001

Traceを選択して、Data CollectionInstruction Traceを選択する。これを行わないと、LogicAnalyzerに波形が表示されない。

simulator_mplabx_002

ちなみに、UartでWindowを選択しておくと、printf()の内容がウィンドウに出力される。

simulator_mplabx_003

これは、UARTでRedirect STDIO to UARTをONにすると、putchar()が実装されてUARTのTXにデータを転送する実装になる。これをシミュレートする設定である。

次にPWMの波形を出力する設定をMCCで実施する。今回はDuty=25%にしてみる。あと、Timer2を使ってPWMを表現するので、Timer2で1周期の時間を設定する。

simulator_mplabx_005

PWMの1周期を25usに設定してみた。(設定できる範囲はシステムクロックに依存する)

simulator_mplabx_007

つまり、1周期25us(40kHz)のDuty=25%になれば良い。

MCCでGenerateボタンを押して、内容をソースに出力したらビルドを実行してモジュールを作成する。

Window - Simulator - Logic Analyzerの順で選択してアナライザを表示する。

simulator_mplabx_009

SettingでPWM波形が出力されるP1Aピンを選択しておく。

simulator_mplabx_008

デバッグ実行を行う。

simulator_mplabx_010

正しく起動できると、メインループに入って動作状態になる。動作中はアナライザには波形は表示されない。

simulator_mplabx_011

一時停止ボタンを押して動作を停止させると、アナライザに波形が表示される。

simulator_mplabx_012

波形をクリックすると、2本マーカーがおける。オシロスコープのように区間のデルタが表示されるので便利。マーカーを2本までなので、別の箇所を測定したい場合は、コンテキストメニューからRemove Markerを選択すると、古いマーカーから削除される。

simulator_mplabx_013