В моём случае микроконтроллер едва справился с трёхмегабитным шлюзом Ethernet, поэтому для следующего проекта я присматриваюсь к FPGA.
Автор просто выбрал не тот микроконтроллер. ФПГА с софт- процессором начисто сольет производительностью даже Кортех М3, не говоря уже о М4, М7 и, тем более, А серии (правда она уже не микроконтроллерная). Есть много SoC с хардовым Кортексом (от М3 до A53) — но ФПГА для шлюза в них будет как собаке пятая нога.
Ну по сравнению с M3 не так и плохо все даже чисто по dmips'ам. Главная же фишка процессоров в FPGA — возможность создания аппаратных ускорителей под конкретную задачу и тесная интеграция их с ПО. Хоть DSP считай, хоть аппаратный udp-стек делай…
да, но для UDP стека оно не надо особо. Я видел такие штуки в профессиональной аппаратуре со стеками — там NIOS II крутился и uCLinux
Я давно хочу заняться FPGA, и запустить что-нибудь большое на Clash (достаточно простой язык, который можно транслировать в Verilog или VHDL). Но для этого требуется большое количество трудного в настройке проприетарного софта, что меня отпугивает. Когда-то давно я программировал прошитый в FPGA процессор, но прошивку мне давали на флешке, и как ее генерировали мне казалось чорной магией.
А в каких случаях применение FPGA оказывается выгоднее использования микроконтроллеров?
Уже все мозги сломал, но так и не смог придумать ситуацию, когда применение FPGA было бы оправдано. Они дороже микроконтроллеров, их труднее программировать и отлаживать, они занимают больше места, их энергопотребление выше. Так где же они применяются?

В тех, где использование процессорной обработки в реальном времени невозможно. Как правило это обработка сигналов (радио, видео, звук и прочее). ПЛИС позволяет делать множество операций в один момент времени. Условно, я могу выполнять на плис, например, десять тысяч операций сложения с частотой в сто мегагерц. Ну и где ваш террагерцовый процессор?

а ещё можно отсортировать массив за log2(n) что на обычных ПК и МК просто кажется фантастикой. (bitonic sort)
зачем это надо? ну например видеопоток 200 мегапикселей в секунду и нужно убрать шум — это все виды фильтров начиная с медианного
на куче параллельных операций, по сути как и вычисления на видяхах. Например нехилое такое Фурье посчитать и тп. Частенько для нестандартной скоростной периферии используют, например с АЦП скоростного в SDRAM данные закинуть (можно с обработкой). Если серия большая — потом делают специализированный ASIC — заказной чип. Не стоит забывать, что большие FPGA — дорогое удовольствие, бывает куда более 1К $ штука стоит, а всякие там спец радиационно-стойкие вообще цены лучше не глядеть (впрочем они под санкциями)
Нельзя было направить последовательный ввод напрямую на компьютер, потому что у него нет последовательного порта
зато есть Ethernet и можно отослать пакет манчестером напрямую на обычном XOR marsohod.org/index.php/projects/94-ether-send
Пишите побольше контента на тему SDR. Конечно если есть таковые проекты в разработке, или же в прошлом были. Было бы интересно пополнить свои знания в этой области.
Дали бы дешёвую ссылку на Али, там вдвое дешевле, чем по вашим эта Mojo стоит…
Только полноправные пользователи могут оставлять комментарии.
Войдите, пожалуйста.