Geräte-ID konnte nicht abgerufen werden - PICkit 3 & PIC16F684-ICD & AC16205


7

Wie bereits im Titel erwähnt, habe ich Fragen zu diesem Entwickler-Stack:

  • MPLAB X IDE v1.80
  • PICkit 3
  • PIC16F684-ICD ( Datenblatt )
  • AC16205

Es gibt ein Bild davon, wie die Dinge miteinander verbunden sind (ich glaube nicht, dass es ein Problem gibt):

Geben Sie hier die Bildbeschreibung ein

Energieeinstellungen: Geben Sie hier die Bildbeschreibung ein

Es gibt ein einfaches Programm, das ich zum Testen verwende:

/*
 * File:   main.c
 * Author: Primoz
 * 
 * PIC16F684
 *
 * Simple test program.
 */

#include <xc.h>

// CONFIG
#pragma config MCLRE = OFF      // MCLR Pin Function Select bit (MCLR pin function is digital input, MCLR internally tied to V
#pragma config FOSC = INTOSCIO  // Oscillator Selection bits (INTOSCIO oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config CP = OFF         // Code Protection bit (Program memory code protection is disabled)
#pragma config CPD = OFF        // Data Code Protection bit (Data memory code protection is disabled)
#pragma config BOREN = OFF      // Brown Out Detect (BOR disabled)
#pragma config IESO = OFF       // Internal External Switchover bit (Internal External Switchover mode is disabled)
#pragma config FCMEN = OFF      // Fail-Safe Clock Monitor Enabled bit (Fail-Safe Clock Monitor is disabled)

void main()
{
    TRISA = 0b111101;

    PORTA = 0b000010;

    for (;;)
    {
        ;
    }
}

Ich habe das Gerät nur wenige Male erfolgreich programmiert. Die meiste Zeit bekomme ich diese Ausgabe:

Connecting to MPLAB PICkit 3...
Firmware Suite Version.....01.28.72
Firmware type..............Midrange

Target detected
Failed to get Device ID

Meine Frage ist also, was könnte ein Grund für solch ein seltsames Verhalten sein? Wie kann ich es zum Laufen bringen?

Wenn Sie weitere Informationen benötigen, lassen Sie es mich bitte wissen ...


Vermutlich wird es vom Programmierer aus mit Strom versorgt. Ist die Spannung korrekt?
pjc50

Es steht im Datenblatt, Wide operating voltage range (2.0V-5.5V)also denke ich, dass 5 V in Ordnung sind, oder?
PrimosK

Sieht gut aus. Vielleicht hast du eine lose Verbindung?
pjc50

Ich glaube nicht. Aber es wäre gut, das zu überprüfen. Ich werde es tun, aber nicht jetzt, da ich kein Multimeter zur Hand habe. Ich werde Sie wissen lassen, was ich herausgefunden habe. .
PrimosK

Antworten:


5

Ich habe überprüft, ob es gelöste Verbindungen gibt, wie von @ pjc50 vorgeschlagen - keine gefunden.

Ich habe sogar einen neuen Header bestellt und zu meiner Überraschung war das Problem immer noch nicht behoben.

Nach vielen Versuch und Irrtum habe ich herausgefunden, dass es funktioniert , wenn ich festgelegt Voltage Levelauf 4,875(statt 5V):

Geben Sie hier die Bildbeschreibung ein


1
Genau das gleiche Problem mit einem 16F883. Ich hätte nie gedacht, die Spannung zu ändern, danke!
Mike OBrien

3

Keine Versprechungen, aber ich persönlich habe genau das gleiche Verhalten mehr als hundert Mal erlebt.

Jeder einzelne von ihnen wurde repariert, indem mein Verbindungskabel weggeworfen und ein neues verkabelt wurde.

Das heisst

  • Der Stecker am PICkit3
  • Der physische Anschluss auf der PIC-Seite
  • Die physischen Drähte zwischen diesen beiden Steckern

Ihre aktuellen Beobachtungen könnten Sie völlig verwirren. als meine mich wiederholt verwirrte, als dies hier geschah. Wenn Sie Kabelbrüche betrachten, die "manchmal da" sind, wird das Bild etwas klarer.

Übrigens, wenn ...

  • Das Problem hat vor kurzem begonnen
  • Sie haben nur einen Satz dieser Verbindungsdrähte für Ihre Verwendung angeordnet
  • Sie haben perfekt funktioniert
  • Sie sehen derzeit "manchmal" Ergebnisse (möglicherweise "zufälliger Erfolg")

.. dann steigt mein Verdacht.

Wieder keine Versprechungen, aber genau das ist mir bei meinem PIC24-Arrangement mit einem ICD-3 und gelegentlich einem PICkit passiert. Was Sie beschreiben, ist genau das, was ich beobachtet habe.


2

Ich habe ein ähnliches Problem mit der Firmware 01.28.72. Als ich zurück zum 1.12.01 ging, funktionierte es wieder.


2

Ich hatte das gleiche Problem, als ich Fehlermeldungen wie "Geräte-ID konnte nicht abgerufen werden" erhielt. Meine Konfiguration ist die 44-polige Demo-Karte mit einem PIC16F887, Pickit 3 (Firmware-Version 1.28.18) und MPLAB 8.88. Ich habe oben den Rat von PrimosK befolgt und es war genau richtig: Die Spannung wurde von standardmäßig 5,0 V auf 4,875 V reduziert, und alles hat funktioniert. Beachten Sie aber auch, dass MPLAB die Einstellungen nicht beibehält und sie beim nächsten Start von MPLAB erneut festlegen musste. Viel Glück.


1

Ich hatte das gleiche Problem mit einem Pic16F883 und PicKitt3. Und jetzt ist es behoben, ich versorge die Zielkarte mit einer externen Quelle (5Vcd) und deaktiviere in den Projektoptionen -> Programmierer das Kontrollkästchen "POWER TARGET CIRCUIT FROM PICKKIT3". Ich hoffe, diese Informationen helfen Ihnen.


0

Ein ähnliches Problem hatte ich. Ich habe eine 24FJ128GA308-basierte Controller-Karte mit einer 128 * 64-COD-Anzeige und einer externen Stromversorgung. Bei einem Gerät mit gerade hergestelltem (nicht programmiertem Controller) wurde beim Aufrufen der Option "Programm" der Fehler "Programmierung fehlgeschlagen - Dem PICkit 3 fehlt ein Speicherobjekt" angezeigt. Ich habe versucht, etwas zu ändern - mit der von PICKit 3 eingeschalteten Controller-Karte hat es immer noch nicht funktioniert. Dann habe ich unter Programmer-Option 2-3 Sekunden lang 'Hold in Reset' verwendet, wieder freigegeben, dann wurde 24F programmiert und die Karte begann zu funktionieren Übrigens habe ich eine richtige Rücksetzschaltung. -Chandrashekhar Joshi

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.