Hallo, für eine portable Anwendung brauche ich einen sparsamen µC mit DSP Architektur. Ich habe da an einen dsPIC gedacht. Nun fällt mir auf, dass kaum ein dsPIC einen DAC besitzt. Ist das Normal ? Ich muss eine FFT machen und weil es dafür bereits von Microchip Libraries gibt, habe ich an den dsPIC gedacht. Eine allgemeine Frage noch: Kann ich mit dem dsPIC (dsPIC33FJ128GP804), der einen DAC hat, Frequenzen im mHz Bereich erzeugen ? Mit einem DDS IC würde das natürlich gehen. Aber es sollte auch mit dem dsPIC gehen, oder ? Ich würde im Betrieb die Sampling Frequenz ändern und damit die Ausgangsfrequenz anpassen. Kann ich das über ca. 6 Dekaden machen (10mHz - 10kHz) oder geht das nicht so einfach, wie ich mir das denke ? Ich bin noch neu auf dem Gebiet dsPIC und muss mir erstmal einen Überblick verschaffen. Danke für die Antworten ! MfG
Hi Barnes, falls Du mit dem DAC Audio-Frequenzen erzeugen willst: nimm einen Audio-Codec, da sind Filter etc. gleich mit bei und das klingt sehr gut. Bei Microchip findest Du Sourcen und Schaltungen dazu. Gruß Gerd.
Hallo Barnes was verstehst du unter sparsam ? Ich habe mit den dsPIC33 noch nicht gearbeitet, nur mit dem dsPIC30. Die brauchen bei 8MIPS schon so 40mA. Die dsPIC33 sollen sparsamer sein, musst du aber im Datenblatt nachlesen. Zu deinem dsPIC33: gibts den schon ? Bei Microchip hat der den Status "future product" (wenn ich mich nicht in der Zeile geirrt habe.) Du kannst aber auch einen externen DAC verwenden, z.B. einen seriellen DAC mit SPI-Schnittstelle. Um damit aber einen 10kHz-Signal, evtl sogar als Sinus zu produzzieren musst du mindestens die 10fache Geschwindigkeit rechnen. Ob du da nicht mit einem kompletten Baustein a la XR2206 oä. bzw DDS besser dran bist ? Gerhard
Gerhard wrote: > Zu deinem dsPIC33: gibts den schon ? Bei Microchip hat der den Status > "future product" (wenn ich mich nicht in der Zeile geirrt habe.) Ja, den gibts schon lange. Barnes wrote: > Kann ich mit dem dsPIC (dsPIC33FJ128GP804), der einen DAC hat, > Frequenzen im mHz Bereich erzeugen ? Mit einem DDS IC würde das > natürlich gehen. > Aber es sollte auch mit dem dsPIC gehen, oder ? Ja, geht wunderbar. > Ich würde im Betrieb die Sampling Frequenz ändern und damit die > Ausgangsfrequenz anpassen. Kann ich das über ca. 6 Dekaden machen (10mHz > - 10kHz) oder geht das nicht so einfach, wie ich mir das denke ? Ja, aber du scheinst DDS nicht ganz verstanden zu haben. Bei DDS ist die Samplerate konstant. Bei 6 Dekaden würde ich einen 24 oder gleich 32bit Accumulator verwenden, das ergibt bei 96kHz Samplerate etwa 0,02mHz Auflösung. > Ich bin noch neu auf dem Gebiet dsPIC und muss mir erstmal einen > Überblick verschaffen. Dann wünsche ich viel Spaß. Du wirst dich mit Sicherheit mehr als einmal über die dsPICs und die vielen Ungenauigkeiten im Datenblatt, den Bugs in der Software und noch vieles mehr aufregen. Ich konnte mich zumindeste mit den dsPICs nicht anfreunden, da vieles einfach nicht so lief wie es laut Datenblatt sollte.
Hallo, danke für eure Beiträge. Stimmt, das ist ein Future Product. Aber ich kann schon die Sampling Frequenz vom DAC über einen Bereich von 6 Dekaden einstellen oder ? Das ist sehr wichtig. Ich will mit dem DAC ein Sinusgemisch erzeugen. Dafür bräuchte ich mehrere DDS und einen Summierer. So hätte ich die Stützwerte schon digital und könnte einen nach dem anderen umsetzen. MfG
Hallo Benedikt, ich hab mit Sicherheit die DDS-Technik verstanden. Damit habe ich mich eine Zeit lang befasst. Die Sampling Rate ist natülich konstant (Masterclock). Ich habe mich vielleicht oben etwas missverständlich ausgedrückt. MfG
Barnes wrote: > Aber ich kann schon die Sampling Frequenz vom DAC über einen Bereich von > 6 Dekaden einstellen oder ? > Das ist sehr wichtig. Ist das wirklich notwendig ? Oder reicht es nicht aus, den DAC mit einer festen Frequenz laufen zu lassen, und alleine per DDS die Frequenz einzustellen ? Die meisten Audiocodecs die ich kenne, können meist nur 5kS/s bis 200kS/s. Das sind gerade mal 2-3 Dekaden. Ein normaler DAC würde zwar auch gehen, aber der braucht dann je nach Samplerate ein umschaltbares Antialiasing Filter. Von daher wäre eine feste Samplerate die beste Lösung, und dank DDS sollte ein Bereich über viele Dekaden kein Problem sein.
Hallo, also vielleicht drücke ich mich hier unverständlich aus. Ein DDS-Ic ist erstmal außen vor. Ich will ein f-Gemisch mit Frequenzen zwischen 10mHz und 10kHz erzeugen. Da ich die Summation nicht analog mit mehreren DDS ausschließe, da es sehr unflexibel ist, würde ich die Addition digital erledigen. Die erhaltenen Worte (20) will ich mit einem DAC umsetzen. Es soll immer dasselbe Signal nur mit unterscheidlichen Frequenze erzeugt werden ! Also zuerst 10mHz, dann 100mHz, ..., 10kHz. Die Ausgangsfrequenz hängt natürlich voll von der Samplerate ab: fOUT=fSAMPLE/(20). Man könnte natürlich bei gleicher Samplerate die Anzahl der Punkte/Periode erhöhen. Das wäre auch eine Lösung. Bei kleinen Frequenzen würde dann aber die Worte nicht in das RAM passen. Beispiel: fSAMPLE=100kHz -> fOUT=10kHz für 10 Worte/Periode fSAMPLE=100kHz -> fOUT=10mHz für 10 000 000 Worte/Periode Da sieht man schon, dass 10^7 Worte für eine Frequenz von 10mHz gebraucht werden bei einer konstanten Samplerate. Deswegen würde ich gerne bei kleinen f die Samplerate mit erniedrigen. MfG
Thornton wrote: > Beispiel: fSAMPLE=100kHz -> fOUT=10kHz für 10 Worte/Periode > fSAMPLE=100kHz -> fOUT=10mHz für 10 000 000 Worte/Periode > > Da sieht man schon, dass 10^7 Worte für eine Frequenz von 10mHz > gebraucht werden bei einer konstanten Samplerate. Es zwingt dich ja keiner eine 10^7 Word große Tabelle zu nehmen. Dies ist total unnötig, denn bei 16bit Auflösung der Amplitude stehen in der Tabelle dann mehrmals die gleichen Werte nebeneinander. Es würde also eine Tabelle mit 16bit reichen. Die hätte dann 128kByte. Die sollte in den Flash eines dsPICs passen. Als nächstes nimmst du einen 32bit großen Accumulator für die DDS und dessen 16bit MSBB als Pointer für das 16bit große Array im Flash.
Hallo, gibt es eigentlich DDS-ICs, deren Look-Up Table man programmieren kann ? Ich habe in Verbindung mit DDS bisher nur von ROM-Speichern gehört. MfG
Hallo, Also nochmal. Ich bräuchte Samplingraten zwischen 320mHz und 32kHz. Das sind 5 Dekaden. Kann man die DA Umsetzung nicht per Timer steuern ? Mit einem Timer kann ich sicherlich diesen Bereich abdecken. Beim MSP430 geht das. Müsste dann doch auch bei einem dsPIC gehen, oder ? MfG
Hallo barnes für eine genaue Angabe musst du selber im Datenblatt nachschauen. Die dsPIC30 mit nem 12Bit-ADC schaffen 50kHz Samplerate, die 10-bitter schaffen um einiges mehr. Ich nehem jetzt mal an, dass der dsPIC33 nicht schlechter ist. An Timern dürfte es nicht mangeln. Den ADC kannst du auch vom Timer-int starten. Dein Begriff "Samplerate" macht mich etwas irr. Sprichst du von einer AD-Wandlung oder von einer DA-Wandlung ? Den internen DAC des 804 kannst du sicher auch über einen Timer steuern. Ist der 804 überhaupt noch aktuell für dich, da es den doch noch gar nicht gibt ?! Gerhard
Hallo, ja, von Samplerate spricht man sowohl bei DA- als auch bei AD-Wandlern. Ich finde es manchmal auch verwirrend. Wenn es timergetriggert gemacht werden kann, dann bin ich zufrieden. Danke. MfG
Hallo Barnes auch für detaillierte Infos kannst du dich an das Microchip-Forum wenden, besonders, da die dsPIC33 doch noch verhältnismässig neu sind. http://forum.microchip.com Ist zwar englishsprachig, die Moderatoren dürften aber grossteils Mitarbeiter von Microchip sein. Gerhard
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.