XMOS + AK4493 с нуля для ради удовольствия и науки - Версия для печати +- Audio Perfection Forum (https://www.audio-perfection.com/forum) +-- Форум Цифровая обработка сигналов (https://www.audio-perfection.com/forum/forumdisplay.php?fid=17) +--- Форум Цапотворчество (https://www.audio-perfection.com/forum/forumdisplay.php?fid=44) +--- Темы: XMOS + AK4493 с нуля для ради удовольствия и науки (/showthread.php?tid=915) |
RE: XMOS + AK4493 с нуля для ради удовольствия и науки - Altor Audio - 12-09-2023 Придется учиться феном :) Ну, или обойтись 208-ми. Удобно не XU а XUF - у них флешка уже внутри (но свободных ног это не добавляет!). RE: XMOS + AK4493 с нуля для ради удовольствия и науки - LJM - 12-10-2023 (12-09-2023, 09:45 AM)ActiveStalker Написал: Вопрос: реально ли запаять в домашних условиях корпус 60-VFQFN (xmos xu 316)? Вообще не парься. Оно паяется без проблем, еще и самовыравнивается если чутка установил неровно. Но флюс хороший нужен. Контролировать качество можно под микроскопом. RE: XMOS + AK4493 с нуля для ради удовольствия и науки - ActiveStalker - 12-10-2023 (12-09-2023, 02:02 PM)Altor Audio Написал: Удобно не XU а XUF - у них флешка уже внутри (но свободных ног это не добавляет!).Со свободными ногами как - то не особо вижу проблем. Кроме 3х однобитных осталось 4 4х битных для GPIO А какие если не секрет удобства от флешки? Обновлять прошивку легче? Кстати постоянно читаю в даташитах, да и описания XMOS везде где могут рекомендуют PLL генераторы, PLL1700, называют их низкоджиттерными и крутыми. Я не совсем понимаю что это такое, скорей всего по i2c управляемые микросхемы с фазовой подстройкой частоты. Какие генераторы вообще лучше ипользовать? Частоты чем выше тем лучше? 768fs (33.8688, 36.864) или 512 fs? RE: XMOS + AK4493 с нуля для ради удовольствия и науки - Altor Audio - 12-10-2023 (12-10-2023, 11:39 AM)ActiveStalker Написал:(12-09-2023, 02:02 PM)Altor Audio Написал: Удобно не XU а XUF - у них флешка уже внутри (но свободных ног это не добавляет!).Со свободными ногами как - то не особо вижу проблем. Кроме 3х однобитных осталось 4 4х битных для GPIO От задачи зависит, проблема проблема разумеется только в 1-битных i/o. Например в 64-ногом 208-м для стерео мне хватает, а для 8-ми каналов по I2S уже нет (только по TDM, что не всегда приемлимо), а вот в 48-ногом XS1 хватает и для 8-канального I2S. Цитата:А какие если не секрет удобства от флешки? Обновлять прошивку легче? В смысле? Без флешки оно работать будет только с подключенным XTag-ом под дебаггером, и пока питание не выключишь :) Проц же из ОЗУ работает,туда прошивке надо как-то попадать. В XMOS прошивка храниться во внешней флешке (обычно 8-ногая QSPI), при включении она загружается в ОЗУ проца внутренним бутлоадером проца.. Просто XUF=XU+Flash, это гибридка - кристалл флешки засунули внутрь корпуса,рядом с кристаллом проца XU. Чисто экономия места на плате, и больше ничего. Цитата:Кстати постоянно читаю в даташитах, да и описания XMOS везде где могут рекомендуют PLL генераторы, PLL1700, называют их низкоджиттерными и крутыми. Я не совсем понимаю что это такое, скорей всего по i2c управляемые микросхемы с фазовой подстройкой частоты. Какие генераторы вообще лучше ипользовать? Частоты чем выше тем лучше? 768fs (33.8688, 36.864) или 512 fs? Не понимаю о чем ты. XMOS - у нужен один осциллятор для тактирования проца (PLL у него внутри свой), и клок для I2S. Я ставлю чаще всего 512Fs, если достаточно максимум РСМ384/DSD256, и 1024Fs если надо PCM758/DSD512 (нафиг ого кому надо - понять сложно, но иногда просят). Внешние PLL могут понадобиться для спдиф-входа. Иногда кому-то не хочется ставить два осциллятора на сетки 44х/48х, и ставят один программмируемый. RE: XMOS + AK4493 с нуля для ради удовольствия и науки - ActiveStalker - 12-10-2023 (12-10-2023, 01:35 PM)Altor Audio Написал: В смысле? Без флешки оно работать будет только с подключенным XTag-ом под дебаггером, и пока питание не выключишь :)Спасибо я этого не знал (12-10-2023, 01:35 PM)Altor Audio Написал: Не понимаю о чем ты. О том, что у меня до сих пор не складывается вся картина, по этому могу задавать глупые вопросы. Я имел в виду не тактующий процессор осцилятор, а про те два, которые кратны сеткам 44.1 и 48 и подключены к MCLK ЦАП и параллельно на входной порт аудиоядра процессора (PORT_MCLK_IN). Насколько я понял моя задача сделать переключающий в зависимости от ЧД порт, через аргумент пользовательской функции audioHwConfig(unsigned samFreq, ....). Далее нарисовать схему для переключателя генераторов в зависимости от значения этого порта. Но я везде читаю, например в описаниях EV.Boards и даташитах ЦАПов, что ОНИ рекомендуют использовать PLL генераторы Цитата:A Cirrus Logic CS2100-CP PLL device. The CS2100 features both a clock generator and clock multiplier/jitter reduced clock frequency synthesizer (clean up) and can generate a low jitter audio clock based on a synchronisation signal provided by the xCOREВот я и спросил чем сейчас актуально тактовать мастерклок, и с какой частотой лучше брать пару 32/36 мГц или 22/24мГц (768fs или 512Fs)? SPDIF входа не будет, тут и так хватает сложностей как для первой попытки. RE: XMOS + AK4493 с нуля для ради удовольствия и науки - Altor Audio - 12-11-2023 Цитата:Насколько я понял моя задача сделать переключающий в зависимости от ЧД порт, через аргумент пользовательской функции audioHwConfig(unsigned samFreq, ....). Да, но этоже элементарно делается - в эту функкцию передается значение семплрейта, вычисляешь какая сетка и дергаешь соответственно ножкой. 1-битный порт тут не нужен. Цитата:Но я везде читаю, например в описаниях EV.Boards и даташитах ЦАПов, что ОНИ рекомендуют использовать PLL генераторы Не помню чтобы они такое рекомендовали. Впрочем, они последние годы такую х-ню несут. что не удивлюсь если это и так. Я последние их доки и ДШ читал очень бегло, "по диагонали". У меня самый применяемый их проц - XS1-L6A-64-TQ48-C5, хотя они его уже не выпускают (суки), у меня зазпас пока не кончился, да и найти его еще можно (не L6 так L8, даже программу менять не надо). Реже 208-е (у меня на платах обычно стоит и разведена внешняя флешка, так что я могу что XU208, что XUF208 ставить - однго время они были в большом дефиците, использовал то, что удавалось найти. Мы тут специально асинхроный USB с ОС городим, чтобы от всяких ФАПЧей избавиться, и клок ему с ЦАПа тянем а не наоборот, чтьобы заодно и от джиттера в изоляторах и прочем по дороге, а ни предлагают его обратно ФАПЧ, причем не самй лучший вернуть?! С другой сторороны, AFAIK большинство овременных осциллиторов (особенно мемсов) и так с ФАПЧ внутри и программируются на нужную частоту при производстве. Но при этом им удается как-то получать очень неплохие характеристики по джиттеру. Цитата:SPDIF входа не будет, Тогда нафиг тебе ФАПЧ? Цитата:и с какой частотой лучше брать пару 32/36 мГц или 22/24мГц (768fs или 512Fs)? Разве сейчас 768 и 384 еще кто-то использует? Я про них уже и забыл давно. Я выше писал - у меня почти везде 512, это хватает на РСМ384 и ДСД256. Выше имхо оно нафиг не надо, но если кому надо - я ставлю 1024. RE: XMOS + AK4493 с нуля для ради удовольствия и науки - ActiveStalker - 12-11-2023 (12-11-2023, 12:12 AM)Altor Audio Написал: Да, но этоже элементарно делается - в эту функкцию передается значение семплрейта, вычисляешь какая сетка и дергаешь соответственно ножкой. 1-битный порт тут не нужен. out port port_4c = XS1_PORT_4C; void audioHwConfig(unsigned samFreq, ...other args){ (samFreq % 44100 == 0)? port_4c |=(1<<2) : port_4c &= ~(1<<2); } 3 бит управляет сеткой. Кратные 44.1 = 1, остальное 0. Это пример, там в функции еще другие аргументы. Частота мастерклока, ДСД вкл\выкл, и что - то еще для стрима (12-11-2023, 12:12 AM)Altor Audio Написал: Тогда нафиг тебе ФАПЧ?Мне нужно 2 генератора, Как Вы сказали 512 fs (22.5792, 24.576) вот я и спрашивал что сейчас актуально для этих целей. Обычные кварцевые осциляторы или есть готовые управляемые устройства? может есть какие то популярные?(поисковик не очень помагает, много старой информации) (12-11-2023, 12:12 AM)Altor Audio Написал: чтьобы заодно и от джиттера в изоляторах и прочем по дороге,Изоляторы... Нужно делать гальваническую развязку процессора от ЦАП? все линии и i2c тоже? в чем вообще ее смысл? Почему ее обычно ставят между процессором и ЦАП а не например полностью отвязывают входящий USB сигнал, чтобы не иметь ничего общего с неоднозначным потенциалом на корпусе компа питающегося от сети например? RE: XMOS + AK4493 с нуля для ради удовольствия и науки - Altor Audio - 12-11-2023 (12-11-2023, 06:36 AM)ActiveStalker Написал: port_4c |=(1<<2) : port_4c &= ~(1<<2); Так делать не надо, надо считать весбь порт в переменную, изменить в ней нудныйбит и записать переменную в порт. Типа так: Код: #define PORT32A_PEEK(X) {asm("peek %0, res[%1]":"=r"(X):"r"(XS1_PORT_32A));} Цитата:Мне нужно 2 генератора, Как Вы сказали 512 fs (22.5792, 24.576) вот я и спрашивал что сейчас актуально для этих целей. Обычные кварцевые осциляторы или есть готовые управляемые устройства? может есть какие то популярные?(поисковик не очень помагает, много старой информации)У меня или два обычных осциллятора от NDK, или один 2-х частотный 532-й силабс. Переключаются вот тем самым сигналом. Осцилляторы, разумеется, стоят после развязки, рядом с ЦАПом. Цитата:Нужно делать гальваническую развязку процессора от ЦАП? все линии и i2c тоже? Я делаю. Кроме I2C - его в большинстве моих конструкций нет, за ненадобностью, а в тех что есть - там SPI а не I2C. Цитата:Почему ее обычно ставят между процессором и ЦАП а не например полностью отвязывают входящий USB сигнал, Потому что это сложнее, дороже и если не хуже, то уж точно не лучше. Развязку по USB чаще используют отдельную внешнюю, как раз для использования с готовыми ЦАПами, у которых ее нет внутри по I2S. Кроме того, у меня та часть что до развязки - от самого USB питается. RE: XMOS + AK4493 с нуля для ради удовольствия и науки - ActiveStalker - 12-11-2023 (12-11-2023, 07:40 AM)Altor Audio Написал: Так делать не надо, надо считать весбь порт в переменную, изменить в ней нудныйбит и записать переменную в порт.Ну если считывать и записывать прям через Ассемблер... То я его совсем не знаю. Спасибо, учту. (12-11-2023, 07:40 AM)Altor Audio Написал: Кроме того, у меня та часть что до развязки - от самого USB питается.Да, я так и понял. Кстати чем вызвано желание питать процессор от USB? Предполагаю так будет меньше связь между блоками через источник или просто удобство? (12-09-2023, 02:02 PM)Altor Audio Написал: Удобно не XU а XUF - у них флешка уже внутри (но свободных ног это не добавляет!).Ага. Те же 2 однобитных порта отжали, которые использовались для этого в XU. Но если не многоцапие, то фиг с ним наверное. Разобрался, да сильно удобно, не нужно дополнительную микросхему ставить (12-11-2023, 07:40 AM)Altor Audio Написал: У меня или два обычных осциллятора от NDKПин Tri-state можно использовать для переключения генераторов? Я посмотрел по описанию но не совсем понял. Ноль - обрыв цепи, единица - подключен ? можно запараллелить их, один включить другой выключить? RE: XMOS + AK4493 с нуля для ради удовольствия и науки - Altor Audio - 12-11-2023 (12-11-2023, 12:53 PM)ActiveStalker Написал:(12-11-2023, 07:40 AM)Altor Audio Написал: Так делать не надо, надо считать весбь порт в переменную, изменить в ней нудныйбит и записать переменную в порт.Ну если считывать и записывать прям через Ассемблер... То я его совсем не знаю. Спасибо, учту. В примерах есть, собствнно, я выше написал как. Цитата:Кстати чем вызвано желание питать процессор от USB? Предполагаю так будет меньше связь между блоками через источник или просто удобство? Да, так удобнее, не надо делать еще дин изолированный канал в блоке питания. А у меня в некоторых ЦАПах их и так уже 4. Цитата:Пин Tri-state можно использовать для переключения генераторов? Я посмотрел по описанию но не совсем понял. Ноль - обрыв цепи, единица - подключен ? можно запараллелить их, один включить другой выключить? Конечно. С любыми осцилляторами надо смотреть на ток потребления в рабочем режиме и когда он выключен - если в последнем случае намного меньше, то значит эта ножка гасит генерацию, а не только выход в тристейт переводит. RE: XMOS + AK4493 с нуля для ради удовольствия и науки - ActiveStalker - 12-12-2023 Что сейчас лучше всего использовать для гальванической развязки? Насколько я понимаю нужна минимальная суммарная паразитная емкость и высокая скорость для i2s, особенно мастерклока. Кроме них еще нужно отделять i2c+gpio (3...4 порта) . Читал что используют ADuM1401, там 4 порта, как раз на i2s в одной микросхеме. Это хороший вариант или есть что - то лучше? больше портов например или более новое? RE: XMOS + AK4493 с нуля для ради удовольствия и науки - Altor Audio - 12-13-2023 АДУМы (кроме юсбишных 3165/3166) идут лесом сразу. Можно ТИшные ISOшки, но лично я предпочитаю силабовские (ныне скайворковские) SI86xx, чаще всего 8661 - один порт MCLK из ЦАПа в иксмос, остальные из иксмоcа на ЦАП - WCLK, BCLK, SDATA, ну и Mute, 44/48, PCM/DSD. Поскольку их тут 6, а линий остается только 5, то лишний обычным оптроном (последние 3 ведь не надо быстрых). Если нужно еще ЦАПом управлять по SPI, то тогда ставлю две 8661. Причем в этом случае удобно использовать только 4 линии на передачу, а 5-ю оставлять в воздухе - тогда в тот-же футпринт можно запаивать как 8661 так и 8662. Если надо не SPI а I2C, то тогда в любом случае второй чип - 8600. К сожалению, у этих силабсов нет 3-го состояния, и если оно нужно, то приходится после них ставить еще 74LVC245 или аналогичное. Но это копейки. ТИшные - с 3-м состоянием, но силабсы меньше всех шумят (особенно по сравнению с адумами). RE: XMOS + AK4493 с нуля для ради удовольствия и науки - nazar - 12-13-2023 Силабсы самые тихие, старые адумы юзать вообще противопоказано RE: XMOS + AK4493 с нуля для ради удовольствия и науки - shkal - 12-13-2023 Я делал на Si8641, служебные оптроном, опора 48Мгц RE: XMOS + AK4493 с нуля для ради удовольствия и науки - Altor Audio - 12-14-2023 Si8641 - отличная штука, когда надо 3-е состояние, как раз для I2S :) Но я в свое время закупил пачку 8661, вот и ставлю их почти везде, а где надо 3-е - ставлю после них регистр. RE: XMOS + AK4493 с нуля для ради удовольствия и науки - ActiveStalker - 12-15-2023 (12-14-2023, 03:39 AM)Altor Audio Написал: Si8641 - отличная штука, когда надо 3-е состояние, как раз для I2S :)Не совсем понимаю когда такое может быть полезно. При параллельных шинах, если одну нужно как будто физически отключить? RE: XMOS + AK4493 с нуля для ради удовольствия и науки - Altor Audio - 12-16-2023 Именно. Для нескольких I2S на одну шину. У меня в 10-й серии с USB шло через 245-й регистр, "1" на nOE его выключает, и включает выход STM32 джиттероподавителя (JKill) с спдифов. RE: XMOS + AK4493 с нуля для ради удовольствия и науки - ActiveStalker - 12-16-2023 Все никак не могу разобраться с запуском процессора. Смотрю на описание XU208 и XUF208. Если я всё правильно понял в XU флешка подключается к пинам 1В 4В 1С, тип флешки выбирается первыми тремя битами порта 4B (XOD4 XOD5 XOD6). Наверное меня интересует вариант QSPI master (0 0 0 , вот только не понял нужны ли подтягивающие к земле резисторы или они там уже изначально есть), дальше еще больше непонятного. Всё это должно запуститься из флешки в том случае если не установлен 5 бит в Sequrity Register. В противном случае программа запускается из OTP. Наверное OTP это неперезаписываемая одноразовая память а этот 5 бит, скорей всего по умолчанию НЕ установлен. Если это так тогда мои действия: 1) просто подключить QSPI флешку к соответствующим пинам. Возможно поставить подтягивающие к земле резисторы на XOD4 XOD5 XOD6 и прошивать XTAG ом его столько раз, сколько мне нужно будет без каких либо шифров. После перезапуска инфа на флешке остается. 2)Если это XUF тогда подтянуть резистором 1к порт 1B к VDDIOL (3.3в) как на картинке в описании, и тоже самое - записывать в флеш память то что мне нужно любое количество раз. А Sequrity Register вообще не трогать и не вникать что это такое, чтобы не убить процессор Подскажите если что - то напутал, спасибо. RE: XMOS + AK4493 с нуля для ради удовольствия и науки - Altor Audio - 12-17-2023 У меня Внешнеяя флешка (IS25LQ080B) была подключена так: 1 нога, CE - XOD01/1B с пуллапом 2 нога, SO.Q1 - XOD05/4B 3 нога, WP/Q2 - XOD06/4B 5 нога, SI/Q0- XOD04/4B 6 нога, SCLK - XOD10/1C - оно-же WCLK I2S 7 нога? HOLD/Q3 - XOD04/4B Seсurity Register самому вообще трогать не надо, с ним прошивальщик/дебаггер сам разберется. При отладке (запуске из дебаггера), флешка вообще ненужна, он записывает код в ОЗУ и из него стартует, при этом флешку не трогает (если не попросить об этом специально). Но это для 13 и 14 Composer Studio, с последними их творениями я не работал (и вооще не очень понимаю как там работать - там-же нет IDE?). RE: XMOS + AK4493 с нуля для ради удовольствия и науки - ActiveStalker - 12-17-2023 А можно ли на лету переключать тип выходного фильтра в ЦАП? Допустим я создам функцию, которая будет привязана к кнопке, при каждом нажатии будет по кругу выбирать один из 3....5 вариантов фильтра и записывать это по i2c в соответствующий регистр ЦАП. Нажал кнопку - переключился вых фильтр. Это так работает, или нужно делать reset после каждого изменения в регистрах? Не уверен, но кажется мне, что можно налету, иначе как бы работал софтовый РГ цапа |