Не знаю, на сколько это оффтоп.
Ведь от этого зависит выбор cpld.
Или Вы уже четко решили, что epm240?
Кстати, думаю epm3064 вполне должно хватить, если делать обмен с STM32 не по spi, а через прямую запись в регистры. Ног тоже должно хватить.
Вид для печати
Я не против обсуждения технических различий разных вариантов cpld. Обсуждение тонкостей приобретения на али мне тоже интересно, но все же это оффтоп.
Насчет epm3064 или epm240 я поступлю просто - приобрету чипы и попробую.
Первую версию точно буду делать на 7064, так как уже купил под это дело 3 корпуса.
Набросал эскиз платы, строго не судить.
https://pic.maxiol.com/thumbs2/16156...4966184.v0.png
ну зачем же так) прям и никто))) сразу
Лежит на полке десяток - закупленный по "правильной" цене (2$). На этой неделе , наконец, смог запустить примеры из SDK в режиме отладки в VS Code....
До PIO руки еще пока не дошли но должны.... Ради бешенной скорострельности PIO и покупал сие поделие
1. По моим исследованиям для стабильной работы достаточно, чтобы при 20-мегагерцовом процессоре ответ на прерывание приходил за 6 тактов, это для 3,5-мегагерцового режима. Для 7-8-мегагерцового режима вероятно целесообразно включать wait. Так что по-моему результат больше зависит от кривости рук схемотехников и программистов, а как раз cpld и есть костыль для исправления дефекта мозгов...
2. Вместо cpld можно использовать микросхему памяти...
20-мегагерцовые процессоры сильно разные бывают.
В AVR команды выполняются строго последовательно за 1 или 2 такта. У Cortex STM32 - несколько конвейеров по 3-8 стадий, несколько команд выполняются одновременно. При прерывании все эти конвейеры естественно сбрасываются.
Появляются дополнительные такты, чтобы заполнить конвейеры новыми данными.
В этом смысле Pi Pico выглядит интереснее. Процессор во-первых двухядерный. Одно ядро на обработку USB, второе на обработку запросов от спектрума.
Во-вторых конвейеры в архитектуре Cortex M0+ всего их двух стадий. При сбросе получаются незначительные потери тактов.