PDA

View Full Version : Cần giúp đỡ về mạch nạp ICD2 của Microchip.


CNQ
05-03-2008, 12:08 AM
Chào các bác,
Các bác cho em hỏi, em viết thử chương trình cho con 16F84, sau đó dùng MPLAB ICD2 USB để nạp, em vào connect để test thử:

Connecting to MPLAB ICD 2
...Connected
Setting Vdd source to target
...Reading ICD Product ID
Running ICD Self Test
...Passed
MPLAB ICD 2 Ready
Sau đó chọn chế độ Erase thì lại cảnh báo rằng:
CDWarn0052: MPLAB ICD 2 cannot validate a target device. Please make sure that the target device is connected and properly powered. Select "OK" to continue, or "CANCEL" to abort the operation
Nếu chon OK, chương trình báo là xóa được, ...Erase Succeeded
MPLAB ICD 2 Ready
Nhưng thực ra là không xóa được.
Nếu chọn OK sau đó chọn program, lại cảnh báo:
ICDWarn0052: MPLAB ICD 2 cannot validate a target device. Please make sure that the target device is connected and properly powered. Select "OK" to continue, or "CANCEL" to abort the operation.
Chọn tiếp OK.
Tiếp tục cảnh báo như trên và cuối cùng là:
ICDWarn0052: MPLAB ICD 2 cannot validate a target device. Please make sure that the target device is connected and properly powered. Select "OK" to continue, or "CANCEL" to abort the operation
...Program Memory
ICD0161: Verify failed (MemType = Program, Address = 0x0, Expected Val = 0x2805, Val Read = 0x0)
ICD0275: Programming failed.
MPLAB ICD 2 Ready
Chú ý: Ở đây em đã chon File->import->file hex vào rồi.

Các bác giúp em với.

Trân trọng cảm ơn.

namqn
05-03-2008, 04:21 AM
Sau khi đã chọn ICD2 trong mênu Programmer của MPLAB IDE, bạn chọn tiếp lệnh Settings ... cũng trong mênu Programmer. Sau đó bạn chọn thẻ (tab) Power, và kiểm tra xem checkbox 'Power target circuit from MPLAB ICD 2 (5V Vdd)' có được chọn hay không. Nếu phần này không được chọn (checked) thì có nghĩa là mạch đích tự cấp nguồn, và bạn phải cấp nguồn cho mạch đích thì mới có khả năng đọc/ghi vào chip.

Thân,

CNQ
05-03-2008, 08:42 AM
Chào Anh Nam,

Anh ơi em đã làm cả hai cách:
Cách 1: Target tự cấp nguồn -> Vẫn báo như trên.
Cách 2: Target cấp nguồn từ ICD 2, -> Vẫn vậy.

Anh xem còn khả năng nào nữa mà em làm sai. (Em dùng thằng Xeltek để nạp thử con chip này vẫn chạy OK)

Cám ơn anh, Chúc anh khỏe!

CNQ,

namqn
05-03-2008, 06:05 PM
Bạn cho biết ICD2 của bạn là mua hay tự làm? Nếu mua thì mua từ đâu, nếu tự làm thì dùng thiết kế và firmware nào?

Bạn cũng cho biết sơ đồ của mạch đích cho những chân liên quan đến ICSP: Vdd, Vss, MCLR/Vpp, PGD, PGC.

Thân,

CNQ
06-03-2008, 12:48 AM
Chào Anh Nam,

Thưa anh, mạch ICD2 của em là của chính hãng luôn :D,
Các chân đấu nối của nó trên ICD 2 : Nó có một zac cắm như zac điện thoại 6 chân, 1->Vpp, 2->Vdd, 3->GND, 4->RB7, 5->RB6, 6-> Not use.

Trên mạch target lúc đầu em chỉ nối 5 chân 1->MCLR/Vpp... như trên ICD2, cũng không được. Sau đó em nối một mạch chạy được luôn bao gồm cả thạch anh, trở treo cao và nút bấm Reset tại chân 1 của 16F877A, kết quả cũng không được. Lạ một cái là em chọn connect để test thử nó báo OK:
Connecting to MPLAB ICD 2
...Connected
Setting Vdd source to target
...Reading ICD Product ID
Running ICD Self Test
...Passed
MPLAB ICD 2 Ready
Mà em hỏi một số người thì mọi người nói nó phải đưa ra chip 16F877A trước dòng ...Reading ICD Product ID. Nhưng khi load file hex vào và nạp lại báo không chọn được chip, thật bó tay luôn.

Trân trọng cảm ơn anh.

namqn
06-03-2008, 05:00 AM
'... Connected' đó là để cho biết MPLAB IDE đã kết nối với MPLAB ICD2, không có nghĩa là MPLAB ICD2 đã kết nối với target chip.

Bạn có thể kiểm tra thêm những phần sau:
- Đảm bảo các chân của đầu nối ICSP nối đúng vào những chân cần thiết của PIC.
- Nối một điện trở khoảng vài k giữa chân RB5/PGM và Vss.
- Nếu cần thiết, thử nối một tụ điện khoảng 47 pF giữa chân PGD và Vss, đặt càng gần PIC càng tốt.

Thân,

CNQ
06-03-2008, 06:16 PM
Chào Anh Nam,

Thưa anh, Em đã xử lý được vụ này rồi, do nhầm lẫn chân của Zac kết nối giữa ICD và Target (Chân 1-> 6 và 6->1).

Chân thành cảm ơn anh đã giúp đỡ.

CNQ,