Forum: Mikrocontroller und Digitale Elektronik PIC24 - 8 Pinne bleiben hochohmig


von Anos B. (Gast)


Lesenswert?

Ich habe hier einen PIC24, einen PIC24HJ128GP506.

Wenn ich alle Pinne mit TRISx=0; auf Output stelle, bleiben 8 Pinne 
ohne, daß es dafür einen Grund zu geben scheint, hochohmig.

Es sind die Pinne RG0, RG1, RG12, RG13, RG14, RG15, RC1 und RC2

Normalerweise müßte man ja dafür im Datenblatt einen Grund finden 
können, ob sie durch irgendwelche anderen Module blockiert werden, aber 
ich finde nix. Hab ich was übersehen? Es gibt im moment so scheinbar 
keinen Grund dafür, warum sie nicht funktionieren.

Weiß jemand, woran das liegen kann?
Sie sind ja nichtmal alle vom selben Port. Einzigster Anhaltspunkt wäre, 
daß es genau 8 Pinne sind und daß sie alle nebeneinander liegen.

Der PIC24 ist eigentlich beim einlöten nicht zu heiß geworden. Die Pinne 
haben auch keinen kurzschlüsse zwischen den Lücken und sie sind auch 
direkt am Chip selber hochohmig, also auch keine kalten Lötstellen.

Weiß jemand, woran das liegen kann?

von (prx) A. K. (prx)


Lesenswert?

Nicht abgeschaltete Analogfunktion?
Scheinbar überflüssiges VCC/GND-Paar nicht beschaltet?

von Anos B. (Gast)


Lesenswert?

mindestens die hälfte der Pinne ist nicht mit analog-Funktionen belegt.

Die VCC/GND Pinne sind alle beschaltet. einzigste Aunahme ist der 
VDDCore-Pin, der anders als dem wortlaut nach nur für eine 
Referenzspannung benutzt wird. Laut datenblatt soll ein Kondensator an 
diesem Pin ausreichen.

einzigste möglichkeit wäre, daß einer der VCC/Gnd Pinne eine kalte 
lötstelle hat, aber ich glaube eher nicht daran.

von Hermann M. (fragment)


Lesenswert?

Anos B. schrieb:
> Ich habe hier einen PIC24, einen PIC24HJ128GP506.
>
> Wenn ich alle Pinne mit TRISx=0; auf Output stelle, bleiben 8 Pinne
> ohne, daß es dafür einen Grund zu geben scheint, hochohmig.
>
> Es sind die Pinne RG0, RG1, RG12, RG13, RG14, RG15, RC1 und RC2

> Weiß jemand, woran das liegen kann?

In den PIC24 sind die meisten Pins mit Sonderfunktionen beschaltet, 
welche in der Standardbelegung eine andere sein kann, als ein 
Digitalport. Man muss diese Sonderfunktion in den entsprechenden 
Konfigurationsregistern abschalten.

Um den Umgang mit den zig Sonderfunktionen zu erleichtern, gibt es in 
der MPLAB Entwicklungsumgebung von Microchip eine grafische Oberfläche, 
genannt "Visual Initializer" unter dem Reiter "Tools", welche den 
physikalischen Chip mit seinen Pins sehr groß auf dem Bildschirm 
darstellt. Hierzu muss man zuvor ein Projekt anlegen, bei dem der 
verwendete Controller ausgewählt wird und so dem Visual Initializer auch 
bekannt ist. Jetzt kann man die Sonderfunktionen z.B. PWM, 
Quadraturencoder, Komparator, ADC etc als Klötzchengrafik auf den Chip 
ziehen. In Deinem Fall müssten also die Digitalports ausgewählt werden. 
Der Initializer macht auch darauf aufmerksam, wenn eine gewünschte 
Belegung so nicht machbar ist, z.B. weil die Ausgänge zweier 
Sonderfunktionen dann auf den gleichen PIN zugreifen müssen.

Um solche Kollisionen zu vermeiden, bieten einige der neueren PIC24 die 
Möglichkeit, den Pin für die Sonderfunktion auszuwählen. Somit kann 
Microchip auch bei Controllern mit wenigen Pins eine große Palette an 
Sonderfunktionen bereitstellen. Den hiervon benötigten weist man dann 
Pins zu. Die anderen Funktionen bleiben dann einfach ungenutzt. Bisher 
musste man einen großen Chip auswählen und verschenkte mitunter viele 
Pins, welche ungenutzt blieben. Auch durch die Pinzuweisung kann es 
natürlich zu unerwarteten Ergebnissen an den Pins kommen, wenn man das 
nicht weiß.

Diese Komplexität in der Konfiguration ist natürlich der Preis dafür, 
dass man eine schier unübersehbare Menge an Funktionen flexibel sowie 
platz- und kostensparend auf einem einzigen Chip verfügbar machen will. 
Ohne den Initializer muss man sich daher mit Funktionen 
auseinandersetzen, welche man überhaupt nicht benötigt ... und zwar zu 
dem einzigen Zweck, sie abzuschalten ;-) Und bei deren Beherrschung 
hilft eben der Visual Initializer.

Nachdem man alle benötigten Bausteine auf den Chip gezogen und die Pins 
zugewiesen hat, erzeugt der Visual Initializer auf Klick den 
Konfigurationscode, den man dann an den Anfang seines Programms kopiert. 
Anhand dieses Codes kannst Du dann auch feststellen, welche 
Konfigurationen Du bisher versäumt hast. Hierzu sind die Bezeichnungen 
der Register im Code - wie bei Microchip Bibliotheken üblich - 
kompatibel mit dem Datenblatt.

Gruß
fragment

von Guest (Gast)


Lesenswert?

Leider ist der VDI für viele PIC24 noch nicht verfügbar und wird es wohl 
auch in absehbarer Zeit nicht :-(
So auch für diesen Chiptyp.
Aber in der Tat könne da vielfältige Gründe für ursächlich sein. Denke 
da gerade an den JTAG-Port. Das könnte z.B. die Ursache sein. Sicher bin 
ich aber nicht und momentan hab ich auch keine Lust ins Datenblatt zu 
schauen.

von Hermann M. (fragment)


Lesenswert?

Guest schrieb:
> Leider ist der VDI für viele PIC24 noch nicht verfügbar und wird es wohl
> auch in absehbarer Zeit nicht :-(
> So auch für diesen Chiptyp.
> Aber in der Tat könne da vielfältige Gründe für ursächlich sein.

Es gäbe da noch die Möglichkeit, ein Ticket beim Microchip Support zu 
lösen. Das dauert mitunter zwar, wenn intern ein Spezialist kontaktiert 
werden muss. Aber bisher habe ich zu erheblich komplexeren Problemen 
immer Antwort erhalten.

Ansonsten kann ich für den PIC24 dieses Buch wärmstens empfehlen, das 
von einem Microchip Mitarbeiter geschrieben wurde. Nachdem ich im 
Selbststudium zunächst monatelang kaum vorankam, hat es mir den Einstieg 
sehr leicht gemacht:
http://flyingpic24.com/index.html

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.