Vi điều khiển

Trang này dành cho các bộ vi điều khiển. Tôi làm quen với họ MCS-51 (qua AT89C51) đầu tiên, sau đó là AVR (tuy nhiên chưa có kết quả đáng kể gì). Hiện nay tôi đang sử dụng PIC trong hầu hết các thiết kế có sử dụng vi điều khiển.

Những thông tin đưa ra ở đây được tôi tin là đúng, nhưng tôi không đảm bảo rằng mọi thông tin là chính xác 100%. Nếu bạn phát hiện có chỗ nào chưa đúng, xin hãy liên hệ với tôi qua: namqn (at) yahoo (dot) com. Nếu bạn nhận thấy trang web này có ích, mong bạn chỉ phổ biến liên kết đến trang này chứ không sao chép nội dung của trang này đến nơi khác. Xin chân thành cám ơn sự giúp đỡ của bạn!


 


MCS-51

Hiện nay tôi ít dùng các vi điều khiển thuộc họ MCS-51 trong các thiết kế, tuy nhiên tôi vẫn cập nhật thông tin về họ vi điều khiển này, vì MCS-51 vẫn đang là chuẩn công nghiệp.

Trước hết, tôi sẽ giới thiệu sơ qua về họ vi điều khiển MCS-51, sau đó tôi sẽ giới thiệu các chip của các hãng khác nhau, các phần mềm và thiết kế phần cứng mà tôi sưu tầm được trên net.

Họ vi điều khiển MCS-51 được hãng Intel giới thiệu vào năm 1980, với các thành viên đầu tiên bao gồm: 8031 (không có ROM nội), 8051 (có ROM nội) và 8751 (có EPROM nội). Các chức năng bao gồm: nguồn đơn 5V, 4 kB (EP)ROM chương trình (trừ 8031), 128 byte RAM dữ liệu, 4 bank thanh ghi, không gian địa chỉ chương trình và dữ liệu 64 kB, chu kỳ máy gồm 12 xung clock, 32 chân I/O tổ chức thành 4 port (8031 chỉ có 16 chân), cổng nối tiếp nhiều chế độ, 2 bộ đếm/định thời (timer/counter) 16-bit, số học nhị phân và thập nhân, bộ nhân/chia phần cứng, và một số chức năng khác. (Tham khảo từ tài liệu AP-69: An Introduction to the Intel MCS-51 Single-Chip Microcomputer Family, của hãng Intel). Chú ý: 1 kB = 1 kilobyte = 1024 byte.

Hãng Intel sau đó đã đưa ra phiên bản cải tiến cho các chip 8x51/8031, là các chip 8xC52/80C32, với dung lượng ROM nội và RAM dữ liệu gấp đôi (tất nhiên 80C32 vẫn không có ROM nội), nghĩa là 8 kB (EP)ROM chương trình và 256 byte RAM dữ liệu. Tuy nhiên, kiến trúc của chip vẫn không thay đổi, do vậy 8xC52 vẫn thuộc về họ MCS-51. (Tham khảo từ tài liệu 8xC52/54/58 CHMOS Single-Chip Microcontroller, của hãng Intel).

Nhiều hãng sản xuất linh kiện bán dẫn đã đưa ra các chip tương thích với họ MCS-51, với một số cải tiến nhất định. Dưới đây là danh sách các nhà sản xuất chip tương thích MCS-51 (mà tôi biết), cùng với các sản phẩm tương ứng (một số sản phẩm là core dùng cho các hệ FPGA):


Dưới đây là các thông tin liên quan đến các phần mềm và thiết kế phần cứng cho họ MCS-51. Bạn hãy theo các liên kết đã đưa ra để có được phiên bản mới nhất.

Các phần mềm liên quan đến họ vi điều khiển MCS-51


Các thiết kế phần cứng liên quan đến họ vi điều khiển MCS-51

 


AVR

Hiện nay tôi không sử dụng các chip AVR, do đó chỉ cung cấp các công cụ (phần mềm và thiết kế phần cứng) mà tôi sưu tầm được vào thời gian trước. Tôi cung cấp liên kết đến trang gốc với mong muốn là bạn sẽ có được phiên bản mới nhất.

Các phần mềm liên quan đến họ vi điều khiển AVR


Các thiết kế phần cứng liên quan đến họ vi điều khiển AVR

 


PIC và dsPIC

Hầu hết các mạch vi điều khiển của tôi hiện nay dùng PIC và dsPIC. Tôi đang tham gia diễn đàn PIC Vietnam, tại đó tôi trao đổi kinh nghiệm sử dụng PIC và dsPIC với những người dùng khác. Tôi dùng phần này của trang web để hệ thống hóa các kiến thức về PIC và dsPIC, cũng như cung cấp các thông tin về phần mềm và thiết kế phần cứng mà tôi sưu tầm được trên net.

Cơ bản về PIC

PIC nói chung là họ vi điều khiển 8-bit/16-bit, dựa trên kiến trúc Harvard sửa đổi, với tập lệnh rút gọn (do vậy PIC thuộc loại RISC). PIC được sản xuất từ dòng cơ bản như PIC10 hay PIC12, qua dòng cấp thấp PIC16, cho đến dòng cấp cao PIC18. Hiện nay hãng Microchip đã có các họ vi điều khiển 16-bit, gồm PIC24H và PIC24F. Hãng Microchip cũng vừa giới thiệu vào tháng 11 năm 2007 họ vi điều khiển 32-bit, PIC32MX, dựa trên lõi MIPS32 M4K.


Cơ bản về dsPIC

Chỉ xét riêng phần vi điều khiển, dsPIC giống như PIC24, là các vi điều khiển 16-bit, dựa trên kiến trúc Harvard sửa đổi, với tập lệnh rút gọn (như vậy dsPIC và PIC24 cũng thuộc loại RISC). dsPIC hiện nay gồm có hai dòng: dsPIC30F và dsPIC33F.


Các phần mềm liên quan đến họ vi điều khiển PIC và dsPIC


Các thiết kế phần cứng liên quan đến họ vi điều khiển PIC và dsPIC


JDM Mod
Hình 1. Mạch nạp JDM Mod

 

Schear+ Mod
Hình 2. Mạch nạp Schaer+ Mod

Các mạch nạp và phần mềm được giới thiệu ở đây đã được tôi thử nghiệm thực tế. Dưới đây là bảng tổng hợp (chưa đầy đủ) các kết quả thử nghiệm.

\n"; print "\n"; print "No.\n"; print "PIC/dsPIC\n"; print "Package\n"; print "WIN PIC\n"; print "WinPic800\n"; print "OshonSoft\n"; print "PICPgm\n"; print "melabs Prog.\n"; print "EPIC Win\n"; print "US-Burn\n"; print "PICkit 2\n"; print "\n"; $stt = 1; while (!feof($file_handle)) { $one_line = fgets($file_handle); list($cot[1], $cot[2], $cot[3], $cot[4], $cot[5], $cot[6], $cot[7], $cot[8], $cot[9], $cot[10]) = sscanf($one_line, "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s"); print "\n"; print "".$stt."\n"; print "".(empty($cot[1]) ? " " : $cot[1])."\n"; print "".(empty($cot[2]) ? " " : $cot[2])."\n"; print "".(empty($cot[3]) ? " " : $cot[3])."\n"; print "".(empty($cot[4]) ? " " : $cot[4])."\n"; print "".(empty($cot[5]) ? " " : $cot[5])."\n"; print "".(empty($cot[6]) ? " " : $cot[6])."\n"; print "".(empty($cot[7]) ? " " : $cot[7])."\n"; print "".(empty($cot[8]) ? " " : $cot[8])."\n"; print "".(empty($cot[9]) ? " " : $cot[9])."\n"; print "".(empty($cot[10]) ? " " : $cot[10])."\n"; print "\n"; $stt++; } print "\n"; fclose($file_handle); ?>

Chú thích: S-Schaer+, J-JDM, P-PICPgm USB, B-Brenner8, PK-PICkit 2. Các ô có ký hiệu '-' nghĩa là tổ hợp phần cứng và phần mềm đó không hỗ trợ chip tương ứng hay chưa được thử nghiệm.

 

Trang này đã được viếng thăm ".$visistors." lần, kể từ ngày 06/3/2006

"; ?>

 

Cập nhật ngày: 23/7/2010