Здравствуйте. Нужно с помощью ардуинки, записать цифровой сигнал с другого устройства, с целью его дальнейшего применения или корекции. Подскажите как это лучше организовать?
2 канала, частоту честно не знаю, но не думаю что там больше 1 МГц, длительность записи думаю меньше секунды. Устройство я пока и в глаза не видел, просто задача по сути скопировать его. А так это обнулитель показаний для торгового автомата. Новый такой стоит приличных денег, да и найти его сложновато, но мне могут дать такой на несколько часов, вот и хочу узнать что за сигнал он посылает.
Для постоянной записи "сырого" сигнала у микроконтроллера памяти мало будет, ообенно если частота сигнала неизвестна и нужно писать всё. Видимо придется писать только положения фронтов сигнала, а регистрировать их либо постоянным опросом портов, либо через прерывания. В качестве меток времени подойдут значения таймера из регистра TCNT0, им можно отсчитывать в т.ч. и отдельные такты. Т.к. таймер 8-битный, еще одно прерывание понадобится для учета переполнения TCNT0. В принципе, так с хорошей точностью можно сигнал записать без потерь данных.
Возьмите напрокат осциллограф. Если сигнал действительно двоичный, то затем возьмите напрокат логический анализатор. Если вы уверены, что сигнал двоичный (не просто цифровой, а именно двоичный) то сразу берите анализатор. Все это пригодится еще раз, когда будете на ардуине воспроизводить сигналы. Реверс-инжиниринг сам по себе не всегда тривиален, стоит ли усложнять его отладкой собственного анализатора?