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.
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.
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.
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.
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?!
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
> 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
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.)
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€...
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
Microchip hat auch den Vorteil, dass es bereits unendlich viele fertige Programmbeispiele vom Hersteller gibt. Das spart sehr viel Entwicklungszeit.
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... ?
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/
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.
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
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
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.
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.
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
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.
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.