Forum: Mikrocontroller und Digitale Elektronik Einige Fragen zum SSC des SAM7256


von TheMason (Gast)


Lesenswert?

Hallo Leute,

habe nun endlich mal den Einstieg in die ARM7 Welt geschafft und habe 
mir einen TLV320AIC23B an den SSC Port des ARMs getackert.
Datenblatt gelesen und Code-Beispiele (von Atmel, und dem MP3-Player auf 
ARM-Basis hier im Forum) angeschaut.
Prinzipiell verstanden habe ich es, und prinzipiell funktioniert es 
auch.
Ich habe (ähnlich wie dem I2S Test im trunk/tag verzeichnis des 
ARM-MP3-Player SVN Snapshots) einfach eine Rechteck-Wellenform per SSC 
ausgegeben.
Es kommt auch etwas an das mit einer Rechteck-Welle ähnlichkeit hat, 
allerdings viel grausamer klingt (habe Oberwellen auf dem Signal).
Der Codec läuft mit seinem eigenen Quarz auf 12.288 MHz als Master. Der 
ARM (das AT91SAM7256 Header Board aus dem (ehemaligen) Shop hier) läuft 
in dem falle als Slave (erzeugt also keine Takte und Signale außer eben 
TD).
Ich habe am Scope geschaut, und die Signale sind soweit sauber (BitClk, 
LRClk, SDIn und SDOut an TK, TF, TD). Also keine kurzschlüsse oder 
falsche Pegel oder dergleichen.
Das einzige was ich gemacht habe ist das ich für den Codec einen 
separaten Spannungsregler (3.3V) spendiert habe, damit der 3.3V Regler 
des Header Boards nicht noch zusätzlich belastet wird, nur denke ich 
sollte das nicht das Problem sein.
Worauf sollte man beim SSC noch achten ? (von der Konfiguration her).
Was mich auch etwas wundert (bzw. was ich nicht ganz verstehe) :
Warum kann ich mit dem Empfänger des SSC nur 1 Kanal einlesen (wenn ich 
das Datenblatt richtig verstanden habe, aber selbst die App Note 
schreibt ja das nur 1 Kanal lesen geht) ?
Die Register sind ja 32 Bit breit, und wenn ich eh nur mit 16 Bit 
sample, dann sollten doch 2 Wörter Platz in dem RHR finden, oder ?
Hoffe mir kann jemand helfen. Es sind etwas wage Informationen, und ich 
habe das Board z.z. leider nicht zur Hand (erst morgen abend wieder) um 
zu Testen, aber vllt. hat ja der eine oder andere auch Problem(chen) 
gehabt den Codec mit dem SSC ans laufen zu bringen.

Gruß
Rene

PS. Den Codec als Slave laufen zu lassen habe ich auch schon versucht, 
allerdings da wohl noch einen Fehler in der SSC-Konfiguration. Werde es 
morgen nochmal versuchen. Kann ja nicht so schwer sein. Nur wäre es 
schön wenn es auch als Master klappt, und da dies hier schon einige 
gemacht haben frage ich erstmal dahingehend.

von TheMason (Gast)


Lesenswert?

kurze info :

ich habe es zum laufen gebracht. Der Codec läuft als Master und taktet 
den ARM. Die Daten gehen sauber raus. Was noch etwas merkwürdig ist, ist 
das bei einem Stereo-Signal das ich ausgebe, einer der beiden Kanäle nur 
die negative Halbwelle (im falle eines Sinussignals) rausgibt. Der 
andere Kanal gibt die komplette Welle aus. Was das ist weiß ich nicht. 
Vielleicht finde ich es ja noch raus.

von Hugues (Gast)


Lesenswert?

Hi René,
ich beschäftige mich seit paare Tage mit dem SSC. Ich habe vor, der 
AT91SAM7S64 als Slave zu stellen. Ich will die PCM-Daten von einem 
Mobile Modul in der AT91 abspeichert und danach über USB am PC abspielen 
und natürlich auch auf beide Richtung. Ich schaffe es nicht der 
AT91SAM7S64 als Slave zu stellen dh. ich will nur die Pin : RK, RF, TD 
und RD benutzen. Wie hast du denn bei deinem Beispiel die Registern 
RCMR,RFMR,TCMR und TFMR eingestellt?

Gruß

Hugues

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.