ADS8344 und HCS12

(WIE?) Kann ich den A/D-Wandler ADS8344 (16-bit-Ausgang) an das SPI-Modul des MC9S12C32 (ChipS12 / HCS12) anbringen?

Es widerspricht meinem Logikverst=E4ndnis, da=DF ein 16-bit langes Signal von einem 8-bit SPI-Modul verstanden (geschweige denn akzeptiert) werden kann, aber vielleicht gibts da einen Trick oder ich habe etwas falsch verstanden? Schlie=DFlich ist dieser =B5C ja ein sogenannter 16-bit-Controller.... ?!

Ich bin f=FCr jede konstruktive Anregung dankbar!!

Reply to
1122
Loading thread data ...

Die Datenubertragung des ADS8344 braucht 24/25/32 Taktwechsel. Mit 4 * 8 bits kannst Du die 32 Taktwechsel erzeugen...

--
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
Reply to
Uwe Bonnes

Du musst

1) Zwei Mal 8bit lesen (=16 Bit) 2) Oder wie Uwe sagt vier Mal 3) Dir einen Namen kaufen

Gruss

Claudius

Reply to
Claudius Zingerli

Erstmal vielen Dank f=FCr die schnelle Antwort.

Leider verstehe ich sie aber nicht, habe bisher noch nie mit SPI gearbeitet, deshalb denke ich jetzt einfach mal laut und Du schreist STOP wenn was daneben geht, ja?

Nun bekommt mein ADS8344 =FCber den Din-Kanal beispielsweise gesagt, da=DF er die Spannung an Kanal x aufnehmen und umwandeln soll. Das tut er nat=FCrlich auch ganz brav und sobald die Konversion abgeschlossen ist, schickt er den abgelesenen Spannungswert umgewandelt in 16 bit (auf dem Kanal Dout) los. Das Register meines =B5C verkraftet aber nur 8 bit und platzt also nach der H=E4lfte der =DCbertragung aus allen N=E4hten.

Ich mu=DF dem =B5C doch eigentlich nach 8 bit sagen: "jetzt verdau das erstmal und dann reden wir weiter", oder?

Oder hei=DFt Dein 4*8=3D32, da=DF ich insgesamt vier Durchg=E4nge =E0 8 bit verschicke? Wie w=FCrde ich das nun wiederum meinem ADS8344 sagen?

Wo denke ich falsch?

DANKE im Voraus!

Reply to
1122

Oki, aber wie mache ich das denn? Wie sag ich meinem =B5C da=DF er nach 8 Bit eine Pause machen und danach erst weiteressen soll?

Reply to
1122
  • snipped-for-privacy@myums.de [2006-05-10 15:16]:

Lies dir das Datenblatt deines Controllers oder einen beliebigen Text über SPI durch. Der Controller arbeitet als Master und gibt den Takt vor. Kein Takt, kein Bit. Buffer voll, kein Takt.

Reply to
Lars Noschinski

Pseudocode fuer z.B. fuer einen AVR

SPI Parameter setzten

  1. Bit zum Uebertragen an den ADS8344 an SPI uebergeben(die ersten acht bit aus dem Datenblatt des ADS8344)
  2. zuruckgelesene Byte verwerfen
  3. Byte uebertragen (kann 0 sein)
  4. zuruckgelesene Byte enthaelt die hoechstwertigen 7 Bit
  5. Byte uebertragen(kann 0 sein)
  6. zuruckgelesene Byte enthaelt die Bits 9-1
  7. Byte uebertragen(kann 0 sein) Oberstes Bit des 43. zuruckgelesene Byte ist LSB des ADC Datum

Bye

--
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
Reply to
Uwe Bonnes

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.