Mục lục
CHƯƠNG I: SƠ LƯỢC VỀ VI ĐIỀU KHIỂN 5
1.1. Sơ Lược Về Cấu Trúc Của Vi Điều Khiển 5
1.2 Một Vài Họ Vi Điều Khiển Phổ Biến: 7
1.2.1 INTEL 8051 7
1.2.3 MOTOROLA 68HCxx 7
1.2.4 MICROCHIP PIC 12Xxxx, 16Xxxx, 17Xxxx, 18Xxxx, DSPIC 8
CHƯƠNG II: VI ĐIỀU KHIỂN MICROCHIP PIC 9
2.1 Lịch Sử Phát Triển 9
2.2 Phân Loại 10
2.2.1 Họ cấp thấp (low-end) 10
2.2.2 Họ cấp chung (Mid-range) 10
2.2.3 Họ cấp cao (High-end) 17Cxxx 11
2.2.4 Họ cấp cao (High- performance) 12
2.3 Một Số Ưu Điểm Microchip PIC 12
CHƯƠNG III: VI ĐIỀU KHIỂN PIC 18F4550 14
3.1 Sơ đồ chân 16
3.2 Các Công Cụ Lập Trình 20
3.3 Đơn vị ICD-U40 23
3.4 Tiêu Thụ Năng Lượng 24
3.5 FIRMWARE 25
3.6 Các công cụ làm việc 25
3.7 Thiết bị lớp 25
3.8 Firmware HID 26
3.9 Một số đặc tính: 26
3.10 Nguyên tắc hoạt động: 26
3.11 Driver 27
3.12 Mô Tả Thực Hiện Firmware Thứ Hai 29
3.13 Kết luận 32
CHƯƠNG IV: CÔNG NGHỆ USB QUA MICROCHIP 18F4550 34
4.1 Giới thiệu 34
4.2 Vi xử lý 18f4550 34
4.3 Lắp ráp bảng phát triển 34
4.3 Truyền tải khởi động vào 18F4550 36
4.4 Phát triển ứng dụng trong MPLAB IDE 37
CHƯƠNG V: CHUYỂN ĐỔI TỪ THIẾT BỊ FLASH PIC18F SANG PIC18FXXJ 47
5.1 Chuyển đổi thiết bị 47
5.2 Giới thiệu 47
5.3 Reset Brown-out (BOR) 51
5.4 XUNG 51
5.5Tuỳ chọn dao động ký 52
5.6 Đồng hồ đo năng lượng 52
5.7 Độ trễ khởi động/reset 52
5.8 Sự khác Biệt Về Chân 53
5.9 Điện trở kéo gắn trong 54
5.10 Tỷ lệ dòng trên các chân vào/ra 54
5.11 VCAP/VDDCORE và ENVREG 55
5.12 Bộ Nhớ Chương Trình 55
5.12.1 ID thiết bị 55
5.12.2 Từ cấu hình 55
5.12.3 Các chu trình ghi 58
5.12.4 Khả năng ghi nhớ đặc tính 58
5.12.5Mô phỏng tự ghi và EEPROM 58
5.12.6 Bảo vệ mã 59
5.12.7 Vào chế độ lập trình 59
5.13 Thiết Lập Chính Xác Cho Chương Trình Thiết Bị Và Công Cụ Phần Mềm 60
5.14 KHÁC BIỆT MODULE 61
5.15 TỔNG KẾT 61
CHƯƠNG VI: ĐỒNG HỒ BÁO THỨC 62
6.1 Tóm lược 62
6.2 Chỉ thị hoạt động 62
6.2.1 Ngày tháng/thời gian hiện tại 62
6.2.2 Thời gian 12 giờ hay thời gian quân sự 63
6.2.3 Báo thức 64
6.2.4 Âm báo thức 65
6.2.5 Đồng bộ, chờ và ngừng báo thức 65
6.3 USB 67
6.4 Lập trình PIC 67
6.4.1 Đồng hồ 67
6.4.2 USB 68
6.5 Sử dụng Compact Flash 68
6.6 Chip bộ mã hoá MP3 69
6.7 Bộ chuyển đổi số - tương tự CS4334 72
6.8 Màn hình LED 72
6.9 Kết luận 73
76 trang |
Chia sẻ: lethao | Lượt xem: 3550 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Đồ án Công Nghệ USB Qua Microchip 18F4550, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ọi là VID và PID). Cặp giá trị này giúp nhận biết nhà sản xuất thiết bị (PRI) và mẫu riêng của một sản phẩm được kết nối. Vì vậy, các mẫu khác của cùng sản phẩm nói chung khác PID.
Mục đích chính của các giá trị này không chỉ là xác định thiết bị mà còn là tìm và tải đúng driver cho nó. Vì vậy, tất cả các driver của Windows (hay các sản phẩm tương tự) được sắp xếp như thiết bị với một hay nhiều PID và PRI sử dụng cho driver đã nói. Đây là cách sử dụng Windows (hay hệ điều hành khác đang đề cập) dù driver được chọn có đúng hay không.
Trong trường hợp driver dùng cho hệ điều hành khác, cặp VID/PID đủ để xác định driver nếu cần tải và vì vậy khi một thiết bị gắn với VID/PID thì nhận biết được hệ thống tự động tìm ra và cho phép sử dụng ngay. Tuy nhiên, nếu không nhận ra VID/PID thì hệ điều hành sẽ hỏi người dùng cấp driver. Một ví dụ là màn hình.
Cửa sổ phát hiện phần cứng mới
Đây là phần giải thích PRI và bộ điều khiển PID về ứng dụng của chúng ta với loại HID không cần cài đặt bất cứ driver nào (Windows tự động cập nhật).
Các công cụ dùng trong ứng dụng này được thể hiện như sau:
C18 2.30.01 +
Phiên bản yêu cầu tối thiểu: 2.30.01 +
Khuyến nghị: 2.40 +
Phiên bản này có tại
MPLAB IDE 6.62 +
Phiên bản yêu cầu tối thiểu: 6.62 +
Khuyến nghị: 7.00 +
MPLAB (R) IDE có tại
Bit cấu hình:
Các bit cấu hình được dùng để thiết lập chế độ hoạt động của CIP (ví dụ, tần số của bộ tạo dao động) và được thiết kế để lập trình. Các bit cấu hình do MPLAB quản lý khi lập trình và có thể cấp cho 2 dạng:
1. Qua danh sách các bit cấu hình của MPLAB (Đặt bit cấu hình).
2. Qua các macro cùng mã dùng khai báo cấu hình thực #.
Dưới đây là hình ảnh lựa chọn các bit cấu hình của MPLAB (tuỳ chọn 1).
1. tham chiếu đến project dùng một “bộ tải khởi động”.
• Khi bạn mở ứng dụng thì luôn mở file “workspace” (*.mcw).
• Tất cả các ví dụ trong thư mục được tải qua bộ tải khởi động.
Thành phần cơ bản:
Vector reset và ngắt của bộ tải khởi động được chỉnh theo các địa chỉ 0x0800, 0x0808, 0x081.
Phần điều chỉnh liên kết với phần khởi động được sử dụng, file này là rm18f4550.lkr và được đặt tại mỗi ứng dụng.
Nếu bạn đang dùng ICD2 và không phù hợp với bộ tải khởi động thì bạn phải điều chỉnh lại như sau:
• MPLAB đồ hoạ thay đổi liên kết rm18f4550.lkr bằng một linker chuẩn 18f4550.lkr, điều này có thể thấy được theo mặc định trong thư viện C18.
• Thay đổi đường dẫn của liên kết đến đúng vị trí để không phát sinh lỗi.
• Bạn phải xoá đi các mã theo sau:
Extern void _startup (void); / / xem c018i.c trong thư mục biên dịch C18
# Pragma _RESET_INTERRUPT_VECTOR code = 0x000800
Void _reset (void)
(
_asm Goto _startup _endasm
)
# Pragma Code
Đây là mã trong file main.c.
• Cuối cùng (tuỳ chọn) khi định hướng bit, đặt 0x30000B tắt phần ngăn viết BOOT.
3.12 Mô Tả Thực Hiện Firmware Thứ Hai
Ứng dụng thứ hai là sự trợ giúp lớn và kinh nghiệm lớn để hiểu USB, theo sự phát triển của ứng dụng trước đây áp dụng vào các điểm khác để phát triển và thực hiện cho thực thi này và firmware được dùng cho các công cụ làm việc khác này, được mô tả ở chương trước, tiếp cận đang sử dụng là mã hoạt động:
# Include
# Fuses HSPLL, NOWDT, NOPROTECT, NOLVP, NODEBUG, USBDIV, PLL5, CPUDIV1, VREGEN
# Use delay (clock = 48000000)
# Define USB_EP1_TX_ENABLE USB_ENABLE_INTERRUPT
# Define USB_EP1_TX_SIZE 8
# Define USB_EP1_RX_ENABLE USB_ENABLE_INTERRUPT
# Define USB_EP1_RX_SIZE 8
# Include
# Include
# Include
Đây là phần header cần thiết để thiết lập truyền thông với DCI và có thể tạo HID lớp ứng dụng, phần đầu usb_desc_hid.h thực hiện việc này.
Ứng dụng dùng 5 đầu vào tương tự sau đây cần cấu hình CIP để làm việc với thuỷ tinh có tốc độ 20 MHz cho tốc độ 48 MHZ:
Setup_adc (ADC_CLOCK_INTERNAL);
Setup_adc_ports (AN0);
Set_adc_channel (0);
Phần còn lại là logic cần thiết để có thể thiết lập quan hệ giữa chúng, nhấn nút hay nhấn nút trên máy host chỉ cần để biết tên bản ghi CIP và gửi cuộc gọi một cách thích hợp.
Đặc tính khác được thể hiện trong mã thông báo.
Phần Mềm
Phát triển lập trình tại host được thực hiện bằng Microsoft Visual ++, logic của chương trình, tương tự như ứng dụng trước
Sau đây là cấu trúc chương trình trong ứng dụng này:
Usb_Ej_1.dsp
File (file project) này chứ thông tin về cấp project và được dùng để xây dựng project đơn hay project con. Người dùng ngoài có thể chia sẻ file project (.dsp) nhưng không được xuất file khởi tạo nội bộ.
Usb_Ej_1.h
Đây là phần header của file chính cho ứng dụng. Project khác gồm có header đặc biệt (gồm resource.h) và khai báo lớp ứng dụng Cusb_Ej_1App.
Usb_Ej_1.cpp
Đây là phần chính của mã nguồn ứng dụng gồm lớp ứng dụng Cusb_Ej_1App.
Usb_Ej_1.rc
Đây là danh sách tất cả các tài nguyên của Microsoft Windows mà chương trình sử dụng gồm có các icon, điểm ảnh, con trỏ được lưu trong thư mục con của RES. File này có thể viết trực tiếp vào Microsoft Visual C++.
Usb_Ej_1.clw
File này chứa thông tin để ClassWizard sử dụng khi phác thảo các lớp hay thêm lớp mới. ClassWizard cũng dùng file này để chứa thông tin cần thiết để tạo, soạn danh sách các thông điệp, trình bày dữ liệu cho hội thoại và tạo tác vụ như thành phần nguyên bản.
Res \ Usb_Ej_1.ico
Đây là icon của file dùng cho icon ứng dụng. Icon này có trong file tài nguyên chính Usb_Ej_1.rc.
Res \ Usb_Ej_1.rc2
File này chứa tài nguyên không được viết bằng Microsoft Visual C++. Bạn nên đặt tất cả các tài nguyên không được chỉnh sửa bời bảng phác thảo tài nguyên vào file này.
UsbHidApi.lib
File này cung cấp thông báo về chương trình với DLL cùng tên.
Kết quả
Giao diện được phát triển hỗ trợ truyền thông USB điều khiển ba kiểu truyền dữ liệu là: đầu ra số, đầu vào số và đầu vào tương tự - số.
Hình 11: Giao diện được phát triển hỗ trợ truyền thông USB
3.13 Kết luận
Project được thực hiện qua bắt ngoặt lớn khi chúng ta kiểm soát do điều này chưa được biết đến.
Khi phát triển project có thể thấy rằng có nhiều cách truyền thông bằng bus hơi phức tạp do nó gồm nhiều giao thức. Việc truyền thông này không được thực hiện theo hướng như trường hợp cổng song song hay cổng nối tiếp mà dùng driver để truy nhập vào.
Có thể có vô hạn driver này do có thể tạo ra các driver riêng giống nhau, vấn đề là độ phức tạp của thuật toán được phát triên. Trong trường hợp project của ta, ta chọn sử dụng DLL “UsbHidApi” là phần mềm thương mại, file này khiến mạch máy tính phát hiện ra dạng của HID (Thiết bị giao diện người dùng), tương tự với chuột, joystick, bàn phím …
Những phát triển của project này đã mở ra cánh cửa để sử dụng tốt loại bus này, được coi là bảng bus. Dựa trên ứng dụng này qua PIC, có thể thực hiện được rất nhiều ứng dụng hay trong công việc khi bất cứ thiết bị được phát triển nào có thể được giám sát và điều khiển qua bus này.
Chú trọng đến vi điều khiển PIC là vi điều khiển phổ biến nhất hiện nay cho các ứng dụng đó, các chức năng luồng cần cho truyền thông với bus USB và chuyển đổi nội dung tương tự - số cho thiết bị.
Nguồn thông tin.
Internet
Diễn đàn thảo luận.
Hướng dẫn lập trình ngôn ngữ Visual C++.
Trang web (www.microchip.com).
Khuyến nghị.
Bước thực hiện để nghiên cứu và hiểu được bus này là quan trọng và giải đáp những câu hỏi cơ bản khiến cho công việc nghiên cứu rõ ràng hơn.
Nên mua thiết bị ghi PIC như yêu cầu để phát triển thêm ứng dụng và hiểu bus USB.
CHƯƠNG IV
CÔNG NGHỆ USB QUA MICROCHIP 18F4550
4.1 Giới thiệu
Tài liệu này giới thiệu nền tảng cơ bản để khám phá công nghệ liên kết với các thiết bị USB. Nó cung cấp chi tiết cần thiết để giả lập một bảng phát triển, chương trình và thí nghiệm với vi xử lý Microchip 18F4550.
Sơ đồ thực hiện dùng ở đây sử dụng việc kết hợp cách tiếp cận dùng trong giao diện CREATE USB (CUI, phụ lục 3) và pic18fusb.online.fr Wiki (Phụ lục 1). Cả hai đều sử dụng kỹ thuật tải khởi động và phần mềm liên kết với bảng thể hiện USB toàn tốc Microchip PICDEM.
Tất cả các phần mềm dùng trong bảng phát triển có thể download miễn phí gồm có bộ biên dịch MPLAB C18 C phiên bản dùng cho sinh viên.
4.2 Vi xử lý 18f4550
Vi điều khiển Microchip PIC 18F4550 là một thiết bị phổ biến để kết nối với USB. Nó có giao diện USB 2.0 toàn tốc tích hợp sẵn. Thiết bị có sẵn nhiều ví dụ nên dễ dàng bắt đầu thí nghiệm công nghệ. PIC 18F4550 gồm 13 lối vào tương tự/số, 18 cổng vào/ra chung và một bộ chỉ thị kiểu RISC mạnh. Thiết bị có bộ nhớ 16K để lưu chương trình. Do cho phép sử dụng USB, bạn có thể có sẵn 1024 byte RAM để lưu dữ liệu (có thể 2048 byte).
4.3 Lắp ráp bảng phát triển
Phụ lục A cung cấp danh sách các thành phần, sơ đồ và ảnh các đơn vị hoàn thiện.
Quá trình phát triển
Quá trình phát triển được minh hoạ dưới đây:
Hình 12 : Quá Trình Phát Triển
Trước khi lập trình lần đầu cho bảng phát triển, bạn phải download mã tải khởi động vào 18f4550. Đọc phần có tiêu đề “Truyền tải khởi động vào 18F4550” để xem chi tiết về quá trình này.
Các chương trình được viết và phát triển trong Microchip MPLAB. Các chương trình có thể phát triển bằng ngôn ngữ hợp ngữ hay C.
Sử dụng môi trường MPLAB để gọi bộ biên dịch C18 C hay bộ hợp ngữ. C18 hay bộ hợp ngữ sẽ biên dịch file .asm của bạn hay mã C thành file .hex.
Lập trình cho PIC 18F4550 bằng cách download file .hex qua tải khởi động dùng chương trình PDFSUSB.EXE (lưu trú tại C:\MCHPFSUSB\Pc\Pdfsusb\PDFSUSB.exe trong MCHPFSUSB USB Framework).
Để bảng phát triển hiện ra thực đơn PDFSUSB.EXE, phải reset bảng và giữ phím “button”.
Trong môi trường PDFSUSB.EXE:
Tải file Hex
Lập trình thiết bị
Thực hiện
Nó sẽ tải file hex vào 18F4550 và khởi tạo thực hiện trong thiết bị.
Phần mềm cần thiết
Phần mềm sau có thể download từ Microchip:
MPLAB IDE – môi trường phát triển để xây dựng ứng dụng.
Bộ biên dịch MPLAB C18 C Phiên bản cho sinh viên – có thể sử dụng với MPLAB IDE để phát triển ứng dụng bằng C.
MCHPFSUSB USB Framework - gồm tải khởi động và các ví dụ để sử dụng với bảng phát triển.
Tài liệu
Tài liệu được liệt kê dưới đây sẽ có ích trong việc vận hành môi trường phát triển. Nó có thể download từ Microchip (www.microchip.com)
MPLAB IDE User’s Guide – Microchip document DS51519B
Release Notes for MPLAB C18 C Compiler, Student Edition
MPLAB C18 COMPILER USER’S GUIDE – Microchip document DS51288J
MPLAB C18 C Compiler Getting Started – Microchip document DS51295F
MPLAB C18 Libaries Documentation – Microchip document DS51297F
Release Notes for MCHPFSUSB – Microchip Full-Speed USB Solutions
PICDEM FS USB Demonstration Board User’s Guide – DS51526A
4.3 Truyền tải khởi động vào 18F4550
Xem Phụ lục B – “Phần cứng để tải mã vào 18f4550” nói về các thiết bị để truyền tải khởi động vào chip 18f4550.
Lần đầu tiên lập trình cho bảng phát triển, phải dùng chương trình ICD2 thay cho PDFSUSB.EXE. Nguyên nhân là do PIC hoàn toàn trống khi đem từ nhà máy về và bạn phải tải 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.
File hex tải khởi động được lưu trong mã MCHPFSUSB USB Framework. Trong MPLAB, mở file hex “C:\MCHPFSUSB\fw\Boot\_output\MCHPUSB.hex”, chọn chương trình ICD2 và click vào thiết bị lập trình. Nó sẽ truyền mã tải khởi động vào 18f4550.
Vào chế độ tải khởi động
Mã biên dịch dạng file .hex có thể download bằng chương trình PDFSUSB.EXE. Để download mã vào 18f4550 qua PDFSUSB.EXE, làm như sau:
Mở ứng dụng PDFSUSB.EXE.
Kiểm tra cửa sổ thả “Select PICDEM FS USB Board” để xem bảng điều khiển có hiện ra không. Nếu có thì bạn sẽ thấy phần “PICDEM FS USB (0) Boot”. Chọn phần này. Đến bước 4.
Nếu “PICDEM FS USB (0) Boot” không hiện ra, làm như sau để vào chế độ tải khởi động 18f4550:
Nhấn và giữ khoá S2.
Trong khi giữ S2, nhấn và thả S1.
PC sẽ kêu “beep” chỉ thị rằng 18f4550 bây giờ đã có trong ứng dụng PDFSUSB.EXE. Trong Device Manager, thiết bị sẽ xuất hiện dưới Other Devices – PIC 18F4550 Family Device.
Trở lại bước 2.
Mã biên dịch bây giờ có thể đownloa vào 18f4550 nhờ các thao tác trong ứng dụng PDFSUSB.EXE sau:
Tải file Hex.
Lập trình thiết bị.
Thực hiện.
PC sẽ kêu “beep” chỉ thị 18f4550 bây giờ đang hoạt động và không ở chế độ tải khởi động nữa.
Nhấn S1 để nó tự khởi động lại ứng dụng được nạp vào 18f4550. Ngay cả khi ứng dụng Demo Tool đang chạy ở chế độ tải khởi động thì một lần reset bảng đơn giản (nhấn S1) sẽ không làm bảng tự vào chế độ tải khởi động.
Nếu đây là lần đầu tiên bạn sử dụng tải khởi động thì máy tính 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”.
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).
Thêm file vào project này. Thêm file “C:\MCHPFSUSB\fw\Demo02\rm18f4550”.
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ừ 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.
Các thành phần cần thiết để tạo lập phát triển 18f4550 được liệt kê sau đây:
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 5%
2
0.08
0.16
C3, C4
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
Hai thành phần trong mạch phân cực.
Một thành phần mà cực là tụ điện 470 nF (C2). Cực được đánh dấu trên tụ được 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.
Nếu bạn dùng bộ lắp ráp USB B Female thì các chân phải nối như sau:
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à:
MPLAB CD2 In-Circuit Debugger/Programmer (DV164007) – 189,99 trừ 25% (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 (
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
RD3
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 (ESR) thấp sẽ nối vào chân VCAP để ổn định đầu ra từ bộ điều chỉnh điện thế gắn trong. 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ạ x
Các file đính kèm theo tài liệu này:
- Công Nghệ USB Qua Microchip 18F4550.DOC