|
Tài trợ cho PIC Vietnam |
Bootloaders - Programmers - Debuggers - Emulators Những công cụ cần thiết để lập trình cho PIC/dsPIC |
|
Ðiều Chỉnh | Xếp Bài |
|
13-02-2006, 07:51 PM | #1 |
Trưởng lão PIC bang
|
Thông tin về các mạch nạp và phần mềm
Chào mọi người,
Từ khoảng 2003, tôi bắt đầu chơi với mấy con PIC. Đã chơi vi điều khiển thì hẳn ai cũng muốn có một bộ đồ nghề thật ngon lành. Vì thế tôi đã sưu tầm, làm thử các phần cứng và thử nghiệm các phần mềm dùng để nạp PIC. Ban đầu chỉ có mấy con PIC16 thì dễ, nhưng sau đó có thêm khá nhiều PIC18, và gần đây lại có thêm đám dsPIC30 thì sự việc thật là rắc rối. Phải dùng phần cứng nào và phần mềm nào để có thể nạp cho tất cả (hay ít ra cũng là phần lớn) các con PIC mà mình có đây? Mà phần cứng thì phải tự làm được, còn phần mềm thì phải có thể xài thoải mái (freeware đó mà). Đến giờ thì tôi đã tìm được một số phần cứng và phần mềm đáp ứng được cái nhu cầu cao xa kia của tôi. Nhân thấy các bạn đang muốn có một bộ đồ nghề tốt để chơi PIC, tôi sẽ cung cấp cho các bạn các thông tin cần thiết. Tuy nhiên, câu chuyện khá dài dòng, nên tôi muốn các bạn cho biết các bạn muốn tôi giới thiệu toàn bộ, hay chỉ muốn biết những phần khả thi. Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 thay đổi nội dung bởi: namqn, 13-02-2006 lúc 07:53 PM. |
14-02-2006, 07:35 PM | #2 |
PIC Bang chủ
|
Anh cứ post lên đây đi anh, anh hỏi không ai trả lời đâu .
Em nghĩ mình chỉ nên post những mạch khả thi, và những chương trình nạp đi kèm với từng mạch nạp đó và có hướng dẫn chi tiết thì rất hay. Chúc vui.
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
16-02-2006, 08:54 AM | #3 | |
Đệ tử 2 túi
Tham gia ngày: Nov 2005
Bài gửi: 45
: |
Trích:
Ý kiến của em giống của F. Thật đầy đủ thông tin nhé! |
|
16-02-2006, 09:40 PM | #4 |
Trưởng lão PIC bang
|
Trước tiên tôi muốn nhấn mạnh là tôi sẽ không đề cập đến các mạch phần cứng cao cấp, sử dụng một chip vi điều khiển giao tiếp với máy tính thông qua các kết nối như RS-232 hay USB (một số mạch còn có khả năng tự cập nhật firmware).
Phần cứng của các mạch nạp PIC nhìn chung kết nối với máy tính thông qua cổng nối tiếp (cổng COM, sử dụng giao tiếp RS-232) hay cổng song song (cổng máy in). Các mạch nạp qua cổng nối tiếp phổ biến hiện nay dựa trên mạch JDM Programmer của Jens Dyekjær Madsen, chẳng hạn như PIC-PG1, PIC-PG2C của Olimex, PG5V1, PG5V2 của FENG3, hay SI-Prog của Claudio Lanconelli, ... Đây là các mạch nạp khá đơn giản, sử một vài transistor, điện trở, diode thường và zener, cùng một số tụ điện. Mạch nạp JDM và các biến thể sử dụng nguồn từ cổng nối tiếp, do đó có khả năng sẽ không làm việc trên một số máy tính có cổng nối tiếp tiết kiệm điện bằng cách sử dụng mức điện áp giao tiếp thấp hơn mức được yêu cầu đối với JDM (theo tôi thì ngưỡng đó khoảng 6-7V, và đương nhiên là mức điện áp được sử dụng vẫn không vi phạm chuẩn RS-232). Nhiều người cho rằng mạch JDM không thể thực hiện được việc nâng điện áp Vpp (đặt vào chân MCLR của PIC) trước điện áp Vdd (hay Vcc-điện áp nguồn cấp cho PIC). Tuy nhiên, tôi đã thử mô phỏng mạch PG2C và nhận thấy việc đó có thể thực hiện được, nhưng về phần mềm thì có vẻ chỉ có IC-Prog là có thể thực hiện điều này bằng cách chọn option 'Enable Vcc control for JDM' trong menu con Options của menu Settings. Tôi có sửa đổi một ít trên mạch SI-Prog để có được một mạch nạp tương thích JDM dùng điện áp ngoài (do đó không phụ thuộc vào điện áp của cổng nối tiếp). Nhận xét sau cùng của tôi với các mạch nạp qua cổng nối tiếp tương thích JDM: có khả năng điều khiển Vdd nhưng không được nhiều phần mềm hỗ trợ (làm giới hạn số chip được hỗ trợ), có thể không sử dụng được với một số máy tính. Tuy nhiên, nếu yêu cầu của bạn là nạp các chip PIC18 hay dsPIC thì không thành vấn đề (vì các chip này không cần thực hiện nâng điện áp Vpp trước điện áp Vdd-dựa trên những chip mà tôi đang sử dụng). Các mạch nạp qua cổng song song phổ biến hiện nay dựa trên mạch Tait classic của David Tait (cách đây khoảng 10 năm!), chẳng hạn như PIC-PG3B của Olimex, P16PRO, P16PRO40 của Bojan Dobaj, ProPic 2, ProPic Gold của Octavio Nogueira, PicProg của Martin Clausen, hay Schaer của Henk Schaer, ... Đa số các mạch này đã loại bỏ việc sử dụng khóa 2 chiều (vi mạch 4066) của mạch Tait classic. Các mạch này dùng nguồn ngoài, sử dụng các chân độc lập cho từng tín hiệu, do đó có khả năng thực hiện tất cả các thứ tự giữa Vpp và Vdd như Microchip yêu cầu. Linh kiện được sử dụng cũng không quá nhiều, một vi mạch đệm dạng cực thu hở, 2 bộ ổn áp, một số transistor, điện trở, và tụ điện. Nhận xét sau cùng của tôi với các mạch nạp qua cổng song song: không bị giới hạn gì về khả năng làm việc với máy tính, vấn đề là làm thế nào để điều khiển các bit của cổng từ máy tính, vì truy cập trực tiếp cổng song song sẽ khó khăn hơn so với cổng nối tiếp trên các hệ điều hành dùng công nghệ NT như Windows NT, Windows 2000, Windows XP, ... Bây giờ đến phần mềm đây. Thử google với các từ khóa 'PIC' , 'programmer', và 'software', bạn sẽ tìm được rất nhiều các phần mềm dùng để nạp PIC, đa số đều hỗ trợ các mạch nạp kinh điển đã được liệt kê ở trên. Vậy thì nên dùng cái nào? Tôi giới thiệu với các bạn các phần mềm tôi đang dùng: - OshonSoft Parallel Port Programmer của OshonSoft (http://www.oshonsoft.com): chỉ nạp cho PIC16, giao tiếp với cổng song song - WinPic800 của Sisco Benach Font (http://perso.wanadoo.es/siscobf/winpic800.htm): như các bạn đã biết, nạp được rất nhiều loại chip từ PIC10F đến dsPIC, tuy nhiên phải chờ tác giả hỗ trợ các chip chưa được thực hiện - PICPgm Develop. Programmer của Christian Stadler (http://members.aon.at/electronics/pic/picpgm/index.html): hiện đang hỗ trợ một số PIC12F, hầu hết PIC16F và PIC18F, tác giả theo hướng lập trình ở điện áp thấp (chỉ dùng Vdd để kích hoạt chế độ lập trình điện áp thấp ở chân PGM) đối với các chip có hỗ trợ chế độ này - WIN PIC Programmer của Wolfgang Buescher, DL4YHF (http://people.freenet.de/dl4yhf/winpicpr.html): hỗ trợ rất nhiều loại chip từ PIC10F đến dsPIC, ưu điểm đặc biệt của phần mềm này là khả năng tùy biến rất cao, người dùng có thể chọn các driver cũng như tốc độ khác nhau (nếu phần cứng không được tốt), có thể mô tả phần cứng của mạch nạp, và có thể tự mô tả các chip mới có thuật toán lập trình tương tự với một chip nào đó đã được hỗ trợ Ngoại trừ OshonSoft Parallel Port Programmer, các phần mềm còn lại đều hỗ trợ các mạch nạp dùng cổng nối tiếp (JDM) hay cổng song song (Tait classic). Đó là thông tin của tôi cho các bạn. Còn tôi, tôi đang dùng những gì? Tôi đang dùng một phiên bản sửa đổi của SI-Prog (tương thích JDM) và Schaer+ (cổng song song, là một phiên bản sửa đổi của Schaer đã được nói ở trên). Tôi thường xuyên dùng WIN PIC của Wolfgang Buescher, DL4YHF, và WinPic800. Tôi thường thiết kế một kit để chạy thử, có sẵn đầu nối ICSP, và mạch nạp của tôi chỉ có đầu nối ICSP mà không có đế cắm (như vậy tôi tiết kiệm được một cái đế cắm!). Một điều đã được David Tait ghi chú khi thiết kế Tait classic, nhưng đến nay vẫn gây khó khăn cho nhiều người là các tín hiệu Clock và Data có thể cần được lọc bằng một tụ nhỏ (khoảng 47 pF) nối giữa chân đó và ground, đặt càng gần chip càng tốt. Tôi sẽ post mạch phần cứng cho cổng nối tiếp mà tôi đã sửa vào lần sau, vì cần phải chú thích các đường tín hiệu. Các phần mềm WinPic800 và PICPgm thì khá trực quan, có lẽ tôi sẽ không nói thêm về chúng, còn các phần mềm OshonSoft và WIN PIC Programmer thì tôi xin khất đến bài sau, vì tôi đang khá bận. Cần nói thêm một điều là WIN PIC hiện nay đang có một lỗi nhỏ khi verify phần bộ nhớ cấu hình, tôi đã thông báo cho tác giả về điều này), trong thời gian chờ đợi, chúng ta có thể dùng một mẹo nhỏ mà tôi sẽ đề cập trong bài sau để khắc phục. Mạch PG2C và PG3B thì chúng ta đã có sẵn tại PICVIETNAM, các bạn không có điều kiện làm mạch thì có thể liên hệ picvendor để mua. Hy vọng đã cung cấp đủ thông tin cho các bạn. Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 thay đổi nội dung bởi: namqn, 30-11-2007 lúc 05:43 PM. |
16-02-2006, 11:10 PM | #5 |
Trưởng lão PIC bang
|
Tôi gởi kèm bảng tổng hợp (chưa đầy đủ) kết quả nạp các PIC và dsPIC mà tôi đã thử nghiệm (58 loại) bằng các phần mềm và phần cứng khác nhau.
edit: Thông tin cập nhật kết quả thử nghiệm được đưa lên trang web của tôi (link dưới đây) http://namqn.byethost7.com/uC.php Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 thay đổi nội dung bởi: namqn, 26-10-2008 lúc 12:39 AM. |
03-04-2006, 10:46 PM | #6 |
Trưởng lão PIC bang
|
Trong luồng này tôi hứa hẹn nhiều quá nhưng vẫn chưa thực hiện.
Cái mạch dùng cổng nối tiếp thì phải ngồi vẽ và chú thích lại, nên lại khất nữa. Chỉ có phần thông tin về mẹo nhỏ để dùng WINPIC của DL4YHF thì không cần nữa, vì nó đã được tác giả khắc phục rồi. Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
05-04-2006, 07:25 PM | #7 |
Trưởng lão PIC bang
|
Đây là mạch nạp dùng cổng nối tiếp mà tôi đang dùng, tôi đã sửa đôi chút từ mạch SI-Prog. Bạn có thể thấy mạch hơi lạ, nhưng tôi thiết kế theo điều kiện linh kiện sẵn có của tôi, ở nước Anh, và để có thể dùng được với laptop. Ở nước Anh muốn chơi mấy cái hobby kiểu này cũng khá tốn kém, nên tôi đã thiết kế một mạch hơi khác người, chẳng qua là để tiết kiệm một ít tiền thôi, .
Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
07-04-2006, 03:18 AM | #10 |
Đệ tử 2 túi
Tham gia ngày: Feb 2006
Bài gửi: 31
: |
cảm ơn bac namqn nhiều
|
11-04-2006, 03:27 PM | #11 |
Nhập môn đệ tử
Tham gia ngày: Oct 2005
Bài gửi: 8
: |
chào bác namqn tui đã xem cái sơ đồ mạch nạp của bác thấy đơn giản linh kiện cũng dễ kiếm nên định làm một cái nhưng có một chỗ thắc mắc nhờ bác chỉ hộ hoặc bác nào biết thì chỉ hộ cũng được.Không hiểu bác vẽ sai hay sao mà lại có cái BAT 9v hình như là cục pin thì phải nhưng sao nó lại được nối với nguồn 5v mà nếu ở đây đúng và cục pin thì mình thay vào đó bằng một bộ nguồn ngoài được không? Chờ phúc đáp
|
11-04-2006, 07:16 PM | #12 | |
Trưởng lão PIC bang
|
Trích:
Bạn chú ý là với một số chip thuộc dòng PIC16F đôi khi yêu cầu kích hoạt chế độ nạp bằng cách nâng áp tại chân MCLR trước rồi mới nâng áp Vdd thì mạch nạp này không đáp ứng được. Nếu bạn dùng PIC18F hoặc dsPIC thì mạch này đảm bảo nạp ngon lành. Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
26-07-2006, 10:45 PM | #13 | ||
...Damned...
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
: |
Trích:
Vậy mạch PGC2 Vpp > 11V hoàn toàn có thể nạp tất cả chip dù chạy với laptop, tuy nhiên do có nhiều thời gian sử dụng PGC2 em thấy đây ko phải là mạch nạp ổn định, nguyên nhân có thể do bản thân mạch, nhưng em tin chắc ko phải do Vpp ko đủ. Trích:
|
||
26-07-2006, 11:17 PM | #14 | ||
Trưởng lão PIC bang
|
Trích:
Trích:
Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 thay đổi nội dung bởi: namqn, 26-07-2006 lúc 11:20 PM. |
||
14-04-2006, 11:13 AM | #15 |
Nhập môn đệ tử
Tham gia ngày: Oct 2005
Bài gửi: 8
: |
đúng là mình không kiếm được cái zener 13v thật mình mua cái 12v rồi,cách nối nối tiếp 2 zener như bác nói mình mới nghe lần đầu vì mình không phải là dân điện tử đây là một hiểu biết mới thú vị của mình cảm ơn bác nhiều.Nhưng mà cái mạch của bác nó không có nạp được cho một số pic6f à thế mà mình định làm để vọc mấy con pic trong tutorial của nigel chớ,thế con 16F628A nó có nạp được không hở bác
thắc mắc nhiều yêu khoa học |