Forum: Mikrocontroller und Digitale Elektronik Auswahl eines Mikrocontrollers USB


von Robert G. (022etrg)


Lesenswert?

Hallo,

ich wollte mal hören was ihr so zu meinem Problem der letzten Tage zu
sagen habt. Ich habe vor drei Wochen ein Praktikum (Studium) angefangen
und habe die Aufgabe mir für das Thema einen Controller auszusuchen. Das
Ziel ist ein USB Datenlogger für analoge Signale bis 100KHz. Nun ist
mein eigentliches Problem, das mir der Einstieg in die
Mikrocontrollerwelt recht schweer fällt wobei ich keine so richtige
Herrangehensweise finde! Ja, und natürlich die Auswahl des Herstellers.
In der Firma werden oft PIC Controller verwendet. Dafür sind auch
vollständige Entwicklungsumgebungen (Software/Hardware) vorhanden.
Cypress, wiederum, ist in der Literatur und im Internet sehr gut
dokumentiert... Und von anderen Herstellern habe ich kaum Informationen
gefunden. Also, bin gespannt auf die Antworten. Und schon mal vielen
Dank!

von crazy horse (Gast)


Lesenswert?

wenn es prinzipiell möglich ist, die Aufgabe mit den in der Firma
benutzten MCs/vorhandenen Entwicklungsumgebung zu lösen, nimm die. Ich
kenne mich zwar nicht mit den PICs aus, und 100kHz sagen gar nichts
ohne die geforderte Bandbreite - aber nichts ist mehr wert, als
ordentliche Ausrüstung und Leute, die was davon verstehen und die man
fragen kann. Normalerweise rate ich niemandem zur Verwendung von PICs
(subjektiv, ich bin damit grandios gescheitert), aber in dem Fall
schon.

von Sven W. (svenw)


Lesenswert?

Um meine ersten Versuche mit USB zu machen habe ich mir das "USB
Experiment Interface Board" von Velleman als Bausatz beim großen C
geholt (35 EUR als Bausatz, 10 EUR mehr als Fertiggerät)
Das Teil arbeitet mit einem PIC16C745 und hat 5 digitale Eingänge, 8
digitale Ausgänge und 2 analoge Ein-/Ausgänge. Das Board hat auch
gleich ein paar Taster und LED´s mit drauf.

von Robert G. (022etrg)


Lesenswert?

Hui, das ging ja schnell mit der ersten Antwort.

Um es noch eine wenig genauer zu machen: An den Controller soll ein 16
Bit A/D Wandler betrieben werden. Dieser soll bei 4 Kanälen eine
Summenabtastrate von 100 kHz besitzen.
Worin lagen denn die Gründe für Dein scheitern mit den Pics? Welche Art
Controller verwendest Du jetzt?

von Robert G. (022etrg)


Lesenswert?

Ach so, noch etwas es soll nach der Spezifikation 2.0 entwickelt werden
und wenn ein PIC dann PIC18F2550 oder ...4550!

von crazy horse (Gast)


Lesenswert?

Ich komme aus der 8051-Welt (mit denen ich inzwischen gar nichts mehr
mache, obwohl sich da in letzter Zeit einiges getan hat und genausogut
oder sogar besser geeignet wären), bin jetzt AVR-Fan und verbaue die
auch gewerblich in 1000er Stückzahlen, ab und zu kommt in ein Projekt
auch ein ARM, aber eher selten. Ne Weile habe ich auch Motorola- und
TI-MCs verbaut, aber man kann nicht auf allen Hochzeiten tanzen. Lieber
weniges gut können als alles ein bisschen :-)

Zum Thema PIC: die passen nicht zu meiner Denkweise, ich hab die nie
wirklich kapiert. Auserdem gibts mir da viel zu viele :-)

von Jeremias G. (chronotype)


Lesenswert?

Hallo,

ich möchte über Pulsweitenmodulation gedimmte LEDs (der LED-Treiber ist
um nen NE555 aufgebaut) vom Mac via USB ansteuern.
Kann mir da jemand Hard- und Softwareseitig weiterhelfen?
Ich bräuchte einen Controllerchip, der an den Ausgangspins eine
definierte Spannung ausgibt, nicht nur 1/0. Das Ganze x8 für acht
LED-Kanäle, plus weitere Kanäle für andere Funktionen.
Und am Mac ordentlich programmierbar sollte der Controller sein.


Danke schon mal, und frohe Ostern!

von mr.chip (Gast)


Lesenswert?

> Worin lagen denn die Gründe für Dein scheitern mit den Pics? Welche
Art Controller verwendest Du jetzt?

Ein Vergleich diverser Mikrocontroller gibt's im Wiki:

http://www.mikrocontroller.net/articles/AVR_PIC_51-Vergleich

PICs werden im Allgemeinen nicht so gelobt, da ihr Konzept (RAM-Aufbau,
Befehlssatz, Produktpalette) nicht so durchgehend-logisch ist, wie z.B.
bei den AVRs. Es müssen also viele (komplizierte, unlogische) Details
gelernt werden, noch dazu für jeden Typ wieder neu.

Eine auf PIC eingespielte Umgebung (Ausrüstung & Mitarbeiter) ist aber
womöglich wesentlich wertvoller als die Vorteile anderer uC-Familien.
Auf der anderen Seite - nur auf technologisch fragwürdigen Teilen
sitzen zu bleiben, weil man einen Umstieg scheut, ist auch nicht gerade
das gelbe vom Ei...

von Andreas K. (phantast)


Lesenswert?

@ Jeremias Gromotka:

Da mir in dem Forum geholfen wurde, versuch ich das jetzt auch mal:

Soweit mir bekannt, werden LED nicht wie Glühlampen mit
unterschiedlicher Spannung betrieben, sondern mit PWM
(PulsWeitenModulation).

Das menschliche Auge erkennt den schnellen An-/Aus Wechsel nicht und
interpretiert das als unterschiedliche Leuchtintensität.

Etwas anderes würde denk ich auch gar nicht funktionieren, zumindest
nicht lange, denn LED schalten recht schlagartig ein, sobald die nötige
Einschaltspannung (0,7 Volt ?) überstiegen wird. Was sich dann noch an
weiterer Helligkeitsänderung tut, wenn du die Spannung
weiter erhöhst, schlägt sich sofort auf die Lebensdauer nieder.
(Sprich, das Ding raucht ab)

Ich hab neulich ein Datenblatt (das vom MCP1252, ein Spannungsregler)
in die Finger bekommen, da ist das sehr schön beschrieben.

Da steuert der Mikrocontroller per PWM den Spannungsstabilisierer an,
der wiederum die LED speist.

Damit hast du schon mal nicht mehr das Problem einen Controller mit
Analogausgang zu brauchen.

Die PWM mit einem gewöhnlichen Mikrocontroller umzusetzen sollte kein
Thema sein.


So, Punkt eins erledigt.


Was aber jedoch bei deine USB Hintergedanken betrifft, da solltest du
dir vielleicht ein gutes Buch gönnen.

Ich empfehle "USB 2.0" von Jan Axelson, das mittlerweile zu meiner
Bibel geworden ist.

Ich hatte zu Beginn meines eigenen Projektes USB völlig unterschätzt,
indem ich den Aufwand mit einer seriellen Schnittstelle gleichsetzte.

Glaub mir, das selbst zu programmieren war eine schlechte Idee, die ich
allerdings inzwischen gemeistert habe. Ich hab allerdings auch nicht den
kompletten Signalweg genommen, sondern
habe schon vorgefertigte Treiber (HID) von Windows genommen und habe
bei der Firmware noch eine brauchbare Vorlage gehabt, an die ich mich
halten konnte.

Es soll da womöglich fertig programmierte Chips geben, vielleicht sogar
noch mit den dazu nötigen Treibern / DLLs, ich kenne allerdings keine.

Bei mir war es ein 8051er Derivat von Atmel.

Wenn du nicht musst, dann lass es, denn andernfalls brauchst du
Durchhaltevermögen. (außer jemand anderes kennt was fertiges)

von Dietmar (Gast)


Lesenswert?

USB für Praktikum oder Studienanfang: Fette Sache! Meine Güte, ich habe
mit dem 8080 angefangen und Jahre mit 8085 und 8051 verbracht.

USB hat auch eine Homepage, ich glaube www.usb.com oder ähnlich, um die
Grundlagen und Anhaltspunkte zu USB zu finden.

Beschäftige mich seit einigen Monaten mit ARM7-Controllern, konkret den
Philips LPC2000-Serien mit CAN-Controller. Da sich 32 Bit gegenüber 8
Bit am Markt durchsetzen will, d.h. Philips möchte den 8 Bit Markt
platt machen, indem sie 32 Bit zum gleichen Preis anbieten, bietet sich
diese Serie doch an. Und ARM, zu finden unter www.arm.com, gewinnt zur
Zeit weltweit immer mehr Mikrocontroller-Hersteller zur Implementierung
ihres Kerns, ist also eine zukunftsträchtige Sache.

Philips bietet mit USB Controllern die Serie LPC2140, z.B. LPC2148, an.
Bei www.keil.com gibt es dazu die komplette
Software-Entwicklungsumgebung (C-Compiler, Oberfläche,
benutzerfreundlich) als Demo, limitiert auf 16 kByte Hex-Code, das ist
schon eine ganze Menge, um einiges auszuprobieren, damit habe ich
meinen kompletten CAN-Controller getestet. Ebenfalls ist bei Keil der
GNU-Compiler integriert, mit unbegrenzter Codegröße (aber nicht
debuggbar).

Zum Download der Demo-Software muß man sich dort registrieren, bekommt
dann den Download-Link, keine Werbung anschließend, also angenehm.

Übrigens, gibt es bei Keil und Hitex sehr umfangreiche
Anwendungs-Demo-Software zu USB und den Philips LPC2148-Controllern,
das hat mir beim CAN-Bus mehr als geholfen.

Der ARM-Controller läuft auf Anhieb, ist aber im Detail für erweiterte
Programmierung (Assembler, Kern-Programmierung) ein wenig
entwicklungsintensiv. Daran muß man sich zunächst aber nicht stören.

Gruß

Dietmar

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.