Forum: Mikrocontroller und Digitale Elektronik TDA 1543, geht nicht


von Dirk (Gast)


Lesenswert?

Hallo,
ich bekomme keine Änderung der Ausgangsspannung an mit einem DA-Wandler
TDA1543.
Schaltung:
- Ausgänge mit jeweils 2,2k gegen Masse
- VRef mit 1k gegen Masse
- Versorgung 5V
Taktung und Steuerung direkt vom ATMega16:
- Taktung an BCK
- alle 16 Takte, toogeln von WS
- Nach 10x Umschalten von WS, toogeln von DATA

Der Stromausgang sollte sich doch eigentlich um ca. 2mA ändern,welches
an 2.2k einer
Änderung von 4,4V entspricht.
Warum geht das nicht?
Ich würde den TDA1543 gerne für eine Sollwertvorgabe in einer
Regelschaltung verwenden
 Gruß Dirk

von Till (Gast)


Lesenswert?

a) les mal das datenblatt durch, was du oben beschreibts ist nicht
philips I2S

b) mal mir mal ein sauberes timingdiagramm damit ich sicher sein kann
was du dem TDA an daten scheibts.

c) hast du über datenformat = twos complement nachgedacht?

von Dirk (Gast)


Lesenswert?

Hallo Till,
Das Timing für I2S ist nicht ganz korrekt.

CLOCK LOW
DATA HIGH
 for{;;}
  {
  Toogle(DATA)
  For(i=0;i<10;i++)
   {
     WS LOW
     16x (CLOCK HIGH, CLOCK LOW)
     WS HIGH
     16x (CLOCK HIGH,CLOCK LOW)
    }
   }

Da ich DATA über 10 WS Zyklen nicht schalte und nur von HIGH auf LOW
ändere, müßte ich doch theoretisch an beiden Ausgängen annähernd ein
Rechtecksignal sehen (MIN und MAX Wert des TDA1543) , obwohl der Anfang
jedes Zyklus fehlerhaft (1.Bit) ist oder?
Ich habe dieses Program nur zum Testen des TDA 1543 geschrieben, um
wenigstens den MIN und MAX Wert zu erreichen, aber es funktioniert
nicht. Die Ausgänge zeigen am Oszi keine Veränderung. Ist vielleicht
die Hardware-Anschaltung verkehrt?
Gruß Dirk

von Chris (Gast)


Lesenswert?

"Schaltung:
- Ausgänge mit jeweils 2,2k gegen Masse
Der Stromausgang sollte sich doch eigentlich um ca. 2mA ändern,welches
an 2.2k einer
Änderung von 4,4V entspricht.
Warum geht das nicht? "

Hallo,
das hatten wir doch kürzlich gerade. Da wollte auch jemand die im
Datenblatt eingezeichneten beiden Operationsverstärker einsparen und
wunderte sich, weshalb hinten nichts heraus kam...

Gruß

von Till (Gast)


Lesenswert?

das geht sehr wohl, und im datenblatt steht auch irgendwo das passive
i/v möglich wäre.

Dazu von diyaudio.com:

"You must limit the AC voltage swing to stay within 1.8V and
Vsupply-1.2V.

In your case with Vsupply of 8V, your maximum swing is 1.8V to 6.8V,
that is 5V.
With an assumed output current of 2.3mA, this results in a maximum Riv
of 2k17 (5V/2.3mA).
You need a biascurrent of 0.828mA (1.8V/Riv), so Iref needs to be
0.414mA, resulting in a Rref of 5k31 (2.2V/Ibias/2)

I would advise to select Riv < 2k17 and to use a pot for the bias.
Adjust the pot such that with no music playing the output voltage on
pin 6 and 8 is in the middle of your DC voltage compliance range, in
your case (8V-1.2V-1.8V)/2 + 1.8V = 4.3V
"

mit anderen worten, Vs, Rref und Ri/v sind voneinander abhängig zu
wählen, nach obiger Berechnungsvorschrift. Ein Trimmer für Rref
empfiehlt sich.

Der wesentliche Fehler, wie ich versucht habe oben anzudeuten, liegt
darin das der 1543 Zweierkomplemet - Daten erwartet. Und wenn man ihm
abwechselnd 0000000000000000 und 1111111111111111 schickt, dann macht
er auch ein Rechteck - unzwar eins mit kleinstmöglicher Amplitude
zwischen 0 und -1. Das dürfte bei 160Bit auflösung nicht messbar sein
und unter dem Rauschen deinen aufbaus und genauigkeit der Messgeräte
liegen. Schick im einfach mal vernünftige zweierkomplementkodierte
Daten für eine größere Amplitude.

von Till (Gast)


Lesenswert?

tschuldigung, 16bit, nicht 160.

von Dirk (Gast)


Lesenswert?

Hallo,
ich kapier das nicht. In meinen Programm schicke ich doch an den linken
und rechten Kanal, wechsel von WS, für 10 Zyklen HIGH (MAX Wert 65535)
und anschließend für 10 Zyklen LOW (MIN WERT 0). Das ist doch MIN und
MAX und kann doch nicht unterhalb des Rauschens liegen oder? Warum
kommt kein Rechteck Signal?
Gruß Dirk

von Till (Gast)


Lesenswert?

langsam frage ich mich ob es ernst gemeint ist: zum dritten mal,

TWO´S COMPLEMENT oder Zweierkomplement, googeln hilft. Was du ihm
schickst ist nicht ganz high und ganz low oder sowas, sondern
abwechseln 0 und -1. Die Daten sind nicht einfach binär sonder
zweierkomplement- binär kodiert.

http://www.google.de/search?hl=de&q=Zweierkomplement&btnG=Google-Suche&meta=

von Dirk (Gast)


Lesenswert?

Hallo Till,
vielen Dank für Deine geduldige Hilfe. Es funktioniert jetzt. Auch der
Tip mit dem Poti, super. Ich habe nicht gewußt, was ein
Zweierkomplement ist. Das muß man einem Elektronik-Embryo halt erst
erklären.
Besten Dank

von Till (Gast)


Lesenswert?

prima, dann hat es sich ja gelohnt!

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.