Hallo zusammen, möchte einen DAC ansteuern (16 Bit parallel, max. 1MS/sec Update Rate). Daten (Sinus oder z.B. eine mathematische Funktion)sollen aus einem sich wiederholenden Enlosspeicher ständig ausgegeben werden. Meine Vorstellungen: wenn möglich soll der µC noch als DIP Variante erhältlich sein. Software kostenlos und ohne Zeitbeschränkung, wenn Kaufsoftware dann keine astronomischen 1000 Euro o.ä. Evaluationboard unterhalb 200 Euro oder eines zum selber bauen. Meine Kentnisse in: digitale Hardware - reicht aus Messtechnisch - alles vorhanden analoge Hardware - eher schon zuviel PC - Ottonormal Benutzer µC Software - keinen blassen Schimmer Für welchen µController kann man eine Empfehlung aussprechen, was als Start sinnvoll wäre? Gruss Ralf
>Meine Vorstellungen:... >... keinen blassen Schimmer Mit DIL ist da nichts zu machen. Geschickterweise baut man sich dafür eine separate Hardware auf (CPLD, Zähler+Speicher) oder verwendet einen µC mit DMA-Controller. > was als Start sinnvoll wäre? Kannst Du damit umgehen?
Willst du mit 1M/s einen Sinus berechnen? Dann kannst du DIP vergessen. Mit 1M/s direkt aus Tabelle ist jedoch kein Problem, das können viele, bei AVR wirds etwas knapp, PIC24/30 besser. Wenn DIP und schnell und wenn neben der DAC-Ausgabe noch was anderes passieren soll: Parallax Propeller. Etwas gewöhnungsbedürftig aber schnell genug und hat kostenloses Entwicklungspaket - allerdings nicht für C.
Also gut, dann µC, Flash usw. als SMD, das klappt auch mit dem Löten. Kannst Du damit umgehen? Muss ich halt lernen. Ändere die Frage ab: welcher µC Hersteller liefert ein Entwicklungssystem, bei dem man als Anfänger noch am ehesten eine Chance hat damit klarzukommen? Ein System bei dem man sich langsam hocharbeiten kann. Welche µC Familie? Habe mir z.B. Xilinx FPGA Lösungen angesehen, deren großes Softwaremonster ist mir am Anfang ein paar Nummern zu hart. Ich denke mal mit Standard C und Assembler kann ich mich gut anfreunden, LabView wäre am schönsten. Gruss Ralf
"Willst du mit 1M/s einen Sinus berechnen? Dann kannst du DIP vergessen. Mit 1M/s direkt aus Tabelle ist jedoch kein Problem". Aus der Tabelle abgelegt reicht aus. User Eingaben während des Betriebs sind auch nicht erforderlich. Lediglich die Frequenz des Sinus soll veränderlich sein, kann aber über Programmierung veränderbar sein. Die Amplitudenverstellung erfolgt über die Spannungsreferenz. Gelegentlich soll manchmal eine Tabelle mit einem Zweiton Sinus rein. Klassischer Anwendungsfall ist eine Intermodulationsmessung.
Tabelle wie gross? Wenn ohne Verabeitung Daten direkt raus sollen und währenddessen keinerlei Interrupts bearbeitet werden müssen, dann müsste sich das auch mit einem 20MHz AVR noch grad so eben deichseln lassen. Ein PIC24/dsPIC30/33 (auch DIP) kann dann auch noch eine Amplitudensteuerung per Multiplikation erledigen, evtl. plus Addition aus zwei Tabellen. Wenn irgendwas nebenher nötig ist: der erwähnte Propeller.
"Tabelle wie gross?" So groß, dass damit z.B. ein 1kHz oder 10kHz Signal schon vor der analogen Filterung klirrarm herauskommt. In anderen Worten auch während ein 1kHz Signal abspielt sollte mindenstes ca. alle 5µs auf den aktuellen Sinus-Datenwert abgedatet werden. Amplitudensteuerung darf aus Gründen der Signalreinheit nur per analog verstellbarer Referenzspannung erfolgen, der DAC Aussteuerungsbereich nutzt dadurch immer den kompletten Coderange was die beste Signalqualität und feinste Auflösung ergibt. Diesen Parallax Propeller werde ich mir mal ansehen, das ist ja mal eine Richtung.
Ralf Ohmberger wrote: > So groß, dass damit z.B. ein 1kHz oder 10kHz Signal schon vor der > analogen Filterung klirrarm herauskommt. Bin kein Experte für sowas. Angaben in Bytes sind mir lieber ;-). Der Propeller hat davon 32K, was für Programm plus Daten ausreichen muss.
Ein 1kHz Sinus hat eine Periodenauer von 1000µs. Wenn z.B. alle 2µs ein Update erfolgen sollen sind das 1000µs/2µs=500 neue DAC Werte innerhalb 1ms. Nach dem letzten Wert muss er wieder von vorne anfangen. 500 Werte in der Tabelle reichen aus, wie groß ist dann der notwendige Tabellenspeicher? Viel schneller als ca. 2µs kann die analoge Seite nicht mehr updaten. Bei z.B. einem 100 Hertz Signal wären es dann 5000 verschiedene Werte in der Tabelle.
Von Renesas gibt es ein RSK7211 (SH7211 Prozessor) mit Kostenpunkt unter 200€ bei dt. Distributor. Leistung noch und nöcher, u.a. auch DMA. Hiermit kannst Du Deine Spielerein verwirklichen. Das C-Compiler-Paket ist nach 60 Tagen auf max. 256kB Codegröße eingeschränkt, was aber nicht stören dürfte.
Guenstige Software und Entwicklungstool fuer so ne Appplikation koennte ich http://www.ti.com/corp/docs/landing/piccolotools/index.htm?DCMP=Piccolo&HQS=Other+OT+controlstick empfehlen. Die PWM des 32-bit Controllers hat eine Aufloesung von 150ps!. Damit sollte man schon ein gutes Signal rausbekommen. Bzgl. Gehaeuse koennte man auf das DIMM-Modul zurueckgreifen, da ist bereits der JTAG Emulator integriert und man kann das Modul direkt mittels Sockel auf's eigene Board loeten.
Muss das mit einem µC realisiert werden? Es gibt doch auch (wie heißen die, ist nicht mein Gebiet) DDS ICs.
Achso oder die Tabelle in einem Flash speichern und die Adressen an einen 0815 Zähler anschließen und Datenausgäge an den DAC. Je nach Zählergeschwindigkeit unterschiedliche Sinus Frequenz.
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.