Ich habe ein FRDM-KL25Z von Freescale. Mit diesem möchte ich Signale generieren (Werte aus einem Array lesen und am DAC ausgeben). Mit dem internen DA Wandler kann ich nur alle 1.3us (ca. 770kHz) einen neuen Wert ausgeben. Für einen Sinus von 100kHz brauche ich bei 10 Abtastpunkten pro Periode alle 1us (1MHz) einen neuen Wert. Kennt jemand eine Lösung z.B. mit einem externen DAC(vorzugsweise 2 Channels) über SPI oder parallel? Schlussendlich möchte ich Signale ausgeben die nicht peridisch sind, die Auflösung sollte min 8bit sein und die Ausgangsspannung ist egal(wird verstärkt).
Mit SPI Interface gäbe es z.B. MCP4802 / MCP4902. Mit parallelem Interface etwa die alten DAC0800 und ähnliche, oder AD7523 und verwandte (mx752..,TL752..).
Wenn du wirklich schnell sein willst, dann mußt du das in Hardware machen, also entweder FPGA oder CPLD+schnelles RAM. W.S.
Extern über die Serielle wirds schwer bei 1MHz, aber wenn du ein Widerstandsnetzwerk - wie vorticon erwähnte - benutzt, dann sollte das kein Problem sein mit einem AVR der mit Takt > 2MHz läuft. Es kommt natürlich drauf an, ob du eine Lookup-Table verwendest oder es "hard" codierst.
Die µC Platine ist mit 48 MHz ARM (cortex M0) schon schnell genug. Mit Hardware SPI sollte es dann auch noch gehen 1 MHz auf einen externen DA Auszugeben - alternativ halt einer der parallelen D/A Wandler. Die R2R Kette geht so gerade so Bit 8 Bit, wenn man sich etwas anstrengt.
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.