Guten Abend, ich programmiere schon seit längerem Atmega und Atiny Mikrocontroller sowohl in Assembler als auch in C. Mein Kenntnisstand würde ich bei Assembler als gut und bei C als befriedigend einstufen. Nun bin ich aber an einen Punkt gekommen, an dem ein 8-Bit Mikrocontroller nicht mehr die notwendigen Ressourcen/Geschwindigkeit hat. Ich plane für mein nächstes Projekt die Einbindung eines 2,4 Zoll TFT Displays bei der auch Grafik über einen Framebuffer angezeigt werden soll. Dafür würde ich gerne auf die Programierung eines 16 Bit Mikrocontroller umsteigen. Nun meine Frage: Ist es sinnvoll da auf die MSP430 oder eher auf die PIC24 Mikrocontroller umzusteigen, wenn man vorher die Atmel Chips gut verinnerlicht hat ? Gruß Thomas
Wenn wirklich performantes, zügiges TFT Display Verhalten gewünscht ist, dann steige gleich auf uC mit eingebauten TFT Graphics Controller um, wie z.B. den LPC1788 oder STM32F429. Mit den von Dir vorgeschlagenen Typen ist das uC Quälerei, die verboten werden sollte:-), auch wenn es natürlich prinzipiell funktionieren dürfte. Auch brauchst Du Dich nicht um den Refresh kümmern. Mit DMA kann man viel Display Daten problemlos transportieren. Auch erlaubt so ein Display Controller den Einsatz der verschiedensten Type und Auflösungen, meist bis 1024/768 Pixel. Ich sage das aus Erfahrung mit Firmenprojekten wo vormals DSPIC24 eingesetzt wurden. Der MSP430 ist ein netter uC, aber für Deine Anwendung überfordert. Pluspunkt für den STM ist die freie True Studio, CooCox oder was Selbst installiertes, Entwicklungsumgebung. Es gibt auch Alternativen. Beim NXP ist es vielleicht etwas schwieriger was Freies zu finden, könnte mich aber irren. Ist nur meine Meinung. Von ST gibt es eine TFT Discovery Bord für wenig Geld um erste Versuche damit machen zu können. Da ist alles drauf einschließlich SWD Debugger. IDE/Toolchain ist frei. https://www.digikey.ca/product-detail/en/stmicroelectronics/STM32F429I-DISC1/497-16140-ND/5731713?utm_adgroup=General&mkwid=sxOhY65En&pcrid=344033005578&pkw=&pmt=b&pdv=t&productid=&slid=&gclid=EAIaIQobChMI0Z65yuTR5QIVsxx9Ch0VcwhBEAAYASAAEgLO0fD_BwE
:
Bearbeitet durch User
Wenn dann PIC24. Da gibts die PIC24-DA Serie mit eingebautem LCD-Controller, und genau den brauchst Du für die üblichen dummen TFTs. Siehe: http://ww1.microchip.com/downloads/en/devicedoc/39969b.pdf Der nächste Schritt wären dann PIC32MZ-DA, d.h. 200 MHz MIPS, wahlweise mit 32 MB DDR2 RAM im Chip mit drin, und ebenfalls mit TFT-COntroller. https://www.microchip.com/wwwproducts/en/PIC32MZ2064DAS176 fchk
> Von ST gibt es eine TFT Discovery Bord Bei diesem "Bord" darf man sich von den vielen Pins die auf den Stiftleisten liegen nicht verwirren lassen. Die sind bis auf wenige Ausnahmen naemlich alle schon belegt. Eigentlich haette man die Stiftleisten auch weglassen koennen. Mit 16 Bittern ist es heute schwierig. Allenfalls als Signalprozessoren und die einfachere Stringverarbeitung machen einen Einsatz noch sinnvoll. Besser ausgestattete 32 Bitter sind preislich schon lange in die Regionen von 16 Bit Controllern vorgedrungen. Wenn man nicht grade Displays damit antreiben will, waeren ARM-M0 eine gute Fortsetzung fuer bisherige 8 Bit Controller. Sobald aber Pixel ins Spiel kommen, braucht man halt viel Platz im RAM und moeglicherweise auch eine Ansteuerung fuer ein Grafik-LCD. Das waere fuer einen ARM-M0 dann schon eine Nummer zu gross.
Thomas E. schrieb: > Nun meine Frage: > Ist es sinnvoll da auf die MSP430 oder eher auf die PIC24 > Mikrocontroller umzusteigen, wenn man vorher die Atmel Chips gut > verinnerlicht hat ? > > Gruß > Thomas Lad dir die IDEs und schau sie dir an. Nimm das, was dir besser zusagt. Zu MSP430 kann ich dir nichts sagen. Aber PIC24 gibts mit DMA, das ist bei einem GLCD ein Pluspunkt. Das heißt nämlich: Beim GLCD-Update ist der µC frei- die SPI bedient der DMA. Lies dir aber das Kapitel darüber genau durch. Einfach ist das nicht mehr. Überleg dir gut, ob du 32Bitter verwenden willst. Die 16-Bitter (zumindest PIC24) haben den Vorteil, noch relativ simpel zu sein. D.h. programmieren nach Datenblatt ist noch gut möglich. Das ist bei den 32Bittern nicht so. Speziell bei STM32 muss man auf die Peripheral-Lib zurückgreifen, und die ist der große Minuspunkt der ganzen STM32-Geschichte. Auch bei PIC32 muss man zumindest einzelne Dinge (Beispiel: Core-Config) ebenfalls aus Harmony ziehen, auch das ist so ein fürchteliches Machwerk wie die Peripheral-Lib. Bei den PIC24 ist das nicht zwingend nötig. Man kann wie gewohnt nur mit dem Datenblatt arbeiten, und ist von irgenwelchen verkorksten Libs größtenteils unabhängig (von USB mal abgesehen). Ist halt eine Frage, wie man arbeiten will.
Vielen Dank für die schnellen Antworten. Frank K. schrieb: > Wenn dann PIC24. Da gibts die PIC24-DA Serie mit eingebautem > LCD-Controller, und genau den brauchst Du für die üblichen dummen TFTs. Das ist ein guter Tipp. Die werde ich mir mal genauer anschauen. Wahrscheinlich werde ich aber wohl langfristig nicht darum herum kommen mich mit den 32 Bittern (M0/M3) beschäftigen zu müssen, wenn ich weitere/größere Projekte mit TFT Displays realisieren möchte. Dazu muss ich aber meine Kenntnisse in C noch stark verbessern, mit Assembler werde ich da wohl nicht weit kommen. mfg
Thomas E. schrieb: > Dazu muss ich aber meine Kenntnisse in C noch stark verbessern, mit > Assembler werde ich da wohl nicht weit kommen. Wenn du mit Assembler arbeiten willst, dann musst du dir gut überlegen, welchen Kern du verwenden willst. Da musst du quasi für jeden µC eine eigene Sprache lernen. Ob sich PIC24 gut für Assembler eignen, ziehe ich jetzt mal in Zweifel. Überhaupt: Eine Grafiklibrary schreiben ist nicht ganz wenig Code. Überleg dir sehr gut, ob du dir das in Assembler antun willst. Ich hab eine eigene (in C), darum bin ich mir da mit dem Aufwand recht sicher. Text ist beispielsweise nicht mal einfach so aus dem Ärmel geschüttelt.
Thomas E. schrieb: > Wahrscheinlich werde ich aber wohl langfristig nicht darum herum kommen > mich mit den 32 Bittern (M0/M3) beschäftigen zu müssen, wenn ich > weitere/größere Projekte mit TFT Displays realisieren möchte. > Dazu muss ich aber meine Kenntnisse in C noch stark verbessern, mit > Assembler werde ich da wohl nicht weit kommen. Mit Assembler wirst Du eh nicht weit kommen, auch bei PIC24 nicht. Und für 32 Bit habe ich Dir den PIC32MZ-DA genannt. Großer Vorteil von dem ist der große interne Speicher. Da sparst Du wirklich einiges an Aufwand, und DDR2-RAM extern zu layouten ist schon richtig anspruchsvoll. Damit kannst Du dann auch große Displays ansteuern. fchk
guten Tach, also eins will ich hier mal klar stellen, die pic24, Dspic33 sind in Assembler besstens zu beherrschen, denn unter 100 Befehle ,orthogonaler Befehlssatz, weil überschaubare Kernarchitektur. Ich behaupte sogar, das diese 16bitter sehr gut zu beherrschen sind und das bei recht guter Performance. Die kann man auch min. 10% übertakten.... mit bessten Grüßen der erfahrene!!
Frank K. schrieb: > Wenn dann PIC24. Wenn, dann MSP430! Die Einarbeitung ist um einiges leichter. Der MSP430 ist mindestens so performant wie der PIC. Besser ist natürlich einen ARM zu nehmen. Mit dem MSP430 kannst du aber auch später noch schnell wechseln und dein neu erlerntes Wissen sofort voll nutzen: MSP432. Der PIC ist eine Einbahnstraße. -> ARM oder MSP430
Schweinezüchter schrieb: > Wenn, dann MSP430! Die Einarbeitung ist um einiges leichter. Der MSP430 > ist mindestens so performant wie der PIC. Kannst du das auch Fakten belegen?
Dummbeutel schrieb: > Der PIC ist eine Einbahnstraße. > > Die hat aber ein absteigendes Gefälle und ausserdem Rückenwind! Um so schlimmer. Man fährt mit maximaler Geschwindigkeit vor die Wand!
Schweinezüchter schrieb: > Um so schlimmer. Man fährt mit maximaler Geschwindigkeit vor die Wand! Ihr habt komische Einbahnstraßen, wo auch immer du lebst. Bei uns sind am Ende von Einbahnstraßen immer Kreuzungen, keine Wände.
mh schrieb: > Bei uns sind > am Ende von Einbahnstraßen immer Kreuzungen, keine Wände. Na ja, wenn du mit dem PIC so rasant bergab fährst, kriegste keine Kurve mehr. Und dann kommt die Wand. Je später, je schneller es bergab geht, je doller knallt 's am Ende. ;->
Hallo Gemeinde, und schon geht das Gewitter wieder los!! Ich erkläre jetzt mal ,warum ich die Dspic's gut finde! -bis zu 100 mips sind möglich -direkte ,indirekte mit o. ohne offset Adressierung mit pre o. post increment oder decrement -Hardwareschleifen -einzelne Befehle können mit repeat-Anweisung wiederholt werden -13 dsp instructionen -2 40bit Accumulatoren -modulo, reverse addressierung -16 16bit Arbeitsregister -guter Softwarestack mit Linkfunktion -oft mit DMA -viel Peripherie -guter Assembler Syntax -gute Befehle es sind eben "harvard" RISC-Prozessoren und sie besitzen eine mehrstufige Pipeline Leider bekomme ich für die Werbung kein Geld, möchte Neueinsteigern aber gerne helfen... Grüße der erfahrene
Auch die MSP430 gibt es mit LCD-Controller und DMA. Sie lassen sich recht übersichtlich mit Assembler programmieren. Sind wahlweise extrem sparsam oder schnell und sparsam.
Vielen Dank für die vielen Kommentare und Hilfestellungen, die sicher alle gut gemeint waren. Mit meiner Frage wollte ich aber sicherlich nicht einen Grabenkrieg zwischen PIC und MSP Befürwortern auslösen. Ich habe mich mittlerweile für die PIC24 Mikrokontroller entschieden. Folgende Gründe haben mich dazu bewegt. - gute Verfügbarkeit der Mikrokontroller bei Reichelt und Co - bastelfreundliche Packages (PDIP,SDIP und SOIC) bei vielen Chips verfügbar - gute Dokumentation der einzelnen Chips Gruß Thomas @ admin: der Thread kann geschlossen werden
Einen Grabenkrieg gibt's da nicht. Ich nutze PIC und MSP. Jeder hat seine Daseinsberechtigung. MSP gibt's inzwischen auch im DIL.
:
Bearbeitet durch User
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.