Ну сейчас есть прототип, какой есть, автор молодец, что в целом концепцию охватил. Сейчас можно по частям все обдумать и проработать.
А вообще любую передачу, конечно, надо взваливать на контроллер интерфейса, чтоб работа с обменом со стороны cpu выглядела как запись данных в один порт, запись команды в другой порт, а затем циклическое считывание статусного регистра на предмет переваривания/готовности ответных данных от контроллера.
Последовательный интерфейсы - это тепло и лампово, как магнитофон с полосками на бордюре, но мне кажется, что параллельная передача здесь была бы куда более к месту.
И если уж говорить про ESP, то у него должно быть достаточно своих gpio-ног для реализации слейв-устройства с параллельным обменом по 8-разрядной шине данных, адресации регистров импровизированного контроллера и линий управления (rd и wr). То есть аппаратно спековскую часть можно бы сократить до дешифратора адреса(ов) и самого esp, а уж потом он будет цепляться к серверу и по сути реализовывать проксирование, отдавая спеку данные небольшими блоками.
Про то, что хватит быстродействия, я особо не сомневаюсь - хотя бы потому что подобный интерфейс реализовывали неплохо даже на avr-ках (эмулятор вг93+флопа by Helbr тому пример).
У меня есть несколько идей, но пока нет опыта в работе с esp, я пока только чужие проекты собирал и вливал в него. Поизучаю, может чего и придумается.
- - - Добавлено - - -
Там скорость его [FIFO UART] передачи определяется его собственным кварцем и делителем, записанным в один и его специальных регистров. То есть отдал ему данные в буфер - и он их на соответствующей скорости со всеми дополнительными битами (старт/стоп/четность) передал. Если в ответ чего-то ждём, поллим статусный регистр, как в нем увидели готовность принятых данных - забрали их чтением из соотв.регистров. За счёт FIFO можем не очень мгновенно и не очень равномерно принятые данные забирать. Так что это значительно удобнее.





Ответить с цитированием