(怠惰な場合はTL; DRの下部を参照してください)
こんにちは、私は物理コンピューティングを扱う新しい(プロトタイプ)プロジェクトを構築することを計画しています。基本的に、私はワイヤーを持っています。これらのワイヤはすべて、同時に電圧を読み取る必要があります。各ワイヤの読み取り値の差が数百マイクロ秒を超えると、ワイヤが完全に台無しになります。Arduinoは約114マイクロ秒かかります。したがって、待ち時間が読み取りの精度を歪める前に、私が読み取ることができるのは2本または3本のワイヤです。
ですから、私の計画は、一連のATTinysの「マスター」としてArduinoを使用することです。arduinoはスペースがかなり狭いですが、小さなものに比べると巨大な遊び場です。ATTiny13Aには、1kのフラッシュROM(プログラムスペース)、64バイトのRAM、および64バイトの(耐久性がなく低速の)EEPROMがあります。(サイズだけでなく価格もこれを選んでいます)
私のシステムのATTinysはあまり効果がありません。基本的に、マスターからの信号を待ってから、1本または2本のワイヤーの電圧を読み取り、RAM(または窮屈な場合はEEPROM)に保存するだけです。そして、データ用に1本のワイヤーだけを使用してマスターに送信します(それ以上のスペースはありません!)。
これまでのところ、私がしなければならないのは、(組み込みのADCを使用して)簡単な電圧読み取りコードを実装することだけです。しかし、私が心配しているこのコミュニケーションビット。そのような制約の中で通信プロトコル(1本のワイヤーを使用するだけです!)を実装することさえできると思いますか?
TL; DR:1k未満のプログラムスペースと64バイトのRAM(および64バイトのEEPROM)で、1-Wire通信プロトコルを実装することは可能だと思いますか?フィットさせるためにアセンブリにドロップする必要がありますか?
現在、WiringライブラリにリンクしているArduinoプログラムが8kを超えていることを知っているので、少し心配しています。