Forum: Mikrocontroller und Digitale Elektronik dsPIC30F4011


von Ralf S. (livada21)


Lesenswert?

Hallo,

ich hoffe ich habe bei meiner Suche hier im Forum nicht einen Beitrag 
übersehen der eventuell mein Problem lösen würde. Da ich nichts gefunden 
habe wende ich mich nun hiermit an euch.

Folgendes Problem:
Im Rahmen meiner Diplomarbeit habe ich ein Zündsteuerung inkl. 
Zündungsendstufe gebaut. Diese soll im Labor der Hochschule später mal 
einen Ottomotor auf einem Prüfstand betreiben. Die Analoge Schaltung 
sowie Funkenerzeugung funktioniert. Nun mein Problem, meine Diplomarbeit 
baut auf einer Masterarbeit auf bei der ein Steuergerät für einen 
Dieselmotor entwickelt wurde. Hierbei wurde der dsPIC30F4011 verwendet. 
Ich soll nun denselben PIC verwenden damit ein einheitlicher PIC im 
Labor für kommende Projekte vorhanden ist. Meine Programmierung des µC 
soll lediglich den Spannungsabfall an einem Poti A/D Wandeln und anhand 
dieser Werte an PortB (1-4 der Reihe nach) einen Impuls an meine Analoge 
Schaltung geben. Somit kann mit dem Poti die Zündfrequenz (Drehzahl) 
eingestellt werden. An den Ports für die analoge Schaltung wird 
nacheinander ein High Pegel von 4ms (Schließzeit) ausgegeben und dann 
abhängig vom Wert des AD Wandlers eine längere oder kürzere Pausenzeit 
erfolgen. Wie ich das genau realisieren werde habe ich mir nicht bis ins 
Detail überlegt, werde es aber wohl über Timer und Interrupts versuchen. 
Ich weis das normalerweise ein dsPIC30F4011 in C programmiert wird, ich 
möchte es jedoch mit MPLAB in Assembler machen, da ich damit schon etwas 
Erfahrung habe und des weiteren über ICD2 das Programm auf den PIC 
bringen will. Bisher habe ich nur Erfahrung in Assembler mit dem 
PIC184525. Ich habe in MPLAB die .INC Datei für den PIC30 sowie die .gld 
Datei (soweit ich weis ist das die Linker Datei) jedoch benötige ich 
noch ein Sourcefile. Das kann ich nirgendwo finden und ich weis auch 
nicht genau was da drin stehen muss. Wenn ich das Source File von dem 
PIC18 nehme hat diese die Endung .asm das wird beim PIC30 nicht als 
source File erkannt. Lange Rede kurzer Sinn, ich hoffe jemand von euch 
hat Erfahrung mit der Assembler Programmierung des dsPIC30F4011 in MPLAB 
und kann mir ein wenig auf die Sprünge helfen, damit ich endlich 
anfangen kann mein Code zu schreiben. Ich hänge momentan in der Luft da 
ich nicht weis ob ich die Anfangsdateien sowie Konfiguration für den 
PIC30 in MPLAB richtig habe bzw. eigentlich nicht weis wie Sie gestaltet 
sein müssen.

Würde mich freuen wenn mir jemand helfen kann. Übringens ich habe auch 
den Quellcode von meinem Vorgänger, dieser ist aber zum einen sehr sehr 
Umfangreich und selbst die Profs sagen das die Programmierung sehr 
eigenwillig und für meine Aufgabe nicht nutzbar geschweige denn 
verständlich ist. Des Weiteren könnte ich ein Source File von ihm nehmen 
aber ich weis nicht was genau in solch einem Sourcefile für den PIC30 
drin stehen muss.

Grüße

PS: Hoffe ich habe alle nötigen Informationen mitgeteilt

von Stefan (Gast)


Lesenswert?

Hi,

ich hab ebenfalls den ICD2 und betreibe ihn mit MPLAB IDE 8.0

Wenn du mit dem "Project Wizard" ein neues Projekt aufmachst,
hast du da die Toolsuite:" Microchip ASM 30 Assembler" zur auswahl?

Die komponenten gibts wahscheinlich unter:
C:\Programme\Microchip\MPLAB C30\

Ich würde an deiner Stelle auch den C30 compiler verwenden. Habe selbst 
mit dem C18 compiler gute Erfahrungen gemacht. Und je größer das 
Projekt, desto besser wenn du dich nicht mit push´s und pop´s rumärgern 
mußt.

Gruß Stefan

von Ralf S. (livada21)


Lesenswert?

@Stefan

Danke Dir für die Antwort. Ich habe MPLAB IDE 7.60 da muss ich wohl erst 
auf 8.0 upgraden? Ich werde jetzt parallel zur Assembler Version 
versuchen es mit dem C30 Compiler zu machen. Aber was benötige ich da 
für Dateien. Ist es genauso wie bei PIC18 ein INC sowie LKR file und wie 
bekomme ich mein Source File in dem ich letztendlich den Code schreibe.

Oder lösen sich alle meine Probleme sobald ich auf 8.0 upgrade?

von Stefan (Gast)


Lesenswert?

Also:

Ich hab auch nen Tag gebraucht um mit dem C18 Compiler an nem Pic18F4550 
eine Diode blinken zu lassen. -> Schau dir beispielpfojekte an.

Falls du den Ordner:
C:\Programme\Microchip\MPLAB C30
in deiner Version hast, findest du darin Examples. Alle diese Beipiele 
benutzen scheibar das "linkerscript.gld" .

Probiere mit dem Project Wizard ein neues Project zu öffnen. ->
Dein Sourcecode kommt in eine "main.c" die du selbst erstellen und unter 
"Source Files" einbinden mußt.

Für den C18 gibts ein "Getting Started", das muß es beim C30 auch geben.
Am Anfang meiner Dipl.-Arbeit verstand ich auch nur Bahnhof.

Lesen, Lesen, Lesen.
Lies dich ein, ob der C30 wirklich gut für dich ist, wenn ja besotge ihn 
und du bekommst die ganzen Büchlein in denen du weiterlesen kannst. Oder 
wühl die richtig  bei Microchip rein.


http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en535363

von Stefan (Gast)


Lesenswert?

Ein Update ist nicht die Lösung für alles.

Auch meine 7.6er Version kann ganz normal deinen Pic einbinden.
(Project Wizard).
Hast du im "Project wizard" "Step 2" unter "Active Toolssuite"
die "Microchip C30" oder die "Microchip ASM 30" zur Auswahl?

von Ralf S. (livada21)


Lesenswert?

Bei meiner 7.6 Version hatte ich nur die Microchip ASM 30 zur Auswahl, 
den Microchip C30 hatte ich da leider nicht drauf. Da ich aber ne zwei 
Platten auf meinem Rechner laufen habe und das mit Microchip C30 
versuchen will hab ich mir die aktuelle Version 8.4 installiert. Somit 
habe ich nun beide Versionen drauf.

Dank Dir für die Info werde mich mal versuchen das so zu machen wie Du 
es mir vorgeschlagen hast. Werde mal das "Getting Started" versuchen 
durchzuarbeiten und hoffe dann letztendlich mal ne brauchbare Lösung zu 
bekommen.

Danke Dir schon mal für die ausführlichen Informationen, werde mich 
wahrscheinlich dann morgen mit Neuigkeiten melden. Ich hoffe gute 
Neuigkeiten :-)

Gruß Ralf

von Hans (Gast)


Lesenswert?

Die Source-Files in der ASM30 Suite heissen auch nicht *.asm, sondern 
*.s

Also die DS30 Pics laufen mit dem gleichen Befehlssatz, wie die PIC24
Dafür braucht man nicht mpasm, so heisst die Suite für die 
8bitProzessoren glaub ich, sondern, und das ist sicher für PIC 24 
braucht man die "ASM30" suite. Die du gleich beim Setup des Projekts 
auswählen kannst.
Die Source-Files in der ASM30 Suite heissen auch nicht *.asm, sondern 
*.s
nenn einfach mal eine leere Text-File in .s um, füge sie "hinzu" oder 
besser such Dir aus irgendeinem Projekt eine ander und füge sie ein. 
Dann bist Du schon mal ein Schritt weiter.
Ich mache immer nur Assembler und hab schon zwei PIC 24 Controller 
Programme geschrieben.
Hier bin ich nur gelandet, weil mein ICD2 meinen 30F4011 gar nicht erst 
erkennen will. Wahrscheinlich hab ich ihn kaputtgelötet, oder so.

von Löter (Gast)


Lesenswert?

>         Ralf S.
>         (livada21)
>
>       Datum: 22.10.2009 13:40

Er hat hoffentlich schon lange sein Diplom.

Hans schrieb:
> Hier bin ich nur gelandet, weil mein ICD2 meinen 30F4011 gar nicht erst
> erkennen will. Wahrscheinlich hab ich ihn kaputtgelötet, oder so.

Warum gräbst Du einen 8 Jahre alten thread aus, der damit nichts zu tun 
hat? Mach einen neuen auf.

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.