Начать свою статью хочу с известных многим слов:
«Что нам стоит, дом построить?
нарисуем, будем жить,
и уж, точно, непременно,
в нём не будем мы тужить.»
Что нам стоит собрать усилитель с 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 обработкой сигнала, а целый комбайн, совмещающий в себе систему управления и усилитель. В конечном итоге пользователь видит красоту дизайна корпуса и интерфейса пользователя. Большая часть работы, проделанная командой – для него не видна. Но это не важно, ведь все трудились ради пользователя.
alexhott
Работа большая проделана, респект и уважуха.
Но DSP и ДСП - две разных аббревиатуры или одна и таже?
как понимать "ДСП обработка сигнала" , я понимаю что термин заимствованный и вошел в обиход и разговорный слэнг, но надо как-то Русский язык и его правило тоже подключать.
edmus
Тоже сначала не понял причём тут древесно-стружечная плита :)
smart_pic Автор
Спасибо за замечание , исправил на DSP. Для меня, человека со стажем , ДСП также привычно и не возникает ассоциаций с древесно стружечно плитой, когда разговор заходит об электронике.
VT100
Цифровая Обработка Сигналов.