VI ĐIỀU KHIỂN PIC 18F4550
4.4 Phát triển ứng dụng trong MPLAB IDE
Các bước sau để tạo ra một ứng dụng mới cho 18f4550 dùng chế độ tải khởi động để download cho thiết bị.
Mở MPLAB IDE
Từ thực đơn MPLAB Project, chọn Project Wizard. Click “Next”.
Chọn thiết bị (PIC18F4550).
Chỉnh lại Active Toolsuite là “Microchip C18 Toolsuite”.
Tạo một file project mới. Tạo một thư mục mới cho project (C:\MCHPFSUSB\fw\MyPro1). Đặt tên cho project (ví dụ MyPro1).
Tạo một file để lưu chương trình C. File|New. Thêm mã, Save As (ví dụ Mypro1.c). Thêm Mypro1.c vào project. File|Add new file to project.
Biên dịch Project|Build All.
Sau khi biên dịch thành công, vào chế độ tải khởi động với 18f4550. Sử dụng ứng dụng PDFSUSB.EXE để tải chương trình vào 18f4550.
Chú ý rằng script linker đặc biệt (rm18f4550.lkr) được dùng cho ứng dụng tải khởi động. Trong rm18f4550.lkr, reset, vector ngắt có ưu tiên cao và thấp được xếp ngoài khối khởi động để ngăn ghi đè lên nó.
Ví dụ - Tải file Hex Demo02 vào 18f4550
Khi bạn đã truyền được tải khởi động vào 18f4550, bạn có thể dùng chương trình PDFSUSB.EXE để tải file chương trình vào thiết bị.
Để vào chế độ tải khởi động, nhấn phím chương trình trên bảng phát triển trong khi vẫn cắm cáp USB hay reset lại bảng. Nếu đây là lần đầu tiên bạn dùng tải khởi động thì máy tính của bạn sẽ không nhận firmware tải khởi động, vì vậy bạn phải cài driver (chỉ cần một lần). Khi Windows thông báo “Found New Hardware”, click “No, not this time” rồi chọn “Install from list”. Rồi click vào “Browse …” và chọn thư mục “C:\MCHPFSUSB\Pc\MCHPUSB Driver\Release” rồi “Next”, “Continue Anyway” và “Finish”.
Ví dụ sau đây trình bày về thủ tục tải khởi động cho project Microchip Demo02, chương trình kiểm thử có thể được tải khởi động.
MPLAB: Với MPLAB, mở, (chỉnh lại) và xây dựng (lại) project “C:\MCHPFSUSB\fw\Demo02\Demo02.mcp”.
BOARD: Vào chế độ khởi động bằng cách nhấn [S1 Reset] trong khi vẫn giữ [S2 enter Boot/Program].
PDFSUSB: Mở công cụ Microchip:
“C:\MCHPFSUSB\Pc|Pdfsusb\PDFSUSB.exe” (“tiện ích Microchip USB – Boot Loader”).
PDFSUSB: Trong danh sách thả xuống, chọn PIC, đặt tên là “PICDEM FS USB 0 (Boot)”.
PDFSUSB: Click “Load Hex file”:
“C:\MCHPFSUSB\fw\Demo02\Demo02.hex”. PDFSUSB: Click “Program Device”.
PDFSUSB: Click “Execute” để khởi động PIC trong chế độ người dùng (bỏ qua khuyến cáo lỗi, nó chỉ dùng để reset thiết bị).
Chương trình Demo02 khi nhấn S2 thì trạng thái chân RD1 phải thay đổi (0V lên 5V …).
Xem Phụ lục C về các thành phần phụ được gắn vào chiếu sáng LED cho bảng phát triển.
Ví dụ - Chuyển từ giao diện RS-232 sang USB Các phần mềm hữu ích khác
Các phần mềm sau đây được đánh giá là hữu ích khi sử dụng bảng phát triển:
Windows Device Manager – Vào Windows Device Manager bằng cách click Start, Setting, Control Panel, icon System, tab Hardware và click nút Device Manager. Device Manager hoạt động dễ dàng hơn nhiều nếu mở chương trình devmgmt.msc từ cửa sổ dòng lệnh.
DevCon – là một tiện tích dòng lệnh thay thế cho Device Manager. Dùng DevCon, bạn có thể kích hoạt, ngắt, khởi động lại, xoá và truy vấn các thiết bị riêng hay một nhóm thiết bị. DevCon cũng cung cấp thông tin tương ứng về nhà phát triển driver và không có sẵn trong Device Manager. Download từ http://support.microsoft.com/kb/311272. Có các phiên bản 32 và 64 bit.
USB Sniffer/Analyzer – công cụ debug USB cho phép bạn xem các byte được truyền đi giữa host và thiết bị.
Phụ Lục A
Xây dựng môi trường phát triển 18f4550
Bản thiết kế được trình bày ở đây là sự kết hợp các cách tiếp cận thiết lập 18f4550 cơ bản. Nó nhấn mạnh vào các cách tiếp cận CUI và thực hiện pic18fusb.
P/N (source) Description Qty Each Total Component Designation 450-1644-ND (Digi-Key) SWITCH TACT 6MM BK 160GF 8.51MM 2 0.21 0.42 S1, S2 PIC18F4550-I/P- ND (Digi-Key)
IC PIC MCU FLASH 16KX16
40DIP 1 9.73 9.73 P1 X439-ND (Digi- Key) CRYSTAL 20.000 MHZ 20PF 49US 1 0.58 0.58 Q1 4.7KQBK-ND (Digi-Key) RES 4.7K OHM 1/4W 5% CARBON FILM 2 0.06 0.12 R1, R2 22QBK-ND (Digi-Key)
RES 22 OHM 1/4W 5% CARBON
FILM 2 0.06 0.12 R3, R4 1.0KQBK-ND (Digi-Key) RES 1.0K OHM 1/4W 5% CARBON FILM 1 0.06 0.06 R5 1.0MQBK-ND (Digi-Key) RES 1.0M OHM 1/4W 5% CARBON FILM 1 0.06 0.06 R6 516-1311-ND (Digi-Key)
LED 3MM 645NM RED DIFF
LOW CURR 1 0.51 0.51 LED1
478-4278-1-ND
(Digi-Key) CAP CER .10UF 50V DISC RAD 2 0.20 0.40 C1, C5 478-4178-ND
(Digi-Key)
CAP TANTALUM .47UF 35V
10% RAD 1 0.46 0.46 C2
BC1003CT-ND (Digi-Key)
CAP 15PF 50V CERAMIC C0G
PBCUB1F (Winford)
USB B Female Breadboard
Adapter 1 5.60 5.60 438-1045-ND (Digi-Key) BREADBOARD 2.13x6.496 SLDLESS* 1 8.73 8.73 Total 26.95 số lượng. Hinh 13: bo mạch test Hình 14 : mạch nguyên lý Tạo lập
theo dõi.
Thành phần nhạy phân cực thứ hai là LED. Cực được đánh dấu dưới đây (Phụ lục 4) của LED được theo dõi.
Sắp xếp các thành phần quanh tinh thể hơi khó khăn và cần thực hiện cẩn thận để tránh đoản mạch.
Khi thực hiện, Winford USB B Female Breadbroad Adapter được dùng nhiều hơn bộ lắp ráp USB B Female rẻ hơn thường được nối với PCB (Digi-Key 609-1039-ND). Adator này đảm bảo rằng cáp USB có kết nối tốt với bảng mạch.
Hình có tiêu đề “Breadboard Adator Detail” thể hiện cách nối ngầm dưới breadboard adapter.
Chân Tên Màu cáp Mô tả 1 VCC Đỏ +5VDC 2 D- Trắng Dữ liệu - 3 D+ Xanh Dữ liệu + 4 GND Đen Đất Một số định nghĩa
Vcc +5VDC (supplied by the USB port) Vdd Ground, GND, Capacitor Resistor LED Crystal Sử dụng nguồn USB
Các chức năng tốn ít năng lượng, năng lượng bus: Draw Max 100mA. Phụ lục B
Phần cứng để tải mã vào 18f4550
Như đã đề cập đến, lần đầu tiên bạn lập trình cho bảng phát triển thì phải dùng chương trình ICD2 thay cho PDFSUSB.EXE. Đó là do PIC hoàn toàn trống khi đem từ nhà máy về và bạn phải lập trình một file hex cho tải khởi động vào PIC để kích hoạt các phiên lập trình trong tương lai qua PDFSUSB.EXE.
Cách chắc chắn nhất để thực hiện điều này là dùng chương trình ICD2 và module lập trình toàn cục từ Microchip. Giá của các thiết bị này vào mùa xuân năm 2008 là:
(xem phần dưới).
Module lập trình toàn cục cho ICD2 (AC162049) – 39,95 trừ 25% (xem phần dưới).
Cách khác cũng được đề cập đến cho ICD2 là:
Olimex MPLAB Compatible ICD2 với USB và RS232 - $106,95 (http://www.sparkfun.com)
Khấu trừ
Đặt mua trên Microchip trực tiếp qua địa chỉ email với “.edu”, “.k12”, “.ac” … trong tên miền sẽ nhận được khoản tự khấu trừ 25% giá bán các công cụ phát triển Microchip.
Phụ lục C
Phần cứng để chiếu sáng LED với chương trìn DEMO2
Chương trình Demo02 khi nhấn S2, trạng thái châm RD1 phải thay đổi (0V lên 5V …). LED được gắn vào bảng phát triển như hình:
Phụ lục F
Tổng quan về các cổng vào/ra trên PIC18F4550
Port Other
Functions Traits
RA0 Analog input 0 RA1 Analog input 1
RA2 Analog input 2 RA3 Analog input 3
RA4 Digital I/O Schmitt Trigger input, can be programmed to be input to TMR0 clock
RA5 Analog input 4
RB0 Analog input12 can be programmed for external interrupt (INT0) RB1 Analog input10 can be programmed for external interrupt (INT1) RB2 Analog input 8 can be programmed for external interrupt (INT2) RB3 Analog input 9
RB4 Analog input11 can be programmed for interrupt on change RB5 Digital I/O can be programmed for interrupt on change RB6 Digital I/O can be programmed for interrupt on change RB7 Digital I/O can be programmed for interrupt on change RC0 Digital I/O
RC1 Digital I/O can be programmed for PWM output RC2 Digital I/O can be programmed for PWM output RC6 Digital I/O can be programmed for UART TX line RC7 Digital I/O can be programmed for UART RX line RD0 Digital I/O
RD1 Digital I/O RD2 Digital I/O
RD4 Digital I/O RD5 Digital I/O RD6 Digital I/O RD7 Digital I/O RE0 Analog input5 RE1 Analog input6 RE2 Analog input7
CHƯƠNG V
CHUYỂN ĐỔI TỪ THIẾT BỊ FLASH PIC18F SANG PIC18FXXJ 5.1 Chuyển đổi thiết bị
Tài liệu này có mục đích mô tả sự khác biệt về chức năng và sự khác biệt về đặc tính kỹ thuật điện hiện tại khi chuyển từ thiết bị này sang thiết bị thế hệ kế tiếp.
Chú ý: Các thiết bị này được thiết kế để biểu thị các thông số trong bản data sheet
sẽ nói đến. Chúng được kiểm thử với các đặc tính kỹ thuật điện được thiết kế để xác định khả năng tương thích với các thông số này. Do có sự khác biệt trong quá trình sản xuất thiết bị, chúng có thể những đặc tính hoạt động khác với các phiên bản trước. Những sự khác biệt này khiến cho thiết bị hoạt động khác với các phiên bản trước.
Chú ý: Người dùng phải đảm bảo dao động ký đo thiết bị phải được bật và hoạt
động đúng ý mình. Có thể phải điều chỉnh giá trị trở kháng tải và/hoặc chế độ dao động ký.
5.2 Giới thiệu
Họ thiết bị Flash mới PIC18FXXJ có những khác biệt lớn so với họ phiên bản Flash PIC18 trước. Tài liệu chuyển đổi này sẽ chỉ rõ, kiểm tra và giải thích những khác biệt này và cách thức chúng gây ảnh hưởng đến thiết kế hệ thống. Những khác biệt này
gồm có thay đổi quy định gọi tên các phần, chức năng tổng quát, khác biệt theo module và cách thiết lập chính xác các công cụ lập trình.
5.3 Cấp nguồn cho thiết bị
Bộ điều chỉnh điện thế gắn trong, VDDCORE/VCAP, thiết bị “LF” và “F”, cấp VDD Khác với các thiết bị của dòng Flash PIC18 trước, họ thiết bị Flash PIC18FXXJ có một bộ điều chỉnh điện thế gắn trong. Bộ điều chỉnh điện thế này cấp nguồn cho phần chính của thiết bị thấp hơn so với cấp cho các chân vào/ra. Trong thiết bị có nhiều chân hơn (từ 60 chân trở lên), bộ điều chỉnh điện thế có thể được khởi động hoặc ngắt từ bên ngoài qua chân ENVREG. Chân này có thể nối với VDD để khởi động bộ điều chỉnh điện thế hoặc nối đất để ngắt bộ điều chỉnh điện thế. Hình 16 minh hoạ mạch hoạt động cho thiết bị có nhiều chân. Chú ý là chân ENVREG đang hoạt động và nó điều khiển việc bật hay tắt bộ điều chỉnh điện thế.
Hình 15: Kết nối bên trong cho đăc trưng mã đếm thiết bị
Trong thiết bị có ít chân hơn, ví dụ PIC18F45J10 (xem hình 17), ký tự “F” trong tên thiết bị (ví dụ PIC18F45J10) cho biết bộ điều chỉnh điện thế gắn trong luôn nối với VDD và luôn bật. Ký tự “LF” (ví dụ PIC18LF45J10) cho biết bộ điều chỉnh điện thế luôn nối đất và luôn tắt.
Hình:16: Kết nối giao diện cho mã đếm “F” và “LF” của thiết bị
Chân VDDCORE/VCAP có hai chức năng. Khi bộ điều chỉnh tắt, nếu ENVREG nằm trên thiết bị nhiều chân và thiết bị ít chân có ký tự “LF” thì VDDCORE cấp nguồn cho thành phần số chính của thiết bị. Như vậy sẽ giảm dòng tiêu thụ của các phần khác bằng cách loại bỏ dòng thụ động của bộ điều chỉnh điện thế, là nơi tiêu tốn năng lượng nhất khi ở chế độ Idle hay Sleep. Ở chế độ này, năng lượng phải cấp cho cả chân VDDCORE và chân VDD. Cách cấu hình thông thường là nối VDDCORE với VDD và cấp nguồn từ 2,0V đến 2,7V. Cũng có thể lấy năng lượng từ nguồn riêng cho VDDCORE (2,0V đến 2,7V) và VDD (VDDCORE đến 3.6V). Như vậy cho phép thành phần chính hoạt động với mức điện thế thấp hơn trong khi các chân vào/ra và các cổng ngoại vi hoạt động với mức điện thế cao hơn. Khi hoạt động ở chế độ này, nhất thiết phải giữ cho VDDCORE không vượt quá VDD kể cả khi bắt đầu.
Khi bộ điều chỉnh điện thế được bật, do ENVREG được nối với VDD ở thiết bị nhiều chân và thiết bị ít chân với ký tự “F”, một tụ điện trở kháng chuỗi tương đương
Trong chế độ này, thiết bị phải được cấp nguồn từ 2.7V đến 3.6V trên VDD. Khi bộ điều chỉnh bị ngắt, VDDCORE phải được cấp nguồn từ 2.0V đến 2.7V để cấp năn lượng cho thành phần chính của thiết bị.
Hình 17: Cấu hình nguồn điển hình cho thiết bị flash PIC18FXXJ nhiều chân
Hình 18: Cấu hình nguồn điển hình cho thiết bị flash PIC18FXXJ it chân
Hình 18 thể hiện cấu hình năng lượng thông dụng cho thiết bị PIC18FXXJ Flash nhiều chân. Hình 4 thể hiện cấu hình năng lượng thông dụng cho thiết bị PIC18FXXJ Flash ít chân.
5.3 Reset Brown-out (BOR)
Thiết bị PIC18FXXJ Flash có module BOR là một phần của bộ điều chỉnh điện thế gắn trong. Khi đầu ra của bộ điều chỉnh hạ xuống dưới mức điện thế chính tối thiểu thì thiết bị sẽ rơi vào trạng thái BOR. Do module BOR có trong bộ điều chỉnh điện thế nên thiết bị với bộ điều chỉnh điện thế bị ngắt (thiết bị nhiều chân với ENVREG nối đất và tất cả các thiết bị ít chân với ký tự “LF”) sẽ ngắt module BOR.
Điểm khác biệt với thiết bị PIC18 Flash trước, do module BOR khả trình có thể được chọn là bật hay ngắt, nằm ở từ cấu hình hay thanh ghi điều khiển, và có thể được cấu hình với mức điện thế nhất định mà tại đó Reset hoạt động. Các thiết bị này đòi hỏi có BOR khả trình vì chúng cần giảm tần số hoạt động khi điện thế giảm; vì vậy, BOR khả trình cho phép người dùng đảm bảo rằng các thông số kỹ thuật không bị ảnh hưởng khi điện thế hệ thống giảm. Trái lại, với thiết bị PIC18FXXJ Flash, với bộ điều chỉnh điện thế bật, chỉ cần BOR đơn mức vì chúng có thể hoạt động toàn tốc với điện thế hoạt động tối thiểu. Chức năng BOR trong thiết bị PIC18FXXJ Flash có trong bộ điều chỉnh điện thế và không hoạt động nếu bộ điều chỉnh bị ngắt.
5.4 XUNG
Tần số xung nhịp cao khi điện thế thấp hơn, thiết bị “LF” và “F”
Dù họ thiết bị PIC18FXXJ Flash có dải điện thế hoạt động hẹp, chúng vẫn có thể cung cấp được nhiều MIPS/V hơn thiết bị PIC18 Flash trước. Các thiết bị này có thể chạy với tốc độ 40 MHz (10 MIPS) khi hoạt động ở 2.25 V. Tính mềm dẻo hoạt động tăng cường này cho phép người dùng khai thác toàn bộ năng lượng và tốc độ của thiết bị trong dải điện thế rộng hơn.
Hình 20 thể hiện quan hệ giữa VDD và tần số hoạt động của thiết bị với bộ điều chỉnh được bật (thiết bị nhiều chân với ENVREG nối với VDD và thiết bị ít chân với ký tự “F”). Hình 6 thể hiện quan hệ giữa VDD, VDDCORE và tần số hoạt động của thiết bị với bộ điều chỉnh điện thế bị ngắt. Chú ý VDD nối với VDDCORE nên điện thế hoạt động tối đa là 2.75V.
Hình 19: VDD theo tần số hoạt động ( bộ điều chỉnh đã bật)
5.5Tuỳ chọn dao động ký
Tuỳ chọn dao động ký cho thiết bị PIC18FXXJ Flash là EC, ECPLL, HS, HSPLL và dao động ký gắn trong 31 kHz. Thiết bị PIC18FXXJ Flash không có tuỳ chọn XT và LP thường có trong thiết bị PIC18 Flash. Chế độ RC có trong một số thiết bị PIC18FXXJ Flash. Hãy xem data sheet để rõ hơn về thiết bị riêng.
5.6 Đồng hồ đo năng lượng
Trong thiết bị PIC18FXXJ Flash, đồng hồ đo năng lượng được bật. Ở thiết bị trước, có tuỳ chọn bật hay tắt ở phần thiết lập cấu hình.
5.7 Độ trễ khởi động/reset
Do trong thiết bị PIC18FXXJ Flash, đồng hồ đo năng lượng luôn bật nên thời gian khởi động các thiết bị này lâu hơn so với các phần PIC18 Flash. Cũng có độ trễ cộng thêm vào cho thiết bị PIC18FXXJ Flash sau mỗi lần reset để copy từ cấu hình từ bộ nhớ chương trình vào thanh ghi cấu hình. Trong thời gian trễ, dao động ký RC gắn trong đóng vai trò nguồn thiết bị. Sau khi thanh ghi cấu hình được nạp, thiết bị chuyển sang xung đặc biệt nhờ các bit cấu hình FOSC. Xem “Từ cấu hình” để biết thêm chi tiết.
5.8 Sự khác Biệt Về Chân
Chân dung sai 5 Volt
Dù các thiết bị PIC18FXXJ Flash có VDD tối đa 3.6V nhưng các chân vào/ra với tính năng số chỉ chịu được tối đa 5V. Các chân được ghép kênh với đặc tính tương tự có dung sai không phải là 5V và không giới hạn, gồm:
Bất cứ chân nào là đầu vào tương tự (AN0, AN1 …) Bất cứ chân nguồn xung nào (OSC1, OSC2, T1OSC)