Làm sao để nạp dữ liệu vào pic bằng mạch nạp?

corazon_de.san

Trứng gà
HÌnh như board của em có 1 lỗi. Có 1 vị trí dường đồng bị ăn ra MAT (phần phủ đồng). Vị trí đó nhỏ nên khó thấy.
 

tranhieu_hcmut

Cố Vấn CLB
Staff member
cẩn thận đấy nhé...chọc ngoáy lung tung mà cháy con PIC là a pó tay luôn đó. chân con điện trở 2k7 ăn ra GND là đúng đó nghen e
 

corazon_de.san

Trứng gà
Chân con 2k7 ăn ra MAT thì em biết rồi. Nhưng có 1 sợi dây khác ăn ra MAT nữa (cái này chắc lỗi của nơi làm mạch). Em hàn rồi nhưng cắm vô Lap thì nó không nhận lấy đâu ra mà cháy IC.
 

tranhieu_hcmut

Cố Vấn CLB
Staff member
E cắm vào tức là e đã cấp nguồn cho PIC, khi bị chập mạch khả năng cháy là có thể xảy ra
 

corazon_de.san

Trứng gà
Vậy để em mượn mạch của thằng bạn cắm PIC vào chạy thử là biết ngay. NHưng mạch này chắc phải làm lại rồi.
 

lecongdanh

Trứng gà
Các bạn cho mình hỏi: Giả sử ta đã viết xong chương trình và nhờ một trình dịch PIC(dsPIC) ta thu được hex file. Vấn đề được đặt ra là nếu ta không có một mạch nạp và hex file của chúng ta được lưu trữ trong một thiết bị nhớ nào đó (USB, EEPROM, SD CARD....) thì làm sao chúng ta có thể đưa các dữ liệu trong hex file vào MCU theo chuẩn ICSP nhờ vào một mạch nạp rời bên ngoài nào đó có giao tiếp với các thiết bị nhớ kể trên. Mình đã đọc sách hướng dẫn của microchip thì thấy mỗi lần nạp chỉ được 15 bít vậy thì ta phài chia cái file hex như thế nào để thu được những gói 15 bít như thế ( công việc này được thực hiện bởi chương trình trên máy tính. Công việc được đặt ra là chúng ta phải hiểu những dữ liệu nào cần sử dụng trong hex file và cần đặt nó vào đâu trong bộ nhớ của MCU. Nếu có bạn nào đã từng nghĩ đến vấn đề này thì có thể cho mình lới khuyên hoặc tài liệu nói về hex file cụ thể hơn mấy cái trên mạng của hãng intel.
 

tungbk

Cố Vấn CLB
Staff member
Không biết bạn muốn tự làm hoàn chỉnh từ phần mềm nạp + mạch nạp luôn như Pickit ? Hay chỉ tìm cách nạp khác với Pickit?
Ví dụ cái mạch Burn-e là 1 kiểu mạch nạp tự làm http://www.pduytech.com/ProductsBurnerBurn-E.html hoàn chỉnh từ phần cứng đến phần mềm.
Muốn nạp qua chân ICSP phải tuân theo qui định về nạp của nó, bạn tìm các tài liệu flash programming của Microchip.
Có thể khá phức tạp khi làm nguyên 1 giao thức nạp như vậy có 1 cách đơn giản hơn là dùng booloader, booloader là 1 chương trình nạp trước vào MCU để có thể nhận các byte qua cổng uart (hay có thể các cổng khác) sau đó sắp xếp các byte này vào vùng nhớ chương trình để chạy. Có nhiều nguồn booloader viết sẵn. Nhưng cũng phải dùng phần mềm nạp đi kèm để nạp vì việc gửi nhận cũng phải có 1 qui định nào đó (trừ khi bạn tự viết các booloader).
Dùng bootloader thì không tốn tiền mua mạch nạp mắc tiền nên 1 số dòng tích hợp sẳn trong MCU không cần tạo (như ARM NXP).
Thông tin chi tiết về bootloader cho pic tìm hiểu trên Picvietnam.
Không biết cụ thể bạn muốn chứa cái file hex của mình từ đâu và dùng cái gì "vận chuyển" file hex này qua Pic?
 

lecongdanh

Trứng gà
Thank bạn ! Có lẽ mình hơi vụng khi diễn đạt. Ý mình là mình muốn tạo ra một mạch nạp mà có thể nạp cho chíp không thông qua máy tính cá nhân và hex file được lưu trữ trong USB hoặc SD card.
 

tranhieu_hcmut

Cố Vấn CLB
Staff member
Thank bạn ! Có lẽ mình hơi vụng khi diễn đạt. Ý mình là mình muốn tạo ra một mạch nạp mà có thể nạp cho chíp không thông qua máy tính cá nhân và hex file được lưu trữ trong USB hoặc SD card.
Ý tưởng của bạn rất là "táo bạo"...một ý kiến hay tuy nhiên mình ko biết là với một sản phẩm tạo ra như ý bạn nói, chúng ta phải qua rất nhiều bước & ko biết kết quả sẽ đi đến đâu...để làm đc việc đó thì ít nhất cũng phải có 1 MCU làm trung gian giữa thẻ nhớ & MCU cần nạp...& công việc của MCU master là phải làm sao để tìm ra đúng cái file cần nạp, khi đã tìm đc rồi thì "tìm cách" nạp xuống cho slave...
Mình nghĩ là bạn nên đưa câu hỏi này lên một diễn đàn lớn hơn, cái này có lẻ trong diễn đàn chưa ai từng làm qua...cao cấp lắm thì đoc thẻ SD & decoder sao đó phát ra loa, còn cái như bạn nói thì...:))
 

giaanthunder

Trứng gà
a Hiếu ơi! cho em hỏi mạch nạp của anh có thể nạp dc cho các dòng pic chuẩn 3v3 ko ạ? nếu dc thì em đỡ phải mua mạch nạp mới
 

tranhieu_hcmut

Cố Vấn CLB
Staff member
a Hiếu ơi! cho em hỏi mạch nạp của anh có thể nạp dc cho các dòng pic chuẩn 3v3 ko ạ? nếu dc thì em đỡ phải mua mạch nạp mới
Nạp đc e...e cấp nguồn ngoài cho PIC 3v3 & nhớ là phải tháo jumper cấp nguồn trên mạch nạp ra...ko là die PIC 3V3 đó
 

ĐỨC HUẤN

Thành Viên PIF
mấy bạn cho mình hỏi là khi đọc datasheet của 1 con nào đó ( ví dụ như mình đang đọc con 16F887) thì làm sao mình biết những chân nào là chân để nạp chương trình cho nó ? với các con VDK khác cũng vậy, trong datasheet mình đọc chỗ nào để bit chân nạp chương trình ???
 

tranhieu_hcmut

Cố Vấn CLB
Staff member
Hầu hết các loại vi điều khiển đều có một "chuẩn" nạp riêng có nó. Ví dụ như dòng ARM thì nó tuân theo chuẩn JTAG vậy...PIC thì nó tuân theo chuẩn khác:
Pin 1: MCLR
Pin 2: VCC
Pin 3: GND
Pin 4: PGD
Pin 5: PGC
Còn nếu ko biết vi điều khiển tuân theo chuẩn gì thì bạn hỏi giáo sư google nhé
 
Top