Отговори на тема  [ 8 мнения ] 
Въпрос, който не знам в кой раздел да задам 
Автор Съобщение
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пон Авг 20, 2018 11:27 am
Мнения: 103
Местоположение: София
Мнение Въпрос, който не знам в кой раздел да задам
Здравейте,
Нахендрих се с едни звукови монитори KRK GoAux, които имат досадната функция да преминават автоматично в стендбай режим, когато не им се подава сигнал да речем 20 минути.
Ползват за управляващо CPU STM32F030, който от две ADC на TI получава прекъсване за влизане в стендбай, когато зададено в регистър време изтече и сигналът, който се подава на някой от входовете е по-нисък от -50 dB или колкото му е зададено. ADC е PCM1863.
Накратко, искам да прецакам този автоматичен стендбай, искам колонките да работят непрекъснато и да не се изключват.
Закачих се със сериен порт на дебъг конектор на платката и при подаване на help връща следните налични команди:
help
Command Description and parameters (All data in hex)

? Print this message
help Print this message
fwupgrade update mcu firmware
btupgrade update bt firmware
facrst reset device
version get fw version
rc room correction
ennetstandby enter network standby mode
testmode enter test mode
volup volume up
voldown volume down
volmax volume max
volset volume set

След като го ръчках известно време установих, че мога да го вкарам в стендбай с командата ennetstandby, но няма команда за power up. А изглежда и че след като постои в стендбай известно време съвсем се изключва.
От това състояние може да се извади само с двойно щракване на бутона на предния панел, който служи и като потенциометър за силата на звука. Когато е все още само в стендбай режим, може да се активира и по серийния интерфейс като му се подаде volup, демек да се увеличи силата на звука с една степен.

В описанието на PCM1863 пише следното
Energysense Signal Loss Flag
The main ADC constantly monitors the input signal level while in ACTIVE mode. Should the input level remain
below a register defined threshold (for example –60 dB - Virtual Coefficient 0x2C, programmable through Page
1.) for a register defined amount of time (for example 1 minute - set by SIGDET_LOSS_TIME (Page.0, 0x33) ),
an interrupt can be generated.
If the system MCU decides to move to sleep mode, the PCM186x can be moved to SLEEP by stopping
BCK/LRCK or using PWRDN_CTRL (Page.0, 0x70); see Table 17 for details.
If BCK and LRCK are stopped by the host after the interrupt, the device goes to the sleep state as shown in
Figure 37. Otherwise, the interrupt continues for a few seconds, defined by SIGDET_INT_INTVL (Page.0, 0x36)
unless the interrupt and timeout counter is reset.

Та някакви идеи как най-лесно да направя това? Никакви други команди освен тези в хелпа не приема през серийния порт.


Сря Юни 21, 2023 8:11 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Фев 13, 2013 2:35 pm
Мнения: 1748
Мнение Re: Въпрос, който не знам в кой раздел да задам
На първо четене си мисля да прекъснеш интеръпта за заспиване?
ПС
В смисъл да прекъснеш пистата и евентуално пулъп резистор


Сря Юни 21, 2023 10:10 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 11:32 am
Мнения: 7886
Местоположение: София
Мнение Re: Въпрос, който не знам в кой раздел да задам
мушни му отделно mcu, къде му набива сигнал в ADC-то :)


Чет Юни 22, 2023 12:45 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 17, 2005 4:07 pm
Мнения: 810
Местоположение: Сливен
Мнение Re: Въпрос, който не знам в кой раздел да задам
Пробва ли дали с команда volup/voldown не се нулира таймера който го вкарва в standby?

_________________
Код:
while(true);


Вто Юни 27, 2023 9:17 am
Профил ICQ
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пон Авг 20, 2018 11:27 am
Мнения: 103
Местоположение: София
Мнение Re: Въпрос, който не знам в кой раздел да задам
valioman написа:
Пробва ли дали с команда volup/voldown не се нулира таймера който го вкарва в standby?

Не се нулира, а при volup първо минава в процедура на събуждане и тогава увеличава нивото. Т.е. вероятно пак се нулира.
Но установих друго. След като прекара известно време в стендбай, минава в някакъв още по-заспал режим, от който не излиза само с volup вече.


Последна промяна movx2000 на Вто Юни 27, 2023 2:03 pm, променена общо 2 пъти



Вто Юни 27, 2023 1:48 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пон Авг 20, 2018 11:27 am
Мнения: 103
Местоположение: София
Мнение Re: Въпрос, който не знам в кой раздел да задам
bobihot написа:
На първо четене си мисля да прекъснеш интеръпта за заспиване?
ПС
В смисъл да прекъснеш пистата и евентуално пулъп резистор

Не съм сигурен дали няма и други интеръпти по този проводник, ако го прекъсна дали няма да се прецака друга функционалност. Рязане и такива по-инвазивни процедури само в краен случай. В смисъл колонките не са мои, а служебни, и не са само един чифт, а много. И са нови в гаранция. А кой реши да ги купи не ме питайте, не съм аз.


Вто Юни 27, 2023 1:51 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 03, 2005 1:21 am
Мнения: 10615
Местоположение: София
Мнение Re: Въпрос, който не знам в кой раздел да задам
Една селска хардуерна идея. :D
Прихващаш сигнала на детектора за липса на сигнал, и ако няма такъв за над някакво време пускаш кратък бърст с честота 20 - 25kHz с ниско ниво. Да кажем -40dB или -60dB от номиналното за мониторите. И така до безкрай.
Честотата трябва да е подбрана така, че хем да не се чува за да не пречи, хем да се обработва от АЦП-то на колоната, а не да се потиска от входните му филтри.


Вто Юни 27, 2023 5:42 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пон Авг 20, 2018 11:27 am
Мнения: 103
Местоположение: София
Мнение Re: Въпрос, който не знам в кой раздел да задам
itso.t написа:
Една селска хардуерна идея. :D
Прихващаш сигнала на детектора за липса на сигнал, и ако няма такъв за над някакво време пускаш кратък бърст с честота 20 - 25kHz с ниско ниво. Да кажем -40dB или -60dB от номиналното за мониторите. И така до безкрай.
Честотата трябва да е подбрана така, че хем да не се чува за да не пречи, хем да се обработва от АЦП-то на колоната, а не да се потиска от входните му филтри.

Детекторът за липса на сигнал се нарича АЦП, в случая PCM1863. В нарочен регистър се записва точно под минус колко децибела се приема за липса на сигнал, както и колко време трябва да липсва.
По-лесно е софтуерно да се генерира нискочестотен сигнал през 20 минути и да се подава.


Вто Юни 27, 2023 7:48 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 8 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 5 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни