Автор Тема: О Xmos+Sabre9018 и других дешевых китайских ЦАПах  (Прочитано 1011870 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Morpheus123

  • Старожил
  • *****
  • Сообщений: 1562
  • Репутация: 7
  • Сергей, Тель-Авив
  • Поблагодарили: +4
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1170 : 01 Февраля 2015, 20:15:03 »
0
Попробуй запитать Ардуино от компа через USB.

Оффлайн Язычник

  • Наш человек
  • ****
  • Сообщений: 361
  • Репутация: 1
  • Игорь
  • Поблагодарили: +17
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1171 : 01 Февраля 2015, 20:17:49 »
0
Первое, что приходит в голову, по аналогии с PCM270(x) - это срыв синхронизации. Кварц установлен того же номинала, как и на ардуино?

Оффлайн wuriks

  • Старожил
  • *****
  • Сообщений: 980
  • Репутация: 9
  • Александр
  • Поблагодарили: +7
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1172 : 01 Февраля 2015, 20:22:18 »
0
Дык проблема то в том, что и ардуино работает с пропаданием звука.  :(
ps кварц подцеплял на 16мГц, как и в ардуине.

Оффлайн cu6apum

  • Старожил
  • *****
  • Сообщений: 4018
  • Репутация: 14
  • Естествоиспытатель
  • Поблагодарили: +366
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1173 : 01 Февраля 2015, 20:22:56 »
0
Э!?

Оффлайн wuriks

  • Старожил
  • *****
  • Сообщений: 980
  • Репутация: 9
  • Александр
  • Поблагодарили: +7
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1174 : 01 Февраля 2015, 20:32:36 »
0
Не знаю как очистить атмегу.  ???
Вобщем то у меня есть еще одна атмега, новая. Завтра попробую залить загрузчик и проверить программу совсем с нуля... Но ка с этой то быть?

и добавил...
Когда прошил программу первый раз и подключил к цапу, то мне пришлось громкость поднимать до 0, стояла на минимуме. Сей час же, после прошивки, все мои настройки остаются.  :(
« Последнее редактирование: 01 Февраля 2015, 20:44:14 от wuriks »

Оффлайн Morpheus123

  • Старожил
  • *****
  • Сообщений: 1562
  • Репутация: 7
  • Сергей, Тель-Авив
  • Поблагодарили: +4
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1175 : 02 Февраля 2015, 00:05:10 »
0
Опция RESET в моей программе устанавливает все настройки на дифолтные. С ними тоже наблюдаются затыки? Если нажмешь на RESET, а потом изменишь громкость, или вход туда и обратно, то дифолтные настройки должны сохраниться.

Ардуину можно очистить только програмно, в цикле записывая нули в EEPROM.
Ты можешь найти функцию void MenuController::ReadSettings() и закоментировать ее тело или в самом ее начале поставь

return;

Тогда никакие настройки не будут читаться из EEPROM и ты сможешь проверить свою версию о том, что затыки связаны с сохраненными настройками.


и добавил...
Горит ли светодиод синхронизации на плате ЦАПа, когда пропадает звук?
« Последнее редактирование: 02 Февраля 2015, 00:08:49 от Morpheus123 »

Оффлайн wuriks

  • Старожил
  • *****
  • Сообщений: 980
  • Репутация: 9
  • Александр
  • Поблагодарили: +7
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1176 : 02 Февраля 2015, 05:49:04 »
0
После включения делаю программный RESET и проблема исчезает. Могу что угодно настраивать, все работает как положено. Но эта ляпота до первого выключения цапа. С другого входа не пробовал, все слушаю через XMOS. Надо будет проверить.
зы Сергей, у тебя на ардуино проводочки можно переставлять?  ;)

и добавил...
Горит ли светодиод синхронизации
Точно, надо поставить так как у меня его нет.
« Последнее редактирование: 02 Февраля 2015, 08:18:10 от wuriks »

Оффлайн Morpheus123

  • Старожил
  • *****
  • Сообщений: 1562
  • Репутация: 7
  • Сергей, Тель-Авив
  • Поблагодарили: +4
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1177 : 02 Февраля 2015, 11:05:12 »
0
После Ресета поменяй громкость или какой-нибудь другой параметер и только потом выключай питание. При изменении параметров они сохраняются в EEPROM.

Если это не помогло, пройдись по всем параметрам после Ресета и запиши их значения, поменяй громкость, выключи питание, включи питание, снова пройдись по всем параметрам и сравни их значения с записанными ранее. Так ты можешь узнать, что изменилось.

Оффлайн xar

  • Старожил
  • *****
  • Сообщений: 5224
  • Репутация: 16
  • Ренат
  • Поблагодарили: +271
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1178 : 02 Февраля 2015, 11:21:32 »
0
Morpheus123, вопрос в слепую. при включении питания контроллер ВСЕ параметры в сабрю пишет, или как?

Оффлайн Morpheus123

  • Старожил
  • *****
  • Сообщений: 1562
  • Репутация: 7
  • Сергей, Тель-Авив
  • Поблагодарили: +4
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1179 : 02 Февраля 2015, 15:01:21 »
0
Моя программа при включении питания читает параметры из памяти и устанавливает соответсвующие регистры Сабри. Программа в оригинальном контроллере тоже устанавливает регистры Сабри, но она не запоминает параметры, хотя она почти ничего не дает изменить.

Оффлайн cu6apum

  • Старожил
  • *****
  • Сообщений: 4018
  • Репутация: 14
  • Естествоиспытатель
  • Поблагодарили: +366
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1180 : 02 Февраля 2015, 15:12:57 »
0
Громкость, вход и установку фильтра вроде запоминала.

Оффлайн wuriks

  • Старожил
  • *****
  • Сообщений: 980
  • Репутация: 9
  • Александр
  • Поблагодарили: +7
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1181 : 02 Февраля 2015, 15:45:02 »
0
Да, и если не надолго выключался, 1-2 мин., помнит какой сигнал был на входе.

и добавил...
Вот и стало все понятнее.
Припаял светодиод и стало почти как с осцилом.  ;D
Включаю цап, вход usb и вижу мигание одновременно с пропаданием звука. Перехожу на coax и все изумительно светит и играет. Делаю RESET программный. Настраиваю usb и coax как у меня было (квантайзер, фильтр и тд). Включаю воспроизведение и наблюдаю постоянное свечение и звук без всяких прерываний по обоим входам.
Выключаю цап на несколько минут. После включения проверил настройки, все на месте, ничего не изменилось. Подаю сигнал и опять все по новой, на usb не постоянный лок, на coax все замечательно.

и добавил...
Понятно что USB это связь по i2s. На адумки грешить не хочу, тк с родным контроллером проблем небыло, светодиод не мигал.
« Последнее редактирование: 02 Февраля 2015, 17:21:15 от wuriks »

Оффлайн Morpheus123

  • Старожил
  • *****
  • Сообщений: 1562
  • Репутация: 7
  • Сергей, Тель-Авив
  • Поблагодарили: +4
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1182 : 02 Февраля 2015, 17:33:46 »
0
Может у меня будет происходить тоже самое. Я пока не могу подключить по USB, так как жду XMOS.

и добавил...
Закоментируй тело MenuController::ReadSettings().
« Последнее редактирование: 02 Февраля 2015, 17:44:48 от Morpheus123 »

Оффлайн wuriks

  • Старожил
  • *****
  • Сообщений: 980
  • Репутация: 9
  • Александр
  • Поблагодарили: +7
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1183 : 02 Февраля 2015, 18:58:52 »
0
Закоментировал. Работает нормально. Но это же после каждого включения надо настраивать, так же как если RESET делать, только еще надо и вход выбирать... RESET пока лучше  ;D

Оффлайн Morpheus123

  • Старожил
  • *****
  • Сообщений: 1562
  • Репутация: 7
  • Сергей, Тель-Авив
  • Поблагодарили: +4
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1184 : 02 Февраля 2015, 19:11:41 »
0
Ну так я не это имел ввиду. Начни искать проблему методом бинарного поиска. Закоментируй половину кода. Если проблема не происходит, верни ее и закоментируй вторую половину. Потом Половину половины и так далее, пока не найдешь нужную строчку кода, которая создает проблему.

Оффлайн wuriks

  • Старожил
  • *****
  • Сообщений: 980
  • Репутация: 9
  • Александр
  • Поблагодарили: +7
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1185 : 02 Февраля 2015, 19:25:33 »
0
Не фига се... Дорожки резать что бы найти проблемное место я умею, а вот с кодом подобное... боюсь, тк ваще не понимаю... Оно сейчас то компиляция с первого раза не пошла, тк надо еще и в менеджере эту строчку закоментировать было...
Сейчас в нетронутой программе, на пример, не работает автоматическое переключение фильтра с РСМ на 50-60-70 при запуске DSD. Я про это не говорил, тк не пришел еще XMOS и поэтому ни каких претензий конечно же.
« Последнее редактирование: 02 Февраля 2015, 19:28:23 от wuriks »

Оффлайн Morpheus123

  • Старожил
  • *****
  • Сообщений: 1562
  • Репутация: 7
  • Сергей, Тель-Авив
  • Поблагодарили: +4
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1186 : 02 Февраля 2015, 19:34:36 »
0
В коде все намного проще, чем дорожки резать. Всегда можно все вернуть, а перерезанные дорожки вернуть к начальному виду сложнее. Техникой бинарного поиска я пользуюсь в самых крайних случаях, когда ничего другого в голову не приходит. Она меня всегда выручала. У меня опыт работы в Израиле в программировании больше 20 лет, хотя на Ардуино я никогда до последнего времени не писал. 

Я собираюсь все доделать, когда придет мой XMOS. Проверяю почту каждый день.

Оффлайн wuriks

  • Старожил
  • *****
  • Сообщений: 980
  • Репутация: 9
  • Александр
  • Поблагодарили: +7
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1187 : 02 Февраля 2015, 21:35:02 »
0
Вот эта строчка m_SettingsArray->DPLLMode = EEPROM.read(cursor++);
Стоит только ее добавить и начинается сбой, но с ней все настройки помнит. Без нее работает нормально, но после выключения часть настроек слетает.

Оффлайн Morpheus123

  • Старожил
  • *****
  • Сообщений: 1562
  • Репутация: 7
  • Сергей, Тель-Авив
  • Поблагодарили: +4
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1188 : 02 Февраля 2015, 21:36:39 »
0
Поменяй

m_SettingsArray->DPLLMode = EEPROM.read(cursor++);

на

 EEPROM.read(cursor++);

Оффлайн wuriks

  • Старожил
  • *****
  • Сообщений: 980
  • Репутация: 9
  • Александр
  • Поблагодарили: +7
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1189 : 02 Февраля 2015, 21:49:54 »
0
Не понял, напиши как должно выглядеть, вечером попробую. (сплю уже, не соображаю)

Оффлайн Morpheus123

  • Старожил
  • *****
  • Сообщений: 1562
  • Репутация: 7
  • Сергей, Тель-Авив
  • Поблагодарили: +4
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1190 : 02 Февраля 2015, 21:57:27 »
0
Найди строчку

m_SettingsArray->DPLLMode = EEPROM.read(cursor++);

и поменяй ее на

EEPROM.read(cursor++);

Оффлайн wuriks

  • Старожил
  • *****
  • Сообщений: 980
  • Репутация: 9
  • Александр
  • Поблагодарили: +7
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1191 : 03 Февраля 2015, 04:18:29 »
0
Теперь вроде запоминает настройки, кроме одного пункта. Ставлю PL OFF, после выкл/вкл получаю PL MUL. Работает без пропаданий лока. (пока все что успел с утра проверить)
« Последнее редактирование: 03 Февраля 2015, 05:18:34 от wuriks »

Оффлайн Morpheus123

  • Старожил
  • *****
  • Сообщений: 1562
  • Репутация: 7
  • Сергей, Тель-Авив
  • Поблагодарили: +4
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1192 : 03 Февраля 2015, 10:10:21 »
0
Теперь вроде запоминает настройки, кроме одного пункта. Ставлю PL OFF, после выкл/вкл получаю PL MUL. Работает без пропаданий лока. (пока все что успел с утра проверить)

Ничего удивительного  :) :) :) Строчка кода, которую ты закоментировал, отвечает за DPLL Mode, а DPLL Mode я сокращенно назвал PL. Как получу XMOS, попробую разобраться с этой проблемой.

Оффлайн wuriks

  • Старожил
  • *****
  • Сообщений: 980
  • Репутация: 9
  • Александр
  • Поблагодарили: +7
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1193 : 03 Февраля 2015, 10:19:43 »
0
Это то я понял и если оставить значение MUL, то можно спокойно слушать, ожидая когда ты всех XMOS-ов победишь.  :yes: :yes: ;D

Оффлайн standov

  • Хороший знакомый
  • **
  • Сообщений: 80
  • Репутация: 2
  • Станислав Киев
  • Поблагодарили: 0
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1194 : 04 Февраля 2015, 00:20:31 »
0
Всем привет, в общем то я сегодня начал играться в игру "прикрути ардуино к цапу виеланга" ) на ваш форум набрел именно в процессе, сам программист но серверный и ардуиной пока только ледами мигать умею да релюшки переключать.

Теперь по сути вопроса
1. Взял прошивку от буффало
2. выкинул все лишнее (в моем случае это LCD)
3. соединил ардуину уно через соответствующие порты (без ресета и 5В)
4. запустил и тишина
... долго колупал прошивку, пришел к выводу что я что-то такое пишу в регистры сабры что привожу ее в неработоспособное состояние
5. закоментарил всю запись регистров, оставил только чтение
6. звук пошел, НО регистры не читаются, тоесть ф-я чтения отдает 0 по ветке else
в общем я застрял и требуется пинок в нужную сторону ))

с комплектным дисплеем все работает - тобишь сабря живая, интерфейс рабочий

Оффлайн cu6apum

  • Старожил
  • *****
  • Сообщений: 4018
  • Репутация: 14
  • Естествоиспытатель
  • Поблагодарили: +366
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1195 : 04 Февраля 2015, 00:22:22 »
0
Гыг.
Пинок в сторону несовместимости баффалы и обсуждаемой платы. Они вапще разные.

Оффлайн standov

  • Хороший знакомый
  • **
  • Сообщений: 80
  • Репутация: 2
  • Станислав Киев
  • Поблагодарили: 0
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1196 : 04 Февраля 2015, 00:24:31 »
0
ну я просто тупо читаю регистры которые вроде как по спеке и тут в топике обсуждается код который тупо брат близнец того который я мучаю, или я что-то не понял?

Оффлайн cu6apum

  • Старожил
  • *****
  • Сообщений: 4018
  • Репутация: 14
  • Естествоиспытатель
  • Поблагодарили: +366
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1197 : 04 Февраля 2015, 00:25:24 »
0
Пока ничего не понял, судя по.
Читай топик с начала, много думай. ;)

Оффлайн standov

  • Хороший знакомый
  • **
  • Сообщений: 80
  • Репутация: 2
  • Станислав Киев
  • Поблагодарили: 0
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1198 : 04 Февраля 2015, 00:34:08 »
0
Вторые сутки читаю ) Мне стыдно но вы обсуждаете куски прошивки уважаемого Morpheus123 о я саму прошивку не нашел на предмет поизучать

UPD

Нашел код, не компилил пока по причине отсутствия студии (играюсь в Arduino IDE) но SabreRegistersController::readRegister юзает логику из баффалы которую и я юзаю


byte SabreRegistersController::readRegister(byte regAddr)
{
Wire.beginTransmission(0x48); // Hard coded the Sabre/Buffalo device  address
Wire.write(regAddr);          // Queues the address of the register
Wire.endTransmission();       // Sends the address of the register
Wire.requestFrom(0x48, 1);     // Hard coded to Buffalo, request one byte from address

// specified with Wire.write()/wire.endTransmission()
//while(!Wire.available()) {  // Wait for byte to be available on the bus
if (Wire.available())          // Wire.available indicates if data is available
  return Wire.read();         // Wire.read() reads the data on the wire
else
return 0;                   // In no data in the wire, then return 0 to indicate error
}

Натурально отдает 0 (Wire.available() false) по любому регистру
Если же переделать на while - начинает вроде как работать но стабильно во всех регистрах отдает 1

и добавил...
Реально все регистры другие ) взял номера из кода Morpheus123 и заработало! Спасибо за пинок.

ПС. Я делаю контроллер "безэкранный" с пачкой светодиодов и кнопок, требуется для моего DIY проекта, как получится что путевое обязательно поделюсь
« Последнее редактирование: 04 Февраля 2015, 01:18:53 от standov »

Оффлайн cu6apum

  • Старожил
  • *****
  • Сообщений: 4018
  • Репутация: 14
  • Естествоиспытатель
  • Поблагодарили: +366
Re: О Xmos+Sabre9018 и других дешевых китайских ЦАПах
« Ответ #1199 : 04 Февраля 2015, 09:49:05 »
0
Ну вот видишь. Главное - не торописсса.

 

Похожие темы

  Тема / Автор Ответов Последний ответ
19 Ответов
24415 Просмотров
Последний ответ 25 Декабря 2015, 15:07:02
от митяич
220 Ответов
195377 Просмотров
Последний ответ 31 Января 2017, 05:23:43
от den4
10 Ответов
14907 Просмотров
Последний ответ 11 Сентября 2016, 21:14:30
от xar
70 Ответов
26845 Просмотров
Последний ответ 22 Июня 2021, 19:07:30
от zorg
34 Ответов
3489 Просмотров
Последний ответ 24 Января 2024, 00:23:08
от GoRs