Forum: Mikrocontroller und Digitale Elektronik MSP430 oder PIC24


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Thomas E. (Firma: privat) (iseldur)


Lesenswert?

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

von Gerhard O. (gerhard_)


Lesenswert?

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
von Frank K. (fchk)


Lesenswert?

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 Larry (Gast)


Lesenswert?

> 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.

von jemand (Gast)


Lesenswert?

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.

von Thomas E. (Firma: privat) (iseldur)


Lesenswert?

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

von jemand (Gast)


Lesenswert?

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.

von fchk (Gast)


Lesenswert?

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

von Maik W. (werner01)


Lesenswert?

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!!

von Schweinezüchter (Gast)


Lesenswert?

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

von Dummbeutel (Gast)


Lesenswert?

> Der PIC ist eine Einbahnstraße.

Die hat aber ein absteigendes Gefälle und ausserdem Rückenwind!

von mh (Gast)


Lesenswert?

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?

von Schweinezüchter (Gast)


Lesenswert?

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!

von mh (Gast)


Lesenswert?

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.

von Schweinezüchter (Gast)


Lesenswert?

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. ;->

von Maik W. (werner01)


Lesenswert?

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

von Roland E. (roland0815)


Lesenswert?

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.

von Thomas E. (Firma: privat) (iseldur)


Lesenswert?

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

von Roland E. (roland0815)


Lesenswert?

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
von Jmtc (Gast)


Lesenswert?

Die Doku finde ich bei TI wesentlich besser.

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.