Forum: Mikrocontroller und Digitale Elektronik Empfehlung ATMEL-EK's?


von batty m. (battyman)


Lesenswert?

Hey Ho mal wieder von mir.

Mein letztes Projekt "LED's-(RGB)-Ansteuerung mittels C8051" hab ich im 
kleinen Laboraufbau fertiggestellt. Nachdem ich jede einzelne Farbe und 
resultierende Mischfarbe darstellen kann und diese in einer Blink-, 
Lauflicht-Funktion ebenfalls ausführbar sind wollte ich nun zum 
Feintuning übergehen. Dies besteht darin, dass ich die darstellbaren 
Mischfarben durch gezieltes Ansteuern per PWM erweitern möchte. Also 
durch gezieltes dimmen bzw. ausleuchten sanftere Übergänge und mehr 
darstellbare Farben erzeugen.
Für diesen Zweck hab ich mir nun überlegt vom älteren C8051 auf eine 
neuere Entwicklungsumgebung zu gehen.

Zum ANLIEGEN:
Hab mir nun drei verschiedene Boards in die engere Wahl genommen und 
würde gerne eure Meinung bzw. harte Infos bezüglich Für/Wider als 
Feedback bekommen.

a.) AT32UC3C-EK
b.) Atmel AVR STK600
c.) EVK1100

Was ich noch nicht so ganz verstehe ist, wenn ich ein Entwicklungsboard 
habe und auf dem meine gewünschten Datenverarbeitungen laufen, wie 
bekomme ich die dann auf einen Einzelnen µC, den ich dann in einen 
direkt selbst angefertigten Aufbau intergriere? Die Boards haben ja 
einen fest eingebauten Chip und kein Wechselhalter.

Gleiche Problem hatte ich auch bei meinem C8051-DK Board von SiLabs. Ich 
möchte nur ungern ein komplettes DK-/EK Board i-wo verbauen.

Vielen Dank im Voraus für eure Beiträge  ;-)

: Bearbeitet durch User
von Kaj (Gast)


Lesenswert?

Marcel M. schrieb:
> wie
> bekomme ich die dann auf einen Einzelnen µC

In deiner Schaltung führst du die Pins vom µC, die für ISP oder JTAG 
sind, auf Headerleisten. Dann nimmst du dir einen Programmer, z.B. das 
AVR-Dragon-Board, verbindest beides und bügelst so deinen Code auf den 
µC.
PC --> AVR-Dragon --> µC

Nur eine von mehreren Möglichkeiten.
Grüße

von Battyman (Gast)


Lesenswert?

Ah, ok.
Demnach könnt ich doch dann auch gleich mit Kablen vom EK-Board abgehen 
und den jungfräulichen µC direkt damit verbinden. Heißt, wenn ich dem 
EK-Board das draufspiele, wird just in Time auch der einzelne Chip 
beschrieben. Richtig oder, nix da weil geht so nicht?

Welches Board (von den dreien) würdet ihr denn bevorzugen???

Hatte ne Zeit lang auch das MK2-Plus in Augenschein genommen. Dies ist 
aber noch auf 8-Bit und nicht wie die anderen mit neuerem 32-Bit.

von batty m. (battyman)


Lesenswert?

Keiner eine Erfahrung zu den Boards oder ne Meinung?

von batty m. (battyman)


Lesenswert?

Hat auch keiner eine Kaufempfehlung dazu?

von Vision (Gast)


Lesenswert?

Ich kann nur sagen, wie das bei den 8Bit-Systemen ist, aber bei 32Bit 
sollte das ähnlich sein.

Bei ISP ist das so, dass sich der zu beschreibende uC in einer Schaltung 
befinden muss (heißt ja nicht umsonst InSystemProgramming). Der uC muss 
also schon eine Spannungsversorgung haben (jedenfalls bei meinem 
MK2-Programmer).

Du brauchst also eigentlich kein Board, sondern ein Programmer, wenn du 
die uC-Schaltung eh komplett selbst bauen willst. Das STK600 
beispielsweise ist zwar ein Board, wird aber in dem Fall als Programmer 
genutzt. Das heisst, du wählst in deiner Entwicklungsumgebung den 
Zielprozessor aus, schreibst für diesen dein Programm und wählst als 
Programmiergerät das STK600 aus. Das musst du dann nur noch per ISP mit 
deiner Schaltung verbinden und die IDE lädt das Hex-File über den 
Programmer auf deinen uC.

Ergo: Wenn du deine uC-Schaltungen komplett aufbaust und auf die Vorzüge 
eines Boards (beispielsweise zum Testen, ohne eine komplette Schaltung 
aufbauen zu müssen) verzichten kannst, brauchst du nur ein Programmer 
und kein Board)...

von batty m. (battyman)


Lesenswert?

Danke schön.

Also bei meinem letzten Projekt habe ich ein Development-Kit von SiLabs 
benutzt. Auf diesem Board waren zu 4+4 - I/O-Ports, ADC/DAC, Tempsensor, 
extern Speicher sowie Oszillator usw. mit drauf. Nun habe ich mir eine 
kleine Platine genommen verschiedenfarbige LED's samt Vorwiderstände und 
externer 12V Spannungsversorgung (eigenes Netzteil von 230V) drauf 
gebaut und mit kleinen Darlington-Transistoren verbunden 
(Masse-durchschleifend). Mittels 4 Flachbandkabeln habe ich das DK mit 
meinem Laboraufbau verbunden und Leuchtszenarien programmiert. Der 
Laboraufbau ist aber eigentlich ein Kleinmaßstab zu meiner 
Kfz-Kofferraumbeleuchtung. Um diese nun per µC anzusteuern brauch ich ja 
nur den µC in die schon vorhandene Schaltung integrieren und mit dem 
Programm zu bespielen. Würde ich jetzt das DK dort einfach zwischen 
hängen hätte ich ja nur die Digitalports in Benutzung und der Rest der 
Möglichkeiten ungenutzt.

Problem ist also, ich habe zu meist kleine Projekte im Kopf (step by 
Step), die während der Programmierphase eher bescheiden am Ort 
durchzuführen sind und würde die eben gerne am Schreibtisch erarbeiten 
und testen. Wenn die Programme so laufen wie ich es mir vorgestellt 
habe, möchte ich anschließend ein µC beschreiben und in eine zu meist 
vorhandene Schaltung intergrieren. Anschließend kann ich mit dem 
Komplett-Board wieder neue Sachen erlernen und ausprobieren. - DAS war 
so mein Gedanke, also eine mehr oder minder komplette 
Entwicklungsumgebung zum Probieren und Testen am Tisch im kleinen und 
wenn die Programme stimmig sind jungfreuliche µC's beschreiben und in 
ein "Groß"-Projekt (Schaltung) integrieren.

Gibt es eine kleine Platine mit aufgebrachten Wechselhalter, die ich 
dann mit einem leeren µC bestücke und diesen dann ans EK/DK-Board hänge 
um es dort drauf zu spielen???

Sorry für soviel Geschwafel, aber das wären meine Gedanken und deswegen 
viel die Wahl vorerst auf einer der Drei:
a.) AT32UC3C-EK
b.) Atmel AVR STK600
c.) EVK1100

Das MK2 hatte ich auch schon intensiver in Auge gefasst, da dies auch 
als Paket mit Handbüchern gibt. Jedoch weiß ich nicht so ganz ob ich bei 
8-Bit bleibe oder doch eher auf 32-Bit umsteige mit dem fernen Ziel zur 
Bedienung von Touch-Slidern (per Finger ziehen Lautstärke regulieren 
etc.)

von Vision (Gast)


Lesenswert?

Wie das beim STK600 läuft weiss ich nicht. Das STK500 hatte freie Sockel 
für alle möglichen AVRs in DIP-Gehäusen, in die man dann seinen uC 
einstecken konnte.

Ich habe mit einem einem selbst gebauten Board und MK2 angefangen. Wenn 
man erst einmal bei 8Bit bleibt kann man als Testboard auch gut einen 
Arduino nehmen. Das gibt es auch mit Mega328P DIL-uC, den du austauschen 
kannst.
Theoretisch prauchst du dann nicht mal einen Programmer, weil der uC 
einen Bootloader drauf hat und du die Hex-Datei direkt über den 
USB-Anschluss aufspielen kannst. Setzt aber voraus, dass alle uCs, die 
du benutzt, eben schon den Bootloader drauf haben. Da ist ein 
ISP-Programmer deutlich komfortabler...

Wenn du nicht sicher bist, ob du später 32Bit nehmen willst, besorg dir 
statt MK2 nen AVR-Dragon. Der ist für seine Ausstattung echt günstig und 
kann dann nicht nur ISP sondern auch JTAG, HV und Debugging und 
unterstützt auch 32Bit-uCs. Ist aber ein bisschen empfindlich gegenüber 
Überspannung...

von batty m. (battyman)


Lesenswert?

Jo vielen Dank. Nach deiner Aussage zum STK500 habe ich mich noch mal 
bei gemacht und im Bereich "Artikel" Einzelheiten zum STK600 eingeholt 
die ich auf der Atmel Seite nicht so einsehen konnte.

Die Entscheidung ist nun gefallen, es wird das STK600! Denn mit den 
Erweiterungs-Sockel-Boards sind die 8-Bit als auch die 32-Bit µC 
programmierbar und ich kann somit ein leeren µC einfach wechseln.

Danke!

von Martin e. C. (eduardo)


Lesenswert?

Vision schrieb:
> Wie das beim STK600 läuft weiss ich nicht. Das STK500 hatte freie Sockel
> für alle möglichen AVRs in DIP-Gehäusen, in die man dann seinen uC
> einstecken konnte.

Das STK600 ist eine verbesserter Vesion des STK500, unter aderen z.B. 
direkte anschluss an PC über USB, CAN on Board, Zif Sockel für µC in DIP 
Gehäuse usw. es ist ein Entwicklungsboard und Programmiertgerät.
Nachteil ist natürlich der Preis.

Wenn du µC in DIP Gehäuse programmieren willst muss du dazu das 
DIP-Package kaufen.

von Axel S. (a-za-z0-9)


Lesenswert?

Im Prinzip kommt man auch ohne DevKits oder EvalKits aus. Einfach den µC 
der Wahl kaufen, auf ein Steckbrett packen und ein bisschen Testhardware 
(Buttons. LEDs, etc) drum herum garnieren.

Was man auf jeden Fall braucht ist irgendeine Art Programmieradapter. 
Die Lösungen sind hier vielfältig. Von proprietären ISP-Lösungen (AVR 
ISP, PDI, TPI) über proprietäre Lösungen mit vielen Pins wo man das 
Target also am besten in eine Programmierfassung steckt hin zu halb- 
oder gar nicht proprietärem JTAG.

DK/EK bringen einen solchen Adapter typischerweise mit. Und oft kann man 
den dann auch extern nutzen. Also eine eigene Platine per Kabel zum 
programmieren/debuggen anschließen.

Viele DK/EK sind mit Hardware zugepflastert, weil sie eher als 
Marketinginstrument denn als Entwicklerprodukt angesehen werden. Diese 
Teile empfinde ich als Verschwendung.

Andererseits gibt es auch viele kleine Platinen, die nur den µC, Takt- 
und Reset-Versorgung und evtl. den Programmer enthalten. Z.B. die 
LPCXpresso von NXP. Das ist dann im Prinzip ein Breakout-Board für den 
Controller (den man so trotz LQFP Gehäuse aufs Steckbrett bringt) und 
abtrennbar ein JTAG Programmer/Debugger. So ist das sinnvoll.

Den Programmieradapter braucht man ja pro Zielplattform nur einmal. Und 
dann ist es nett, wenn das ein Platinchen in Briefmarkengröße ist und 
kein Trum wie das STK500.


XL

von batty m. (battyman)


Lesenswert?

Ähm...häää  ;-)

Also zum STK600 hab ich mir zzgl noch das SC03 ausgesucht. Wenn ich 
jetzt richtig bin sollte das ein Wechselhalter für die TQFP 100Pin Chips 
sein. Auf diesen lässt sich demnach auch der auf dem STK600er 
befindlcihen ATmega2560 (8-Bit) draufpacken, als auch ein AT32UC3 
(32-Bit). Damit könnte ich ja in (-Bit weiterhin arbeiten und in ferner 
Zukunft auch auf 32-Bit wechseln ohne die Entwicklungsumgebung tauchen 
zu müssen.

Ergo:
STK600 + STK600-SC03 wird es wohl werden. Bei den anderen zur Wahl 
stehenden wären zwar noch Display bzw Touch-Sensor mit bei gewesen, aber 
die sollte ich nachträglich ja auch noch an das STK600 verbinden können 
:-D

von Martin e. C. (eduardo)


Lesenswert?

Marcel M. schrieb:
> Auf diesen lässt sich demnach auch der auf dem STK600er
> befindlcihen ATmega2560

Der Atmega2560 dass, mit dem STK600 kommt lässt sich ohne weiteres am 
STK600 Programmieren, die "Kits" für DIP oder TQFP ist für µC in DIP 
oder TQFP Gehäuse.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Marcel M. schrieb:
> Auf diesen lässt sich demnach auch der auf dem STK600er befindlcihen
> ATmega2560 (8-Bit) draufpacken

Nein.  Der bereits im Kit befindliche STK600 weicht von der
normalerweise beim STK600 benutzten Konfiguration (ein "routing
board", obendrauf ein "socket board") dahingehend ab, dass er
als preiswerte Version ohne Fassung direkt mit dem Board auf den
STK600 montiert werden kann.  Der Chip ist da bereits aufgelötet.

Das ist gewissermaßen die "Starthilfe", damit du mit dem reinen
(ja nicht ganz billigen) STK600 direkt loslegen kannst, egal, welchen
Satz von Fassungen und Adapterkarten du dann endgültig nehmen willst.

von batty m. (battyman)


Lesenswert?

Sorry, ich denke ich hab mich nicht ganz verständlich ausgedrückt.
Das auf dem STK600 ein ATmega2560 schon fest-vorinstalliert ist war mir 
bewusst. Dass ich an diesem Programme schreiben und mit den vorhandenen 
Tastern und LED's testen kann auch. Ich habe nun für mich ein Programm 
fertig und will das, so wie es ist (also auch zugehörig zum Atmega2560) 
in meiner "Groß"-Anwendung intergrieren. Dann würde ich z.B. gleich 
einen weiteren ATmega2560 auf das Socket-Board stecken, dieses mit dem 
STK600 verbinden und dann das Programm überspielen.

Also ich habe nicht vorgehabt den vorhanden auszulöten und in das 
Socket-Board zu stecken.


Frage:
Da hier gerade von SC's und RC's geschrieben wird.
Hier im Bereich Artikel steht nur das STK600-TQFP100. Dieses wollte ich 
nun ja dazu beziehen, jedoch gibt es das so als Kit nicht mehr. Ich möge 
mir bitte ein RC und/oder SC aussuchen.

Was ist denn da nun was???
- das Socket-board ist demnach nur der µC-Halter(schwarzer 
Chip-Aufnehmer)
- das Routing-board ist dann demnach die grüne Platine auf der die 
einzelnen Leiterbahnen entsprechend für die Kontaktierung des STK600 
(dessen Kontaktplätzen) und dem gewünschten Socket-Board (in meinem Fall 
in TQFP100-Bauweise) platziert/angefertigt sind

Richtig???

Wenn ja, kann ich davon ausgehen dass zum SC03 (sollte das TQFP100 sein) 
auch ein RC03???
Ich habe folgende RC's zur Auswahl bekommen "RC06, RC02, RC12, RC05, 
RC17, RC09", doch leider kann ich die nicht finden.

Andersherum. War denn das STK600-TQFP100 ein voll KIT mit allen 
Routing-Cards und einer TQFP100-Socket-Card??? Denn im Artikel sind dazu 
recht viele µC's als unterstützt angegeben und bei Atmel sind die nun 
immer nur für ein einzigen. Ist dem so richtig???

Danke

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Marcel M. schrieb:

> - das Socket-board ist demnach nur der µC-Halter(schwarzer
> Chip-Aufnehmer)
> - das Routing-board ist dann demnach die grüne Platine auf der die
> einzelnen Leiterbahnen entsprechend für die Kontaktierung des STK600
> (dessen Kontaktplätzen) und dem gewünschten Socket-Board (in meinem Fall
> in TQFP100-Bauweise) platziert/angefertigt sind

Ja.

> Wenn ja, kann ich davon ausgehen dass zum SC03 (sollte das TQFP100 sein)
> auch ein RC03???

Nein, die RCs heißen anders.

Hier ist die Liste der RCs, wie ich sie mal ins AVRDUDE eingepflegt
habe (dienen dort nur der Statusanzeige):
1
static const struct carddata routing_cards[] =
2
{
3
  { 0x01, "STK600-RC020T-1" },
4
  { 0x03, "STK600-RC028T-3" },
5
  { 0x05, "STK600-RC040M-5" },
6
  { 0x08, "STK600-RC020T-8" },
7
  { 0x0A, "STK600-RC040M-4" },
8
  { 0x0C, "STK600-RC008T-2" },
9
  { 0x0D, "STK600-RC028M-6" },
10
  { 0x10, "STK600-RC064M-10" },
11
  { 0x11, "STK600-RC100M-11" },
12
  { 0x13, "STK600-RC100X-13" },
13
  { 0x15, "STK600-RC044X-15" },
14
  { 0x18, "STK600-RC100M-18" },
15
  { 0x19, "STK600-RCPWM-19" },
16
  { 0x1A, "STK600-RC064X-14" },
17
  { 0x1B, "STK600-RC032U-20" },
18
  { 0x1C, "STK600-RC014T-12" },
19
  { 0x1E, "STK600-RC064U-17" },
20
  { 0x1F, "STK600-RCuC3B0-21" },
21
  { 0x20, "STK600-RCPWM-22" },
22
  { 0x21, "STK600-RC020T-23" },
23
  { 0x22, "STK600-RC044M-24" },
24
  { 0x23, "STK600-RC044U-25" },
25
  { 0x24, "STK600-RCPWM-26" },
26
  { 0x25, "STK600-RCuC3B48-27" },
27
  { 0x27, "STK600-RC032M-29" },
28
  { 0x28, "STK600-RC044M-30" },
29
  { 0x29, "STK600-RC044M-31" },
30
  { 0x2A, "STK600-RC014T-42" },
31
  { 0x2B, "STK600-RC020T-43" },
32
  { 0x30, "STK600-RCUC3A144-32" },
33
  { 0x34, "STK600-RCUC3L0-34" },
34
  { 0x38, "STK600-RCUC3C0-36" },
35
  { 0x3B, "STK600-RCUC3C0-37" },
36
  { 0x3E, "STK600-RCUC3A144-33" },
37
  { 0x46, "STK600-RCuC3A100-28" },
38
  { 0x55, "STK600-RC064M-9" },
39
  { 0x88, "STK600-RCUC3C1-38" },
40
  { 0x8B, "STK600-RCUC3C1-39" },
41
  { 0xA0, "STK600-RC008T-7" },
42
  { 0xB8, "STK600-RCUC3C2-40" },
43
  { 0xBB, "STK600-RCUC3C2-41" },
44
};

Das war mal aus den XML-Dateien extrahiert, noch zu AVR-Studio-4-Zeiten.
Könnten also inzwischen weitere hinzu gekommen sein.

Für den ATmega2560 brauchst du die "STK600-RC100M-11" (habe ich mir
zumindest auf meine drauf geschrieben ;-).

> Andersherum. War denn das STK600-TQFP100 ein voll KIT mit allen
> Routing-Cards und einer TQFP100-Socket-Card?

Ja, so war es.

Wie das jetzt verkauft wird, hab' ich keine Ahnung.

von batty m. (battyman)


Lesenswert?

Alles klar. So langsam wird es ja doch mit mir  :-D  ...Dank an euch!

Werd wohl demnach das:
- SC03
- RC100M-11 (auch für einen ATmega2560)
- RC100M-18 (für weitere mega-Baureihen)
- RC100X-13 (vllt. Probe mit der xmega-Baureihe)
- RCuC3C1-38 (für die besseren/letzten 100-Pin 32-Bits Chip)

nehmen, also zzgl. zum STK600  ;-)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Marcel M. schrieb:

> - RC100M-18 (für weitere mega-Baureihen)

Brauchste nicht.  Das ist für die ATmega6490 und so.  Ziemliche
Exoten heutzutage.

von battyman (Gast)


Lesenswert?

Aha, ok. Dank dir

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.