Damit es vielleicht anderen hilft, hier noch meine Erfahrungen mit meinem CSR8675 Board:
Es kommt wie auf den Bildern zu sehen auf einem kleinen Board.
Das Modul funktioniert super, solange man nicht USB verwenden will. Dazu muss nämlich an VCHG/VBUS 3.3V angelegt werden (und auch an VDD_USB).
Sobald man das tut, startet das Modul nicht mehr... Dachte ich. Wenn man jetzt aber durch Zufall den MFB/PWR Pin ab ca. 200ms nach Versorgung des Board für ca. 200ms auf GND zieht, startet das Modul. Problem gelöst, sofern man jedes Mal seine USB Soundkarte extra einschalten möchte.
Bis dahin dachte ich, das wäre einfach das Software POWER ON Event. Konnte ich aber durch Auslesen der Config mit ADK4.1 nicht bestätigen, die die Events nicht dazu passen. (vielleicht wird von ADK4.1 falsch ausgelesen?).
Man kann das auch zu einem späteren Zeitpunkt auf GND ziehn, dann resetet das Modul. Interessanterweise merkt sich das Modul wie oft ich das mache. Wenn ich also 5x schnell gegen GND schalte, kann ich danach zuschauen, wie das Modul 5x wieder an geht.
Lange Recherchen haben ergeben, dass dieser Pin nicht irgendein PIO ist, sondern auch die Funktion von VREGENABLE besitzt. Fängt an wieder Sinn zu ergeben, aber wenn man sich mal genau durchliest wie dieser Pin zu verwenden ist auch wieder nicht.
Zitat:CSR8675 BGA boots-up when the voltage regulator enable pin is pulled high, enabling the regulators. The firmware then latches the regulators on. The voltage regulator enable pin can then be released.
Mein VREGENABLE ist aber die ganze Zeit durch Pullup High.
Zitat:If RST# is held low for >2.4s CSR8675 BGA turns off. A rising edge on VREGENABLE or VCHG is required to power on CSR8675 BGA.
Das sollte bei mir auch nicht der Fall sein.
Die Chinesen haben das wohl auch nicht ganz verstanden, weshalb sie zur Sicherheit folgende Schaltung von dem MFB-Pin geschaltet haben:
Vorneweg, das Modul geht ohne USB Mod auch ohne diese Schaltung (an).
Während (blau=3V3) nach oben schießt, steigt MFB erst verzögert an. Leider ist diese Verzögerung zu kurz (nur 4ms) um mein eigentliches Problem zu lösen.
Habe experimentiert, diese Schaltung anzupassen. Aber entweder ist die Verzögerung zu kurz oder die Flanke zu flach.
Und aus Frust verrichtet ab jetzt ein kleiner µC diesen Job.
Kann sich aus obigem Verhalten jemand von euch einen Reim machen, warum dieses Modul das macht?
Wäre echt intressant zu wissen.