Трансивер HBR/CW вышел вполне удачным, особенно с последними доработками (первая, вторая, третья). Мне захотелось, так сказать, зафиксировать результат, и развести для него нормальную плату. Однако все пошло не по плану, и в проект были внесены дополнительные коррективы.

Ранее в этом блоге приводилось множество проектов на основе Si5351. Могло сложится впечатление, что это единственный подобный чип, по крайней мере, из бюджетных. На самом деле, это не так. Другим популярным выбором среди радиолюбителей является синтезатор частот AD9850. Давайте же разберемся, каковы его плюсы и минусы.

После успешного опыта с кварцевыми фильтрами на 45 МГц мне захотелось попробовать такие же фильтры, но не второго порядка, а четвертого. Такие фильтры продаются в виде подобранной пары фильтров второго порядка. Они обладают более острой АЧХ, но потенциально имеют и большие вносимые потери. Мне особенно хотелось измерить последние.

Полевые транзисторы делятся на полевые МОП-транзисторы (MOSFET) и полевые транзисторы с управляющим PN-переходом (JFET). Первые нам хорошо знакомы. Смотри шпаргалку по MOSFET’ам и примеры их использования далее по ссылкам. А вот JFET мы до сих пор не применяли. Давайте же это исправим.

Одна из вещей, которая мне не нравится в HBR/CW — это слабоватые ФНЧ. В изначальном варианте они справлялись со своей задачей нормально, однако ситуация усугубилась после добавления индикатора КСВ. В худшем случае, на диапазоне 15 метров, гармоники стали идти с уровнем -35 dBc. Пусть сейчас у меня и нет антенны на 15 метров, но ФНЧ подлежат замене.

Как мы недавно выяснили, в PostgreSQL есть исключения. Но использовать исключения в языке С, где нет ни автоматического управления памятью, ни умных указателей, не кажется хорошей идеей. Так вот, оказывается, что вместо умных указателей PostgreSQL предлагает совершенно другой механизм — контексты памяти (memory contexts). Давайте же разберемся, что это такое, и чем помогает в работе с исключениями.

В ходе использования HBR/CW был выявлен дефект. Оказалось, что трансивер имеет достаточно высокий уровень собственного шума. Это стало особенно заметно, когда вместо наушников 80 Ом я попробовал наушники 32 Ом. Шум низкочастотный, поэтому не оказывает влияния на разборчивость слабых сигналов. Однако он создает ощутимую и совершенно ненужную нагрузку на уши.

Хотелось бы продолжить рассказ о расширениях PostgreSQL и поговорить о логировании и исключениях. Рассматривать их нужно вместе, поскольку в PostgreSQL это связанные механизмы. Хотя ранее мы уже и использовали макрос elog(), тема была затронута лишь поверхностно.

Важная штука, которой не хватает в HBR/CW — это индикатор КСВ. Если антенну оборвет ветром, или переключатель антенного коммутатора окажется в неверном положении, трансивер никак не сообщит об этом. Было решено исправить данную ситуацию.

Есть такие LED-дисплеи из восьми семисегментных индикаторов. Индикаторами управляет MAX7219 (даташит [PDF]) или его клон, а общение между чипом и МК осуществляется по SPI. Питается модуль напряжением 5 В. Вот стало интересно, можно ли подружить такой дисплей с STM32, а также что полезного удастся на него вывести.