Forum: Mikrocontroller und Digitale Elektronik Schneller Mikrocontroller mit Ethernet gesucht


von Martin K. (Firma: Student) (metfan)


Lesenswert?

Hallo zusammen!

Ich muss für meine Masterarbeit in meiner Fachhochschule im Fach 
Elektrotechnik ein Messdatenerfassungsboard auf Basis eines 
Mikrocontrollers oder eines Embedded Systems entwickeln.

Vor Allem sollten folgende Bedingungen erfüllt sein:

-günstiger Prozessor

-kostengünstige Entwicklungsumgebung auf Basis einer gebräuchlichen 
Programmiersprache (z.B. Pascal, C, Basic, evtl. Module in Assembler, 
wenn erforderlich)

-Möglichkeiten zur Signal-Vorverarbeitung entweder durch Parametrierung 
bereits implementierter Funktionen oder durch Erweiterung der 
Programmierung um die nötigen Funktionen

-Analog I/O
 ca. 16 ADIn (mind. 12, besser 14 oder 16 Bit)
 ca. ADOut (12 Bit)
 min. 20 KS / Sek. in „Echtzeit“ am Host-PC
 min. 100 KS / Sek. (bis ca. 1 MS / sec.) Onboard mit paketweiser 
Übertragung zum Host-PC

-Digital I/O
 ca. 16 Digital Input
 ca. 16 Digital Output

-Onboard Speicher zur Zwischenspeicherung von Messdaten

-schnelle Standard-Schnittstelle zu einem Hostrechner, wenn möglich 
Ethernet. Über diese Schnittstelle soll die 
Programmierung/Parametrierung aber auch der Datentransfer der
Messdaten erfolgen.


Mein Problem liegt in erster Linie darin, dass ich nicht sehr viel 
Erfahrung mit Mikrocomputern habe. Vor Allem tue ich mich jetzt beim 
Einstieg schwer, den richtigen Prozessor für diese Aufgaben zu finden.
Kann mir jemand einen Tip geben, welcher Prozessor die oben genannten 
Bedingungen erfüllt oder wie ich bei der Suche am besten vorgehe?

Über eine kurze Hilfe würde ich mich sehr freuen.
Danke schon mal dafür.

von Klaus W. (mfgkw)


Lesenswert?

Martin K. schrieb:
> Vor Allem sollten folgende Bedingungen erfüllt sein:
> ...
> Mein Problem liegt in erster Linie darin, dass ich nicht sehr viel
> Erfahrung mit Mikrocomputern habe.

Das wird sportlich.

Spontan fällt mir kein MC ein, der das alles erfüllt (soweit ich die 
Anforderungen verstanden habe).

Will dich dein Prof ärgern?
Oder geht es nicht eher darum, UNTER ANDEREM einen MC zu verwenden und 
noch einiges mehr dazu?

Eine gewisse Einarbeitungsphase (ähem) würde ich da prognostizieren.

von Jens (Gast)


Lesenswert?

Martin K. schrieb:
> Mein Problem liegt in erster Linie darin, dass ich nicht sehr viel
> Erfahrung mit Mikrocomputern habe. Vor Allem tue ich mich jetzt beim
> Einstieg schwer, den richtigen Prozessor für diese Aufgaben zu finden.

Sorry, aber was hast du während deines Studiums denn so getrieben? Das 
sind doch absolute Grundlagen in E-Technik, egal welche Spezialisierung. 
Oder wolltest du lieber Lehramt studieren und bist nicht genommen 
wurden?

> Kann mir jemand einen Tip geben, welcher Prozessor die oben genannten
> Bedingungen erfüllt oder wie ich bei der Suche am besten vorgehe?

Da du noch keine Präferenzen bezüglich eines Herstellers hast, ist es so 
ziemlich egal welchen du nimmst. Schaue dir halt die gängigen 
Verdächtigen an, z.B. PIC24/PIC32, ARM, STM32, ...

Suche dir auf jeden Fall einen Typ raus, bei dem du im Freundeskreis 
Hilfe erwarten kannst. Denn für einen Einsteiger ist diese 
Aufgabenstellung nur sehr schwer bis gar nicht zufriedenstellend zu 
lösen.

von ttl (Gast)


Lesenswert?

Ich würde dir dafür zu einen STM32 raten, aber noch mehr zu einer 
anderen Materarbeit.
Ohne Vorkenntnisse ist das nicht in einem akzeptablen Zeitrahmen zu 
schaffen.

von Martin K. (Firma: Student) (metfan)


Lesenswert?

Danke für die bis jetzt teilweise recht hilfreichen Antworten.

Wechseln will ich die Masterarbeit eigentlich nur sehr ungern.
Es ist ja nicht so, dass ich gar keine Erfahrung habe. An 
Grundkenntnissen wird es, wie ich hoffe, nicht scheitern.
Mit keinen Vorkenntnissen meinte ich, dass ich hald noch nie ein 
größeres Projekt mit einem Mikrocomputer entwickelt habe.
Aber irgendwann muss man ja anfangen, und ich habe schließlich auch 
mindestens 6 Monate Zeit für die Arbeit.
Das muss doch möglich sein?!

von TommyS (Gast)


Lesenswert?

Hi!

Ich habe etwas ähnliches als Projektarbeit mit anschließender 
Bacherlorarbeit gemacht. Ohne Ethernet, dafür mit CAN Bus. Ich hatte 
allerdings schon Erfahrung mit Microcontrollern. Das Projekt wurde mit 
einem PIC24 und Zusatzkomponenten aufgebaut.

Ohne Vorkenntnisse würde ich spontan ein anderes Thema bearbeiten. Wenn 
Du allerdings extrem viel Selbstvertrauen, keine Hobbies und keine 
Frau/Freundin hast: Vollgas rein ins Vergnügen, der Lerneffekt ist 
beachtlich. Wie schon ein Vorredner sagte: such Dir einen Controller, 
den irgendwer aus Deinem Bekanntenkreis gut kennt, sonst wird das ganze 
ein ziemlich hoffnungsloses Unterfangen...

Grüsse,
TommyS

von Olaf (Gast)


Lesenswert?

> Aber irgendwann muss man ja anfangen, und ich habe schließlich auch
> mindestens 6 Monate Zeit für die Arbeit.

Waren das nichtmal maximal 3Monate?

> Das muss doch möglich sein?!

Sagen wir mal so, fuer jemanden der nach dem Diplom gerne als 
Hardwareentwickler arbeiten moechte sollte das im Prinzip moeglich sein.
Bei jemanden der nachfragen muss welcher Prozessor geeignet ist, sind 
aber ein paar Bedenken angebracht.

Ausserdem willst du ueber Netzwerk an deinen Controller. Wenn du die 
dazu notwendige Software selber schreiben willst/musst dann halte ich 
das auch fuer sehr sportlich.

Wenn du dagegen ein Developementboard eines Herstellers als Basis 
verwenden kannst und die dafuer vorhandene Softwareunterstuetzung 
verwenden kannst, dann sollte das machbar sein. Wenn das dann irgendwann 
laeuft dann kann man das ja immer noch auf eine eigene Platine 
rueberziehen.

Eigentlich ist das ganze also eher eine Aufgabe fuer zwei Leute, einer 
der sich um die Hardware kuemmert und einer der die Software macht.

Olaf

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Suche Dir ein Demo-Board aus, nicht nur Controller, den das Demo-Board 
hat alles fix und fertig bestückt mit einfachen Steckern kann hier etwas 
erweitert werden. Teils haben die auch ein Stück Lochraster gleich mit 
drauf um noch was dazulöten zu können.

Ein Prozessor alleine wird nicht reichen, erst recht nicht für ein 1/2 
Jahr, die die Platinenentwicklung braucht alleine schon mindestens 3 
Monate.

Eine Liste von Demo-Board (Links) gibt es hier: STM32
(Die Hersteller bieten nicht nur für STM32.)

von Coder (Gast)


Lesenswert?

Das würde ich auch so sehen wie Markus Müller. Hol Dir ein Dev-Board.
Was soll es denn kosten?. Es gibt von WIZnet ethernet chips, welche dir 
ne menge software kram abnehemen. sprich TCP/IP und UDP on chip 
generieren. ist aber nicht so günstig 5€-10€...

von usuru (Gast)


Lesenswert?

Signalverarbeitung schreit eigentlich nach einem dsPIC33F, die gibt es 
auch mit USB 2.0 OTG, z.B. der da 
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en554310, nur 
mit dem DAC wird es schwierig, den kannst Du aber leicht extern 
dazubauen. Dazu einen der gängigen Ethernet-Controller

Oder Du nimmst einen PIC18F66J60 o.ä., der hat Ethernet schon an Bord, 
allerdings nur 10BaseT

von usuru (Gast)


Lesenswert?

Microchip hat auch den Vorteil, dass es bereits unendlich viele fertige 
Programmbeispiele vom Hersteller gibt. Das spart sehr viel 
Entwicklungszeit.

von Hans W. (stampede)


Lesenswert?

DIe ADCs mit mehr als 10 Bit sind nur in wenigen Controllern verfügbar. 
Der PIC32 mit 100MBIT Ethernet könnte passen, der hat auch ordentlich 
RAM.

Oder vielleicht sowas wie das Pandaboard umwursten... ?

von ert (Gast)


Lesenswert?

PIC32MX Serie, z.b.
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en545660

Entwicklungsumgebung/Compiler  gibt’s  von Microchip  kostenlos,
incl.  vieler Beispielprogramme

Dev. Board  z.b.

http://www.mikroe.com/eng/products/view/573/multimedia-board-for-pic32mx7/

von Albert .. (albert-k)


Lesenswert?

Ich würde auf einen der größeren Cortex-M3 von NXP raten. LPC1769 oder 
die neue LPC18xx Reihe.
Folgende Vergleiche habe ich mal auf Basis des LPC1769 gemacht

Martin K. schrieb:
> -günstiger Prozessor
Einzelstücke für 13,61€ bei Farnell

> -kostengünstige Entwicklungsumgebung auf Basis einer gebräuchlichen
> Programmiersprache (z.B. Pascal, C, Basic, evtl. Module in Assembler,
> wenn erforderlich)

Für deine Entwicklung würde ich das LPCxpresso Board
http://www.embeddedartists.com/products/lpcxpresso/lpc1769_xpr.php
und das dazugehörige Baseboard empfehlen.
http://www.embeddedartists.com/products/lpcxpresso/xpr_base.php
Da wird der Einstieg relativ unproblematisch werden.

Die IDE ist bei Code bis 128kByte Kostenlos. Die 256kByte Version kostet 
256$ und die 512kByte Version 512$.

> -Möglichkeiten zur Signal-Vorverarbeitung entweder durch Parametrierung
> bereits implementierter Funktionen oder durch Erweiterung der
> Programmierung um die nötigen Funktionen

Was heißt bei dir Signalvorverarbeitung? Digitale Filter und ähnliches? 
Das geht bei diesen Controllern relativ problemlos da es von NXP eine 
DSP Library gibt (Die Algorithmen sind recht effizient da die CM3 von 
NXP über MAC Operationen verfügen, wie eigentlich alle CM3)

> -Analog I/O
>  ca. 16 ADIn (mind. 12, besser 14 oder 16 Bit)
Der LPC1769 verfügt über 8 Kanäle für einen 12Bit ADC. Mehr wirst du 
schwer finden, da empfiehlt sich ein externer ADC.
>  ca. ADOut (12 Bit)
Der interne DAC verfügt über 10Bit.
>  min. 20 KS / Sek. in „Echtzeit“ am Host-PC
Der ADC läuft mit Maximal 200kHz


> -Digital I/O
>  ca. 16 Digital Input
>  ca. 16 Digital Output
Insgesamt stehen 70 GPIO zur Verfügung. Abzüglich der IO's für deine 
Peripherie die du verwenden willst versteht sich.

> -Onboard Speicher zur Zwischenspeicherung von Messdaten
Da stellt sich die Frage wieviel? Bei größeren Mengen würde ich 
SD-Karten oder On-Board Flash empfehlen. Beides auf dem Base Board 
vorhanden.

> -schnelle Standard-Schnittstelle zu einem Hostrechner, wenn möglich
> Ethernet. Über diese Schnittstelle soll die
> Programmierung/Parametrierung aber auch der Datentransfer der
> Messdaten erfolgen.
Als Schnittstellen stehen 10/100Mbit Ethernet und High-Speed USB 
Device/Host zur Verfügung.

Vergleichbare Produkte findest du auch Bei TI (LMS3XXXX Controller von 
ehemals Stellaris, oder die STM32 von ST. ATMEL hat auch Cortex-M3 wo es 
sich lohnt sich umzusehen.)

Wenn dir die Rechenleistung eines Cortex-M3 nicht ausreicht, was ich mal 
schwer bezweifle, müsstest du auf einen ARM-9 ausweichen.

von Marvol (Gast)


Lesenswert?

Hallo.

Ich habe zwar noch nie mit diesem Board gearbeitet, aber es scheint die 
Anforderungen zu erfüllen:

http://elmicro.com/de/stm32proto.html

Ganz unten: STM32-P107

Bei Olimex gibt es auch ein Beispiel für Ethernet, die Qualität kann ich 
nicht beurteilen:

http://www.olimex.com/dev/soft/arm/ST/STM-P107/STM32-P107_ethernet_demo_5.50.zip

Gruß
Marvol

von Frank K. (fchk)


Lesenswert?

Ich würde auch zu einem PIC32MX raten - da musst Du Dir nicht alles 
zusammensuchen, sondern hast alles aus einer Hand: Prozessor, Compiler, 
Debugger, Demoboard, Codebeispiele

Nimm:
- MPLAB 8 neuste Version (download)
- C32 Compiler (Download)
- Application Libraries (Download)
- MPLAB ICD 3 In-Circuit Debugger (DV164035)
- PIC32 Ethernet Starter Kit (DM320004)
- Starter Kit I/O Expansion Board (DM3200002)
- 3'er Pack Prototype PICtail Plus Daughter Board (AC164126), wo Du 
Deine Peripherie drauf aufbauen kannst

Auf dem Ethernet Starter Kit ist schon ein JTAG Debugger drauf, aber der 
hat bei mir Probleme gemacht. Da die 6 Monate bei Dir eh schon EXTREM 
eng sind, willst Du keine Probleme haben. Der ICD3 ist zwar nicht ganz 
billig, aber eine sichere Wahl. Ein PicKIT3 würde zur Not auch gehen.

Mit dem Paket oben hast Du etwas, wo alles zueinander passt und was Du 
innerhalb eines Nachmittags am Laufen hast. Support holst Du Dir über 
die Microchip-Foren.

fchk

von Arc N. (arc)


Lesenswert?

Klaus Wachtler schrieb:
> Spontan fällt mir kein MC ein, der das alles erfüllt (soweit ich die
> Anforderungen verstanden habe).

AT32UC3C
bis zu 512 kiB Flash, 64 kiB SRAM, USB Device und Host, 10/100 Ethernet 
MAC, 16 Kanal 12-Bit ADC (max 1.5 MS/s), 2x 12-Bit DAC

eCOG1X
bis zu 512 kiB Flash, 24-kiB SRAM, USB 2.0 Device Host (Hi-Speed), 
10/100 Ethernet MAC, 2x 8-Kanal 12-Bit ADC, 2x 12-Bit DAC,
Eval-Board
http://www.futureelectronics.com/en/technologies/development-tools/rf-wireless/Pages/2168813-EVALKIT-UPE-1X-M-M1-9.aspx

PIC32MX795
bis zu 512 kiB Flash, 128 kiB SRAM, USB Device und Host, 10/100 Ethernet 
MAC, 16 Kanal 10-Bit ADC (max. 1 MS/s)

CY8C55xx
bis zu 256 kiB Flash, 64 Kib SRAM, USB Device, 12-Bit 1MS/s SAR ADC, 
20-Bit Delta-Sigma ADC (48 kHz @ 16-Bit, 192 kHz @ 12-Bit). 8-Bit DAC

Ohne eingebauten Ethernet MAC und USB geht...
ADuC7027

(PWM-DACs gingen, je nach Anforderungen, bei den genannten zusätzlich)

Ansonsten bei den "üblichen Verdächtigen" suchen: Atmel, NXP, STM, 
Microchip, TI, Energy Micro,

IDEs und Compiler gibt's für alle kostenlos.

Offene Fragen:
- 100 kS/s gleichzeitig auf allen 16 Kanälen = 1.6 MS/s oder 100 kS/s / 
16 Kanäle = 6.25 kS/s pro Kanal?
- welche Eingangs-/Ausgangsspannungen/signale
- was soll an die digitalen IOs
- welche Stromversorgung
etc.

von (prx) A. K. (prx)


Lesenswert?

STM32F107:
72MHz CPU, 256K ROM, 64K RAM.
2x 12-Bit ADCs je 1MS/s, insgesamt 16 Kanäle.
2x 12-Bit DACs.
Ethernet MAC.
USB Device/Host/OTG.

STM32F207:
120MHz CPU, 1M ROM, 128K RAM.
3x 12-Bit ADCs je 2MS/s, insgesamt 24 Kanäle.
2x 12-Bit DACs.
Ethernet MAC.
USB Device/Host/OTG high-speed.

von Arc N. (arc)


Lesenswert?

Fast vergessen von Freescale sollten mitterweile einige schöne Cortex-M4 
(SIMD/DSP) "Controller" verfügbar sein...
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=K50&nodeId=01624698C9

512 kiB Flash, 128 kiB SRAM, 2x 16-Bit ADC inkl. PGA und OpAmps, 2x 
12-Bit DAC, Ethernet MAC,
Das Eval-Board TWR-K53N512-KIT ist u.a. bei Mouser oder direkt bei 
Freescale erhältlich
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=TWR-K53N512-KIT&tab=Buy_Parametric_Tab&nodeId=0152106740B1EC&pspll=1&fromSearch=false

p.s. das Reference Manual umfasst 1827 Seiten...

http://cache.freescale.com/files/32bit/doc/ref_manual/K53P144M100SF2RM.pdf?fpsp=1&WT_TYPE=Reference%20Manuals&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation

von Jörg S. (joerg-s)


Lesenswert?

Albert ... schrieb:
> Ich würde auf einen der größeren Cortex-M3 von NXP raten. LPC1769 oder
> die neue LPC18xx Reihe.
> Folgende Vergleiche habe ich mal auf Basis des LPC1769 gemacht
>
> Martin K. schrieb:
>> -günstiger Prozessor
> Einzelstücke für 13,61€ bei Farnell

Der 1769 lohnt nur wenn man das letzte Quäntchen MHz benötigt. Ansonsten 
hat der der LPC1768 identische Ausstattung bei wesentlich günstigerem 
Preis.

von Jojo S. (Gast)


Lesenswert?

Den LPC1769 kann ich auch empfehlen, wie schon genannt auf dem 
LPCXpresso Board. Das baseboard von EA habe ich auch, eine 
Lochrasterplatine plus passender Stecker/Buchsenleiste tut es aber auch. 
Für das Ethernet braucht man nur eine Buchse mit eingebautem Übertrager.
AD Wandler mit der gewünschten Genauigkeit muss man extern anklemmen, 
gute analog und schnelle Digitaltechnik mit kleinen Chipstrukturen 
verträgt sich nich so gut.
Die CodeRed Entwicklungsumgebung ist sehr gut und das 128k Limit der 
kostenlosen Version erreicht man auch nicht so schnell. Habe jetzt eine 
einfache Anwendung mit FreeRTos und uIP laufen, die liegt noch weit 
unter 64k.

von Alex h. (dudeda)


Lesenswert?

Also Modul ist vielleicht das AVR-Webmodul von Ulrich radig interessant.
http://www.ulrichradig.de/home/index.php/avr/avr-webmodule


Programmierung wäre allerdings über isp.
Ethernet war über einen enc28j60 zur ethernetbuchse
Messdatenspeicherung mittels sd karte oder externen Flash möglich


>  -günstiger Prozessor

Preis war ok

> -kostengünstige Entwicklungsumgebung auf Basis einer gebräuchlichen
> Programmiersprache (z.B. Pascal, C, Basic, evtl. Module in Assembler,
> wenn erforderlich)

AVR Studio ist kostenfrei

> -Möglichkeiten zur Signal-Vorverarbeitung entweder durch Parametrierung
> bereits implementierter Funktionen oder durch Erweiterung der
> Programmierung um die nötigen Funktionen

Ist Programmierbar

> -Analog I/O
> ca. 16 ADIn (mind. 12, besser 14 oder 16 Bit)
> ca. ADOut (12 Bit)
> min. 20 KS / Sek. in „Echtzeit“ am Host-PC
> min. 100 KS / Sek. (bis ca. 1 MS / sec.) Onboard mit paketweiser
> Übertragung zum Host-PC

8-channel, 10-bit ADC

> -Digital I/O
>  ca. 16 Digital Input
>  ca. 16 Digital Output

Jup

> -Onboard Speicher zur Zwischenspeicherung von Messdaten

 On board SD-Kartenslot und flash speicher

>-schnelle Standard-Schnittstelle zu einem Hostrechner, wenn möglich
>Ethernet. Über diese Schnittstelle soll die
>Programmierung/Parametrierung aber auch der Datentransfer der
>Messdaten erfolgen.

Zur Programmierung ISP schnittstelle zur Kommunikation Ethernet

Sprich wenn du auch mit weniger ADs auskommst dann könnte auch der hier 
gehen

Grüße
Alex

von Andreas G. (beastyk)


Lesenswert?

Moin Martin,

halte dich an ein Board mit nem Pic32 oder (wegen Signalverarbeitung) 
nimm eines mit dsPic33 und vielleicht gibs ja auch ein Board mit dsPic 
das einen von Microchips ENCXxXXX- Ethernetchips  mit drauf hat.
Der Vorteil ist ganz klar das es von Seiten Microchips einen Haufen C 
Code und Librarys dazu gibt, was deine Aufgabe in dieser kurzen Zeit 
fertig zu werden erleichtert.
Ein Board selber zu entwickeln und dann noch Software zu schreiben UNNND 
die Arbeit selber (mußte doch auch schreiben (mit Latex?), oder?) halte 
ich für nicht machbar.

gruß
Andi

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.