(Если ваш ленивый, смотрите дно для TL; DR )
Здравствуйте, я планирую создать новый (прототип) проект, связанный с физическими вычислениями. В основном у меня есть провода. На всех этих проводах необходимо одновременно измерять напряжение. Разница между показаниями каждого провода, превышающая несколько сотен микросекунд, полностью испортит его. Arduino занимает около 114 микросекунд. Таким образом, самое большее, что я мог прочитать, это 2 или 3 провода, прежде чем задержка исказит точность показаний.
Так что мой план состоит в том, чтобы Arduino был «хозяином» массива ATTinys. Arduino довольно тесный для пространства, но это огромная игровая площадка по сравнению с tinys. ATTiny13A имеет 1 КБ флэш-памяти (пространство программы), 64 байта ОЗУ и 64 байта (недолговечного и медленного) EEPROM. (Я выбираю это как по цене, так и по размеру)
ATTinys в моей системе мало что сделает. По сути, все, что они будут делать, - это дождаться сигнала от Мастера, а затем прочитать напряжение 1 или 2 проводов и сохранить его в ОЗУ (или, возможно, в ЭСППЗУ, если оно ограничено). А затем отправьте его Мастеру, используя только 1 провод для данных. (Больше места нет!).
Пока что все, что мне нужно сделать, это реализовать тривиальный код чтения напряжения (используя встроенный АЦП). Но это общение немного меня беспокоит. Как вы думаете, протокол связи (используя только 1 провод!) Может быть даже реализован в таких ограничениях?
TL; DR: Как вы думаете, возможно ли реализовать однопроводной протокол связи менее чем на 1 КБ программного пространства и 64 байтах ОЗУ (и 64 байтах EEPROM)? Нужно ли переходить на сборку, чтобы она подходила?
Я знаю, что в настоящее время мои программы Arduino, связанные с библиотекой Wiring, имеют размер более 8 Кб, поэтому я немного обеспокоен.