Erstmal ein herzliches Hallo an alle Forumsmitglieder, da ich für ein spezielles Projekt meine gewohnte Umgebung, die Programmierung mit C#, wohl teilweise verlassen muß, habe ich mich hier angemeldet in der Hoffnung Unterstützung zu meinen Fragen zu bekommen. Zur Situation: Ich möchte gerne eine art Datalogger entwickeln, mit dem ich insgesamt 256 analoge Spannungen sowie 256 Taster mit den dazu gehörigen Zeitwerten aufzeichnen und später wieder genauso abspielen kann. Als Zeitgeber muß ich SMPTE Timecode auslesen und diese Werte gleichzeitig anzeigen und auch als Wert speichern. Da ich der Meinung bin dies ist mit einem normalen Windows und C# bzw. dem .net Framework nicht zu bewerkstelligen ist und auch das .net Micro Framework (hiermit habe ich schon kleinere Sachen gemacht), habe ich mir gedacht mit Windos Ce müßte ich wohl in die richtige Richtung gehen? (habe bei Keith & Koep das SPARK Kit für Windows Emmbedded Compact7 bestellt ) Da ich für den Timecode Part diesen Chip hier ICS2008B www.idt.com/products/getDoc.cfm?docID=18700292 verwenden möchte und dieser keine SPI oder I2C Schnittstelle hat, beide Schnittstellen wären für Windows CE ja wohl kein Problem, sondern eher eine parallele Schnittstelle besitzt, und Windows CE Boards, soweit ich das bis jetzt gesehen habe eher mit wenigen IO Pins ausgestattet sind stellt sich für mich die Frage, ob ich vor den ICS2008B noch einen Microcontroller setzen muß/sollte, der sich um den Timecode Part kümmert? Für den Logger bräuchte ich ja eigentlich nur den Impuls, sobald ein neuer Frame eingegangen ist, sowie dessen Wert, um das Scannen der 256 ADC sowie der Taster (ich nehme an das macht man mit Schieberegistern) zu starten. Das Scannen möchte ich mit einem Schaltkreis aus Multiplexern , über SPI(Adressierung des jeweiligen Eingangskanals 8bit und einlesen des dazugehörigen Wertes 10bit) aus Windows CE herraus bewerkstelligen. Da dies min. 30 mal pro sec geschehen muß, ist die Zeit halt etwas eng (ich hoffe nur aus meiner Sicht). Das ich meine C# Welt teilweise verlassen und auch etwas in C/C++ und dann mit P/invoke oder ähnlichem machen muß ist wohl nicht zu umgehen, oder? Aber wie weit muß ich gehen? Was ist mit Windows CE hardwarenah möglich? Muß ich teilweise, wie oben schon erwähnt mit einem anderen Prozessor zeitkritische Funktionen abhandeln? Ich möchte das gesamte Projekt jetzt ersmal nicht weiter ausführen, um diesen ersten fragenden Beitrag nicht zu lang zu machen, aber wenn weitere Angaben benötigt werden kann ich diese gerne noch nachreichen. Für Ratschläge und oder einer Einschätzung des Auswandes und der benötigen Technik (Hard- und Software) wäre ich sehr dankbar. Gruß Harald
Weshalb genau brauchst du ein 'hohes' Betriebssystem, wie Windows CE? Alles was ich in deinem Beitrag lese, kann auch ein kleiner 8/16bit µC. Worauf soll denn aufgezeichnet werden?
Hast du mal ausgerechnet, wieviele Daten du da generiest?! 256*10bit die ADC+256*1bit die Taster 2816bit*30Hz=84.480bit/s Das sind 10KB/s das ist nix- dafür würde ich mir nicht WindowsCE antun, sondern nen einfachen AVR+SD-Karte+Peripherie bauen oder hast du andere Verpflichtungen wegen WinCE?!
Hallo, und erstmal vielen Dank für die schnelle Rückmeldung (ich habe wohl schon mal die richtige Community gefunden!!!) Warum Windows CE? -> Da noch weitere Funktionen wie unterschiedliche Bildschirmausgaben, Kb/Mouse Steuerung mit GUI usw. hinzukommen und ich das ganze Gerät später vielleicht in Teilen auch als USB Device (Schnittstelle zur PC Welt) ansprechen will/muß, dachte ich diese Teile, da nicht zeitkritisch in meiner gewohnten Sprache C# schreiben zu können (Zeitersparniss). Deshalb habe ich mir Windows CE als Brücke zwischen den beiden Welten vorgestellt und ich hätte dann auch ein konfigurierbares Betriebssystem in dem der User nichts kaputt machen kann. Nicht das ich Angst vor C/C++ hätte, aber man muß ja nicht alles können. Ich habe mir hier die Tutorials zu AVR programmierung angeschaut und glaube ich würde das schon hinkriegen, aber halt nur in kleinen Happen, vorallem, da man wenn ich dass richtig verstanden habe den Code nicht so einfach debuggen kann, wie ich es z.B. aus Visual Studio gewohnt bin. Was ich da beim erstellen jetzt genau für was bräuchte und was es dann kostet bzw. was kostenlos ist habe ich bei der Fülle an Informationen auf dieser Seite leider noch nicht so ganz verstanden. Worauf soll denn aufgezeichnet werden? -> Ich dachte an USB Stick oder Karte, wobei, da nur 1-3h aufgezeichnet werden, die Daten auch erst nach Beendigung der Aufzeichnung auf ein nicht flüchtiges Medium geschrieben werden müßten, um sie später wieder einlesen zu können. Gruß Harald
Mach's doch so: Lass einen AVR bzw. MSP430 die Aufzeichnung übernehmen und dein Embedded System macht nur die zeitunkritische Darstellung. Alle Tools zur Entwicklung mit den AVR bzw. MSP 430 sind kostenlos. Debuggen geht auch halbwegs komfortabel. Spätestens wenn du ein Gerät mit Windows CE verkaufen willst, wird's teuer. Außerdem dürftest du in diesem Forum hier deutlich mehr Leute finden, die von embedded Linux Ahnung haben, als von CE.
Hallo Luk4s K., ... Windows CE verkaufen willst, wird's teuer.-> Nach Auskunft von Keith & Koep kostet mich so ein Trizeps IV - Marvell Xscale PXA270 Modul ca. 100,- € incl. BSP + max. 12,-€ CE-Licenz Kosten. Ein Evaluation Board hätte ich ja mit dem Spark Kit für 126,-€ schon. Damit könnte ich leben, da mein Gerät kein Massenprodukt werden soll und ich somit die Kosten weitergeben könnte (wenn ich es zu laufen bekommen würde). Da ich dann aber mit dem .net Compact Framework arbeiten kann(bekanntes Terrain), erspare ich mir eine Menge Lehrnarbeit. Einen Umstieg auf Linux stelle ich mir sehr zeitaufwendig vor (habe mich damit noch nie beschäftigt und auch mit Mono habe ich keine Erfahrung). Oder, kann ich da bei den Kosten was falsch verstanden haben?
Ah, da bei dem Board CE schon mit dabei, dann geht's ja halbwegs. Du meintest was von Tastatur und Maus (Bildschirm dann auch?). Dann wäre so was wie das Pandaboard geschickter, da hat schon alle erdenklichen Schnittstellen. CE sollte auch drauf laufen.
Luk4s K. schrieb: > Ah, da bei dem Board CE schon mit dabei, dann geht's ja halbwegs. Du > meintest was von Tastatur und Maus (Bildschirm dann auch?). Dann wäre so > was wie das Pandaboard geschickter, da hat schon alle erdenklichen > Schnittstellen. CE sollte auch drauf laufen. Für den Preis (Gehäuse fehlt da noch) bekommt man auch einen Barebone mit Intel Atom + RAM und HDD (z.B. Foxconn nt425) oder nimmt für ~50€ ein Atom-Mini-ITX-Board und verpackt das (Vorteil: Ganz normaler PC, ADC/Timecode-Teil dann mit einem der üblichen Verdächtigen AVRs, PIC24, Cortex-Mx...)
Ich mußte mir jetzt erstmal Gedanken zu dem Pandaboard bzw. einem Barebone Pc machen. Das Pandaboard wäre natürlich ideal, wenn ich das ganze mit Linux machen würde, für CE bräuchte ich ja ein BSP für dieses Board welches es wahrscheinlich nicht gibt und selber alle Treiber schreiben usw. würde wohl zu weit führen. Ja, einen Bildschirm müßte ich auch anschließen können und zusätzlich noch mindestens x 7-Segment Anzeigen für die Zeit. Bei einem Barbone Pc müßte ich auf ein Windows Desktop Betriebssystem zurückgreifen, das kostet auch und ist kein Echtzeit System. Die Steuerung des ICS2008B s.o. macht mir Sorgen, ich brauche ihn für die Syncronisation beim einspielen(neuer Frame value xy eingegangen -> Scannen los) und muß ihn auch bei einem anderen Vorgang Timecode generieren lassen und dafür muß ich ihm jedesmal den Wert geben usw. und ich weiß nicht, ob solche Operationen schwer zu schreiben sind auf einem AVR oder dergleichen. Deshalb dachte ich halt, ich mache soviel wie möglich mit C#, p/invoke mit einer C/C++ dll (die ich natürlich schreiben müßte) bzw.einem zusätzlichen Treiber für CE, sodass ich eine Grenze zwischen für mich Neuland und Altbekanntem bekomme. Allzuviele Funktionen wären ja für den ICS2008B nicht zu schreiben. Aber wahrscheinlich gehe ich das ja doch alles falsch an. Vielleicht könnte ja jemand netter weise mal einen kurzen geschulten Blick in das pdf des ICS2008B werfen http:\\www.idt.com/products/getDoc.cfm?docID=18700292 und mir sagen, ob ich da richtig liege zu denken, den könnte ich mit zwei 8bit Schieberegistern (einer für IO, einer für die Steuerung, die Register mit SPI Schnittstelle) grundlegend bzw. vollständig bedienen. Das wäre sehr sehr nett. Denn, wenn dem so wäre würde ich halt dann, soweit möglich, das meiste über SPI vom Embedded System aus steuern (so meine Vorstellung). Da wären dann das Multiplex Board mit dem ADC, eins mit einem DAC zum abspielen, eins für die Taster und Leds und eins mit dem ICS2008B für den Timecode. Ich hoffe das ist nicht allzu illusorisch gedacht.
Lass den ganzen Echtzeitkram doch einen kleinen 8-32bit µC(MSP430, AVR, PIC, ARM etc.) machen und der PC holt von dem µC gelegentlich die Daten (via USB oder so) ab und verarbeitet sie und so. Die 7-Segment-Anzeige macht de µC dann noch nebenher.
Da so oder so ein µC einen Teil der Arbeit machen muß, sollte ich mir ja erstmal ein Eval Board besorgen. Welchen µC sollte ich nehmen und welches Board dazu, wenn ich einigermassen zukunftssicher in Sachen Leistung des µC und komfortabelm Debuggen sein will. Der Preis ist erstmal zweitrangig, da Zeit Geld ist und ich glaube gerade am Anfang ist das Debuggen sehr wichtig (Einzelschritte beim Debuggen). Es sollte auch nicht zu kompliziert sein später den µC mit Usb von einem Pc oder Embedded System anzusprechen (vielleicht gibt es ja µCs die dafür besonders gut geignet sind). Auch hier gilt bei mir, dass der preis für den reinen µC nicht ausschlaggebend ist, da es eh kein Massenprodukt wird. Und er sollte natürlich für meine obigen Anforderungen tauglich sein mit Luft nach oben. Ich habe mir das AVR Starterkit hier aus dem shop angeschaut und frage mich ob ich damit das gleiche machen kann wie z.B. mit dem AVR STK 500, vorallem was das Debugging angeht. Das Borad von Pollin soll ja nicht so toll zum Debuggen sein, wenn ich das richtig gelesen habe.
Harald Becker schrieb: > Da so oder so ein µC einen Teil der Arbeit machen muß, sollte ich mir ja > erstmal ein Eval Board besorgen. Welchen µC sollte ich nehmen und > welches Board dazu, wenn ich einigermassen zukunftssicher in Sachen > Leistung des µC und komfortabelm Debuggen sein will. Der Preis ist > erstmal zweitrangig, da Zeit Geld ist und ich glaube gerade am Anfang > ist das Debuggen sehr wichtig (Einzelschritte beim Debuggen). Es sollte > auch nicht zu kompliziert sein später den µC mit Usb von einem Pc oder > Embedded System anzusprechen (vielleicht gibt es ja µCs die dafür > besonders gut geignet sind). Auch hier gilt bei mir, dass der preis für > den reinen µC nicht ausschlaggebend ist, da es eh kein Massenprodukt > wird. Und er sollte natürlich für meine obigen Anforderungen tauglich > sein mit Luft nach oben. Für die Ansteuerung des ICS2008B würde ich einen Controller mit externem Speicherinterface bzw. dem für so was auch gut nutzbaren PMP (Parallel Master Port, Microchip) nehmen (auch wenn das jeder Controller mit seinen normalen Port-Pins ansteuern könnte). D.h. AT32UC3A0 o. AT32UC3A3, ATxmega...A1, ATmega, PIC24FJ...GB, PIC32MX.... oder je nach Vorlieben einen 8051er, Cortex-M3 etc. Die genannten AVR32 (AT32...) haben allen USB integriert, ebenso wie die PIC24FJ...GB und der größte Teil der PIC32MX. Ansonsten könnte man das auch mit einem FT232R/FT245R o.ä. lösen. Persönlich würde ich AVR32, PIC24 oder PIC32 nehmen, da diese imo die besseren Bibliotheken zur Ansteuerung der Peripherie (inkl. USB, Ethernet, TCP/IP etc.) direkt vom Hersteller haben. > Ich habe mir das AVR Starterkit hier aus dem shop angeschaut und frage > mich ob ich damit das gleiche machen kann wie z.B. mit dem AVR STK 500, > vorallem was das Debugging angeht. Das Borad von Pollin soll ja nicht so > toll zum Debuggen sein, wenn ich das richtig gelesen habe. Ob der USBProg mittlerweile voll zum Debuggen geeignet ist -> Forum fragen Günstig: AVR Dragon oder PICkit3, wenn Geld weniger eine Rolle spielt: AVR JTAGICE3, AVR ONE! bzw. ICD3, REALICE
Hallo, ich habe mich jetzt schon mal auf AVR festgelegt und habe nach recherchieren doch noch eine Frage zum Entwicklungskit. Möglichkeiten: 1. EVK1100 + AVR Dragon, dann hätte ich einen Programmer und könnte den AT32UC3A bedienen, aber der scheint ja auch für mein Vorhaben mehr als genug zu können. 2. STK600 + ATSTK600-UC3-144 Adapter + µC , dann hätte ich jedoch erstmal nur die 8 Taster und Leds und müßte die Peripherie aufbauen. Verstehe ich es richtig, dass das STK600 ein AVR Dragon vollwertig ersezt? Hätte ich damit alles, was man so braucht? Vorteil von 2. sehe ich in der Anzahl der unterstützten µC.
Harald Becker schrieb: > Hallo, > ich habe mich jetzt schon mal auf AVR festgelegt und habe nach > recherchieren doch noch eine Frage zum Entwicklungskit. > Möglichkeiten: > 1. EVK1100 + AVR Dragon, dann hätte ich einen Programmer und könnte den > AT32UC3A bedienen, aber der scheint ja auch für mein Vorhaben mehr als > genug zu können. Der könnte alles erledigen...(Rechenleistung ist deutlich höher als beim A4000T, falls den noch jemand kennt...). > 2. STK600 + ATSTK600-UC3-144 Adapter + µC , dann hätte ich jedoch > erstmal nur die 8 Taster und Leds und müßte die Peripherie aufbauen. > Verstehe ich es richtig, dass das STK600 ein AVR Dragon vollwertig > ersezt? Hätte ich damit alles, was man so braucht? Wenn In-Circuit-Debugging genutzt werden soll, nein. Das STK600 kann die Controller nur programmieren, debuggen nur ganz klassisch über Port-Pins und Ausgaben auf die seriellen etc. Schnittstellen. > Vorteil von 2. sehe ich in der Anzahl der unterstützten µC.
An Arc Net, danke da hätte ich schon wieder was übersehen. Also ein AVR Dragon brauche ich wenn ich vernüftig debuggen will in jedem Fall? Liegt der Unterschied zu den teureren Varianten One!, JTAGICE3 nur in der Geschwindigkeit? Was wäre eine vernünftige Lösung für ca. 200,- bis 400,- euro? p.s.: ich habe mir hier die Einführungen angeschaut und beschäftige mich jetzt drei Tagen mit der Zusammenstellung der Entwicklungsumgebung, ist dass normal? (bei Windows CE war es ähnlich)
Harald Becker schrieb: > auf AVR festgelegt Die AT32* sind AVR32, die haben außer den Namen nichts mit den 8 Bit AVRs gemein.
Ok, ich meinte allgemein die Produkte von Atmel (AVR + AVR32) und habe mich falsch ausgedrückt. Ich werde mir jetz wohl ein STK600 + AVR Dragon besorgen und erstmal mit dem beiliegendem ATmega2560 anfangen. Das ist aber eine vernünftige Lösung, oder? Aufjedenfall schonmal ein großes dankeschön an die die mir hier geantwortet haben!
Harald Becker schrieb: > Ok, ich meinte allgemein die Produkte von Atmel (AVR + AVR32) und habe > mich falsch ausgedrückt. > Ich werde mir jetz wohl ein STK600 + AVR Dragon besorgen und erstmal mit > dem beiliegendem ATmega2560 anfangen. der 2560 hat kein USB... > Das ist aber eine vernünftige Lösung, oder? > Aufjedenfall schonmal ein großes dankeschön an die die mir hier > geantwortet haben!
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.