2015年 05月 31日
ポケコン PC-G850Vで電子回路工作(5/31)
以下の図はGoogle Sheetで記述。

タイミングチャートの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ビットの解像度で取得できるハズ。

