Hallo Leute Ich möchte ein Funktionsgenerator bauen für ein Projekt,dabei dachte ich an ein 12 bit D/A Wandler und ein IC. Aber leider suche ich noch immer eine passende Lösung da ich mehrere verschieden Signale auf einmal erzeugen will : Signal 1: bis 50 kHz Signal 2: bis 100 kHz Signal 3 : bis 100 kHz Die formen der Signale würde ich vorher bestimmen und in ein LookUp Tabelle einfügen.(Jedes signal hat eine eigene Form fur eine Periode) Warum kein AD von Analog? Weil ich keine Sägezahn,Sinus,Rechteck,Dreieck erzeugen will sondern andere willkürlich Formen die ich gerne in ein Look Up Tabelle einfügen will. Was für ein Plattform würdet ihr mir vorschlagen?(Welche DAC welchen IC oder FPGA) Mir ist schon klar das ich hier über einer Seriellen Schnittstelle mit dem DAC kommunizieren soll da ich zu wenig Pins verfüger? Hoffe hab genug Infos gegeben. P.S. DAnke für jede beliebige Hilfe :D
:
Bearbeitet durch User
Jasko M. schrieb: > Warum kein AD von Analog? > Weil ich keine Sägezahn,Sinus,Rechteck,Dreieck erzeugen will sondern > andere willkürlich Formen die ich gerne in ein Look Up Tabelle einfügen > will. Den Satz muss man nicht verstehen, oder? (Oder wolltest du schreiben: "warum kein DDS-IC von Analog?") Jasko M. schrieb: > Aber leider suche ich noch immer eine passende Lösung da ich mehrere > verschieden Signale auf einmal erzeugen will : Was bedeutet das. Willst du 3 verschiedene Signale parallel erzeugen (also einen Mehrkanal DAC?) Oder willst du drei Signale überlagern (also z.B. numerisch addieren und die Summe zum DAC geben)? Jasko M. schrieb: > Was für ein Plattform würdet ihr mir vorschlagen?(Welche DAC welchen IC > oder FPGA) Wenns bis 100kHz gehen soll kannst du es mit jedem FPGA erledigen und auch viele µController schaffen das. Hast du denn schon mit irgend einem Baustein (µC, FPGA) selbst gearbeitet? Falls nein: fang mit einem kleineren Projekt an. Falls ja: mit welchem µC war das, vielleicht reicht er ja Jasko M. schrieb: > Mir ist schon klar das ich hier über einer Seriellen Schnittstelle mit > dem DAC kommunizieren soll da ich zu wenig Pins verfüger? Wir ist leider nicht klar, ob das jetzt eine Aussage oder eine Frage ist. Und mir ist auch völlig unklar, wie du schon wissen kannst, dass du zu wenig Pins hast, wenn du noch gar nicht weißt, mit welche Plattform du arbeitest.
Jasko M. schrieb: > in ein Look Up Tabelle einfügen Wie groß muss diese Lookuptabelle sein? Wieviele Punkte musst du für einen kompletten Kurvenzug speichern? Was ist die niedrigste Frequenz? Wie bekommst du die Wellenformdaten in die Lookuptabelle? > (Welche DAC welchen IC oder FPGA) Das ist eigentlich unkritisch, weil das ganze so schnarchlangsam ist. Wenn du 100kHz hinten rausbekommen willst, dann musst du mindestens 200kHz am DAC haben. Wenn bei 100kHz noch die komplette Kurvenform erkennbar sein muss, dann muss der DAC um den Faktor "Länge der Lookuptabelle" schneller sein... > Mir ist schon klar das ich hier über einer Seriellen Schnittstelle mit > dem DAC kommunizieren soll da ich zu wenig Pins verfüger? Ein FPGA dürfte auf jeden Fall genug Pins für einen parallelen DAC haben. So ein LTC1666 ist dann auch leicht an ein gemeinsames 12-Bit Interface anschließbar. Nur drei zusätzliche Leitungen sind dann für die drei Clocks nötig. Und mit 50MHz wäre der auf jeden Fall schnell genug... ;-)
Sry das mein Post verwirrend ist, wenn ich es jetzt nochmals lese stimme ich dir völlig zu xD Natürlich hab ich vorher diesen Forum halbwegs durchgelesen und Infos gesammelt und die meisten Infos sind über "IC oder mit FPGA nur einen periodischen Signal erzeugen" und deswegen dachte ich mir das ich vielleicht euch um Rat bitte und frage gibt es eine Plattform wo ich 3 verschiedene Signale parallel erzeugen kann egal.(Zu Info die 3 Signale simulieren den Output von 3 Sensoren) Mit einem uC hab ich schon einmal gearbeitet aber mit einem FPGA aber ist auch Momentan egal bin bereit alles zu lernen aber will von nicht sofort auf dem falschen weg sein deswegen hoffe ich das ihr mich in diesen Fall beratet. @Müller Ich hab mir ganz ehrlich nicht so viele Gedanken gemacht hmm zb 250 Punkte. Frequenz beim ersten 50khz und bei den beiden anderen 50-100 khz. was meinst du mit "gemeinsames 12-Bit Interface anschließbar" :D Danke :D
Gibt es fertig. Nennt sich Arbiträrgenerator. Gibt es auch fertige Bausteine für ... Gruß Jobst
Jasko M. schrieb: > was meinst du mit "gemeinsames 12-Bit Interface anschließbar" er meint, dass du einen 12 Bit breiten Bus vom µC aus nutzen kannst, und alle drei DACs parallel daran anschließen. Dann brauchst du nur noch 3 individuelle Steuersignale (also insgesamt 15 freie IOs) um drei Kanäle anzusteuern. Wenn du diese 15 Pins frei hast kriegt auch so ziemlich jeder µC die Ansteuerung der DACs hin. Wenn du stattdessen über serielle Ansteuerung gehen willst, muss deren Frequenz relativ hoch werden. Da muss man dann etwas genauer überlegen, ob der ausgewählte Ansteuerbaustein das kann. Jasko M. schrieb: > Mit einem uC hab ich schon einmal gearbeitet aber mit einem FPGA aber > ist auch Momentan egal bin bereit alles zu lernen aber will von nicht > sofort auf dem falschen weg sein deswegen hoffe ich das ihr mich in > diesen Fall beratet. Du unterschätzt die Einarbeitungszeit ins FPGA-Design deutlich. Wenn du µC-Erfahrung hast: schreib ein kleines Programm für deinen µC das im 5µs-Takt Zahlenwerte an IOs legt. (Versuche also die Ansteuerung eins LTC1666 hinzukriegen). Dann schaust du per Simulator oder mit dem Oszi, ob du das Timing an den IOs wirklich einhältst. Falls ja: bau deinen Generator mit genau deinem µC auf. Falls nein: versuch zu verstehen, was die Performance begrenzt (z.B. zu wenig Speicher im µC oder zu langsame IO-Zugriffe oder schlicht zu geringe Taktrate des µC) und wähle den nächst besseren, der die Performance bringt. Den ersten Test mit deinem vorhandenen µC hast du innerhalb eines halben Tags erledigt. Wenn du dir stattdessen ein FPGA besorgst bis du erst mal ein paar Wochen am Einarbeiten, bevor irgendwas klappt. Nichts gegen FPGAs: ich bin ein großer Fan von denen. Aber ich setze sie nur ein, wenn sie auch wirklich gebraucht werden ;-)
@Jobst Arbiträrgenerator sind mir zu wenig flexibel @Achim S, @ Lothar Miller Super, auf diese art hab ich nicht nachgedacht ich war zu sehr auf die SPI Schnittstelle fokussiert um so mehrere DACs anzusteuern(LTC1257 hatte gedacht das ich zu wenig Samples pro Signal bekomme wenn ich 3 ansteuere). Ich werde es dann so versuchen, mit einem uC und LTC1666(gibt es ein DAC mit höherer Ref Spannung ? bis 15-20V) Das 5µs-Takt hast du nur wegen den versuch angegeben? Ist das richtig das ich für meine 100 khz bei 256 Samples pro Periode einen takt von 40ps brauche am IO? Wenn ich jetzt 2 mal Signale von 100 kHz ausgebe brauche ich dann 80ps Sample zeit und das zweite Signal wird für 1 Sample versetzt sein(Was nicht so schlimm ist). Ist das so Korrekt ? Wie werde ich hier den 50 kHz Signal koordinieren ? Vielen Dank diese Infos haben mich schon weitergebracht :D
:
Bearbeitet durch User
Jasko M. schrieb: > gibt es ein DAC > mit höherer Ref Spannung ? bis 15-20V) wenn es einen gibt, dann ist das ein Exot. Nimm lieber einen Standard-DAC und verstärke die Ausgangsspannung mittels OPV, um die 15V hinzukriegen. Jasko M. schrieb: > Ist das richtig > das ich für meine 100 khz bei 256 Samples pro Periode einen takt von > 40ps brauche am IO? Jetzt beginnt es interessant zu werden. Die 100kHz sind also nicht die Bandbreite des Signals sondern die Periodendauer, und die Bandbreite (und damit auch die Samplerate) soll Größenordnungen darüber liegen? Das hatte ich falsch verstanden. Aber (zu Glück) hast du auch falsch gerechnet: 100kHz entsprechen 10µs Periodendauer. Wenn du das mit 256Samples füllen willst, brauchst du eine Samplerate von 25MS/s. Pro Sample hast du also 40ns Zeit. Wenn du den Bus multiplext um die drei Kanäle zu füttern bleiben dir vielleicht noch 10ns. Das ist dann tatsächliche für viele µC zu viel des Guten, und selbst mit dem FPGA ist es nicht mehr ganz trivial (aber immer noch gut machbar).
Ich würde um Fall von 40ns aber eher jeden der Wandler extra anschließen. Das FPGA hat dafür sicher genügend Pins...
Ja leider soll die Ausgangsfreuquenz der 2 Signale am ende Max 100 kHz betragen mit den Kurvenformen. Also schaft ein uC es nicht ? (Falls welche gibt dann schickt mir bitte ein Link zum Produkt) Könnte ihr mir einen FPGA vorschlagen Ich hätte da so einen gefunden "Spartan-3AN Starter Kit" könnte ich das umsetzen mit dem Starter Kit ? Irgendwie ist ja da alles drauf und das verwirt mich es gibt DAC 12bit LTC2624 SPI Übetragung mit 4 Ausgängen ist er zu langsam mit SPI?(50Mhz Clock) Oder am Besten schlagt ihr einfach vor welche teile ich benötige(das wäre mir am liebsten xD) wie zB 3x LTC1666.
Jasko M. schrieb: > @Jobst Arbiträrgenerator sind mir zu wenig flexibel Und welche Flexibilität fehlt Dir? Jasko M. schrieb: > Ja leider soll die Ausgangsfreuquenz der 2 Signale am ende Max 100 kHz > betragen mit den Kurvenformen. Also wird der Ausgabetakt bei 25MHz liegen > Also schaft ein uC es nicht ? (Falls welche gibt dann schickt mir bitte > ein Link zum Produkt) Es gibt schon µCs, die das können. ARMs, C2000 Ein FPGA macht es mit Links. Jeder. Deine Teile wirst Du Dir aber selber aussuchen müssen ... Gruß Jobst
Jasko M. schrieb: > Irgendwie ist ja da alles drauf und das verwirt mich es gibt DAC 12bit > LTC2624 SPI Übetragung mit 4 Ausgängen ist er zu langsam mit SPI?(50Mhz > Clock) Natürlich ist das viel zu langsam (oder: deine Anforderungen sind viel zu hoch). 50MHz Clock auf SCK bedeutet, dass du 20ns brauchst,um ein einzelnes Bit zu übertragen. Um eine Spannung zu setzen musst du aber beim LTC2624 24Bit übertragen. Um 3 Spannungen zu setzen musst du 3*24 Bit übertragen. 3*24*20ns = 1,44µs. Du könntest also bestenfalls alle 1,44µs einen neuen Spannungswert ausgeben. Laut deinen Anforderungen willst du es aber alle 39ns schaffen (1/(256*100kHz)). Vielleicht hast du dir bei den Anforderungen aber auch mehr vorgenommen als du wirklich brauchst und wirklich realisieren willst? Auch die Analogbandbreite des LTC2624 wäre mit 180kHz viel zu lahm für einen Arbiträrgenerator, der eine Grundfrequenz von 100kHz hat: dessen Bandbreite muss auch Harmonische bei Vielfachen der 100kHz abdecken, sonst sieht jede arbiträre Kurvenform am Ende ungefähr so aus wie ein Sinus.
Danke. Ich bleibe beim FPGA dann. Kannst du mir das noch einmal genauer erklären sorry: "Auch die Analogbandbreite des LTC2624 wäre mit 180kHz viel zu lahm für einen Arbiträrgenerator, der eine Grundfrequenz von 100kHz hat: dessen Bandbreite muss auch Harmonische bei Vielfachen der 100kHz abdecken, sonst sieht jede arbiträre Kurvenform am Ende ungefähr so aus wie ein Sinus." Ja ich könnte sein "FX2 Hirose FX2 connector" nutzen um den LTC1666 anzusteuern? Habt ihr einen Board der noch mehr I/O Pins zu Verfügung stellt weil hier werden sie unnötig verschwendet da es ein Starter Kit ist. DAnke :D
Die niedrigste Frequenz in deinem Signal beträgt 100kHz (anfangs hatte ich dich falsch verstanden und dachte, dass du damit die höchste Frequenz meinst). Wenn dein Signal ein reiner Sinus wäre, dann müssten die analogen Teile (Verstärker) in deiner Signalkette auch nur eine Bandbreite von mindestens 100kHz haben. Aber wenn dein Signal irgendeine Kurvenform darstellt, dann beinhaltet es auch höhere Frequenzanteile als die 100kHz, und entsprechend schneller müssen deine analogen Verstärker sein (inklusive der Analogbandbreite des DAC). Jasko M. schrieb: > Habt ihr einen Board der noch mehr I/O Pins zu Verfügung stellt weil > hier werden sie unnötig verschwendet da es ein Starter Kit ist. du kannst z.B. bei Trenz-Elektronik mal nach FPGA Mikromodulen suchen. Viele davon haben deutlich mehr IOs rausgeführt, als du für deine DAC-Ansteuerung brauchst.
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.