Hallo, Leute!
Ich überlege immer, wie ich den Einschaltplopp meines Weckers wenigstens
reduzieren kann...
Heute habe ich zufällig in der Dokumentation des VS1011e dieses
Paragraph gelesen:
1 | 9.5 Play/Decode
|
2 | This is the normal operation mode of VS1011e. SDI data is decoded. Decoded samples are converted to analog domain by the internal DAC.
|
3 | If no decodable data is found, SCI HDAT0 and SCI HDAT1 are set to 0 and analog outputs are muted.
|
4 | When there is no input for decoding, VS1011e goes into idle mode (lower power consumption than during decoding) and actively monitors
|
5 | the serial data input for valid data.
|
Also, verstehe ich richtig, daß wenn ich mit dem Abspielen fertig bin,
wird der Analogoutput auf 0V gesetzt?
Wenn ja, konnte es dann das Problem des Einschaltplopps sein, richtig?
Zur Zeit, in meinem Code, bevor ich den Verstärker wieder laut schalte,
warte ich ein paar Millisekunden, und gleichzeitig schicke einfach 0 dem
VS1011e:
1 | // Laut Doku, soll man den vor dem Abspielen immer setzen!
|
2 | vsSetClock();
|
3 | // Dazu setze ich die Lautstärke, denn ansonsten (bei Knopfbetätigen) wird nicht gesetzt!
|
4 | vsSetVolume(currentVolume);
|
5 | // Und nun ein bißchen stumme Daten als Init...
|
6 | for(i = 0; i < 2048;)
|
7 | {
|
8 | if(bit_is_set(VS_PIN, VS_DREQ_PIN))
|
9 | {
|
10 | vsSendData(0);
|
11 | i++;
|
12 | }
|
13 | displayCurrentTime();
|
14 | }
|
15 |
|
16 | tdaLoud();
|
Meint ihr, ich warte eine zu kurze Zeit? Zwischen dem VS1011e und dem
Verstärker (TDA1554q) gibt es zwei 100nF Kondesatoren (ein pro Kanal).
Ich hätte kein Problem, nach der Schleife und vor der Funktion
"tdaLoud()" noch eine Wartezeit (_delay_ms(500) zB?) hinzuzufügen, aber
wenn ich nix schicke, wird bestimmt auch der MP3-Decoder wieder in "idle
mode" gehen, richtig?
Soll ich einfach diese Schleife verlängern, bzw. so lange 0 schicken,
bis zB 500mS vergangen sind?
Meint ihr, es konnte helfen?
Dazu: meint ihr, daß "0" eine "decodable data" ist? In der Dokumentation
ist diese Schleife schon als Beispiel gegeben, wenn man zB vor einem
Software-Reset warten will.
Ich freue mich auf eure Meinungen!
Luca Bertoncello