14Bit über SPi an DAC schicken

Gast #1438516
Hallo.

Ich sitze gerade vor folgendem Problem:

Ich habe einen Fujitsu-Controller (MB96340).Von einem Sensor lese ich 
über I2C einen 12Bit Wert in den Controller ein,der als Integer 
gespeichtert wird.
Diesen Wert möchte ich nun über SPI (USART des Controllers als SPI 
genutzt) an den DA-Wandler DAC7612 schicken.Die SPI-Kommunikation ist in 
Hardware realisiert womit 8Bit Werte per write-Befehl gesendet werden.

An den DAC können 14Bit-Werte geschickt werden,wobei die Bits 13 und 12 
die interne Adresse des DAC darstellen und die restlichen 12Bit den 
Wert,den ich über I2C eingelesen habe (MSB first).

Meine Frage ist,wie ich das nun anstellen kann,dass nur 14Bit und keine 
kompletten 16Bit an den DAC gesendet werden?
Gast
Entweder "zu Fuß" über Bit-toggeln anstelle der UART Funktionalität.
Oder die letzten beiden Bits als "inaktiv" wie der Ruhepegel der Tx 
Leitung und einfach probieren ob der Empfänger das so frisst.
Gast
Üblicherweise werden in einem Schieberegister nur die letzten Bits 
gehalten, alles was davor reingeschoben wurde, ist wurscht. Also kann 
man hier auch 16 Bit reinschieben, wobei die beiden ersten egal sind.

Sollte aber auch irgendwo im Datenblatt stehen.
Gast
Vielen Dank erstmal für die Antworten.

@ Dieter Werner:

Ich hab 2 mal 8Bit mit einem write_SPI()-Befehl geschickt.Das ganze 
scheint auch soweit zu funktionieren.
Den CS zieh ich wie im Datenblatt beschrieben auf low und nach den 
Datentransfers wieder auf high.

Was mich gerade nur wundert: Im ersten Byte das ich sende gebe ich die 
Adresse 10 (A1:1   A0:0) an,womit die Daten ja eigentlich in DAC A 
gelegt werden sollen.Trotzdem treten in DAC B irgendwelche schwankenden 
Werte auf.

Auch im DAC A treten schwankende Werte auf,d.h. mein erwarteter Wert 
steht wird nicht permanent am Analogausgang A ausgegeben.

Jemand eine Idee woran das liegen kann?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.