「PC」としての運用はしておりませんので
PC GUI (Windows) に手足(I/O)が欲しい
COMポートを制御ビットとして使う
COMポート(9/25ピンD-SUB +/-12V) <-> MAXIM(5V) <-> 何か
-> IN:4 OUT:2 ビット (TxD,RxD で[Break]を使えば、もう1つづつ) 少ない!
今でも数ビットで済むモノはこれでいける ただし、COMポートは USBにしておこう
マイコンボード (Z80 / H8 他) にデバイスとのやり取りを任せる
COMポート(9/25ピンD-SUB) <-> マイコン(with MAXIM) <-> デバイス
-> COMポートの通信速度がボトルネックになってマイコンの性能を発揮できない
-> マイコン側通信速度が分周の関係で上げられない
-> マイコンのプログラム変更が面倒くさい
-> デバッガの支度
-> UVEPROM/EEPROMの書換え
-> ROMライタの支度
-> ROM消去器の支度
COMポートが USBになっても通信速度の問題は変わらず
-> 試行不足 FTDI の USB-COMポートは 9600/19200... の系統でなくても設定出来た
-> マイコン分周との関係を煮詰めて通信速度が上げられた
Raspberry Pi を試す (2B) 「敬称はつけなくていい・・」
Linux で苦労する
-> Linux の GUI も覚えるのかぁ..
-> 放置
FTDI FT245R を試す
FTDI 提供の DLL経由でアクセス
それなりに動く
欲が出て、SPI,I2C も動かしたくなる
LATTEPANDA (Windows) を試す
Arduino(Leonardo) が基板上 USB-COMポートでつながっているだけだった
-> Leonardo はリセットすると USB-COMポートが Windows から見えなくなる
-> COMポート番号が変わっていたりもする
入手時期の関係で Windows が Win10 x64 しか選択出来なかった
-> x64 は低スペックに向いていない
Windows + Arduino Uno に寄り道
通信速度の問題は変わらないが気分転換
USB-COMポートが別チップなので リセットしても「ポート番号」は変化しない
Windows からCOMポート制御線(どれだったかな)を操作すると Arduino にリセットがかかる
開発環境はとてもわかり易い
C言語で出来る事が当たり前の様に出来る
デバイスアクセス速度は文句無し
SPI デバイスを Windows GUI からCOMポート経由で幾つか動かす
-> RAM が狭すぎる
-> 通信バッファが充分に取れない
-> プログラム領域と固定データ領域が別
-> 固定データ領域はCPUにマッピングされていない
-> 固定データを使いたい時には RAMにコピーしなければならない
当初の目標に届かなかったけど楽しかった
FTDI FT232HLを試す
SPI I2C へ仮想COMポート経由でアクセス出来る!
-> 少しイジくりだしたが、パフォーマンスが上がらない
-> Windows の USBへのポーリングのせいらしい (FTDI代理店? のQA)
Raspberry Pi ZeroW を知る
!「Wifi で Windows とつなげばいいんじゃね?」
通信速度はきっと大丈夫
前回の挫折をふまえて開発環境の検討
なるべく Linux に深入りしない
ソース・実行ファイルは Windows ディスク上
Linux から Windows上のファイルをアクセスする必要がある
ソース編集は Windows C++Builder エディタ
実行ファイル作成
Linux カレントを Windows上に移動
Linux コンソール コマンドラインから gcc
Linux 側プログラミングで覚えなければならない事
gpio アクセスライブラリの使い方 (pigpio)
ネットワーク通信 (socket)
スレッド処理
今のところ「あれを調べなきゃなぁ」はない
目標運用形態
ZeroW と接続するのは 40pinを介した I/Oボードのみ
電源は I/Oボード経由で ZeroWへ
Wifiで PCと通信 テスト環境では親機と近いのでアンテナ不要
ディスプレイ・キーボード不要
必要な時は Windows 上のターミナルから接続
開発は ZeroW との互換がよさそうな 3B
製作途中の Pi:RemoteIO(RasPi3B) と PC:RemotePi(Windows GUI) との通信時間
PC(コマンド) -> Pi IO実行 -> PC(応答)
有線LANで数mS 無線LANでも10ms未満
Linux の「いらんモン」をあれこれ止めればもっと速くなるかな
-> 調べモンあるじゃん