Forum: Mikrocontroller und Digitale Elektronik IO-Controllerboard mit Analogausgängen


von Jake (Gast)


Lesenswert?

Hi,

nach dem ich hier http://www.google.de und hier 
Beitrag "Etwas speziellere IO-Karte gesucht" nicht wirklich fündig 
geworden bin, versuche ich es mal mit Plan B: selber bauen. Dazu ist zu 
sagen, dass ich meine letzte Schaltung vor über 10 Jahren komplett 
selbst entwickelt habe, berufsbedingt mit Digitaltechnik und HW-naher 
Programmierung aber keine Probleme habe. Deswegen ist jede Art von 
Denkanstoß und Tipp bezüglich einer Lösung und passender Hardware 
herzlich willkommen.

Also: ich benötige ein Controllerboard mit

- Ethernetanschluss (da ich nicht auch noch die USB/PCI-Treiber selbst 
schreiben will)
- 2 Analogausgängen mit 16 Bit (100 kHz, +-5 V, also keine 
Audiohardware)
- mindestens einem Digitalein- und -ausgang, 50 kHz Minimum

Das ganze Teil sollte natürlich nicht zu teuer sein. Optimal wäre es 
auch, wenn sich die Firmware des Boards auch gleich über den 
Ethernet-Weg updaten lassen würde.

Also brauche ich als erstes eine CPU mit ausreichend Rechenpower (sie 
muss die Daten nur durchschaufeln können, formatieren kann ich sie auf 
Hostseite), passende DA-Wandler und jeden sonstigen Hinweis, den ich 
bekommen kann.

Wäre ein ATMEL-Prozessor OK?

Einen DAC AD420 hätte ich auch schon gefunden, der nimmt die Daten 
eingangsseitig seriell entgegen (spart also IO-Pins), scheint aber nicht 
mehr lieferbar zu sein.

Wie kriegt  man eine schnelle Verbindung zum Ethernet-Anschluss hin 
(ENC28J60 und SPI?) und lässt sich das mit dem Firmwareupdate per 
Ethernet mit einem ATMEL überhaupt machen?

Danke schon mal!

Jake

von Frank K. (fchk)


Lesenswert?

Jake schrieb:

> Also brauche ich als erstes eine CPU mit ausreichend Rechenpower (sie
> muss die Daten nur durchschaufeln können, formatieren kann ich sie auf
> Hostseite), passende DA-Wandler und jeden sonstigen Hinweis, den ich
> bekommen kann.

Ich schlage vor:
http://focus.ti.com/docs/prod/folders/print/lm3s6911.html

1. Vorteil: ARM Cortex M3 mit 50 MHz
2. Preis so um die 7-8€ bei normalen Distributoren, 12€ bei der Apotheke 
Farnell; ein entsprechend großer AVR ist genauso teuer und leistet nicht 
so viel
3. Normalerweise brauchst Du einen separaten Ethernet PHY, der ist hier 
aber schon gleich mit drin. Heißt also: Du kannst Deine RJ45-Buchse (mit 
eingebautem Übertrager!) direkt anklemmen. Und Du hast 100 MBit Ethernet 
und genug Power, die auch zu nutzen.
4. Entwicklungstools für ARM gibts in großer Zahl, frei und kommerziell.
5. TI hat eine umfangreiche, kostenlose Softwarebibliothek, die Du 
nutzen solltest. Da ist dann alles an Peripheriefunktionalität drin.

Nachteil: 100 Pin TQFP ist nicht so ganz einfach zu löten, aber mit dem 
passenden Werkzeug kein Problem.

Wenn es nur ein Einzelstück ist, besorg Dir ein Evalboard, dann hast Du 
die Basis und musst nur noch Deine Peripherie anklemmen.

Alternative: PIC32 oder STM32F105/107 (auch Cortex M3 Kern, aber 
externer PHY notwendig, das ist dann nochmal ein 48-64 Pin TQFP)

ODER:
was sich hier vielleicht auch anbieten würde:
nimm USB und mehrere FTDI FT2232H. Diese Teile sind USB-Bridges mit USB 
2.0 High-Speed. 100 kHz sollten die immer schaffen. Die kannst Du so 
konfigurieren, dass sie zwei parallele FIFO-Schnittstellen 
bereitstellen, an die die dann AD-Wandler mit 8 Bit Parallel-Interface 
ansteuern.
Für den DA-Wandler nimmst Du dann einen weiteren.

Du kannst diese Chips auch auf SPI programmieren, dann solltest Du aber 
den FT4232H nehmen, weil der zwei SPI Port bereitstellen kann. Der 2232H 
hat genauso viele Pins, aber nur eine serielle Engine.

Damit entfällt die Programmierung auf der Controllerseite.

Überleg mal, ob das für Dich passen würde.

fchk

von Peter D. (peda)


Lesenswert?

Jake schrieb:
> - 2 Analogausgängen mit 16 Bit (100 kHz, +-5 V, also keine
> Audiohardware)

Wow, das sind ja schonmal >3,2MB Nutzdaten, also brauchst Du mindestens 
100MB Ethernet.
Da sollte es schon ein ARM Cortex M3 sein.

Oder Du implementierst doch etwas Eigenintelligenz in den MC, damit der 
Traffic nicht so extrem ist.


Peter

von Jake (Gast)


Lesenswert?

Die TI-CPU sieht gut aus - und hätte genügend Rechenleistung, so dass 
man sich in der Tat den Luxus leisten könnte, die Daten erst auf dem 
Board zu verarbeiten, so dass die zu übertragende Datenmenge drastisch 
sinken könnte.

Bleibt noch die Frage nach passenden DACs. Der I2C-Bus der CPU ist mit 
max 400 kBit zu langsam, also bräuchte man welche, die man parallel 
Anbinden kann oder ein aktuelles Gegenstück zu dem AD420, der eine 
serielle Datenübertragung mit DATA, CLK und LATCH erlaubt.

von Frank K. (fchk)


Lesenswert?

AD660

Ist aber nicht ganz billig (ca 20€), aber Digikey hat ihn lagernd.

Jetzt überlege nochmal scharf: Brauchst Du WIRKLICH 16 Bit. Ist Dein 
Aufbau nachher so gut, dass das ganze auf ein Zehntel mV ankommt? 
(5V/32768=0.15mV) Oder hast Du da später nicht doch so viel Noise drauf, 
dass Du nachher froh sein kannst, wenn Du effektiv 14 Bit rausholst?

Oder würden es nicht auch 12 Bit (5V/2048=2.5mV) tun. Die Kosten würden 
sich nämlich im gleichen Maß verringern.

fchk

von Philipp F. (philipp5054)


Lesenswert?

Guten Morgen Jake!
Ich weis nicht wieviel du ausgeben willst und kannst. Aber eine habwegs 
profesionelle Lösung findest du ziehmlich sicher bei http://deditec.de

Gruß Philipp

von Jake (Gast)


Lesenswert?

Frank K. schrieb:
> Oder hast Du da später nicht doch so viel Noise drauf,
> dass Du nachher froh sein kannst, wenn Du effektiv 14 Bit rausholst?

Hm, ich sage mal so: es DARF zum Schluss gar nicht so viel Noise drauf 
sein, weil man das schlichtweg am Ergebnis sehen würde. Momentan 
überlege ich, ob ich hinter den DAC nicht noch einen kleinen Verstärker 
schalte, so dass man mindestens 500 mA aus der Karte ziehen kann (was 
das Noiseproblem natürlich nicht unspannender macht).

von Christian R. (supachris)


Lesenswert?

Also da du ja eine Art kontinuierliches Streaming brauchst, ohne, dass 
was verloren geht, scheidet Ethernet aus meiner Sicht schon mal aus. 
Außerdem ist der Aufwand im µC dann beträchtlich.
Ich würde einen FPGA nehmen, der die DA-Wandler ansteuert und daran 
einen FT2232H oder einen Cypress FX2 Controller anschließen. Der FPGA 
macht die zeitkritische Ansteuerung und über USB schiebst du blockweise 
die Daten immer wieder in einen BlockRAM-FIFO im FPGA. Aber 16 Bit und 
dann noch 500mA und selber bauen und darf weniger kosten als 
Meilhaus.....naja....bissl wünsch-dir-was.

von Jake (Gast)


Lesenswert?

Christian R. schrieb:
> Also da du ja eine Art kontinuierliches Streaming brauchst, ohne, dass
> was verloren geht, scheidet Ethernet aus meiner Sicht schon mal aus.

Mit der TI-CPU von oben sollte es eigentlich gehen: da muss ich kein 
kontinuierliches Streaming machen, sondern kann mir (da genügend 
Rechenpower vorhanden ist) den Stream aus deutlich weniger 
Eingangsdaten auf dem Board dynamisch erzeugen.

> Aber 16 Bit und
> dann noch 500mA und selber bauen und darf weniger kosten als
> Meilhaus.....naja....bissl wünsch-dir-was.

Die 500 mA sind eine neue Idee, ob ich das letztenendes wirklich mache, 
weiß ich momentan noch nicht (allerdings sollte ein windiger, halbwegs 
linear arbeitender Amp ja nicht so teuer sein!?). Und bei Analog Devices 
habe ich schon ein paar nette DACs gefunden, die vom Preis her ebenfalls 
so liegen, dass ich nach wie vor deutlich unter den Meilhaus-Lösungen 
liegen dürfte.

Jake

von Christian R. (supachris)


Lesenswert?

Dein Plan B hat übrigens einen Nachteil. Wenn du Zeitaufwand und 
Bauteile zusammen rechnest, kommst du auch auf den preis von Meilhaus.

von Jake (Gast)


Lesenswert?

Hehe, naja, den Zeitaufwand darf ich halt wirklich nicht mit 
einberechnen. aber was würde ich in der Zeit sonst machen? Da findet 
sich nur eine andere Möglichkeit Geld auszugeben :-)

von Jake (Gast)


Lesenswert?

Christian R. schrieb:
> Wenn du Zeitaufwand und
> Bauteile zusammen rechnest, kommst du auch auf den preis von Meilhaus.

Das habe ich ganz übersehen: das Meilhauszeugs ist so teuer, da kann ich 
mir auch gleich eine neue Scanlab-Karte kaufen. Die ist für genau das 
gedacht, was ich machen will und kostet weniger als der mutmaßlich 
verglodete Meilhaus-Krempel.

von Christian R. (supachris)


Lesenswert?

Vergoldet? Das 16 Bit RedLab 3101 kostet gerade mal 362 Euro. Für uns im 
professionellem Umfeld ist das eher zu billig alles, wir hatten da 
verschiedene RedLab Dinger, ist halt alles Low-Budged für Bastler oder 
einfachste Anforderungen. Richtige Karten gibts bei National 
Instruments, die sind dann um einiges hochwertiger, aber auch teurer.

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
Noch kein Account? Hier anmelden.