Исправил ещё пару мелких бяк, перебросил пару цепей, прогнал через DRC и, в общем, какое-то оно
примерно такое:
Местами тесновато смотрится. В некоторых мест из этих "местами" теснота может даже не очень оправданна, но, думаю, тяжких проблем с ручной сборкой уже не будет - самая мелкая рассыпуха в корпусах 0603, а проц, ПЛИС, память и аудиокодек я уже паял и знаю, что это хоть и нудно, но вполне возможно.
Теперь месяц нервного ожидания...
Впрочем, не совсем просто так ожидания. Нужно набросать ещё правильный DC/DC конвертер, правильный синтазатор частот и экспериментальный смеситель (а то и не один, экспериментальный ведь!).
Питальник должен будет выдавать хорошо стабилизированные линии +5В, -5В (оба - для радиочасти), +6.5В (для питания вот той вот требухи с картинки выше) и +3.3В для синтеза. Чем эти напряжения будут чище, тем меньше гемора с неизвестными науке сигналами на непредсказуемых частотах. А если этот питальник ещё и сможет быть зарядным устройством для восьми NiCd-банок, это будет вообще замечательно.
Синтез должен выдавать частоты от 500 кГц до 160 [примерно] мегагерц, что легко достигается при помощи DDS. Наброски уже есть, надо только "причесать" схемотехнику.
Смеситель... посмотрим, что можно выжать из ключевых смесов. Есть сомнения по поводу максимальной частоты переключения: хочется-то повыше, но как оно на самом деле себя ведёт, в интернетах толком никто не пишет (нашёл упоминания о том, что FST3125 можно разогнать аж до 70МГц). Если не выйдет с ключами, можно попробовать классический диодный смеситель (формировать сдвинутый по фазе сигнал гетеродина можно точно так же, как для ключей - триггерным делителем, только его выходной сигнал надо будет ещё умощнить, чтобы управлять диодами)
План оживления плат после сборки и осторожных проверок на принципиальную работоспособность:
1) Контроллер. Без него прочие узлы не заработают вовсе.
Помигать светодиодом, затем поднять SPI, I2C, порт внешней памяти в режиме работы с LCD (STM32F103 так умеет), UART, USB, SDIO...
2) ПЛИС. Автономно эта плата работать не сможет хотя бы потому, что на "железном" уровне ПЛИС сконфигурирована под загрузку в режиме Slave Serial. Кроме того, питание +3.3В берётся с платы контроллера (городить ещё один регулятор посчитал излишним, тем более что мощность того регулятора не выбрана даже на треть).
На этой же плате стоит Самый Главный Элемент - термокомпенсированный тактовый генератор, от точности коего будет зависеть точность всех прочих частот.
Помигать светодиодом (дык, а как же без blinkenlights?!). Реализовать контроллер памяти будет несложно, ибо это тупая прямолинейная SRAM на 128 килобайт. Зачем она тут нужна, я ещё не знаю - пусть лучше будет, чем нет. Если окажется не нужной, можно просто не паять. Затем поднять интерфейс AC'97 и заставить аудиокодек что-нибудь эдакое пропищать-погудеть. Затем - реализовать четыре SPI-канала к парам АЦП/ЦАП на следующей плате.
3) Аналоговый фронтэнд. Тут, в общем, всё просто и квадратно: два "входящих" SPI, два "выходящих", антиалиазинговые ФНЧ, референс на 4.096В и простенькая схема переключения усиления приёмного канала. Заработать должно "после подачи питания", почти буквально. Самая простая проверка - перебросить поток данных от АЦП к ЦАП внутри ПЛИС. Трогаем пинцетом вход Rx - если всё работает, на выходе Tx появляется тот же 50-герцовый сигнал.
Ну а дальше уже всё остальное: преобразования Гильберта, децимация, интерполяция и т.п., и т.д...