Skip to content

sampidevkit/PIC16FDevKit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PIC16F1887X MICROCONTROLLER DEVELOPMENT KIT


Đây là thiết kế mở - một kit phát triển vi điều khiển 8-bit họ PIC16F18875/6/7. Kit được trang bị các tính năng như sau:

  • PCB và các ngõ vào ra theo định dạng của Arduino Uno.
  • Mạch nạp tích hợp theo kiểu USB lưu trữ, tệp hex sẽ được kéo - thả để nạp trực tiếp mà không cần sử dụng phần mềm nạp cũng như các mạch nạp bên ngoài như PICKit, ICD, ..., tuy nhiên người dùng vẫn có thể sử dụng được các mạch nạp chuyên dụng kết nối với cổng ICSP được thiết kế sẵn.
  • Cổng chuyển đổi USB - UART, người dùng không cần sử dụng thêm thiết bị chuyển đổi bên ngoài như CP2102, FT232, ...
  • 4kByte SRAM dùng để mở rộng bộ nhớ tạm cho MCU chính. Chức năng này được thực hiện bởi chip nạp thông qua giao tiếp I2C.
  • 2 ngõ ra mở rộng để điều khiển LED được trang bị sẵn trên board. Chức năng này cũng được thực hiện bởi chip nạp thông qua giao tiếp I2C.
  • Bộ nhớ Flash 4Mbit, lưu dữ liệu, cấu hình của ứng dụng người dùng. Giao tiếp SPI với MCU chính.
  • Cảm biến nhiệt độ dạng tín hiệu tương tự.
  • Chip đồng hồ thời gian thực độ chính xác cao. Giao tiếp I2C với MCU chính.

1. Sơ Đồ Khối

2. Sơ Đồ Nguyên Lý


3. Vi Điều Khiển Chính PIC16F1887x

Họ vi điều khiển PIC16F1887x là họ vi điều khiển 8-bit thế hệ mới của PIC16F887/PIC16F877A. Tương thích hoàn toàn về mặt I/O và các chức năng cơ bản. Bên cạnh đó, chip được trang bị các tính năng mới hơn như:

  • Dao động nội lên đến 32MHz và tốc độ đạt 8MIPS so với 5MIPS của chip cũ.
  • Bộ nhớ chương trình từ 7kByte đến 56kByte, RAM 512byte-4096byte, EEPROM nội lên đến 256byte.
  • Chip được trang bị 1x UART, 2x SPI/I2C, 5x Capture/Compare/PWM (CCP), 2x PWM 10bit, 3x timer 8bit, 4x timer 16bit.
  • ADC 10 bit sử dụng được cho tất cả các I/O, 1x DAC 5bit.
  • Tính năng mới: 4x cổng logic khả trình (CLC), tính năng bắt điểm 0 của tín hiệu AC (ZCD), CRC, NCO, CWG, DSM, ...
  • Ngõ vào ra của các module chức năng có thể cấu hình trên bất kì I/O nào nhờ chức năng Peripheral Pin Select (PPS).
  • Năng lượng thấp, phù hợp cho các ứng dụng sử dụng pin.
  • Thông tin thêm xem tại đây.

4. Môi Trường Lập Trình, Trình Biên Dịch và Công Cụ Hỗ Trợ

4.1. Môi Trường Lập Trình MPLAB X IDE

Môi trường lập trình MPLAB X IDE sử dụng mã nguồn của Netbeans, giao diện thân thiện và dễ sử dụng. Tải về và hướng dẫn cài đặt tại đây: Installing MPLAB® X IDE.
Khuyến cáo: Sử dụng Windows 64bit với RAM tối thiểu 4GB và ổ cứng trống từ 20GB.

4.2. Trình Biên Dịch MPLAB XC8

Nếu sử dụng ngôn ngữ lập trình C để lập trình cho Kit, bạn cần tải về trình biên dịch XC8. Nó sẽ chuyển mã C thành mã assembly.

Sau đó, nó sẽ chuyển mã assembly sang mã máy dưới dạng file HEX. Bạn cũng có thể sử dụng XC8 để biên dịch cho mã nguồn được viết trực tiếp bằng assembly.
Trình biên dịch có thể sử dụng miễn phí, không giới hạn code size, chỉ giới hạn các cấp độ tối ưu mã nguồn. Chức năng tối ưu mã nguồn sử dụng trong sản xuất, không cần thiết trong học tập. Tải về và hướng dẫn cài đặt tại đây: Installing MPLAB® XC8 Compiler.

4.3. Công Cụ Cấu Hình và Tạo Code Mẫu MPLAB Code Configurator (MCC)

MCC là một plugin của MPLAB X IDE, hỗ trợ tạo cấu hình chip, cấu hình các ngoại vi và các API để người dùng sử dụng mà không mất nhiều thời gian xây dựng chúng.

Tải về và hướng dẫn cài đặt tại đây: Install MPLAB® Code Configurator (MCC).

5. Mạch Nạp Tích Hợp

5.1. Nạp Chương Trình Mạch Nạp

Chương trình mạch nạp chỉ cần nạp 1 lần. Các công cụ cần chuẩn bị:

  • Mạch nạp chuyên dụng như PICkit3, PICkit4, Snap, ICD3, ICD4, ...
  • Header đực 2x4x1.27 dùng cho cổng nạp ICSP theo sơ đồ sau:
    Pin2-MCLR, Pin4-PGC, Pin6-PGD, Pin8-VDD (3V3), Pin7-GND
  • Cáp micro USB: Kết nối Kit với nguồn USB 5V bất kỳ. Nếu sử dụng nguồn điện 3.3V cấp từ mạch nạp thì không cần sử dụng cáp micro USB.
  • File chương trình tải về từ master/FW/PG.X/Production.hex.
  • MCU là PIC32MM0064GPM028. Khi nạp thành công, kết nối kit với máy tính bằng cáp micro USB bạn sẽ thấy xuất hiện ổ đĩa như sau:

    Mở ổ đĩa này, bạn sẽ thấy file SAMPIDevKit_INFO.txt chứa nội dung như sau:

    Nếu có lỗi xảy ra, xem ở mục 5.3.

5.2. Cập Nhật Chương Trình Mạch Nạp

Để cập nhật chương trình mới cho chip nạp, bạn có thể thực hiện như mục 5.1 hoặc thực hiện như sau:

  • Kết nối kit với máy tính bằng cáp micro USB.
  • Nhấn giữ nút RESET đến khi các đèn STT, RLED, BLED cùng sáng (khoảng 5s).
  • Vào My Computer/ This PC sẽ thấy xuất hiện ổ đĩa BOOTLOADER.
  • Tải File chương trình về từ master/FW/PG.X/app.hex và lưu vào ổ đĩa BOOTLOADER.
  • Sau khi lưu, kit sẽ tự khởi động lại và hoạt động với chương trình mới. Nếu có lỗi xảy ra, xem ở mục 5.3.

5.3 Các Trạng Thái LED Lỗi

  • Lỗi khi ghi file hex vào ổ đĩa của kit: File nạp không đúng định dạng hoặc sự cố kết nối USB.
  • Chế độ bootloader - nhấn giữ nút RESET trong 3s: RLED, GLED sáng, STT led ON=500ms, OFF=500ms.
  • Chế độ chờ: Led STT nháy với chu kì ON=10ms, OFF=1990ms.
  • Lỗi không nhận chip: Led STT nháy với chu kì ON=500ms, OFF=1500ms.
  • Truyền nhận dữ liệu UART: Led STT nháy 1 lần TON=5ms.
  • Reset target chip - khi nhấn giữ nút RESET khoảng 200ms: Led STT, RLED, GLED sáng 500ms.
  • Erase target chip - khi nhấn nhanh 4 lần nút RESET: Led STT sáng, RLED và GLED nháy 3 lần 250ms sau đó cả 3 cùng sáng trong 500ms.

6. Hướng Dẫn Lập Trình Cơ Bản

Xem tại đây.

7. Tài Liệu Kỹ Thuật:

About

PIC16(L)F1885X/7X Microcontrollers Development Kit

Resources

Stars

Watchers

Forks

Packages

No packages published