人気ブログランキング | 話題のタグを見る

ポケコン PC-G850Vで電子回路工作(5/31)

これ(前頁)を元に、いつものように、BASICのDATA文やCの配列データを組み立てる。(もちろんデータ駆動っぽくするため。別に手続型っぽく書いてもいいが)

以下の図はGoogle Sheetで記述。
ポケコン PC-G850Vで電子回路工作(5/31)_a0034780_16293851.jpg

タイミングチャートのHI/LOWを1/0に変えて表現。

行2~5がタイミングチャートの青文字のピンに当たるところ。
B列C列が、行3のCLKの2拍分余計にLOWを出力している感じを表している。
C2がCSがCLKの1拍前にLOWになっているのを示す。

M5がNullBitをCLK=HIの時のみ読み出す事を示している。
以下は同じタイミングでB9~B0の値を読み出すタイミングを示す。

赤線の長いのが、データ列になるのだが、そのまま渡すのではなく、ちょっと加工しておいた。
4ピンのビット(0x62で最下位ビット)が読み出しなので、空いているのでそこを1にして読み出しタイミングを知らせようと画策した。
(別に14番目とか16番目のデータであるとかカウンタで制御してもいいのだが)

で、行9のようにビットを立てたデータ列を使う事にする。最下位ビットは0にして出力。

最初の最下位ビットが立っている場合はNullBitなので0が読み出されることを確認し、それ以降はそのタイミングで読んだデータを2の9乗~0として扱えば、シーケンシャルに10ビット入力したことになる。

最後に青線の部分だが、CSをHIに戻すのもCLK2拍分でいいかなと思い、倍加している。この36セットを1組にして繰り返せば、MCP3002からA/D変換したデータを10ビットの解像度で取得できるハズ。
by k1segawa | 2015-05-31 16:45 | ポケコン | Comments(0)