Upps, ich bin bisher eigentlich ganz zufrieden mit den Pic's, was ist denn so der Grund, daß man die Teile evtl. nicht nutzen sollte? Ich komme eigentlich bisher bestens klar.
Sicher nicht. Aber wenn du das jetzt (nur) aus der Tatsache schliesst, das er ein 8051-Fan ist, halte ich das für, hmm, ziemlich gewagt. Ich würde die von Markus erwähnte Aussage da auch nicht überbewerten, da sowas immer "unterwegs" verfälscht worden sein kann, wenn man nicht selber dabei war. BTW: Da besagter Prof nach meiner Zeit an die FH gekommen ist, habe ich ihn nie kennen gelernt, aber nach allem was man so hört ist eher das Gegenteil der Fall und man ist auch sonst bestens mit ihm zufrieden.
Hast du sie schon mal in Assembler programmiert? Soweit ich das in Erinnerung habe war der PIC-Assembler subjektiv schlimmer als der gute alte 6502 :-)
Die andere Anwendung sind schnelle Regelschleifen, bei denen alles unter ein paar zig MHz einfach zu langsam waere. Da drin wird oft keine grosse Arithmetik bewaeltigt, aber es darf kaum Latenz auftreten oder die Chose wird instabil. PID laesst gruessen.
Pilot zu Co-Pilot: "Wieso fliegen denn jetzt Saatkartoffeln ueber die Cockpit Scheibe?" "Wir hatten das Ende der Landebahn erreicht, aber der Prozessor fuer's ABS war noch nicht fertig."
Klar, jetzt wird jemand kommen und sagen, das macht man doch mit DSP. Aber wenn die $10+ fuer einen entsprechenden DSP nicht im BOM Budget sind, muss eben ein schneller uC her.
Der Befehlssatz ist weder Hochsprachen-optimiert, noch in Assembler sonderlich handlich: Bindung vieler Befehle an bestimmte Register, keine vernünftigen Bitmanipulationsbefehle, kaum Adressierungsarten, die kleinen Baureihen können noch nicht mal multiplizieren. Da hat jemand RISC zu sehr übertrieben...
Die verschiedenen PIC-Familien benutzen nicht vollständig kompatible Befehlssätze, wodurch Assembler-Programme nur sehr schlecht skalieren.
Ausserdem hinkte die Peripherieausstattung im Vergleich zur Konkurrenz lange hinterher (scheint sich aber mit den neueren Typen wieder etwas gebessert zu haben).
So aus dem Gedächtnis, ich habe bestimmt noch einiges vergessen...
Also PIC würde ich eher mit einem 8051 als dem 6502 vergleichen. Mein Gott, der hat neben Akku noch ein X und ein Y Register. Da kommen einem die Tränen, wenn man zur Abwechselung mal solch einen Komfort geboten bekommt;)
Man könnte sagen "Champagner schmeckt auch anders als Brackwasser mit Ahoibrause"...
Der 68HC05 ist 6502 sehr ähnlich, aber nur X-Register, weniger Addressierungsarten. Trotzdem nicht viel langsamer: beide sind von Neumann, man kann Code im RAM ausführen. Und hat damit per selbstmodifizierendem Code einige Möglichkeiten bezüglich Nachbildung exotischer Adressierungsarten. Bei simplen Harvard-Maschinen wie PIC und 8051 hat man die Option nicht.
">>Upps, ich bin bisher eigentlich ganz zufrieden mit den Pic's,
... zum Beispiel Dir mal die aktuellen PIC18Fxxxx-Typen anzusehen. Deine Argumente treffen nur ältere Modelle, die damals aber im Vergleich mit dem Wettbewerb außerordentlich gut aussahen.
Ich kann bei den aktuellen PICs keine echten Nachteile entdecken. Zur Zeit arbeite ich mit MPLAB und ICD2 an einem Programm mit ca. 20.000 Assembler-Befehlszeilen. Ich kann nicht behaupten, im Befehlssatz viel zu vermissen oder die Übersicht verloren zu haben. Auch benutze ich Befehlssequenzen, die vor vielen Jahren für (heute) ältere PICs entstanden sind. Mit anderen Familien hätte ich da wohl mehr Probleme.
Bei den PIC's schreckt mich die Typenvielfalt ab. Da scheint es ja hunderte verschiedenen Typen zu geben. Die können nicht alle dauerhaft lieferbar sein, früher oder später werden die weniger stark nachgefragten Typen abgekündigt werden. Pech gehabt, wenn du gerade so einen für dein Produkt ausgewählt hast.
Nicht umsonst stand da der Satz "scheint sich aber mit den neueren Typen wieder etwas gebessert zu haben". ^_-
Der Befehlssatz ist aber immer noch ärmlich. Die Akkumulator- zentrierte Architektur ist veraltet, und für Hochsprachen fehlt insbesondere indirekte Adressierung mit Displacement.
Überhaupt nicht!
Der Befehlssatz der frühen PICs ist eine Krankheit, und sieht (wie schon von anderen angemerkt) selbst im Vergleich zu 70er Jahre- Klassikern wie dem 65xx alt aus. Selbst der vielverspottete 8051 konnte im Gegensatz zum PIC multiplizieren, besass ein wesentlich effektiveres Interrupt-Handling mit einem vollwertigen Stack und umschaltbaren Registersätzen, und schöne Bitmanipulationsbefehle.
Und bei der Peripherie bot die Konkurrenz (insbesondere in der 8051- Familie) schon in den 80er Jahren eine Vielfalt, von der die PICs viele Jahre später nur träumen konnten.
Wer die (frühen) PICs toll fand, war nur zu faul zum suchen. :-P
Nunja... der PIC-Urahn 1600/1650 stammt theoretisch zwar aus dieser Zeit, hatte aber noch nicht viel mit dem zu tun, was von Microchip später erfolgreich vermarktet wurde. Soweit zu ergoogeln ist, war das damals lediglich eine Art intelligenter Peripheriebaustein mit spartanischer Ausstattung und ROM.
Die PICs, von denen wir hier sprechen, also die vollwertigen, frei programmierbaren Microcontroller aus der Produktlinie der Firma Microchip, sind eine Entwicklung von Anfang der 90er Jahre.
Bitte? Der 8051 ist von 1980, war schon 10 Jahre auf dem Markt, als die Microchip-PICs ihren Siegeszug antraten.
Nö, die 87xx sind deutlich älter.
Ich habe sie zu der Zeit kennengelernt, als sie populär wurden, also in den 90ern. Und zu der Zeit gab es definitiv bereits Besseres von anderen Herstellern.
Was waren denn Deine Alternativen zum PIC16C54 oder (etwas später) PIC16C72, die ähnlich gut zu bekommen waren, nicht mehr Platinenplatz benötigten und heute immer noch angeboten werden?
"Martin Konopka" schrieb im Newsbeitrag news:evkt4r$mo7$ snipped-for-privacy@online.de...
MC68HC711E9
Das war einfach.
--
Manfred Winterhoff, reply-to invalid, use mawin at gmx dot net
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
Der 6502 war doch eigentlich simpel?! Es ist zwar lange her, aber mit dem Ding habe ich damals in Assembler recht problemlos meine (zugegeben simplen) Progrämmchen hinbekommen.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.