Видимо, чтобы раскрыть секрет успешности хеликса, придется его купить. ..... и сломать! )))
Вид для печати
Видимо, чтобы раскрыть секрет успешности хеликса, придется его купить. ..... и сломать! )))
Не надо ничего ломать, вот тут информация по используемым чипам есть https://www.drive2.ru/b/465282810500875113/
Bravo SA9227
Atmega 88 20AU 1350
не то?
Асмит, перед тем как комментировать, прочитай хотя бы пару-тройку постов выше, уже второй пост мимо кассы ;)
Значит я вас не понимаю, но эта штука у меня есть)
Ценю твою готовность помочь и разделяю радость от обладания Штукой :) но раз не понимаешь, значит вряд ли объяснишь как она устроена... :(
aluver, как "компенсацию" ,:punish2:требуй крупные фото этой Штуки или уже не нужны? :offtopic:
Рассмотреть на фотке как идут дорожки на двухслойной плате все равно нереально, а чипы нам известны. Ну разве что кроме того, что в углу. Асмит, проц разбирать будем? ;)
Могу разобрать, но попозже. Гаража у меня нет, но возможно скоро поеду усь менять.
Свершилось, господа! Проблема рокчипов повержена!
Для решения проблем с usb audio (щелчки) на рокчиповских гу (пусть и в ущерб скорости шины) меня давно терзала мысль по насильному ограничению драйвера usb 2.0 dwc_otg скоростью full speed. Этот метод в свое время срабатывал на raspberryPi, пока они не поправили исходники dwc_otg.
Читая форумы разработчиков raspberryPi, как они с 2013-2014 гг боролись с тем же драйвером dwc_otg на своем броадкоме, я утвердился в этом мнении. Но главное, я нашел у них и другую информацию, проливающую свет на ситуацию. https://www.raspberryp…a3627baa04f208#p390168
То есть для USB Audio:
1. Необходимо использовать ключ модуля ядра dwc_otg.speed=1 - принудительно заставлять работать драйвер на full speed (по умолчанию 0 - high speed).
2. Не допускать наличия в системе дешевых хабов с singleTT (single Transaction Translator), устройств с иными скоростями работы (low speed), а также устройств с большим количеством endpoints.
3. Использовать опции модуля dwc_otg.fiq_split_enable=0 и/или dwc_otg.fiq_fix_enable=1.
Теперь наши реалии по пунктам:
1. Я увидел фактически принятые системой значения параметров модуля ядра dwc_otg по пути /sys/module/dwc_otg/parameters/. И среди них был тот самый speed, в котором хранится значение 0 (хай спид). Но чтобы изменить его, надо чтобы опция применялась при загрузке ядра, так как модуль встроен в ядро. Об этом чуть ниже.
2. У нас все плохо как только могло быть ))). И singleTT хаб, и low speed uart (адаптер can), и асинхронная usb карта, у которой много endpoints.
3. Опций от распбери в параметрах у нас не вижу. Китайцы драйвер непатченный видимо взяли. Еще посмотрю по выводу dmesg|grep fiq после загрузки - может что проскочит.
Теперь о том, как сделать, чтобы опция dwc_otg.speed=1 применялась при загрузке ядра. Для этого необходимо добавить эту опцию в строку инициализации ядра cmdline, которая хранится в файле Android/parameters прошивки. Распаковать и поменять строку поможет утилита RK3xxx Firmware Tools by SergioPoverony. Вставлять параметры после /init через пробел.
Вчера сделал для себя пересборку прошивки для гу MTCB rk3066 800х480 KLD с добавлением параметра dwc_otg.speed=1. Добился вывода звука без артефактов на своей сабре до 24/96 с включенными в UAPP твиками nrpacks=1 и твик#1. Раньше даже 24/44 щелкало.
Как всегда все просто, когда есть документация.