Không thể nhận ID thiết bị - PICkit 3 & PIC16F684-ICD & AC16205


7

Giống như nó đã được đề cập trong tiêu đề tôi có câu hỏi liên quan đến ngăn xếp dev này:

Có hình ảnh về cách mọi thứ được kết nối (tôi không nghĩ có vấn đề):

nhập mô tả hình ảnh ở đây

Cài đặt cấp nguồn: nhập mô tả hình ảnh ở đây

Có một chương trình đơn giản tôi đang sử dụng để thử nghiệm:

/*
 * 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 (;;)
    {
        ;
    }
}

Tôi đã lập trình thành công thiết bị chỉ vài lần. Hầu hết thời gian tôi nhận được đầu ra này:

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

Target detected
Failed to get Device ID

Vì vậy, câu hỏi của tôi là những gì có thể là một lý do cho một hành vi kỳ lạ như vậy? Làm thế nào tôi có thể làm cho nó hoạt động?

Nếu bạn cần thêm thông tin, xin vui lòng cho tôi biết ...


Có lẽ bạn đang cung cấp năng lượng cho nó từ lập trình viên; điện áp có đúng không?
pjc50

Người ta nói trong datasheet Wide operating voltage range (2.0V-5.5V)nên tôi nghĩ 5V là ok, phải không?
PrimosK

Có vẻ tốt. Có lẽ bạn có một kết nối lỏng lẻo?
pjc50

Tôi không nghĩ vậy .. Nhưng sẽ tốt hơn nếu bạn kiểm tra .. Sẽ làm nhưng không phải ngay bây giờ vì tôi không có đồng hồ vạn năng nào trong tay ... Sẽ cho bạn biết những gì tôi đã tìm ra .. .
PrimosK

Câu trả lời:


5

Tôi đã kiểm tra xem có bất kỳ kết nối lỏng lẻo nào như được đề xuất bởi @ pjc50 - không tìm thấy.

Tôi thậm chí đã đặt hàng tiêu đề mới và điều ngạc nhiên là vấn đề vẫn chưa biến mất.

Sau nhiều thử nghiệm và lỗi, tôi nhận ra rằng nó hoạt động nếu tôi đặt Voltage Levelthành 4,875(thay vì 5V):

nhập mô tả hình ảnh ở đây


1
Chính xác vấn đề tương tự với 16F883. Không bao giờ có thể nghĩ để thay đổi điện áp, thx!
Mike OBrien

3

Không hứa hẹn, nhưng cá nhân tôi đã trải nghiệm chính xác hành vi đó hơn một trăm lần.

Mỗi một trong số chúng đều được sửa bằng cách vứt bỏ cáp kết nối của tôi và nối dây mới.

Điều này có nghĩa là

  • Phích cắm trên PICkit3
  • Đầu nối vật lý ở phía PIC
  • Các dây vật lý giữa hai phích cắm

Những quan sát hiện tại của bạn có thể hoàn toàn làm bạn bối rối; như tôi làm tôi bối rối liên tục khi điều này xảy ra ở đây. Khi bạn xem xét các dây bị đứt "đôi khi có", hình ảnh sẽ rõ hơn một chút.

Ngẫu nhiên, nếu ...

  • Vấn đề gần đây bắt đầu
  • Bạn chỉ có một bộ các dây kết nối này được sắp xếp để sử dụng
  • Họ đã từng làm việc hoàn hảo
  • Bạn hiện đang thấy kết quả "đôi khi" (có lẽ, "thành công ngẫu nhiên")

.. sau đó sự nghi ngờ của tôi tăng lên.

Một lần nữa, không có lời hứa, nhưng đây là những gì đã xảy ra với tôi trong sự sắp xếp PIC24 của tôi với một ICD-3 và đôi khi là PICkit. Những gì bạn đang mô tả là chính xác những gì tôi quan sát.


2

Tôi có một vấn đề tương tự với phần mềm 01.28.72. Khi tôi quay trở lại 1.12.01, nó hoạt động trở lại.


2

Tôi gặp vấn đề tương tự, nhận được thông báo lỗi, chẳng hạn như "Không thể nhận ID thiết bị". Cấu hình của tôi là bảng demo 44 chân với PIC16F887, Pickit 3 (phiên bản phần mềm 1.28,18) và MPLAB 8,88. Tôi đã làm theo lời khuyên của PrimosK, ở trên, và nó đã đúng về tiền: Giảm điện áp từ 5.0V mặc định xuống 4.875V và mọi thứ đều hoạt động. Nhưng cũng lưu ý rằng MPLAB không giữ các cài đặt và phải đặt lại chúng vào lần tiếp theo tôi khởi động MPLAB. Chúc may mắn.


1

Tôi gặp vấn đề tương tự, khi làm việc với Pic16F883 và PicKitt3. Và bây giờ là sửa nó, tôi cấp nguồn cho thẻ mục tiêu bằng nguồn ngoài (5Vcd) và trong tùy chọn Dự án -> Lập trình viên, tôi bỏ chọn hộp tùy chọn "POWER TARGET CIRCUIT TỪ PICKKIT3", tôi hy vọng thông tin này sẽ giúp bạn.


0

Vấn đề tương tự đã phải đối mặt với tôi. Tôi có bảng điều khiển dựa trên 24FJ128GA308 với màn hình 128 * 64 COD được giao tiếp và bảng được cấp nguồn bên ngoài. Đối với một đơn vị chỉ được sản xuất (bộ điều khiển chưa được lập trình), khi được gọi tùy chọn 'Chương trình', nó đã báo lỗi là "Lập trình thất bại - ThePICkit 3 bị thiếu Đối tượng bộ nhớ. ' Tôi đã thử thay đổi - với bảng điều khiển được cấp nguồn từ PICKit 3, nhưng nó vẫn không hoạt động. Sau đó, trong tùy chọn Lập trình viên, tôi đã sử dụng 'Giữ trong thiết lập lại' trong 2-3 giây, phát hành trở lại, sau đó 24F đã được lập trình và bảng bắt đầu hoạt động Ngẫu nhiên, tôi có một mạch thiết lập lại đúng. -Chandrashekhar Joshi

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.