Hallo Zusammen! Ich benötige für ein Projekt einen Mikrocontroller mit bestimmten Anforderungen und möchte daher die Erfahreneren hier nach ihrer Meinung fragen, vielleicht habt ihr eine Empfehlung?! Gegoogelt habe ich schon, aber bei der Vielzahl der existierenden Controller verliert man schnell den Überblick. Folgende Kriterien sollte der µC erfüllen: - Geringe Stromaufnahme: µA - ca. 3 mA - eine (besser 2) CAN- Schnittstelle(n) - 16 differentielle ADC- Kanäle, Auflösung >= 12 bit - Speicher > 128k - evtl. 32-bitter, da darauf ein (komplexerer) Algorhytmus implementiert werden soll. - Taktfrequenz >= 20MHz Ich weiss, dass es einen Controller so wohl erstmal nicht geben wird, aber das hier ist auch mehr eine Wunschliste. Abstriche werde ich wohl machen müssen, versuche aber das Optimum zu erreichen. Generell wäre z.B. auch ein externer ADC möglich. Hersteller ist erstmal nebensächlich. Also, wenn jemand von euch spontan eine Eingebung hat, soll er mich sie bitte wissen lassen :-) Vielen Dank und Gruß
> evtl. 32-bitter, da darauf ein (komplexerer) Algorhytmus > implementiert werden soll. Ob 32 Bit sein müssen oder nicht, kommt darauf an, was du machen willst. Wenn für die Berechnung 100ms Zeit ist, reicht auch ein kleiner 8-Bit µC. Wenn die in 10µs fertig sein muss, wirds auch mit einem 32er knapp. Da bleibt also noch die Frage: Was ist die Aufgabe des µC? Was soll da berechnet werden? Integer oder Fließkomma? > 16 differentielle ADC- Kanäle mit > Auflösung >= 12 bit Hat meines Wissens kein uC. Da ist ein externer ADC angesagt. Wie schnell muß der sein? > Geringe Stromaufnahme: µA - ca. 3 mA 32 Bit und 2xCAN mit 3mA? Das wird schwierig bis unmöglich.
Mit 16 ADC's wird es schwierig, da würde ich dir lieber externe SPI ADC's empfehlen, die du mit einem x4 Muxer für Chip Select ansteuerst. Sonst wurden vorgestern auf dem Seminar interessante 32-Bitler vorgestellt: http://www.luminarymicro.com/products/product_selector_guide.html
16 ADC-Kanäle in 12 Bit ist keine Problem, unter den ADuC7000 gibt es das, differentielle Messung auch, aber nicht in Form von 16 paarweisen Eingängen. Allerdings: 20MHz (wenn damit MIPS gemeint sind) und 3mA - das wird interessant.
> - Geringe Stromaufnahme: µA - ca. 3 mA Im Sleep vieleicht aber nicht wenn der µC noch Messen & Rechnen soll + Datenübertragung. > - 16 differentielle ADC- Kanäle, Auflösung >= 12 bit Würd ich jetz mal behaupten gibts so nicht im µC. Mein Vorschlag wäre ein µC von Freescale aus der MCF5221X-Serie (MCF52211 or MCF52213) die mir jetz spontan einfallen. Die haben allerdings kein CAN sonder USB On The Go dafür 8 Channel 12-Bit ADC, so hast du schon mal 4 differenzielle 12-Bit ADCs. Das könnte man mit Multiplexern ja erweitern, jedoch steigt die Messzeit an. Link: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MCF5221X&webpageId=1113331549638725695448&nodeId=0162468rH3YTLC00M95448&fromPage=tax Wenn es unbedingt CAN (CAN schneller als USB ?) sein muss oder du Schnelle Messwerterfassung und Berechnung brauchst würd ich auf externen ADCs zurückgreifen dann hast du eine große Auswahl an µC die du verwenden kannst. Gruß Yob.
(OT): http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MCF5221X&webpageId=1113331549638725695448&nodeId=0162468rH3YTLC00M95448&fromPage=tax Dass man für solche Fotos wie im Header der Seite solch ungepflegte Finger fotografiert. Mein Kefir wollte gerad raus... @ Rene B: Wie sieht es eigentlich bei den µC's mit Entwicklungsumgebungen und Debugging-Möglichkeiten aus, sind die Tools bezahlbar?
Das kann ich dir leider nicht genau sagen, da ich selbst mit den Typen von Freescale noch nicht gearbeitet habe. Ich nutze der Zeit noch PIC aber suche schon eine ganze Weile nach einem Ersatz für eigene Lernzwecke, da ich noch am Anfang stehe. Da müsstest du dich selbst mal etwas dazu belesen. Link: http://www.freescale.com/webapp/sps/site/overview.jsp?nodeId=0127262E703BC5 Du wirst hier im Forum aber kaum jemanden finden der diese µC programmiert, leider. Hatte mir auch schon überlegt da mal was in Angriff zunehmen, in Form von Artikel schreiben aber bis jetzt fehlt einfach die Zeit dazu. Die µC von Analog Devices sind ja schon heavy was ADC+µC angeht, find ich und billig sind die auch mit umgerechnet ca. 9,-€ pro Stück (keine 1000Stk Abnahme).
Wieviel Geld willst Du in Entwicklungsumgebungen investieren und wieviel Zeit in die Einarbeitung? Professionelle oder Private Entwicklung? Bei den Luminary Micro oder STM32 von ST kannste einen GCC benutzen (viel Einarbeitungszeit - kaum Kosten [evtl. 60-400 Euro für JTAG-Adapter]) oder die Keil IDE benutzen (ca. 2000 Euro (IDE) + 60-400 Euro für JTAG-Adapter - weniger Einarbeitungszeit, dafür teurer). Bei dem ADC musst Du dir Gedanken machen, wie Du überhaupt >=12bit rausholen kannst. Wenn ein Fehler beim Layout gemacht wird oder die Schaltung per Schaltregler versorgt werden soll, dann wirds damit relativ schwer. >- Speicher > 128k Flash oder RAM oder beides? Flash geht bei denen bis 256k RAM ist wesentlich weniger vorhanden! Die Stromaufnahme würde ich jetzt als unrealistisch bezeichnen. Allerdings können die Controller ein paar nette POWER DOWN Funktionen. Wenn das Teil nur alle 10 Sekunden was rechnen muss, dann könnte das evtl. auf den Zeitraum bezogen mit wenig Strom klappen (also für ca. 1 Sekunde Vollgas und dann den Rest im Tiefschlaf Modus...). Dabei ist dann zu klären, wieviel Milliamperestunden oder Wattstunden Kapazität verbraten werden dürfen. Wenn die Versorgung nur max. 3 mA liefert, dann siehts finster aus! Akkubetrieb?
Vielen Dank für eure Antworten bisher...ich hatte ein paar Tage unterwegs und hatte keinen Internet-Zugang, deswegen melde ich mich jetzt erst wieder. Ich denke, ich muß zum Verwendungszweck mal etwas ausholen: Das Ganze ist keine private Entwicklung, aber auch kein Serienprodukt, es wird im Prinzip ein Einzelstück. Was die Stromaufnahme angeht ist im Wesentlichen der gemittelte Strombedarf wichtig - bei CAN- Aktivität oder für Berechnungen kann er höher sein, sollte jedoch im mittel die 3mA nicht überschreiten. Ja, ich weiß, kommt drauf an, wie oft der µC was machen soll. Folgendes ist die Aufgabe des µC im Groben: An den Controller (bzw. den externen ADC) sollen Sensoren angeschlossen werden. Bei Überschreiten eines Spannungswertes einer der Sensoren soll der µC aufwachen und alle Sensoren einlesen und ihre Werte verarbeiten. Danach soll er sich wieder schlafen legen. Das Problem ist: Wie kann ich diese Schwelle erkennen? Entweder ich lasse einen µC mit geringem Stromverbrauch permanent die Daten mit dem ADC einlesen (da könnte ich mir vorstellen, dass es schwierig wird mit meinem gewünschten Stromverbrauch hinzukommen), oder ich finde eine Möglichkeit bei erreichen einer Schwelle den µC aufzuwecken und dann die Sensoren zu samplen. Da bräuchte man dann sowas wie einen "progrqammierbaren" ADC, dem man eine Schwelle vorgeben kann, ab der er über eine INT-Leitung den µC aufweckt und dieser die Daten des ADCs einlesen kann. Gibt es sowas? Eine andere Möglichkeit wäre die Detektion der Schwelle über einen Komparator - aber wie siehts da aus mit dem Stromverbrauch? Für die Auswertung der Sensordaten steht eigentlich genügend Zeit zur Verfügung, von daher ist die Geschwindigkeit eher zweitrangig. Wichtig ist nur, dass dem µC nachher alle Samples der Sensoren zur Verfügung stehen. Die Sensoren liefern niederfrequente Signale (unterer kHz- Bereich). Das Hauptproblem ist also: Wie wecke ich bei permanent niedrigem Stromverbrauch einen µC rechtzeitig auf um möglichst alle Samples der Sensoren einlesen zu können, ohne viel am Anfang zu verpassen?! Hoffe, dass sind genug Details, viel genauer kann (darf) ich leider nicht werden. Vielen Dank und viele Grüße
Wie wäre es deine externen analogen Daten über eine OP-Schaltung zu schicken, Komparator. Und genau der löst einen Int aus. Mit Summierer wird es wohl nix, werden 16 Komparatoren sein. Hochohmig aufbauen geht ja. MW
die Idee finde ich im Prinzip gut. Aber ich bräuchte dann ja für jeden ADC-Kanal einen Komparator, oder kann ich auch einen Komparator paralell zu allen ADC-Kanälen anschliessen (hochohmig) und wenn einer die Schwelle überschreitet den µC aufwecken? Oder hast du das gemeint?
Eigentlich müsste es gehen, analoge Spannungen über Dioden zusammenzufassen, danach einen Int auslösen und dann erst die Werte scannen. MW
aber wenn ich die Spannungen über Dioden zusammenfasse, muss doch die Spannung vom Sensor > der Durchbruchspannung der Dioden sein, oder? Ich müsste aber schon Spannungspegel ab 50mV messen. Oder hab ich da einen Denkfehler?
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.