Tài liệu này đề cập đến: • Nguồn USB cho Programmer-To-Go của PICkit 2 • Các vi điều khiển PIC được hỗ trợ • Giới hạn về kích thước ảnh bộ nhớ • Hướng dẫn từng bước wizard Programmer-To-
Trang 1Tutorial n o 08.01
Gửi đến: Đoàn Hiệp, www.picvietnam.com
Nội dung: Hướng dẫn sử dụng chế độ Programmer-To-Go của PICkit 2
MICROSOFT WORD
Tóm tắt:
Tutorial này lược dịch bản hướng dẫn sử dụng chế độ Programmer-To-Go của PICkit 2
Chức năng Programmer-To-Go của PICkit 2 cho phép tải một ảnh bộ nhớ của một vi điều khiển PIC vào trong PICkit 2 để sau đó nạp vào một vi điều khiển PIC cụ thể Không cần dùng bất kỳ phần mềm hay máy tính nào một khi PICkit 2 được thiết lập cho Programming-To-Go Chỉ cần một nguồn năng lượng qua cổng USB cho PICkit 2 Tài liệu này đề cập đến:
• Nguồn USB cho Programmer-To-Go của PICkit 2
• Các vi điều khiển PIC được hỗ trợ
• Giới hạn về kích thước ảnh bộ nhớ
• Hướng dẫn từng bước wizard Programmer-To-Go của PICkit 2
• Mã trạng thái LED
Phần cứng của PICkit 2 không cho phép nó được cấp nguồn từ mạch đích thông qua chân VDD của đầu nối ICSP Do đó, nó phải được cấp nguồn 5 V thông qua cổng USB mini-B ở mặt trên của nó Có nhiều tùy chọn trong việc cấp nguồn Một số tùy chọn bao gồm:
• Bất kỳ cổng USB nào từ máy tính hay hub (Không cần sử dụng truyền thông USB; chỉ cần dùng cổng USB để cấp nguồn)
• Một cổng USB host trên một thiết bị xách tay
• Một adapter hay bộ sạc USB với một đầu nối USB mini-B, lấy từ xe hơi hay ổ cắm điện AC trên tường
• Một bộ sạc cầm tay hay nguồn cho điện thoại di động hay các thiết bị cầm tay khác với đầu nối USB mini-B
Trang 2• Một bộ pin chuyên dụng cung cấp 5 V ổn định cho cổng USB của PICkit 2.
2.1.Các yêu cầu về nguồn
Nguồn năng lượng USB được dùng cần đáp ứng những tiêu chuẩn tối thiểu sau:
• Có thể cung cấp ít nhất 100 mA đến bộ PICkit 2
• Cung cấp một điện áp xác lập ổn định từ 4,5 đến 5,5 V ở tải từ 30 đến 100 mA Một điện trở 160 Ω giữa các ngõ ra của nguồn sẽ cho phép kiểm tra nhanh giới hạn dưới
30 mA Dùng điện trở 47 Ω để kiểm tra điện áp ở cận trên 100 mA
Chú ý: Hầu hết các bộ sạc di động/thiết bị cấp nguồn có sẵn pin sẽ không báo hiệu pin của
chúng có điện áp quá thấp và ngõ ra giảm xuống dưới 4,5 V Do đó người dùng sẽ chịu trách nhiệm đảm bảo pin của thiết bị có đủ dung lượng để cấp nguồn cho PICkit 2 ở mức trên 4,5 V
2.2.Ví dụ về nguồn USB di động dùng pin
Hai sản phẩm dưới đây chỉ được dùng để minh họa các lựa chọn có thể có đối với nguồn USB di động cho Programmer-To-Go của PICkit 2 Các giải pháp này không được đặc biệt hỗ trợ hay khuyến cáo bởi Microchip
Chú ý: Bất kỳ nguồn dùng pin nào cũng nên được ngắt khỏi PICkit 2 khi không sử dụng
Ngược lại, bộ PICkit 2 sẽ tiêu thụ năng lượng của nguồn
2.2.1 Bộ sạc điện thoại di động khẩn cấp b-mobile của Bluegears
Thiết bị này là một nguồn USB mini-B nhỏ có thể sạc lại bộ pin của nó từ một cổng USB thông qua cáp USB mini-B của PICkit 2 Mã hàng của Bluegears là BG01145
Mở nắp lật của nó sẽ thấy một đầu nối USB mini-B đực nối trực tiếp với cổng USB của bộ PICkit 2
Hình 2-1 cho thấy thiết bị đang tự sạc qua một cổng USB
Thông tin:
• Nạp lại điện thông qua cổng USB
• Dạng nhỏ gọn
• Nối trực tiếp vào PICkit 2
• Giá bán lẻ ước tính: 10 USD
• Trang web nhà sản xuất: www.bgears.com
HÌNH 2-1: BLUEGEARS B-MOBILE
Trang 3Giới hạn có thể có:
• Điện áp cung cấp có thể không cao hơn 4,5 V nhiều ngay cả khi nạp đầy Không khuyến cáo sử dụng với Programmer-To-Go khi PICkit 2 cấp nguồn cho mạch
đích
• Không “chuyển tiếp” dữ liệu USB khi nối với cả cổng USB lẫn PICkit 2
• Pin sạc không thể thay thế được
Hình 2-2 cho thấy Bluegears b-mobile đang được dùng với một bộ PICkit 2 cho chức năng Programmer-To-Go
2.2.2 Bộ sạc điện thoại di động Energi To Go sang Mini USB của Energizer
Bộ sạc di động này chạy bằng 2 pin AA tiêu chuẩn, và nối vào PICkit 2 qua một cáp
ngắn Có vài phiên bản của sản phẩm Phiên bản tương thích với PICkit 2 có mã hàng
CEL2MUSB cho các điện thoại di động dùng “mini USB”
Thông tin:
• Dùng pin AA có thể thay thế tại chỗ
• Cung cấp từ 5 đến 5,5V ngõ ra; thích hợp cho việc cấp nguồn mạch đích từ PICkit 2
• Giá bán lẻ ước tính: 20 USD
• Trang web nhà sản xuất: www.energitogo.com
HÌNH 2-2: B-MOBILE ðANG CẤP NGUỒN CHO PICKIT 2 VỚI PROGRAMMER-TO-GO
Trang 4Giới hạn có thể có:
• Dò tìm pin bằng cách đóng ngắt điện áp ngõ ra USB, có thể gây các vấn đề reset PICkit 2 Xem chú ý dưới đây
• Cáp rời có thể bị thất lạc
HÌNH 2-3 ENERGIZER ENERGI TO GO
HÌNH 2-4 ENERGI TO GO CẤP NGUỒN PROGRAMMER-TO-GO CỦA PICKIT 2
Trang 5Chú ý: Sản phẩm Energi To Go của Energizer đóng ngắt điện áp ngõ ra USB để phát hiện
có thiết bị nối vào Điều này có thể làm cho vi điều khiển trong PICkit 2 bị reset không đúng cách, vì BOR (reset khi nguồn suy giảm) của nó không được bật BOR không được bật vì nó làm nhiễu việc phát hiện lỗi VDD của PICkit 2
Các triệu chứng cho thấy PICkit 2 không ra khỏi trạng thái reset đúng cách là nó không nhấp nháy đèn LED Target hai lần để cho biết nó sẵn sàng nạp chương trình Nếu điều này xảy ra, tháo Energi To Go ra khỏi PICkit 2 và gắn trở lại Khi các đèn LED xanh trên Energi To Go nhấp nháy, nó sẽ không đóng ngắt VDD nữa khi được nối lại
Tất cả các linh kiện trong các họ sau được hỗ trợ bởi phần mềm PICkit 2 Programmer đều được hỗ trợ chức năng Programmer-To-Go Tuy nhiên, vì bộ nhớ trong PICkit 2 là có giới hạn, chức năng Programmer-To-Go bị giới hạn về kích thước của ảnh bộ nhớ có thể được nạp vào Bảng 3-1 liệt kê các họ linh kiện và các giới hạn về bộ nhớ chương trình BẢNG 3-1: CÁC LINH KIỆN ĐƯỢC HỖ TRỢ PROGRAMMER-TO-GO
Giới hạn kích thước bộ nhớ chương trình2
Họ linh kiện được
hỗ trợ
Linh kiện được hỗ
Chú ý 1: Hỗ trợ tất cả các linh kiện trong họ được hỗ trợ bởi ứng dụng PICkit
Programmer Xem mênu Help>ReadMe về danh sách linh kiện được hỗ trợ bởi ứng dụng Các linh kiện có bộ nhớ lớn được hỗ trợ; phần bị giới hạn là kích thước của mã chương trình có thể được lập trình bởi Programmer-To-Go của PICkit 2
Trang 62: Bộ nhớ EEPROM dữ liệu, các User ID, và cấu hình của linh kiện đã được tính đến khi đưa ra những giới hạn này Để đơn giản, chỉ có kích thước bộ nhớ chương trình xác định liệu ảnh bộ nhớ có nằm lọt hay không Các họ thiết bị khác nhau có phần bộ nhớ phụ trội khác nhau làm ảnh hưởng đến kích thước tối đa
3: Các họ này không có giới hạn bộ nhớ thực tế vì không có linh kiện nào trong họ vượt quá giới hạn thực
3.1.Tăng dung lượng bộ nhớ cho Programmer-To-Go của PICkit 2
Bộ nhớ trong PICkit 2 dùng để lưu mã chương trình cho chức năng Programmer-To-Go
có thể được tăng gấp đôi, do đó tăng gấp đôi các kích thước giới hạn đã nêu trong bảng
3-1
Để mở rộng bộ nhớ cần phải thay hai EEPROM 64 KB 24LC512 trên bo mạch của PICkit
2 tại U3 và U4 bằng hai EEPROM 128 KB 24LC1025-I/SM Điều này làm tăng tổng dung lượng EEPROM từ 128 KB lên 256 KB Điều quan trọng cần chú ý là các EEPROM
24LC1025 cần có chân A2 nối vào VCC để hoạt động đúng theo datasheet Bo mạch PICkit
2 có chân A2 nối đến 0 V Do đó, khi thay các 24LC512 bằng các 24LC1025, chân A2 phải được nhấc lên để nó không chạm vào mạch, và được nối vào chân VCC của linh kiện Cũng cần phải thay đổi lại tập tin INI của phần mềm PICkit 2 Programmer để nó nhận biết không gian EEPROM đã được mở rộng Làm theo những bước dưới đây để hoàn tất và
sử dụng việc nâng cấp bộ nhớ cho bộ PICkit 2 của bạn:
1 Mở vỏ PICkit 2 bằng cách nạy nó lên với một tuốc-nơ-vít dẹp tại 3 điểm lõm dọc theo một cạnh dài của vỏ
2 Tháo các EEPROM 24LC512 tại những vị trí được ký hiệu U3 và U4 khỏi bo mạch
3 Nhấc các chân A2 của hai EEPROM 24LC1025 lên để chúng không chạm vào đường mạch khi đặt lên bo mạch
4 Hàn hai EEPROM 24LC1025 vào các vị trí U3 và U4 trên bo mạch PICkit 2
5 Hàn một dây từ chân A2 đã nhấc lên vào chân VCC cho cả hai EEPROM 24LC1025
6 Đảm bảo phần mềm PICkit 2 Programmer không chạy
7 Mở tập tin INI (nằm trong thư mục đã cài đặt phần mềm PICkit 2 Programmer) bằng Notepad hay một trình soạn thảo văn bản khác
8 Tìm dòng sau trong tập tin INI:
PTGM: 0
9 Sửa giá trị thành 1 như sau và lưu, sau đó đóng tập tin INI
PTGM: 1
Phần mềm PICkit 2 Programmer lúc này sẽ nhận ra và sử dụng bộ nhớ đã nâng cấp cho chức năng Programmer-To-Go của PICkit 2 Nó sẽ cho thấy tập tin INI được thay đổi thành
Trang 7công bằng việc hiển thị văn bản sau tại phía đáy màn hình “Welcom” trong hộp thoại Programmer-To-Go Wizard: “256K PICkit 2 upgrade support enabled.”
QUAN TRỌNG Khi thay thế các EEPROM của PICkit 2 với các linh kiện 24LC1025, chân A2 của 24LC1025 phải được nhấc lên và nối với chân VCC, nếu không các EEPROM 24LC1025 sẽ không làm việc
Một bộ PICkit 2 đã nâng cấp 256 KB có thể dùng thành công với phần mềm PICkit 2
Programmer vẫn đang được cấu hình mặc định là 128K, mặc dù bất kỳ việc tải chương trình nào đều bị giới hạn như một bộ 128 KB Tuy nhiên, điều ngược lại không đúng Một
bộ PICkit 2 với mặc định 128 KB không thể sử dụng thành công với phần mềm PICkit 2
Programmer đã được cấu hình để dùng với bộ nâng cấp 256 KB, ngay cả kích thước mã chương trình vẫn nằm trong các giới hạn tương ứng 128 KB
3.2.Các giới hạn khác của Programmer-To-Go của PICkit 2
Programmer-To-Go của PICkit 2 chỉ hỗ trợ chức năng GHI Nó không thể được thiết lập để ĐỌC, (CHỈ) KIỂM TRA, hoặc KIỂM TRA TRẮNG một linh kiện Chú ý rằng việc XÓA có thể được thiết lập bằng cách để trống tất cả bộ đệm của phần mềm PICkit 2 Programmer
Nếu Programmer>Verify on Write được chọn, chức năng Programmer-To-Go của PICkit 2 sẽ kiểm tra linh kiện nó đã nạp chương trình Việc kiểm tra được thực hiện bằng cách tính checksum của linh kiện được lập trình và so sánh với một giá trị mong muốn
3.2.1 PIC18F: Giới hạn về bảo toàn dữ liệu EEPROM khi ghi
Khi lập trình một linh kiện với hộp chọn “Enabled” của vùng nhớ EEPROM dữ liệu không được chọn, PICkit 2 sẽ ghi bộ nhớ chương trình, các User ID, các từ cấu hình nhưng sẽ bảo toàn nội dung đã có của vùng nhớ EEPROM dữ liệu trong linh kiện Với hầu hết linh kiện PIC18F, điều này có thể được thực hiện với
Programmer-To-Go của PICkit 2
Tuy nhiên, với một số linh kiện PIC18F vùng nhớ EEPROM dữ liệu phải được đọc
từ linh kiện trước, sau đó ghi lại cùng với các vùng nhớ khác Với những linh kiện này Programmer-To-Go của PICkit 2 không hỗ trợ bảo toàn dữ liệu EEPROM đã có của linh kiện Phần mềm sẽ báo lỗi nếu người dùng thử thiết lập chức năng như vậy cho một linh kiện bị ảnh hưởng
Trước khi tải một ảnh bộ nhớ vào PICkit 2 cho chức năng Programmer-To-Go, các tùy chọn và bộ đệm của phần mềm PICkit 2 Programmer nên được thiết lập như mong muốn khi dùng Programmer-To-Go Thực tế, việc lập trình thử một linh kiện từ phần
Trang 8mềm được đặc biệt khuyến cáo, với tất cả các lựa chọn mong muốn, để đảm bảo linh kiện được lập trình như mong muốn trước khi tải một ảnh bộ nhớ cho
Programmer-To-Go
4.1.Thiết lập dữ liệu và tùy chọn lập trình
Một danh sách kiểm tra các bước bao gồm
1 Đảm bảo mã hiệu vi điều khiển PIC bạn muốn lập trình là linh kiện tích cực Dùng mênu Device Family để chọn đúng họ linh kiện trước Nó phải xuất hiện ở đỉnh của vùng Device Configuration của cửa sổ PICkit 2 Nếu một linh kiện đích không có mặt để được kết nối, chọn Programmer>Manual Device Select Điều này cho phép mã hiệu linh kiện được chọn từ một hộp thả xuống
2 Tải ảnh bộ nhớ cần được lập trình vào các bộ đệm của PICkit 2
Điều này có thể được thực hiện thông qua File>Import Hex hay bằng một thao tác ĐỌC một linh kiện đã có
3 Thiết lập các tùy chọn trong phần mềm PICkit 2 Programmer như mong muốn Các tùy chọn sau ảnh hưởng chức năng Programmer-To-Go Để có thông tin chi tiết về một tùy chọn, xin tham khảo tài liệu hướng dẫn sử dụng PICkit 2 thông qua Help>Pickit 2 User Guide
Programmer>Verify on Write
Programmer>Hold Device in Reset
Tools>Enable Code Protect
Tools>Enable Data Protect
Tools>Use VPP First Program Entry
Tools>Fast Programming
Hộp VDD của “VDD PICkit 2” xác định điện áp VDD được cung cấp, nếu PICkit 2 cấp nguồn cho linh kiện
4 Thử nghiệm việc lập trình một linh kiện đích từ phần mềm PICkit 2 Programmer
4.2.Thiết lập Programmer-To-Go
Khi ảnh bộ nhớ và các tùy chọn lập trình cho linh kiện đích đã được thiết lập và thử nghiệm, khởi động Programmer-To-Go Setup Wizard thông qua Programmer>PICkit 2 Programmer-To-Go …
Hộp thoại wizard sẽ mở màn hình “Welcome” Nhấn vào Next> để đến màn hình
“Programmer Settings”
4.2.1 Màn hình các thiết lập mạch nạp
Màn hình Programmer Settings cho phép người dùng kiểm tra các thiết lập bộ đệm ảnh bộ nhớ, và lựa chọn tùy chọn nguồn VDD đích sẽ được dùng Một ví dụ được thể hiện trong hình 4-1
Trang 9Các thiết lập bộ đệm
Device: Thể hiện linh kiện đích đã chọn Các giá trị OSCCAL và BandGap
sẽ được bảo toàn trên các linh kiện tương ứng
Buffer data source: Hiển thị nguồn của bộ đệm ảnh bộ nhớ hiện thời sẽ được dùng Code Protect: Hiển thị linh kiện sẽ được lập trình với các tùy chọn bảo vệ được Data Protect: bật hay tắt Nếu các tùy chọn này không được thiết lập trong tập
tin hex đầu vào, chúng có thể được bật thông qua mênu Tools Memory Regions: Cho thấy toàn bộ linh kiện sẽ được lập trình hay không, bộ nhớ
EEPROM dữ liệu của linh kiện sẽ được bảo toàn, hay chỉ có bộ nhớ EEPROM dữ liệu sẽ được ghi Những tùy chọn này được xác định bằng trạng thái của các hộp chọn “Enabled” của bộ nhớ chương trình và EEPROM dữ liệu ở cửa sổ ứng dụng chính Verify Device: Linh kiện sẽ được kiểm tra sau khi lập trình bằng
Programmer-To-Go nếu Programmer>Verify on Write được chọn
HÌNH 4-1: MÀN HÌNH CÁC THIẾT LẬP
Trang 10Các thiết lập nguồn
Chế độ Programmer-To-Go của PICkit 2 có thể tùy ý cấp nguồn cho linh kiện đích, mặc dù thông thường mạch đích sẽ có nguồn riêng Mạch đích được khuyến cáo sử dụng nguồn riêng thay vì dùng nguồn của PICkit 2 ở chế độ Programmer-To-Go
Target has its own power supply: Dùng tùy chọn này nếu mạch đích không được cấp
nguồn từ PICkit 2 Điện áp tối thiểu cho lập trình linh kiện sẽ được hiển thị Nếu thiết bị có điện áp Bulk Erase cao nhưng hỗ trợ một phương pháp xóa hàng điện áp thấp, một hộp chọn sẽ xuất hiện như trong hình 4-1 Chọn hộp này nếu VDD đích sẽ thấp hơn giá trị điện áp được hiển thị
Power the target from PICkit 2: Dùng tùy chọn này để cấp nguồn cho mạch đích từ
chân VDD của PICkit 2 Điện áp VDD được đặt bởi hộp Voltage trong “VDD PICkit 2” ở cửa sổ ứng dụng chính
CHÚ Ý Khi cấp nguồn cho mạch đích từ PICkit 2, cần đảm bảo nguồn USB cung cấp đủ điện áp và dòng điện để lập trình linh kiện Tùy vào nguồn được dùng, PICkit 2 có thể không đủ khả năng cấp điện áp VDD cần thiết cho linh kiện đích VDD lớn nhất mà PICkit 2 có thể tạo ra
là khoảng 200 đến 300 mV thấp hơn so với điện áp nguồn USB
Các giới hạn về dòng điện mạch đích và điện dung ở chế độ Programmer-To-Go giống như chế độ USB Tối đa 25 mA có thể cấp cho mạch đích, và điện dung mạch đích không được gây ra thời gian tăng VDD dài hơn 500 µs
Chú ý: Nếu phương pháp xóa hàng điện áp thấp được dùng với một linh kiện đích,
những linh kiện đã được bảo vệ mã sẽ không thể được lập trình Lập trình một thiết bị đã bật bảo vệ đòi hỏi thực hiện một phép Bulk Erase (xóa toàn bộ chip) ở điện áp cao hơn hay bằng giá trị ngưỡng VDD đã nêu
Nếu tất cả thiết lập cho mạch nạp là thích hợp, nhấn nút Next >
4.2.2 Màn hình tải xuống PICkit 2
Màn hình này cho thấy một tóm tắt các thiết lập từ màn hình trước, và cho biết Tools>Fast Programming và Programmer>Hold Device in Reset có được bật hay không Trong hầu hết các tình huống, cả hai tùy chọn này nên được bật