Сразу оговорюсь, обзор очень специфической вещи, если далеки от разработки электроники — то, наверное, и заглядывать нет смысла.
Собственно я думал, что ему тут вообще не место, но мой короткий обзор аудиоконструктора на базе ADSP-21489 вызвал определенный интерес. А значит и этот может найти своего читателя.
Крупнейшая американская фирма по разработке самой разнообразной электроники не так давно (в начале года) представила плату разработчика на базе относительно свежего своего процессора. SC-589.
Его характеристики человеку, не очень знакомому с предметом могут показаться странными, а может и слабыми.
Это трехъядерный процессор, состоящий из самого простого ARM Cortеx — A5, и двух цифровых сигнальных процессоров семейства Shark + c плавающей точкой. Производительность двух ядер DSP в софтовом режиме достигает 4.5 GFLOPS, а с учетом имеющегося на борту акселератора FFT — фирма ADI (Analog Devices) оценивает его суммарную мощность в весьма немалые 25 GFLOPS — и это при потреблении всего 2 ватта.
Например мой, пусть уже и старенький Intel Core I5-3570 в fftw показывает 4 GFLOPS — при этом потребляет под 100 ватт и гудит вентилятором. Да уж, в ракету не поставишь, да и радарную систему самолета (а там их надо много) как-то не очень. Ну вот, отвлекся. ADI позиционирует процессоры этого семейства как, в первую очередь аудиопроцессоры.
В данном ките на борту следующее.
— ADSP-SC589 Floating-Point SHARC® Processor (Dual 500 MHz SHARC+® DSP cores and a 500MHz ARM® Cortex®-A5 core)
— Two 2Gbit DDR3 memories
-512Mbit SPI flash memory
-24-bit, 96kHz ADAU1761 SigmaDSP® Audio Codec-
AD2425W A2B® Transceiver
Multi-channel low-latency audio interface
1/8“ stereo jacks
Two 60-pin connectors, supporting ADI and 3rd Party “Fins” (Expansion Boards)
Includes a
free CrossCore® Embedded Studio license and an ICE-1000 emulator for debugging (ICE-1000 is shipped separately)
UART (for MIDI & more)
S/PDIF
Gigabit Ethernet
USB OTG & HS
Чертеж, похожий на блок-схему
Ну и по железу почитать тут удобно
wiki.analog.com/resources/tools-software/sharc-audio-module/hardware/main-board
Что мне особо понравилось — у таких процессоров ведь полно ножек (общего назначения, периферийных) — многие производители китов выведут из них штук 10..15 и все. Или кинут на настолько специфический разъем, что смотреть тошно, не то что его искать. Тут же две 60 пиновый линейки самых обычных, 2.54 шаг.
В коробке кит,
отладчик ICE-1000, блок питания на 12 вольт и по мелочам — шнуры ЮСБ, сетки, карта microSD — всего 4 Гб, но зато брендовая ))
К киту я вернусь, возможно, в других обзорах. Под него есть Линукс, (который, конечно же должен заниматься управляющими и сетевыми делами на ARM ядре, а никак не обработкой звука). Я его даже не включал его пока, сейчас меня больше интересует «бесплатное» дополнение к киту — JTAG отладчик ICE-1000. Оный является самым простым и недорогим в семействе — сам по себе он продается за 150 долларов. (Следующий по рангу ICE-2000 — уже 1500 долларов.) В Чип и Дипе ICE-100 — 13 тысяч рублей. Напомню — я столько потратил на весь кит, и с ним, и такой мощной замечательной платой.
Использовать я его буду совместно с китайской платой на ADSP-21489 с Али
mySKU.me/blog/aliexpress/72648.html
Пропускаю всю воду — к делу. Разводка JTAG на китайце соответствует стандартной для ADI. Дома не нашлось IDC-14 разъемом необжатых, так что наколохозил
С Visual DSP не пошло вообще — поставил их новую CrossCore — удивлению не было предела — заработало сразу! Чип опознался, Hello World набросан, регистры, память, консоль — все на ладони. Надо же, обычно если что то работает сразу — надо тут же выключать и искать ошибку.
Отладчик не самый быстрый, при трассировке по шагам заметно некоторая неторопливость — так обычно работают J-Link с не самыми быстрыми Кортексами М0.
Поглядел как выглядит ядро вычисления FFT в SIMD — красота же! Уже не помню, сколько умножений он делает за такт — но мне для аудио хватит точно за глаза.
Ну вот как-то так. Математику уже пришлось начать вспоминать, основы обработки «этого вашего аудиофильского брильянса» тоже )))
. Интересующимся к приобретению рекомендую, если кто вздумал покупать тот Алишный конструктор на ADSP-21489 с PCM1708 ЦАПами — сэкономите кучу времени.
Мне ведь как приходилось… Заливать прошивку в загрузочную EEPROM через FTDI программатор. Потом я правда написал USB загрузчик для имеющегося в том конструкторе дополнительного STM32 — дело пошло побыстрее, но все равно… Программа заливалась секунд 20, из отладки — только консоль да светодиод. Не, так тоже можно.
Были ведь времена когда и это было роскошно. А до них были времена, когда баг прошивки — доставай ДРЛ-200 с разбитой колбой и стирай ультрафиолетовое ПЗУ ( с ресурсом всего пару десяток перезаливок). Или колхозь внешнее RAM, которое прикидывается ПЗУ. Были времена. Сейчас разработка стала намного проще. Кстати этот кит поддерживается известной многим тут Sigma Studio. Но пока что я хочу довести до ума кит с Али — в силу его качественной аналоговой части, сменных модулей ЦАП и АЦП и невысокой цены.
Кит на данный момент продает только ADI — даже на маузере нету. И в Россию не шлет, но посредник выручил в который раз.
Буду рад, если заинтересовал хотя бы два с половиной человека :)
Добавлю — к киту будет бессрочная полная лицензия на CrossCore studio для этого процессора. С ADSP 21489 тоже работает триалка 60 дней, а там — или дату переставить или electronix. ru в помощь
Вояки кстати ADI тянут и не стесняются m.habr.com/ru/post/314986/
А кто подскажет, почему скрины со смартфона не открываются на полную? В полной версии сайта нормально.
ru.wikipedia.org/wiki/%D0%91%D0%B8%D0%BD%D0%B0%D1%83%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C
Ведь плюс колонок в пространственном ощущении — при повороте/перемещении головы звук меняется, а в наушниках он останется неизменным, сколько математики на него не накрути. Для эмуляции колонок нужно колхозить гироскоп, который в реальном времени будет на DSP подавать сигнал смещения, чтобы тот корректировал эмуляцию распространения волн в комнате относительно текущего виртуального положения головы слушателя.
По второму пункту тоже так думал, но вначале надо посмотреть как оно статически то звучит. Такое до меня делали 100 раз, но у меня фишка в том, что импульсы я буду снимать непосредственно свои, микро-микрофонами прямо в ушах.
Но если рассматривать как академический проект — исследование интересное :)
Или же я чего-то не понимаю?
Мне очень нравится что комнатная АС создает свуковую сцену будто музыканты спереди как на концерте, вот наушники этого вовсе не могут, звук тупо в мозгах.
Можно ли сделать подобный эффект в наушники, пусть даже с заранее деланной конвертацией?
Тоже можно сделать и с обычной записью. Только я не собираюсь «крутить» источники звука из записи, можно просто воссоздать эффект комнаты. В целом есть такие даже чуть не концерты, бинуральные. Но эффект не всегда хорош. Мне кажется дело именно в том, что запись делается на среднем «манекене», а у каждого человека строение слухового аппарата немного, да разнится.
По ИТУН — а что он вам дает? Если наушики ровные по имедансу — ровным счетом ничего. Если арматурные или полноразмеры с неровным сопротивлением по частотам — просто выпятит определенные участки АЧХ. Иногда может оно и лучше, но чаще — либо без разницы, либо хуже
Как-то так.
…
Сложилось… это вы про вычисления Фурье на ядре Cortex. Ну конечно. Оно слабое для этого.
Оттого то и делают комбайн с DSP.
У А9, к примеру, 0.9 gflops. Понятно, что у новых выше. Ой ли в 30 раз?
И да, если бы все так было бы просто, ADI бы тоже не стал делать этот чип, который кстати подороже неслабых Qualcomm будет. Там много чего в серии. Некоторые — предназначены для мультипроцессорности, тысячи таких в кластер. Смотреть надо. Буду ждать как использовать Hexagon. А то я много таких видел простаивающих кусков кристалла, тот же OMAP 4460 с мертвым DSP на борту
Так просто галочки тыкают и смотрят что получится или что пропадет.
Скачал manual developer.qualcomm.com/download/hexagon/hexagon-v62-programmers-reference-manual.pdf?referrer=node/6116
там вообще о floating point ни слова. Типичный видеоускоритель. Не то.
Они же дешевле и доступнее.
«Процессор XMOS имеет частоту 500 МГц, производительность 1000 MIPS, имеет встроенный USB PHY, аппаратные буферизованные GPIO, аппаратные таймеры и позволяет параллельно одновременно выполнять десятки задач реального времени по обмену данных. Без ОС и системы прерываний. Процессор заточен под обслуживание быстрых шин обмена без задержки. FPU и DSP процессор не имеет. У XMOS другая задача, которую не способны эффективно решать обычные MCU общего назначения. XMOS в сотни раз их превосходит, так как параллельность настоящая, аппаратная, без буферов, виртуальных машин и непредсказуемых подвисаний процессов.
Для обработки звука нужен процессор со специализированной системой команд и очень много быстрого ОЗУ. Микропроцессор intel 4004 разрабатывался для калькулятора, далее 8086 для бухгалтерских операций, а 8087 для научных рассчетов. ЦПУ компьютера начиная с Pentium всегда содержит мощный математический сопроцессор. Это позволяет гораздо быстрее и точнее делать любые расчеты, ускорение сразу в сотни раз, плюс быстрые дорогие кэши. SSE команды арифметики в отдельном кристалле работают ещё быстрее. А начиная с Core процессоров вычисления можно вынести в отдельный аппаратный параллельно работающий кристалл. Нет ничего, что не рассчитал бы ЦПУ, по сравнению с малюсенькими DSP, объём памяти у ЦПУ тоже не ограничен вообще. Минус мощных intel процессоров — нужно много сотен Вт питания и система охлаждения. Я думаю, вас не порадует звуковая карта весом 10 кг на колесиках и шумящая, как пылесос. Альтернативой могут быть ARM процессоры, где есть много ядер и даже бывает fp64 арифметика в некоторых моделях. Но так как там крутится ОС не реального времени, это всё исполняется медленно, потребуются буферы в нескольких местах и будет задержка в звуке от 100 мс и выше. Для обработки именно потока данных или нескольких потоков нужен специализированный DSP либо мощный ЦПУ в ПК. DSP — это алгоритмы обработки, навсегда зашитые в кремнии и выполняющиеся в реальном времени над целым массивом данных, без ожидания свободных ресурсов процессора. Это всё дополнительные деньги и много лет на разработку и отладку. При этом ПК „победить“ не удасться. Там вложены триллионы долларов и миллиарды человеко-часов. Скорость и качество обработки не уступит никакому DSP. На студиях звукозаписи уже практически отказались от DSP в пользу решений на современных процессорах intel. WAVES даже выпускает отдельный ускоритель расчёта звуковых эффектов на процессорах intel, в виде отдельного системника под Linux-подобной ОС реального времени. Подключается к компьютеру по Gigabit Ethernet. Скорость и качество выше, чем у аппаратных DSP. Можно одновременно обработать 600 дорожек с эффектами с задержкой всего 1 мс. К сожалению, под Windows, Mac OSX и прочее такой скорости достичь нельзя, так как: 1) не известна модель ЦПУ и количество ядер; 2) в обычных ОС крутится куча мусорных задач, которые пользователь отключить не согласен, например, графическая оболочка ОС, обслуживание очень жёстких дисков, интернет-сервисы.»
forum.ixbt.com/topic.cgi?id=90:4303:2665#2665
Ямаха RX-V 459 например содержит процессор ADSP-BF531:
будучи достаточно упоротымнайдя в себе достаточно мотивации, может допилить себе прошивку. Благо записать W25Q128BV это не существование и гладкость решений уравнений Навье — Стокса доказать ;)Там правда еще и Pm39LV512-70VCE EPROM бывает.
Тут уже больший вес имеет вопрос
нахуазачем? Имеющиеся внешние АЦП покрывают любые домашние потребности. А с учетом вторичного рынка — кратно перекрывают.Можете — помогите. Не можете — зачем писать
«любые домашние потребности. » — у меня иные потребности. Надо 4 канала и i2s обязательно
Я вот точно не знаю что Вам нужно. Загуглил. Первая ссылка про XMOS. Некий maxssau пилит USB аудио интерфейс UI-01. Судя по этому документацию какую-то имеет.
По смедиа вот CM6631A SDK там есть разные файлики, судя по названиям и размеру прошивки для EPROM. Картинки подключения, в том числе Мастер АЦП CS5381 + 2 АЦП CS5346. Оба-два Каналы:2; 24бит; 192квыб./с
Если нужно нечто более определенное, скажите, мне поискать несложно. Время лишнее есть.
Я не в гости к Вам домой зашел. Поэтому указывать на дверь бесперспективно. Это на случай если Вы про интернет знаете столько же, сколько про свою тему.
Есть актуальный Realtime kernel patchset. Есть немало дистрибутивов с real time kernel, даже в Ubuntu были ядра -rt (уже убрали поддержку). Но есть linux-lowlatency.
Хотя сейчас того, что есть в ядре, за глаза хватит для указанных задач.
ru.mouser 584-ADZS-SC589EZLITE $936.28
eu.mouser 488,92 €
Evaluation board with ICE-1000 and 2x 180-day CCES license
youtu.be/Dz8_NwxhAAY
Активная многополосная АС с коррекцией под помещение?
Эффекты звуковой карты sblive ~1998 года вряд ли получится догнать по степени продуманности, предустановок и удобству управления мышкой.
«EMU10K1 состоит из 2 миллионов транзисторов и имеет производительность около 1000 MIPS»
«Параметрический 5-ти полосный стерео эквалайзер. Типы переключаются.(просто сказка!)
APS Pitch — сдвиг частоты, компрессоры, ревербераторы, генераторы сигнала и шума, Decimator для преобразования битности и дискретизации звука(1-32 бита, 1-48000 Герц), и прочее.»
habr.com/ru/post/214755/#gl6
github.com/kxproject
forum.vegalab.ru/showthread.php?t=75379
Но повторить результаты человеко-лет труда, вваленных в эти разработки согласования динамиков между собой, с ящиком и помещением, в одиночку вряд ли получится:
www.genelec.com/studio-monitors/sam-studio-monitors/1238a-sam-studio-monitor
В 90-х была у меня платка, втыкалась в PCI, на плате SHAR, уже не помню, какой, ну и немного переферии.
Это был первый опыт (и последний, в общем то — заказ разовый был), но весело бфло писать на ассемблере, четыре команды в одной строке, выполняются за один такт…
Ни на чем другом ту задачу решить было нельзя, кроме разве что железный фильтры делать, что на повторяемости сказалось бы не лучшим образом.
Кстати у этого процессора PCI-E на борту есть.
Оно же когда то называлось super harvard architecture risc controller
super harvard architecture — подразумевает раздельную память данных/программ для каждого ядра, ну а risc — он и есть риск: любая команда за обин такт.
Вот так и сидел, глядя одним глазом на структуру контролера, другим — на систему команд, что бы понять, какие команды можно в эту строку втиснуть.
А потом еще думаешь, как подготовить данные перед циклом, что бы цикл был максимально коротким по времени — ни для каких других контроллеров это не было нужно.
Вот так и сидели: рядом товарищ на маткаде фильтры считает, я пишу и проверяю, что получилось с реальным сигналом.
И все в реальном масштабе должно было работать, пропуск отсчетов не допускался — сигнал и так конечен по времени.
Под 95-й виндой на дельфи оболочка и управление — и ничего, справлялась железяка :)
Кстати RISC совсем не значит любая команда за такт, равно как и CISC тоже мало что значит.
Вам не сюда надо писать такое.
Даже не интересно.
без котиков и купальников.Цель того железа и программ — делать
ru.wikipedia.org/wiki/Звуковой_эффект
Запускал. Хорошая штука, эквализовать комнату можно например или авто. Рулить можно. Но вначале на Cypress 68013 платку купить надо, для программирования ее еепромины. С точки зрения «сделать быстро» — вещь. Наворотов типа всеполосного эквала или реверберации не сделать, но то, что можно — весьма прилично.
Еше круче выглядит видеокарта. 1080ti имеет около 12000 гфлопс. Даже жалкая хд630 встроенная в процессор — 440 гфлопс. Скорость обмена с системной ОЗУ — десятки гигабайт в секунду, запредельные числа для любых аудио задач.
а теперь попробуем со всем этим взлететь— плеер от литий ионной батареи хотя бы 7 часов работы :D Для разных задач — разные инструменты. Я не даром начал вступления с ракет. Нету в них места ни Интелу с его потреблением, ни многим другим. Как и BGA корпусам. Но для моего скромного аудио корпус не так и важен, потребление — ну никак 50 ватт не устроит. По ГФЛОПСАМ хватает похоже и младшего ADSP21489 — но впритыкС аудио, подозреваю, всё будет даже проще, т.к. обрабатываемые объёмы смешные.Линпак я гонял на задаче в 32 гб — малейшие изменения таймингов DRAM самым прямым образом влияли на результат. А аудио в кеше поместится полностью.
Не сферических, а вполне конкретных.
Не буду спорить. Допустим что это так.
Мне на это наплевать.
Напомню контекст — странное число гигафлопсов, которое вы приписали Интелу.
Т.к. процессор явно мощнее, и намного.
Может fftw не умеет в SSE2/AVX и прочее, что там есть у интела?
Тогда это банально некорректное сравнение. Пессимизировать и вашу балалайку можно будьте-нате.
Я привел данные по FFTW гигафлопс, о чем и указал в обзоре. Разбираться с другими бенчмарками у меня нет ни времени, ни желания.
Не забудьте еще с PIC контроллером сравнить Интел. Или с Кортексом М0. Это безумно полезно и интересно
Скажите, как Вы заказывали кит? Как Вы отметили, Analog devices не отправляет в Россию, к сожалению.
а что такое «конвейерная обработка сигналов осцилляторов (DCO)»?
тоже интересует тема муз синтеза