簡易データ送受信チップ2仕様

by K.I

Index


概要

簡易的なデータ送受信を行なうプロトコルを定義して作成した 簡易データ送受信チップについて、プロセッサの変更と少し仕様も変更したので、あらためて仕様を作成した。
[top]

ハードウェア仕様

MicroChip社の PIC16F629を使用した。→前回使用した12C509と比較している 機能が充実したのは非常に有難いが、プログラムの書換えが必要になる。特に割り込み対応は厄介だ。

送信回路(TXチップ)

受信回路(RXチップ)

CR発振でボーレートを正確に合わせることが出来ないため、受信部では最初に転送速度の調整を行なってから受信動作に入るようにした。

機能の改良・追加について

プロセッサの変更に伴い、機能の改良と追加を行った。主なものを以下に示す。
1ページ切替えすれば範囲外も可能ではあるが、かなり面倒になる。
2メモリのページ切替えが不要になったのがとても嬉しい。
3データの開始のタイミングでクロック出力。
4送信回路が連続モードに入るのが約1秒なので、その前に受信待機状態に入る必要があるため。

[top]

プロトコル

以下のような各5bitのデータを順に送信する。 以下に、送信データの例(データ'A'を送信)を示す。

テストモードについて

送信チップの起動時にTxEがH状態の場合、テストモードになる。 テストモードはD0〜D3の値によって以下のような動作をする特別な連続モードである。
D0〜D3 動作
0000 通常モード
0001 1秒毎に、0000〜1111のデータを順番に出力する
0002 idle,start,0000〜1111のデータ,endを繰り返し連続出力
0003 1秒毎に、0000〜1111のデータをランダムに出力する
0004 idle,start,0000〜1111のデータ,endをランダムに連続出力

4B/5B変換

NRZIでのクロック挿入とコントロール用の信号を付加するために、4bit信号を5bitコードに拡張してから、データ送信する。
data code Interpretation
(4bit) (5bit)
0000 11110 data 0
0001 01001 data 1
0010 10100 data 2
0011 10101 data 3
0100 01010 data 4
0101 01011 data 5
0110 01110 data 6
0111 01111 data 7
1000 10010 data 8
1001 10011 data 9
1010 10110 data A
1011 10111 data B
1100 11010 data C
1101 11011 data D
1110 11100 data E
1111 11101 data F
---- 11111 idle
---- 11000 start
---- 01101 end
---- 00100 error

NRZI変調

データの変化が、データ1を表すデータ変調方式。 変化点を挿入する工夫が必要となる。例えば、

変調周波数について

ボーレートは約1200bpsであり、NRZIは両エッジを使うので最大で600Hz、4B5Bコードでは4回0が続く可能性があるので最小で150Hzとなる。 この周波数が基本だが、矩形波なのでもう少し高い周波数が必要になるかもしれない。
5NRZIなので、どちらでも良いのだが、なんとなく。

[top]

ソフトウェア開発


[top]

回路例

この送受信チップを使った回路例を以下に示す。
[top]

注意点


6但し、これは送信受信のクロック周波数がかなり変動した場合である。クロックとデータとのズレはデータ'1'の時に同期されるので、そんなに大きくならない。

[top]

改訂履歴



comments powered by Disqus