Deprecated: Assigning the return value of new by reference is deprecated in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 25

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 30

Warning: Cannot modify header information - headers already sent by (output started at /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php:25) in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 81
科学好き者の日々::鉄道模型 DCCの信号発生器(エンコーダ)

鉄道模型 DCCの信号発生器(エンコーダ)

最近の鉄道模型ではデジタルコマンドで制御するDCCがあります。

NMRA( NATIONAL MODEL RAILROAD ASSOCIATION) 規格を調べてみると、コマンドはプリアンブル12bit、アドレス8BIT、データ8BIT、エラー検出8BITからなっています。0,1はパルス幅で識別するようです。
と前にかいたのですが、実際はデータではなくインストラクションと呼ばれていて8BITだけではなく1から3BYTEの可変長のようです。
最後のエラー検出8BITはどういうやり方なのかわからなかったのですが、RP9.2.1のP2に全てのアドレスとインストラクションBYTEより計算されるとありますので、チェックサムと思われます。

信号発生器がなくては、受信器(デコーダー)の動作が確認できませんので、まず信号発生器をつくってみることにしました。

アドレス8BIT、インストラクションも8bitの固定とします。夫々DIPスイッチで設定し、その値を読み込んで0,1のデータ列に変換します。
DIPスイッチのみでは内容がわかりづらいので7セグメントの表示器でアドレス、インストラクションを表示させます。

必要な入出力を数えると、DIPスイッチ 8+2bit(2bitでアドレスかインストラクションかの切り替え)、7セグメント表示 7+4bit(4桁分のダイナミック点灯)、コマンド送信ボタン 1bit、実際のコマンド信号 1bit で計23bit必要です。(コマンド送信確認用のLEDに1bitで全てのIOを使ってしまう)

8bit3ポートあるPICは手持ちがないので、PSoCを使うことにしました。28PのPSoCはスリムタイプのDIPですので場所も取らないでしょう。

通常の47×72mmのユニバーサル基板に収まりそうです。




Calendar
<< May 2024 >>
SunMonTueWedThuFriSat
   1234
567891011
12131415161718
19202122232425
262728293031
search this site.
tags
archives
recent comment
recent trackback
others
admin