mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP dac dspic33fj64gp802 krazt


Autor: Maik Werner (werner01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag Leute,

mein Problem ist ,das der DAC krazt!
Hab den DAC so konfiguriert, das bei four deep FIFO Lehrlauf ein 
Interrupt
ausgelöst wird und in der Serviceroutine ein neur Wert reinkommt.
Hier wird initialisiert:
  ;dac konfigurieren
  mov  #0b0000011100000000,w0
  mov  w0,  ACLKCON
  mov  #15,w14
  mov  w14,DAC1CON
  ;bset  DAC1CON,#AMPON
  bset  DAC1STAT,#LOEN
  bset  DAC1STAT,#LEMPTY
  ;Interrupt an
  mov  #0b0001000000000000,w0
  mov  w0,IPC19
  bclr  IFS4,#DAC1LIF
  bset  IEC4,#DAC1LIE

  bset  DAC1CON,#DACEN

und hier der Interrupt:
__DAC1LInterrupt:
    push.s
    push  w14
    mov  ergebnis,w14
    mov  w14,DAC1LDAT
  bclr  IFS4, #DAC1LIF
  pop.s
  pop  w14
  retfie

Das audiosignal koppel ich über 25K Widerstand aus auf opv ist also 
wirklich kein analoges Problem.
kann ja mal noch ,wenn gewünscht nen Audiomitschnitt machen:

danke für eure Hilfe

bis denne
Der Interrupt geht auch, aber was mach ich falsch

Autor: Maik Werner (werner01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

hab den Fehler gefunden es lag am spi-in den muß man auf maximal 3,3 
Volt
Pegel begrenzen weil der Pin nicht 5V tollerant ist.

by

Autor: Dieter Werner (dds5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Maik Werner schrieb:
> Hallo Leute,
>
> hab den Fehler gefunden es lag am spi-in den muß man auf maximal 3,3
> Volt
> Pegel begrenzen weil der Pin nicht 5V tollerant ist.
>
> by


Daran kann es nicht allein gelegen haben, wenn das hier

>    push.s
>    push  w14
>    mov  ergebnis,w14
>    mov  w14,DAC1LDAT
>  bclr  IFS4, #DAC1LIF
>  pop.s
>  pop  w14

stimmt, waren (sind?) auch noch push und pop in der falschen 
Reihenfolge.

Und aufpassen!  push.s benutzt einen eigenen Hardware Stack mit nur 
einer Ebene, darf also nicht mehrfach in verschachtelten Ints benutzt 
werden!

Autor: Maik Werner (werner01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo Dieter,

das mit der Reihenfole habe ich schon bemerkt, danke!
Ich hab ja den genannten Dspic mit Audio-Dac welcher über spi mit nem
Pic16f labert der 16'er ist Slave.

Wenn ich nun einen Sinus ausgebe kann ich immer ein surren hören auch 
wenn ich den Sinus bis auf 0 runtertransponiere ist immer dieses surren 
da. (benutze die Dacs bei 45 KHz)

ich habe mitbekommen so durch probieren ,wenn ich keine daten mehr ins 
SPIBUF-Register schreibe und das passiert so 100 mal pro Sekunde bei 1 
Mbit Übertragungsgeschwindigkeit dann ist das Störgeräusch weg.

Ich habe die Pins remappt tja vieleicht übersspricht da was im Chip?

Heute Abend will ich das mal mit Originalpins ausprobieren.

meld mich dann mit neuen Ergebnissen...


bis denne

Autor: Maik Werner (werner01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus Leute,

ich hab das Problem das die Spi Kommunikation auf die DAC's überspricht.

Also wenn ich beim DSPIC einen 1 kHz Sinus über Die Dac's ohne 
Fernregelung über SPI mache ,dann klingt der TOn rein, jedoch mit SPI 
(Tonhöhensteuerung z.B. dann hört man das auf dem Sinus als surrenden
Piepston.(1 Mhz Transferrate oder auch niedriger aber immer zu hören).
Vom Layout her sind DAC und SPI-Leitungen weit voneinader entfernt.
Geroutet habe ich SDI, DSO und SCL auf PORT RB0..2.

Das Dac-Analogsignal greife ich symetrisch mit 10 K Vorwiederständan auf 
OPV µa741 ab so wie es die Spezifikation will ab.

Woran kann das liegen, daß ich die Datenkommunikation im Kopfhörer höre?


jetzt brauche eure Vorschläge als Lösungsansatz.


Werner

Autor: Peter Diener (pdiener) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde mir mal die Versorgungsspannungen genauer anschauen, 
vermutlich spricht die Digitalversorgung auf die Analogversorgung über. 
Besonders bei der Masseführung muss man da immer aufpassen.

Grüße,

Peter

Autor: Maik Werner (werner01)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,


und danke Dieter für deine Mühe!

Also wie gesagt ich hab ja das Problem ,daß ich da Störgeräusche vom SPI
aud die dac Ausgänge bekomme .

Hab da jetzt mal ein Schaltbild entworfen. Würde mich freuen wenn mich 
jemand auf mögliche Fehler hinweisen Könnte ,denn ich seh einfach den 
Grund
für das Problem nicht.


Danke schon mal im vorraus

Grüße

Werner

Autor: Maik Werner (werner01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter,



oh wie peinlich ich hab den Fehler endlich gefunden, hm ist ja auch klar 
wenn man avdd uns avss nicht benutzt.

Ist aber erstaunlich, daß da trotzdem ein hörbarer Ton rauskam.


Jetzt klingt's kristallklar und ich bin zu frieden!

Danke noch mal für deine Hilfe


Grüße,


Werner

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.