Syncフレームのパルス長確認

dsPIC33EV Starter kit のサンプルソフトでは TickTime が 50μsになっていたので
3μsに変更して Syncフレームの TICK長を確認してみました。

計測結果166μsでした。
3μs(1 Tick Time) × 56 = 168μs

実測値と2μsの誤差がありますが問題ない範囲です。
(測定に使っているロジックアナライザーの性能誤差かも)

2016-05-23

Message_Frame
dsPIC33/PIC24 ファミリ リファレンス マニュアル、SENT (Single-Edge Nibble Transmission)モジュール」より

用語
TICK TIME : SENTでパルス幅を決定する最小(基準)単位の時間

Microchip社のSENT (Single-Edge Nibble Transmission) モジュールのマニュアル

SENT関係の仕様書やマニュアルはほとんど英語版しかありませんが
Microchip社で日本語のマニュアルが配布されています。

但し書きとして
「注意:この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジナルの英語版をご参照願います。」
と有りますが、じゅうぶん参考になると思います。

Microchip社
dsPIC33/PIC24 ファミリ リファレンス マニュアル、SENT (Single-Edge Nibble Transmission)モジュール

dsPIC33EV 5V CAN-LIN Starter KitでSENT送信

dsPIC33EV 5V CAN-LIN Starter KitでSENT出力の波形を確認しました。
波形はZeroplus社のLAP-Cで計測したSENT信号とモニタ用のUART信号です。
パルス長の確認とかはまだですが、それらしい波形は出ています。

スクリーンショット 2016-05-22 15.01.59

スクリーンショット 2016-05-22 15.01.37

シリアルポートに出力されているモニタデータです。
2016-05-22

dsPIC33EV 5V CAN-LIN Starter KitでSENT送信(準備編)

マイクロチップ社のホームページからダウンロードしたデモプログラムでSENT送信をやってみました。。

まずはソースコードを変更してSENT送信が動くようにします。

ソースコードの 45行 ~ 85行 の翻訳

* その他の注意事項:
*ソフトウェアはdsPIC33EV256GM106スターターキットにロードされるように設計されています。
*
*どのようにデモが行われるか。
* a)CAN、LINおよびSENTとスイッチ、POTはすべて使用でき、そして温度データは3つの信号に送信されます。
* b)HWインターフェイスは1秒毎にPOT電圧、スイッチのステータスおよび温度(摂氏)を送信します。
* c)LEDは送信モード中に関連したスイッチを押したときに点灯します。
* d)CANのスピードは、ビットあたり10Tqの250kbpsの設定です
* e)LINスピードは4800bpsであり、アナライザのタイムアウトは1000ミリ秒に設定する必要があります
* f)LINインタフェースは、BAT端子に外部+ 12VDCの接続が必要です。
*
*ボードのデフォルトのパワーオン状態は送信モードです。これは1-2-3-2-1を点滅する3つのLEDで表示されます。
*MCLRスイッチが押されている間に3つのユーザスイッチのいずれかが100ミリ秒間以上押されている場合 、
*ボードは受信モード変わります。3つのLEDが5回点滅します。
*受信モードを開始するためにスイッチ(複数可)を解放(OFF)する必要があります。
*
*送信および受信モードの両方をUARTでモニタ出来ます。これは、端末にASCIIデータで表示します。
*
*次のように外部ADM00393ボードを接続すると、すべてのインターフェイスのメッセージのモニタが可能となります。
*
* ADM00393の電圧設定ジャンパーが5Vになっているのを確認してください!必要に応じて3ジャンパ線があります。
*
* TXD – RB4は、ADMのRXD端子に接続します
* GND – GNDは、ADMのG端子に接続します
* DVDD – DVDDは、ADMのVDDピンに接続します
*
* デモの設定は、ボーレートは38400/8 / N / 1に設定されています。これは、ソースを変更して再コンパイルすることによって変更することができます
* 端末プログラムが、同じに設定されていることを確認してください。
*
* CANメッセージコードは、AN1249アプリケーションノートに基づいています。 CANの設定の詳細については、それを参照してください。
*
* 重要!
*
* このデモを実行するためには、CANをアクティブにする必要があります。これはCANと接続するCANバス、CANアナライザまたは他のいずれかが必要です。
* DM330018ボードは、CANインタフェースに接続されます。そうでなければ、プログラムコードは、CANメッセージを受信する箇所で「ハングアップ」します。
* CANを接続しない場合(SENTまたはLINだけ使いたい場合)、あなたは、ソースコードの行をコメントアウトして再コンパイルする必要があります。
* 手順については、ユーザーズ・ガイドを参照してください。
*
*
* プロセッサは、水晶+ PLLで起動します、クロックの切り替えはしません!

ユーザーズ・ガイドからCANを無効にする方法
CANを無効にする方法はマニュアルの27ページに書いてあります。
要は ソースファイル(33EV_main_v11.c)の472行目の
CAN_Transmit()をコメントアウトするだけです。

コメントアウト後にビルドしてStarter Kitにプログラムを書き込みます。

プログラム書込み後 MCLR ボタンを押すとLEDが
1→2→3の順番に点灯して3→2→1の順番に消灯します。
この状態で Starter Kit はトランスミットモードで動作しています。

受信モードへの切り替えに関して
自分の翻訳が違っているのかもしれませんが実際には
3個のスイッチ(1個でも複数でも可)とMCLRスイッチを同時に押して
先にMCLRスイッチを開放して次に3個のスイッチを開放すると受信モードに移行します。