Немного сложнее чем мигание светодиодом или усилитель с DSP обработкой сигнала и веб интерфейсом

Начать свою статью хочу с известных многим слов:

«Что нам стоит, дом построить?
нарисуем, будем жить,
и уж, точно, непременно,
в нём не будем мы тужить.»

Что нам стоит собрать усилитель с DSP обработкой сигнала, да еще с красивым веб интерфейсом и различными другими интерфейсами управления? Легко? На практике это оказывается достаточно сложная задача.

Для опытных разработчиков данная статья не раскроет ничего нового, т.к. в ней не раскрываются никакие тонкие особенности или методики разработки. Это скорее обзор процесса проектирования конкретного электронного устройства конкретным разработчиком. В первую очередь он будет интересен людям, которые немного занимались радиоэлектроникой и собирали какие-то конструкции, а сейчас подошли к этапу, когда хочется основательно заняться разработкой. Этой статьей я хочу показать, что разработка сложного устройства может быть выполнена небольшой командой из четырех-пяти человек, но и трудностей на этом пути очень много. Я не буду описывать как процесс разработки выглядит классически. Я просто представляю свой скромный взгляд на проделанную работу.

ВАЖНО: это мой личный взгляд на разработку, он не обязательно будет совпадать с вашим мнением. А возможно наоборот, я озвучу некоторые мысли, которые вам кажутся родными, но это просто совпадение. Мой взгляд может не совпадать с классическими подходами к разработке оборудования. Но он имеет место быть, так как подтвержден успешным запуском в производство некоторого количества оборудования.

Если интересно — добро пожаловать.

Давайте пройдемся по основным этапам создания усилителя. Чтобы это не был сферический усилитель в вакууме, а реально существующий, тем более массово производящийся на одном из заводов. Прежде всего нам нужно определить основные требования к нашему усилителю.

И так начнем с области применения данного усилителя

  • Офисные переговорные, небольшие конференц-холлы, лектории
  • Учебные аудитории, школьные классы, прочие образовательные локации
  • Салоны красоты, парикмахерские, косметические кабинеты, spa-комплексы
  • Кафе, рестораны, гастромаркеты, фудкорты
  • Бутики, магазины, заправочные комплексы
  • Использование в гостиничном бизнесе
  • Фоновый звук в частных апартаментах и коттеджах

Некоторые технические особенности

  • Четыре канала усиления 4х25W(8ohm), 4x50W(4ohm), D-class
  • Возможность конфигурации каждой пары каналов как 2MONO/STEREO/BRIDGE
  • Два стерео линейных входа 2хLine in (2х3-pin EuroBlock)
  • Мирофонный вход Mic in (4-pin EuroBlock), подключение фантомного питания 24V
  • Современный Bluetooth модуль версии 5.0
  • Два свободно программируемых логических контакта I/O, три программируемых реле
  • Встроенный DSP аудио процессор, в котором реализовано: параметрический эквалайзер на каждом выходе, обрезные фильтры HP/LP, динамическая обработка низких частот при работе с сабвуфером, матричная маршрутизация сигнала 2х4
  • Интерфейсы управления – TCP/IP, RS232, RS485, IR, веб интерфейс
  • Совместимость с современными системами управления типа Crestron, AMX, Neets, RTi и так далее
  • Возможность управления из коробки шторами, светом, различным аудио оборудованием
  • Недельный программируемый таймер
  • Автоматическое ON/OFF при появлении / отсутствии сигнала на входе усилителя
  • Программируемый приоритетный вход
  • Адаптивное управление работой вентилятора в зависимости от теплового режима
  • Напряжение питания 12-24V/8A
  • Габариты не более 150х150х90мм, (блок питания внешний)
  • Вес не более 2кг (без внешнего блока питания)

Вот такие скромные пожелания к нашему усилителю.

А теперь нарисуем функциональную схему усилителя, чтобы иметь представление об основных узлах усилителя.

Для реализации нашего плана потребуется команда, состоящая из:

  • Дизайнер пользовательского интерфейса, красивого оформления ВЕБ и внешнего вида устройства, он же идейный вдохновитель данного усилителя
  • Инженер-схемотехник, чтоб разработать схему и плату, спаять и отладить ее, программист для контроллера и DSP
  • Программист ВЕБ интерфейса с отличным знанием AJAX технологии
  • Инженер-конструктор для проектирования корпуса и всякой механики
  • Тестировщик, очень дотошный тестировщик

Я занимаюсь разработкой схемотехники, трассировкой платы, пайкой и отладкой, а также написанием ПО для контроллера и DSP.  Почему я считаю, что это должен делать один человек? Потому что разделение проектирования схемы, трассировки PCB, а также программирования на разных людей — снижает эффективность разработки, затягивает время и порождает бюрократию.  Все эти этапы очень тесно связаны, и для достижения наилучшего результата выполнять их должен один человек, который держит в голове картину целиком, и потому способен производить перекрестные оптимизации в проекте. Так как я являюсь единоличным автором схемы и платы, я могу править и то, и другое параллельно. Вижу, что для оптимизации платы требуется изменение в схеме? Сразу правлю схему. Нашел ошибку в схеме, надо поправить плату? Сразу правлю плату. В процессе трассировки выяснилось, что компонент не влезает по геометрии, и надо поменять его? Сразу правлю схему и плату. Это как минимум быстрее, потому что не предполагает никаких занимающих время объяснений и согласований с кем-то еще. Кроме того, чем меньше людей вносило изменения в проект — тем меньше потенциально будет внесено ошибок. Написание ПО для контроллера тесно связано со схемой устройства. Так как я вникал в схему узла, я уже представляю, как его инициировать программно, если это требуется, или как данный узел должен управляться простейшим ногодрыгом контроллера. Если программист хорошо представляет себе работу схемы и устройства, то почему бы ему ее не проектировать самому?  В таком случае отпадает необходимость в деталях разбираться в инициализации оборудования и разработчику схемы, и программисту.  При разработке схемы приходится перелопачивать массу мануалов по применению микросхем и особенностям схемотехники, поэтому выполнить трассировку платы будет проще, когда все эти рекомендации у тебя в голове и не придется контролировать разработчика PCB. А если конструктора ПП не очень образованы в электронике, то это может усложнять процесс.

Конструктор схемотехник должен воплотить нашу функциональную схему в принципиальную электрическую схему. Особый вызов бросает питание устройства от однополярного источника питания с широким диапазоном 12-24В. А на практике это означает, что устройство должно оставаться работоспособным в диапазоне 10-27В. При составлении функциональной схемы уже была проделана большая работа по определению основных узлов будущего усилителя. На первый взгляд осталось просто нарисовать схему в PCAD или другом пакете для разработки и отдать конструктору печатных, но впереди еще много работы, изменений схемы и прочей рутинной работы. Будьте готовы к этому – я вас предупреждал.

Конструктора печатных плат ожидают трудности в разводке аналоговых сигнальных цепей, цифровых линий управления, наличия блютуз модуля с ВЧ излучением, много преобразователей и стабилизаторов питания. Еще будет много, очень много уточнений по принципиальной схеме, уточнений и изменений в разводке платы. Компактные размеры устройства предполагают ярусную трехплатную конструкцию, а это свои особенности. Я не буду описывать как все это делается, потому что для знающих, это и так очевидно, а для не посвященных – все равно трудно понять почему земли нужно соединять в одной точке, когда потом тестером все звонится одинаково, и как отличить аналоговую землю от цифровой.

Итогом работы конструктора схемотехника и конструктора печатных плат со второй итерации получился вот такой девайс. Над корпусом для него поработает другой специалист.

Остается вдохнуть жизнь в наше устройство. На данном этапе это просто куча разных элементов, напаянных на платы. Беремся за написание ПО. Надо признаться, что в этом проекте программиста микроконтроллера ждет масса сюрпризов: это и высоконагруженный режим работы микроконтроллера, работа в прерываниях с интерфейсами RS232, RS485, IR. Будет очень много работы с различными режимами оборудования, ввод и хранение множества настроек, взаимодействие с ВЕБ интерфейсом. Если вы думаете, что достаточно взять библиотеку TCP стека от Microchip и вы получите красивый и удобный интерфейс, то я вас разочарую, этого не будет. Сначала придется досконально вникнуть в работу этой библиотеки, потом дописать FTP загрузки файлов, модернизировать файловую систему, доработать HTTP сервер, оптимизировать настройки TCP стека, которые будут проверены на успешной работе многих устройств, выпускающихся в промышленных масштабах. Если программист все это прошел – то мы можем быть уверены, что все будет выполнено надежно, и устройство порадует пользователей своей надежной работой программного обеспечения.

В усилителе есть грабер ИК команд и возможность обучения практически с любого ИК пульта управления. Привет флипперу о котором писалось в этой статье https://habr.com/ru/company/flipperdevices/blog/566148/   Использование протокола Global Cache , который поддерживают разные производители, расширяет применение данного усилителя. Оборудование, которое поддерживает этот формат достаточно много, тот же iRidium о котором писали на Хабре, есть и другие.  Вот как выглядит веб интерфейс ИК грабера.

А это уже режим обучения.

Благодаря большой проделанной работе дизайнера и программиста ВЕБ интерфейса пользователю будет приятно и удобно пользоваться данным усилителем. Вот несколько принтскринов для понимания законченного вида устройства.

Получился не просто усилитель с DSP обработкой сигнала, а целый комбайн, совмещающий в себе систему управления и усилитель. В конечном итоге пользователь видит красоту дизайна корпуса и интерфейса пользователя. Большая часть работы, проделанная командой – для него не видна. Но это не важно, ведь все трудились ради пользователя.