Forum: Mikrocontroller und Digitale Elektronik PIC Prifi gesucht : Suche gleichwertige PIC uC zu ATMEL atmega32u4 und at90usb1287


von WilliWillsWissen (Gast)


Lesenswert?

Hallo PIC Profis,

leider habe ich noch nie mit PIC Mikrocontrollern gearbeitet, möchte 
dies aber tun.

Ich hätte gerne zwei PICs die im Leistungsumpfang wie ATmega32U4 (USB) 
und AT90USB1287 (USB OTG).

Summary (ca. 30 Seiten)
http://www.atmel.com/dyn/resources/prod_documents/7593S.pdf
http://www.atmel.com/dyn/resources/prod_documents/7766S.pdf

Datasheet (... mehr Infos)
http://www.atmel.com/dyn/resources/prod_documents/doc7766.pdf
http://www.atmel.com/dyn/resources/prod_documents/doc7593.pdf

Nun habe ich bei Microchip geschaut und wurde von der Fülle und 
unübersichtlichkeit des Angebots etwas erschlagen. Da wäre die PIC18F 
Serie mit USB2.0 und PIC24F mit USB2.0 und OTG aber auch 32 Bit 
Mikrocontroller werden angeboten. Suche ich hier schon an der richtigen 
Stelle ?

-Für den kleinen ATmega32u4 vielleicht der PIC18F4450 oder doch ein 
16Bit
PIC24FJ32GB004 ?
-Für den AT90USB1287 vielleicht den PIC24FJ64GB110 ?

Vielleicht gibt es einen Profi der sich hiermit schon mal 
auseinandergesetzt hat und seine Erfahrungen posten kann ?

Danke im Voraus

von Ein (Gast)


Lesenswert?

Es ist ja die Frage: SMD-Löten ist gewollt? Welche Entwicklungsumgebung?

Ansonsten würde ich die Seiten von Sprut empfehlen.

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

WilliWillsWissen schrieb:
> -Für den kleinen ATmega32u4 vielleicht der PIC18F4450 oder doch ein
> 16Bit
> PIC24FJ32GB004 ?
> -Für den AT90USB1287 vielleicht den PIC24FJ64GB110 ?
>
> Vielleicht gibt es einen Profi der sich hiermit schon mal
> auseinandergesetzt hat und seine Erfahrungen posten kann ?

Von der Ausstattung passt das durchaus, allerdings wenn es um USB geht, 
bevorzuge ich definitiv die Atmel-Controller aufgrund des besseren 
USB-Stacks (LUFA). Ein Projekt mit einem PIC24FJ256GB106 hat da 
gereicht, ein AT90USB1287 gefiel mir mit LUFA da wesentlich besser.

von WilliWillsWissen (Gast)


Lesenswert?

Zu : Ein (Gast)

Ja SMD Löten ist ok, und von der Entwicklungsumgebung würde ich mich, 
falls vorhanden, bei Reichelt einkleiden. Da ich den PIC aber noch nicht 
kenne/ausgewählt habe, kann ich nicht eine eine Umgebung verweisen.

Ja Sprut ist ne schöne Seite, aber auch da steht wirklich alles drin. 
Für einen Anfänger im PIC Bereich recht viel.

Gruß

von WilliWillsWissen (Gast)


Lesenswert?

Zu : Christoph Budelmann (Firma: Budelmann Elektronik)

Najo dann probiere ich es mal so aus. Kannst Du mir noch verraten welche 
Entwicklungsumgebung Du nehmen würdest.

Gruß

von Frank K. (fchk)


Lesenswert?

WilliWillsWissen schrieb:
> Hallo PIC Profis,
>
> leider habe ich noch nie mit PIC Mikrocontrollern gearbeitet, möchte
> dies aber tun.
>
> Ich hätte gerne zwei PICs die im Leistungsumpfang wie ATmega32U4 (USB)
> und AT90USB1287 (USB OTG).

Hmm. Das ist schwierig.

Die PIC18 können verhältnismäßig viel Flash ansteuern, sind aber von 
ihrer Architektur her unverrückbar auf 3968 Byte RAM (4k minus 128 Byte 
oder 31 128 Byte Pages) festgelegt. Brauchst Du mehr RAM oder mehr als 
128 Byte am Stück, ist PIC18 die falsche Architektur für Dich.

Die PIC18 können mit 40 MHz betrieben werden, aber ein Maschinenzyklus 
sind immer 4 Quarztakte. Also ist es in der Realität genauso wie ein AVR 
mit 10 MHz. Die Architektur ist grausam.

Der PIC24 ist in etwa wie ein AVR mit 16 Bit Registern, ohne die 
Einschränkungen der 8-Bitter. Dann gibts noch PIC24H mit etwas mehr 
Leistung. Die dsPIC30/33 sind PIC24/24H mit DSP-Erweiterungen.

Das erstmal so als Orientierungshilfe. Such Dir erstmal eine Architektur 
aus und wähle dann innerhalb der Architektur den konkreten Typ mit der 
benötigten Peripherie.

Standard als Entwicklungsumgebung ist MPLAB plus C-Compiler von 
Microchip plus ICD3 Programmer/Debugger. Das schöne ist, dass die PICs 
nur zwei Pins zum Programmieren und Debuggen brauchen.

fchk

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

WilliWillsWissen schrieb:
> Zu : Christoph Budelmann (Firma: Budelmann Elektronik)
>
> Najo dann probiere ich es mal so aus. Kannst Du mir noch verraten welche
> Entwicklungsumgebung Du nehmen würdest.

MPLAB mit dem C30 Compiler habe ich verwendet. Für die AVRs halt WinAVR 
(dafür sind auch die LUFA-Projekte gemacht) und eventuell AVR-Studio als 
IDE.

von Jens (Gast)


Lesenswert?

@ WWW

Nimm ein PIC-Kit3, das ist Programmer und Debugger in einem. Preislich 
noch im Rahmen und es gibt auch Starterkits für den PIC18 oder PIC24 mit 
PK3. Reichelt hat da recht große Auswahl. Ansonsten bei Microchip direkt 
mal schauen. Vom PIC32 würde ich abraten, das ist kein PIC im 
eigentlichen Sinne (von der Philosophie her) sondern eher ein ARM und 
nur im großen TQFP lieferbar. Als Entwicklungsumgebung wäre MPLAB das 
Mittel der Wahl, kombiniert mit C18 oder C30 als C-Compiler.

Viel Erfolg.

von WilliWillsWissen (Gast)


Lesenswert?

Zu Jens (Gast)

Jo den PIC32 hab ich och gesehen und den gibt es relativ günstig bei 
Reichelt, aber ja ich dachte mir auch, dass ich damit meine Ziele aus 
dem Auge verliere und übers Ziel hinaus schiesse.

Gruß

von zocc (Gast)


Lesenswert?

Was spricht dagegen, bei Microchip die parameterische Suche anzuwerfen 
und die Daten zu vergleichen ?

von Lehrmann M. (ubimbo)


Lesenswert?

Frank K. schrieb:
> Die PIC18 können mit 40 MHz betrieben werden, aber ein Maschinenzyklus
> sind immer 4 Quarztakte. Also ist es in der Realität genauso wie ein AVR
> mit 10 MHz. Die Architektur ist grausam.

Das kann ich so nicht bestätigen. Mit der internen PLLx4 erreicht man 
FOsc*4 = max. 96 MHz.
Ich möchte bezweifeln, dass das beim AVR anderst ist. Meines Wissens 
nach ist das der Von-Neumann-Zyklus und der besteht aus 4 Schritten:
   1. FETCH
   2. DECODE
   3. FETCH OPERANDS
   4. EXECUTE
Dass ein AVR (und jeder andere Microcontroller) mit nur einem Schritt zu 
Recht kommt wage ich an dieser Steller ernsthaft zu bezweifeln. Ich 
glaube auch nicht, dass die Hersteller so dermaßen schlafen, dass ein 
Hersteller dem anderen um den Faktor 4 in Sachen Geschwindigkeit vorraus 
ist. Das halte ich für Halbwissen. Gerade bei einem solch hart 
umkämpften Markt ist sowas inakzeptabel.

Ob die Architektur nun grausam ist oder nicht ist reine Geschmackssache. 
Gleiches gilt für die Entwicklungsumgebung.

Von Microchip gibt es ein (gewöhnugsbedürftiges Tool) zur 
Produktauswahl:
http://www.microchip.com/productselector/MCUProductSelector.html

Man beachte, dass die Betriebsspannungs-Trackbar ziemlich großen 
Einfluss auf die Angezeigte Auswahl hat. Mit dieser etwas herumspielen.

von WilliWillsWissen (Gast)


Lesenswert?

Zu : Lehrmann Michael (ubimbo)

Der Produktselector ist ist wirklich gut um Peripherie zu vergleichen. 
Etwas aufpassen bei der Auswahl der Spannung etc. und es spuckt die 
wesentlich übersichtlichere Tabelle aus.

Danke

von Master S. (snowman)


Lesenswert?

> PLLx4 erreicht man FOsc*4 = max. 96 MHz
ich weiss ja selbst, dass die PICs brutal viel mitmachen, aber das 
bezweifle ich mal: laut spezifikationen gehen PIC18 bis 40 resp. 48MHz, 
und PIC24F bis 64MHz und die PIC24H bis 80MHz (PIC24H haben kein USB).

zurück zum thema: wenn du zum ersten mal mit mikrokontroller arbeitest, 
würde ich dir zu den PIC18 raten, ansonsten zu den PIC24
PICkit3 ist günstig, aber auch langsamer (vor allem, wenn man 16bit-uC 
programmieren will), ICD2 ist veraltet (nicht mehr kaufen) und ICD3 ist 
genial, hat aber auch seinen preis.

von Michael H. (morph1)


Lesenswert?

Kein PIC24F geht bis 64MHz.

Die neuen PIC24FJ256GB210 hab ich zwar bereits mal dorthin übertaktet, 
dann spielt aber USB nicht mehr mit.

Offiziell und nach seinen Anforderungen ist bei 32Mhz (16Mips) Schluss. 
Intern gibts einen Oszillatorpfad mit 96Mhz, aber an die kommt man 
sowieso nicht ran.

Und 120€ (+Ust) für ein ICD3 find ich nicht teuer, vorallem wenn man die 
Vorteile gegenüber dem PICKIT bedenkt.

von Arc N. (arc)


Lesenswert?

Lehrmann Michael schrieb:
> Frank K. schrieb:
>> Die PIC18 können mit 40 MHz betrieben werden, aber ein Maschinenzyklus
>> sind immer 4 Quarztakte. Also ist es in der Realität genauso wie ein AVR
>> mit 10 MHz. Die Architektur ist grausam.
>
> Das kann ich so nicht bestätigen. Mit der internen PLLx4 erreicht man
> FOsc*4 = max. 96 MHz.
> Ich möchte bezweifeln, dass das beim AVR anderst ist. Meines Wissens
> nach ist das der Von-Neumann-Zyklus und der besteht aus 4 Schritten:
>    1. FETCH
>    2. DECODE
>    3. FETCH OPERANDS
>    4. EXECUTE
> Dass ein AVR (und jeder andere Microcontroller) mit nur einem Schritt zu
> Recht kommt wage ich an dieser Steller ernsthaft zu bezweifeln. Ich
> glaube auch nicht, dass die Hersteller so dermaßen schlafen, dass ein
> Hersteller dem anderen um den Faktor 4 in Sachen Geschwindigkeit vorraus
> ist. Das halte ich für Halbwissen. Gerade bei einem solch hart
> umkämpften Markt ist sowas inakzeptabel.

Der AVR holt während der Ausführung eines Befehls zeitgleich den 
nächsten (simple zweistufige Pipeline).
Bei den alten PICs ist dies nicht der Fall. Erst die neueren PIC24, 
dsPIC und PIC32 (MIPS32 M4k vergleichbar mit AVR32 oder div. ARMs) 
machen es besser (und sind wesentlich besser in Assembler 
programmierbar, als die Vorgänger oder die 8-Bit AVRs)

> Ob die Architektur nun grausam ist oder nicht ist reine Geschmackssache.

Nein, es macht das Debugging oder das Schreiben von zeitkritischen 
Sachen erheblich einfacher.

Zum Thema:
Nimm den PIC24FJ32GB004 und den PIC24FJ128GB110 als Ersatz.

von Master S. (snowman)


Lesenswert?

@Michael H.
> Kein PIC24F geht bis 64MHz.
stimmt! mein fehler, habe einfach die MIPS-zahl mit 4 multipliziert 
anstatt mit 2

also: PIC24F 32MHz (16MIPS) und PIC24H 80MHz (40MIPS)

von WilliWillsWissen (Gast)


Lesenswert?

Vielen Dank an alle ! Sachlich, informativ und schnell, danke nochmal.

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.