![]() |
Уже всё "пирог" можно сказать откушен) Больше половины сделано. %70 примерно. Софт можно улучшать бесконечно, самое главное чтоб не было проблем с железом.
Такой подход с конвертациями чтоб максимально разгрузить STM32, на него и так возложены большие задачи по обмену и обработке данных. Я здесь почитал ветку форума с самого начала, а ведь всё начиналось с какогото PT2323 селектора звука) и вот в итоге во что выливается вся идея. Записал демонстрационное видео |
Зачем тогда было ставить СТМ, если его использовать только для ногодрыга? И что там за такие задачи по обмену и обработке? Поставил бы на все АВР и не парился. Тот же абдурина...народ был бы счастлив )))
|
Вложений: 7
Уже писал что на AVR мне не хватало для этого проекта периферии и памяти. с STM32 всё идеально, даже с запасом) Если нужно Arduino ни что не мешает воткнуть его в один из USB портов которых на плате 4шт (Но смысла в этом не большой, я для обмена данными между другими модулями типа arduino сделал на Wifi ESP8266 тотже arduino с wifi на борту)
Сделал замеры синусов на выходе цапа на разных частотах. 80Гц, 5кГц 10кГц 15кГц 20кГц 21кГц и 22кГц результат на фотках. Выше 20тыс начинаются искажения, скорее всего USB звуковуха PCM2706 в I2S не может послать больше 20 тыс. |
Вложений: 2
Сделал замеры АЧХ на 6м канале, результат на форках. АЧХ очень ровное.
|
Вложений: 4
Всем привет! Удалось заставить работать параметрический эквалайзер на Android. И не только работать а ещё и рисовать АЧХ на графике которое пойдёт на выход ЦАП. Месяц разбирались как рисовать график) даже была мысль бросить эту затею, но всёже упорство приносит плоды.
Количество точек эквализации добавляется кнопкой добавить фильтр (на данный момент максимум 15 точек), причем фильтры бывают разные, фото приложил. PS внешний вид тестовый. Данные эквалайзера на DSP проц оказалось нельзя слать напрямую!!! Нужно использовать специальный буфер SafeLoad, безопасная загрузка. Если слать данные эквалайзера напрямую (они будут работать) но можно оглохнуть или обосратся от исходящих из колонок искожений во время переходных процессов. Я чуть ноутбук не затопил крушкой чая когда это произошло первый раз, стон колонок на полной громкости во время переходного процесса :smile1:. |
Цитата:
А как рисуешь график АЧХ? Тоже интересно. |
Цитата:
График АЧХ вывожу при помощи библиотеки MPAndroidChart координаты точек рассчитываются исходя от коэффициентов типа фильтра |
Ребята всем привет! Я здесь пока разбирался с кросоверами понял вообще как работает эта dsp:yes4:. Оказывается все фильтры будь то эквалайзер или кросовер и т.п. все состоят из виртуальной токи (допустим EQ 1-я полоса) которая реально состоит из точек a0 a1 b0 b1 и b2 и у каждой этой реальной точки есть уникальный адрес. Самый прикол в том что, всё зависит от того какие данные лежат в реальных точках. Допустим если посчитать данные по формуле PEAK то эта точка будет эквалайзером, если посчитать по формуле HIPASS то будет кросовером режущим сверху, если по LOWPAS то кросовером режущим снизу. Если необходимо увеличить крутизеу среза то необходимо вставить подряд 2 витруальные точки и крутизна среза увеличится в двое (тем самым крутизна среза из 2 порядка превратиться в 4й порядок) если необходим 3й порядок то необходимо посчитать по формуле у которой тока 3 коэфициента a1 b0 и b1 тип формул 1st-order.
SigmaStudia меня ввела в заблуждение тем что там всё разбито отдельно на эквалайзеры кросоверы и т.п, вот я и думал что всё это разные вещи:smile2:. Как же я ошибался. В общем мега крутая новость которая позволяет творить со звуком всё что угоднт, меняя лиш формулу не прошивая DSP. |
Вложений: 1
Вот такой выходной блок получился.
На каждый из 12 каналов: 1) 10 полосный параметрический эквалайзер. 2) Кроссовер с возможность выбора типа фильтра (HIPASS, LOWPASS) и порядка среза до 9-го (6дб, 12дб, 18дб, 24дб, 30дб, 36дб, 42дб, 48дб и 54дб). 3) Буферы задержки до 30мс, или ~10 метров. В общем всё как у нормальных аудиопроцессоров.:yes2: До выходных эквалйзеров ещё стоит 15 полосный центральный эквалайзер и по 15 полосному эквалайзеру по каждому входу (aux, spdif, bluetooth и usb sound). |
Это все понятно (почти), а когда изделие можно будет пощупать? Уже давно руки чешуца )
|
Вложений: 2
Цитата:
В общем выходной фильтр пришлось дополнить, забыл что на канал может понадобиться одновременно HIPASS и LOWPASS для среза сверху и снизу, допустим для средне частотных динамиков. Приложил ещё структуру точек (рисовал сам) в DSP которыми будет управлять приложение на Android. |
Урааа!
Совместил USB CDC и USB HID на Stm32. Теперь данные спокойно передаются по USB CDC и переключтся треки, регулируется громкость по USB HID. На Arduino это делается просто, на STM32 пока не изучилшь полностью usb дескрипторы и т.п. хрен что получится. В общем я подвинулся на ещё один шаг к релизу) В общем как удалось прикрутить HID к STM32, пошёл дальше. Прикрутил еще: мышку, клаву и джойстик (пока память свежая по этим дескрипторам чтоб в дальнейшем к этому тёмному лесу больше не возвращатся). В общем теперь STM32 (основной мозг платформы DIXOM-C12) одновременно умеет: 1) Передавать и принимать данные по USB CDC (Терминал) 2) Нажимать медиаклавиши HID (Переключение треков, перемотка, управление громкость, кнопки sleep, power и т.д) 3) Нажимать обычные клавиши клавиатуры HID (Буквы, цифры, TAB, ALT и т.д) 4) Управлять курсором мышки, кликать и т.п. HID (возможно никому не пригодится, есть не просит пусть будет) 5) Быть джойстиком, пока тоже не знаю где это можно применить HID (также есть не просит пусть лежит) Удалил схемы, в общем пока всё не проверю не буду больше ничего выкладывать (косяков много) |
Вложений: 4
С Новым 2018-м годом ребята!!! :)
Получил новые печатные плпты для сборки устройства. Все компоненты зарядил в станок, осталось настроить координаты и можно приступать к сборке. |
Вложений: 10
2 недели бодался со станком, в итоге он мне сделал вот такую красоту. :rolleyes2:
Самая сложная сторона платы готова, завтра настрою вторую сторону и можно прошить да проверить работу. |
Alekssandr, приветствую!
А это похоже WT32. На сколько помню в планах был BC127. http://pccar.ru/attachment.php?attac...4&d=1515597008 |
Всё верно, я пересел на WT32.
Так как компания bluecreation продалась компании Sierra Wireless со всеми своими разработками. Я даже у bluecreation заказал модули "BC127" на сумму ~500$, в итоге их еле еле вернул когда узнал что конторы больше не существует. Потом пытался купить модули у Sierra а они с физ лицами не работают, а в рознице модули BC127 от Sierra стоят ~50$, это слишком дорого. На WT32 удалось найти прошивку Iwrap4, она в принципе меня устраивает (есть практический всё что есть у BC127) конечно инструкции у них галимый по сравнению с BC127, но ничего, ужится можно. |
Для WT32 крайняя прошивка iWRAP 5.0.2. Но у этого модуля есть сложность с cVc™, для которой нужен ключ лицензии и который не возможно приобрести по одному или мелкопартийно.
|
iWRAP5 требует ключ который я так и не смог достать.
Про cVc вкурсе, но у меня есть одна идея, загнать микрофонный звук сначала в DSP процессор обработать шумы и эхо и отправить на блютус модуль WT32, пока что тока мысли, но думаю это реально, так как в WT32 есть цифровой аудиовход. |
Лицензии iWRAP предоставляет Silicon Labs по MAC адресу, для этого нужно зарегистрироваться на их сайте и запросить. Пока Bluegiga не продалась Silicon Labs, вопрос с лицензией решался за 30 минут, сейчас немного дольше, но тоже без особых вопросов предоставляют. А с cVc у меня не вышло. Также нужны отдельные лицензии на aptX и iAP.
|
lti1 Спасибо за наводку. Посмотрим что можно сделать.
Пока что не до блютуски, как придёт время займусь с ним в плотную) может вообще напишу новую прошивку под какой нибудь блютус чип (мечта конечно). |
Вложений: 6
Вот такой красавчик получился. Очень доволен результатом.
Тока вот с прошивкой для микроконтроллера питания attiny24 беда, думал обойдусь малой кровью напишу её на ардуино и пусть пашет себе спокойно. Не тут то было, arduino на attiny24 работает ну ооочень не стабильно, в какойто момент вроде даже всё заработало нормально но через некоторое время всю плату начало передёргивать из за нестабильной прошивки в Attiny. Поэтому придётся качать AtmelStudio и учится писать прошивку для AVR на чистом C. Благо там прошивочка маленькая думаю много времени не займёт:yes4: |
Цитата:
Посмотри лучше в строну: CodeVisionAVR (ver. 3.12) гораздо удобнее. Могу скинуть рабочий дистрибутив. |
Спасибо, я уже установил AtmelStudio и написал прошивку, сейчас пытаюсь реализовать софтовый UART (в attiny24 нет железного UART) для настройки таймингов включения отключения блоков питания с приложения. TX канал уже передаёт данные а вот с RX посложнее.
|
парни, читаю как разговор космонавтов
с замиранием сердца наблюдаю ) |
Цитата:
|
Цитата:
|
Походу я нашёл идеальный подход к пробуждению и засыпанию планшета. Проверил работает просто шикарно.
На своём устройстве DIXOM поднял HID 1 Generic Desktop и в нём есть команды System Wake Up и System Sleep. System Wake Up........говорит "проснись" System Sleep.............говорит "усни" И так самое главное 1) На планшете в настройках поставил минимальное время работы подсветки экрана (15сек, меньше нельзя :( ) 2) В прошивке написал, после включения ACC чтоб каждые 5 сек отправлял System Wake Up 3) В прошивке написал, после отключения ACC, 1 раз отправляет System Sleep. В итоге всё получается очень просто Подключаем планшет, телефон, ios устройство и т.п. которые понимают HID к моему устройству по USB и они никогда не засыпают пока есть сигнал АСС (так как каждые 5 сек приходит команда проснись (System Wake Up)), как только он пропал всё засыпает):drinks: Там есть ещё много всего, вот список команд... Цитата:
|
Прошивка блока питания на ATTINY24 для платформы DIXOM-C12
Микроконтроллер работает от внутреннего генератора на частоте 1Мгц, прошивка занимает 752байта паймяти из доступных 2кБ, и 10 байт оперативки из доступных 128 байт. В общем ещё есть место для фантазий. Прошивка очень простая, в принципе этого более чем достаточно для нормальной работы платы, все тайминги можно регулировать. Так как счётчик тикает каждые 100мс, то 1 это 100мс, 10 это 1000мс т.е. 1 секунда и т.д. PHP код:
|
А где спящий режим ? Внутренний генератор неточный, но по идее не страшно. Если нет спящего, то можно хоть на 128 кГц крутить, потребление в простое снизишь. ( я понимаю, что тинька и так ничего не ест)
|
Пока нет времени разбираться со спящим режимом, много дел на ANDROID и STM32.
Плата в режиме отключённого АСС с включённой 1-й фазой блока питания планшета потребляет 0.007А при 12В (Меня это устраивает). В будущем по шаманю над прошивкой возможно ещё получиться ниже сделать. |
Нарисовал расспиновки всех разъёмов,не стану выкладывать картинки сюда их очень много. Всё сконцентрирую в удобной форме на сайте http://dixom.ru/1-connectors
Нашёл интересный факт методом тыка, не мог понят почему планшет не выходит из глубокого сна (когда планшет уснул и прошло больше 1-й минуты или больше, допустим час или день) т.е. он не реагирует на команду "проснись" WakeUP, оказалось что нужно отправить команду простись 3 раза в течении 2-х секунды, тогда он благополучно просыпается) кстати такая шняга только на Nexus7 (стоковая прошивка) с другими планшетами такого не наблюдал. |
Вложений: 1
Ребята, с просыпанием планшета из глубокого сна та ещё проблема, обычными HID командами не всегда он просыпается. Нужно будет собрать шнур miniUSB -> microUSB прикрепил фото.
Такой шнур даёт нам ещё 2 преимущества: 1) передёргивание USB 2) это включения планшета из полностью выключенного состояния. http://pavelk.ru/android-avtozapusk-...ryadkipitaniya Принцип работы платформы с таким шнуром такой: 0) Включаем ACC зажигание. 1) Платформа отключает режим OTG 2) Платформа даёт команду на включение питания +5V 3) Планшет просыпается так как к нему подключили зарядку. 4) Платформа через 3 сек включает режим OTG 5) К планшету подключается вся периферия(звуковая карта флешки и т.д) 6) Платформа каждые 8 сек отправляет команду не спать (не отключается экран планшета) 7) При отключении ACC перестают отправляться команды не спать и отправляется команда Sleep 8) Планшет засыпает. В итоге у нас вообще не нужно перепаивать планшет (ну если только батарейку) Кстати никто случайно не видел такие шнуры? чтоб все 5-ть проводов были внутри, лично я искал не нашёл. |
Цитата:
|
Цитата:
|
Цитата:
|
я брал обычный 4 жильный и снаружи к нему добавлял пятый, который отвечает за ОТГ ). внешний вид немного страдает, но функционал выполняется )
|
Вложений: 2
В общем кто будет делать нечто подобное ставьте обязательно на ногу Vbus управление иначе это всё нихера не работает, не возможно разбудить планшет когда к нему подключают HID устройства в спячке:no:.
В итоге пришлось отказаться от одного управляемого USB разъёма, благо их 2 и нам достаточно одного для камеры заднего хода. Мосфет который был предназначен для USB3 перекачивал для Vbus перемычкой. Принцип работы получился такой. 1) Включаем ACC 2) Отключаем OTG 3) Даём питание на VBUS (Экран включается и говорит что заряжаюсь) 4) Ждём 6 секунд 5) Отключаем питание на VBUS (Зарядка прекращается экран включён) 6) Включаем OTG (Подхватываются все устройства на шине USB) и Вуаля)) у нас всё заиграло, кнопки работают, никто ни с кем не конфликтует. Идеально ёлки палки. Засыпание осталось также, вообще 0 проблем. При отключении ACC отправляем HID команду Sleep и всё готово:whistle: |
Alekssandr, есть вопрос по USBi программатору.
Каждый раз когда ты подключаешь к ПК, Ты запускаешь скрипт ADI_USBi.spt при каждом подключении своего устройства? |
Один раз установил и забыл. Никаких скриптов не запускаю, всё подключается и работает на автомате.
|
Практический всё готово для установки в автомобиль. Железо закончено на 100%, сейчас настраиваю софт (тайминги и т.д) очень много всего нужно учесть при включении и отключении.
|
Часовой пояс GMT +4, время: 20:08. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot