12-29-2023, 09:56 AM
XMOS + AK4493 с нуля для ради удовольствия и науки
|
12-29-2023, 12:48 PM
(Сообщение последний раз редактировалось: 12-29-2023, 01:48 PM ActiveStalker.)
Спасибо за советы, пока думал нарисовалась у меня в голове такая картина. Последовательно линии +5v USB LC фильтр из бида, конденсатора и демпфирующей RC. Симуль легко посчитает эту цепь. Дальше два стаба. 0v9 Для процессора - ставлю как можно ближе к шине питания, и без всяких последовательных резисторов питаю эту цепь+ 100n c каждого пина на землю как рекомендуют Хмосы. С этой же шины нужно взять один вольт на PLL процессора. В инструкции просят чтобы оно было чистым. Сначала предлагали 4R7+1u, потом стали рекомендовать бид 1кОм+ 1u.
Второй стаб 3.3 вольта - близко к шине процессора, напрямую питает эту шину.Возможно 3.3в для USB приемника в процессоре через 4R7+1u(в инструкции они это не просят, но будет логично). Флеш и осцилятор, как отдельные микры через RC 4R7+1u. То есть хоть какое - то разделение The VDD supply must ramp from 0 V to its final value within 10 ms to ensure correct startup. The VDDIO and OTP_VCC supply must ramp to its final value before VDD reaches 0.4 V. Еще есть два такие требования, которые нужно выполнять. Все питания должны прийти в норму при старте не дольше чем через 10 мс, а 3.3 в должно стартануть чуть быстрее чем 0.9в. Значит в управляющем электроде 0.9в стаба нужно ввести небольшой конденсатор для задержки. Первые наброски части схемы до цапа
12-29-2023, 02:04 PM
(Сообщение последний раз редактировалось: 12-29-2023, 02:06 PM Black_Jack.)
(12-29-2023, 12:48 PM)ActiveStalker Написал: Спасибо за советы, пока думал нарисовалась у меня в голове такая картина. Последовательно линии +5v USB LC фильтр из бида, конденсатора и демпфирующей RC. Симуль легко посчитает эту цепь. Дальше два стаба. 0v9 Для процессора - ставлю как можно ближе к шине питания, и без всяких последовательных резисторов питаю эту цепь+ 100n c каждого пина на землю как рекомендуют Хмосы. С этой же шины нужно взять один вольт на PLL процессора. В инструкции просят чтобы оно было чистым. Сначала предлагали 4R7+1u, потом стали рекомендовать бид 1кОм+ 1u. С9, С28 (1 мкФ) я б увеличил до 10... Или проверьте по даташиту, какую емкость Ваш конденсатор будет иметь при соотвествующем напряжении на выходе. На входе AP7366 не видно емкостей. Да и по VBUS (USB) что-то поставить побольше, чем 100 нФ. Єто то, что в глаза бросилось. Более бдительные граждане дополнят...
12-29-2023, 04:13 PM
(Сообщение последний раз редактировалось: 12-29-2023, 04:58 PM ActiveStalker.)
(12-29-2023, 09:05 AM)Altor Audio Написал: 5в с USB идет на него, и плюс на стаб 1.8в (в одних устройствах линейный, 1117-5.0, в других степ-даун) а с него налинейный 1в.Да, я заметил. На 1в нужно два стаба последовательно, иначе они по рассеиваемой мощности не вытягивают эту линию а оно всё очень прожерливое, до 400мА в сумме. Вы имели в виду не 1117-5.0 а 1117-1.8? Тот же 5 вольтовый. Может есть смысл запускать его на 400 мГц для таких простых задач. В инструкции пишут, что ток потребления будет на 65 мА меньше
12-30-2023, 12:56 AM
Цитата:Вы имели в виду не 1117-5.0 а 1117-1.8? Да, конечно 1.8 описка.
12-30-2023, 05:13 PM
(Сообщение последний раз редактировалось: 12-30-2023, 05:22 PM ActiveStalker.)
А что если не секрет делать с ногой RST_N? в инструкции говорят ее нужно держать в низком логическом уровне до полного установления всех напряжений после включения. Как я понимаю нужно время задающую RC поставить, или даже может быть какое то специализированное устройство, например ADM1085
И еще один вопрос. Хмосы формируют питание 1 вольт PWM преобразователем (наверное не хотят рассеивать ~1.5вт на стабах). Я часто встречаю это в их EVO бордах. Внизу схемы видно как они цепляются портом через 150 кОм к управляющему выводу схемы преобразователя. И там список напряжений в зависимости от состояния порта. Возможно это плавный запуск, или уменьшение\увеличение мощности процессора, тока потребления - где то об этом тоже читал. Но разве порт может иметь столько состояний HI, PullUp, Hi-z, PullDown, Low ? Как вы думаете для чего это сделано? и как одновременно могут быть подключены PullUp и PullDown? разве есть программное определение состояния Hi-Z? (видел только логическое высокое и низкое, еще где - то читал, что при включении вроде бы все порты в пуллдауне какое то время)
12-31-2023, 12:15 AM
(Сообщение последний раз редактировалось: 01-01-2024, 01:12 AM Altor Audio.)
Цитата: и как одновременно могут быть подключены PullUp и PullDown? Почему "одновременно"? Нет конечно, но этого и не надо. Цитата:разве есть программное определение состояния Hi-Z? Разумеется, причем у любых МК. Называется "вход".
12-31-2023, 01:59 PM
(Сообщение последний раз редактировалось: 12-31-2023, 02:00 PM ActiveStalker.)
Начал сегодня понемногу разбираться с питанием и стартом. Степпинг питания ядра нужен для разных режимов тока потребления (графика зависимости нигде не нашел), но что - то мне подсказывает, нужно поставить 0.92...0.95 вольта и забить на любое управление, а то история чем - то напоминает оверклокинг процессоров Интел. А вот с супервизором до конца не понял. То есть понял RST_N должна быть в низком логическом до тех пор, пока напряжение ядра не станет в норму + какое - то небольшое время. Ну и при выключении, например если питание ядра ниже 0.85 вольта - поставить процессор в состояние сброса.
12-31-2023, 05:33 PM
(12-31-2023, 01:59 PM)ActiveStalker Написал: Степпинг питания ядраСтеппинг питания ядра-->Для простых кирпичей это обычно возможность немного оптимизировать потребление в связи с тем что часть из них может быть немного быстрее, часть-медленнее. В связи с разбросом тех параметров процесса при производстве. Возможно там могут быть регистры/фьюзы, которые можно прочесть и слегка подстроить питание под конкретный экземпляр кирпича. Если это не очевидно из документации-просто поставьте номинальное значение, оно должно быть в даташите. (12-31-2023, 01:59 PM)ActiveStalker Написал: А вот с супервизором до конца не понялЕсли использовать супервизор - всё просто. Если не сильно извращаться-питания стартуют за несколько миллисекунд. Если надо соблюсти вполне определённую последовательность старта напряжений-простейший вариант это запитывать EN следующего от Power-Good предыдущего. Или от его выхода, если нет Power-Good пина. Только проверьте чтоб логические уровни были в пределах допустимого. Исходя из последовательности старта напряжений, добавьте что-нибудь порядка 10 миллисекунд и получите время супервизора. 10 миллисекунд обычно более чем достаточно для старта задающего генератора. Ну а когда будете отлаживать-проверите что времени хватает для того чтоб сигнал генератора выглядел адекватно до ресета. Кстати, какого размера (футпринт) Вы будете использовать керамику для развязки питания? Судя по тому что Вы скопировали с Ап-нота, принцип развязки у оригинала-от балды, но по кондюку на каждую ножки питания. Для этого скорее всего надо использовать 0201. Что я предполагаю в Вашем случае проблематично. Поэтому надо будет глянуть как это оптимизнуть. Ну и 0.1uF -само по себе совсем не оптимально, даже в 0201 кузове.
Nobody Is Perfect
01-01-2024, 01:22 AM
(Сообщение последний раз редактировалось: 01-01-2024, 01:27 AM Altor Audio.)
Цитата: Если надо соблюсти вполне определённую последовательность старта напряжений-простейший вариант это запитывать EN следующего от Power-Good предыдущего. Я в свое время нагородил супервизор, на TPS3106K33 - очень удобная штука! Так его практически без изменений 10 лет и ставлю на иксмосовских платах. Контролирует 3.3в, после чего включает 1.0в, если он ОК- снимает сброс с проца. Плюс еще можно снаружи сброс подать на 3-ю ногу. Я еще свой супервизрр на наличие внешнего мастерклока сделал (Clock Monitor), при его отсутствии переключатет на внутрненний осциллятор. (Без этого, со старыми ЗеСайконовкими драйверами, при попытке воспроизведения, плеер вылетал с ошибкой). Но это если делать по все правилам. А если посмотреть на масссу серийных интерфейсов, даже дорогих, а тем более китайских, то там ничего этого нет. И все довольны.... Цитата:. Для этого скорее всего надо использовать 0201. У меня почти везде 0805, кое-где 0603.
01-01-2024, 08:34 AM
(Сообщение последний раз редактировалось: 01-01-2024, 09:16 AM ActiveStalker.)
(12-31-2023, 05:33 PM)begemot Написал: Кстати, какого размера (футпринт) Вы будете использовать керамику для развязки питания? Судя по тому что Вы скопировали с Ап-нота, принцип развязки у оригинала-от балды, но по кондюку на каждую ножки питания. Для этого скорее всего надо использовать 0201. Что я предполагаю в Вашем случае проблематично. Поэтому надо будет глянуть как это оптимизнуть. Ну и 0.1uF -само по себе совсем не оптимально, даже в 0201 кузове.Добрый день. С Наступившим... Я смотрел несколько дизайнов которые есть в интернете, обычно там не на каждую ногу. Некоторые совсем рядом, можно один общий на 2-3 ноги. Вообще зависит от того как ляжет трассировка. Я планировал до Нового Года полностью нарисовать схему USB части, но было много нового, не успел. Буквально вчера споткнулся об супервизор. До сих пор не разобрался как он работает и как его включать, но это вопрос времени. Посмотрим, если там не дорожка а полигон, то смысла вешать на каждую ногу не вижу, в процессе решим. А вот стаб на 1 вольт прийдется наверное ставить "преобразовательный" с хорошим фильтром. Иначе нерациональный расход энергии, и нужно будет на чем - то рассеивать 1.5 вт. Тем более если питаться от USB. (01-01-2024, 01:22 AM)Altor Audio Написал: Я в свое время нагородил супервизор, на TPS3106K33 - очень удобная штука!А я вчера вместо того, чтобы Новый Год встречать разбирался, подобрал ADM1085. Вроде бы то что надо. Порог 0.6в. Ставлю делитель на вход так, чтоб при 0.85 включало/ выключало, но с алгоритмами не всё ясно (01-01-2024, 01:22 AM)Altor Audio Написал: Но это если делать по все правилам. А если посмотреть на масссу серийных интерфейсов, даже дорогих, а тем более китайских, то там ничего этого нет.Да нет, зачем экономить 5 копеек. Разберусь и нормально сделаю Цитата:Контролирует 3.3в, после чего включает 1.0в, если он ОК- снимает сброс с проца. Плюс еще можно снаружи сброс подать на 3-ю ногу. А вот теперь хотелось бы понять как оно должно быть. Из того, что Вы написали я понял следующее. Сначала включается 3.3в, запитывает часть процессора память и супервизор (проц еще в ресете), далее через пин EN включает стаб 1 вольт и "супервизирует" его до тех пор пока напряжение не стабилизируется, потом какое - то время ждет и переводит RST_N в высокое. Далее процессор запускается. Я правильно всё понял? Или Вы имели в виду 3.3в питание и 1в запускаются каждое своим ходом, но супервизор переведет RST_N в высокое только после того, как они оба станут в норму?
01-01-2024, 09:23 AM
Цитата:Я правильно всё понял? Да.
01-02-2024, 08:30 AM
(Сообщение последний раз редактировалось: 01-02-2024, 08:32 AM ActiveStalker.)
Пока что вот так получилось:
В первую очередь подается питание USB_5V, далее запускается стабилизатор 3.3 вольта. 1) Когда его напряжение стало выше 0.4 в включается супервизор и ставит в низкий логический уровень управляющий вход EN - 0.9 вольтового преобразователя 61102 и процессор в режим ресета клеммой RST_N. (питание 0.9 вольт еще отсутствует) 2)Когда напряжение на выходе 3.3в стабилизатора стало 2.95 вольта, и прошло время задержки супервизора ~100мс (осцилятор 24 мГц уже стабильно работает) вход EN 0.9 вольтового становится в высокий логический и через >50мс он включается 3)Когда напряжение на выходе 0.9 вольтового преобразователя достигло значения выше 0.8 вольта - делитель R8 R9 формирует порог 0.551в второго канала супервизора и через~ 100мс включает процессор высоким уровнем входа RST_N. При выключении.... Если питание 3.3 вольта будет меньше 2.9в супервизор отключает 0.9в, после чего процессор переходит в режим ресета. Если при выключении питание 0.9 вольт снизится ниже 0.8 раньше чем 3.3 до 2.9 процессор перейдет в режим сброса еще быстрее. Супервизор отключается в последнюю очередь, когда питание ниже 0.4 в и управлять уже нечем. Ну как - то так. Номиналы 61102 взял из EVO борда. L1 C27 там не по даташиту. Видимо из за уменьшения номиналов резисторов делителя в десять раз
01-02-2024, 08:58 AM
(Сообщение последний раз редактировалось: 01-02-2024, 08:58 AM Black_Jack.)
AP61102
1. На странице 17 даташита есть рекомендуемые номиналы. На страничке https://www.diodes.com/part/view/AP61102#tab-details есть єксель-калькулятор. 2. С26 и С28 я бы ставил керамические (0805). Например, TDK C2012X7R1A106K125AE 3. C SW в землю поставил бы 0603 плейсхолдеры для RC-снаббера (мне лично было б интересно поиграться)
01-02-2024, 09:43 AM
01-02-2024, 03:12 PM
(Сообщение последний раз редактировалось: 01-02-2024, 03:27 PM ActiveStalker.)
(01-01-2024, 01:22 AM)Altor Audio Написал: Я еще свой супервизрр на наличие внешнего мастерклока сделал (Clock Monitor), при его отсутствии переключатет на внутрненний осциллятор. Вот тут не совсем понял. Скорей всего будет такая история, что ЦАП питаться от отдельных источников, а процессорная часть от УСБ. При переходе компа в спящий режим питание с USB будет снято, при выходе - снова включаться. В это время осцилятор цапа всегда будет работать. А может быть и такое, что на проц питание подано а на ЦАП - нет. Очень хотелось бы избежать зависаний и ошибок от полувключенных состояний. Кроме этого изоляторы питаются с обоих сторон. Если на одной питания нет, то сигнал ни в одну сторону не пройдет. На что в этом случае нужно обратить внимание? Первое, что приходит в голову - это еще один канал супервизора. Эдакий сигнал "ОК" со стороны ЦАПА без которого проц не выйдет из ресета. Более "хреновый" вариант - поставить кнопку ручного сброса процессора, чтобы не перезапускать питанием, или супервизор мастерклока...
01-02-2024, 03:38 PM
Цитата:Эдакий сигнал "ОК" со стороны ЦАПА без которого проц не выйдет из ресета. Поскольку с нынешними драйверами плеера уже не вылетают, то в своей 11-й модели я так и сделал - просто оптрон, у которго на входе 3.3в питания ЦАПа, а с другой - сигнал на MR супервизора.
01-04-2024, 05:01 PM
Пора потихоньку финализировать USB часть. Процесс был долгим поскольку с нуля пришлось разбираться в том как всё это работает. Но кое-что получилось.
По питанию: Мне показалось правильным напрямую запитать от источника линии 3.3в и 0.9в, поскольку там наибольший ток и они наиболее критичны. Отдельные блоки (генератор, развязки флешка) развязаны RC цепями с футпринтом небольших электролитов+керамика. В дальнейшем я оптимизирую номиналы с точки зрения добротностей получившихся контуров и эффективности развязки и импеданса. Супервизоры на все линии питания + сигнал готовности со стороны ЦАП через оптопару. Функционал: Пока что полная версия XTAG, поскольку я буду собирать плату частями и пытаться отлаживать еще до распайки ЦАПА. Вывел 8 светодиодов для разного рода индикации, при написании кода прошивки разберусь что ими показывать. Мучает меня совесть по поводу свободных портов. Туда можно предусмотреть например энкодер для цифровой регулировки уровня громкости. И если сильно захотеть, можно сделать переключаемую возможность для внешнего питания УСБ части. Когда будет время я почитаю, может быть и это решу. С энкодером сложнее я понятия не имею как его подключать и как оно работает. Вывод данных: I2s, i2c. И еще наверное будут перемычки для выбора i2s или i2s LJ, и перемычки для переключения вариантов ЦФ ЦАПА. Это я решу когда подробней разберусь в том как работает 4493 и чем прийдется управлять.
01-05-2024, 07:28 AM
Не вижу пуллапов на i2C и (скорее всего) надо что-то на JTAG.
01-05-2024, 08:20 AM
(01-05-2024, 07:28 AM)Black_Jack Написал: Не вижу пуллапов на i2C и (скорее всего) надо что-то на JTAG.Да да, есть такое... и не разобрался до конца что делать с клеммой USB_VBUS. Пока что крутятся в голове подозрения о том, что это разрешающий передачу по УСБ сигнал. Если там единица - пуллапы с D+ D- убираются и разрешается обмен данными. Но не совсем понятно что с ним делать в случае внешнего питания или питания от шины. Пытаюсь разобраться сейчас. |
« Предыдущая | Следующая »
|
Возможно похожие темы ... | |||||
Тема | Автор | Ответы | Просмотры | Последний пост | |
Многоканальный R2R для miniSHARC | mr-marlen | 173 | 62,979 |
09-30-2022, 04:05 AM Последний пост: JeD76 |
Пользователи, просматривающие эту тему: 1 Гость(ей)