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
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
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!
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
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
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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.