Pic32 Starter Kit

19
Pic32 starter kit email: [email protected] Hướng dn sdng kit pic32 . http://www.freewebs.com/picdevelopmenttool/ 1 PIC32 STARTER KIT I). Gii thiu: Hin nay Pic32 đang được nhiu fan hâm mpic nghiên cu và sdng và dn trthành đề tài nóng hi trên nhiu din đàn. Vit Nam cũng đã có nhiu bn đã và đang bt tay vào vic nghiên cu này ri. Hin ti công cnghiên cu cho Pic32 này gm có. 1). Pic32 staeter kit( Microchip). 2). Explore 16(Microchip). 3). Mplab ICD2. 4). Pickit 2. 5). Mplab C32. Nhng công cma tôi ktrên đầu là sn phm ca Microchip nên có giá thành khá cao. Hin ti chung tôi đã nghiên cu và phát trin 1 kít dùng cho dòng pic32 này, vi giá chp lý và tính năng phong phú. Khnăng ng dng ca kít như sau: Dùng cho các bn mi bt đầu nghiên cu pic32 vi nhưng chương trình đơn gin. Phát trin các chương trình nâng cao tren nên các ng dng nh. Xây dng mng truyn thông khi kết ni nhiu kít.

Transcript of Pic32 Starter Kit

Page 1: Pic32 Starter Kit

Pic32 starter kit email: [email protected]

Hướng dẫn sử dụng kit pic32. http://www.freewebs.com/picdevelopmenttool/

1

PIC32 STARTER KIT

I). Giới thiệu: Hiện nay Pic32 đang được nhiều fan hâm mộ pic nghiên cứu và sử dụng và dần

trở thành đề tài nóng hổi trên nhiều diễn đàn. Ở Việt Nam cũng đã có nhiều bạn đã và

đang bắt tay vào việc nghiên cứu này rồi. Hiện tại công cụ nghiên cứu cho Pic32 này gồm

có.

1). Pic32 staeter kit( Microchip).

2). Explore 16(Microchip).

3). Mplab ICD2.

4). Pickit 2.

5). Mplab C32.

Những công cụ ma tôi kể trên đầu là sản phẩm của Microchip nên có giá thành

khá cao. Hiện tại chung tôi đã nghiên cứu và phát triển 1 kít dùng cho dòng pic32 này,

với giá cả hợp lý và tính năng phong phú.

Khả năng ứng dụng của kít như sau:

Dùng cho các bạn mới bắt đầu nghiên cứu pic32 với nhưng chương trình đơn giản.

Phát triển các chương trình nâng cao tren nên các ứng dụng nhỏ.

Xây dựng mạng truyền thông khi kết nối nhiều kít.

Page 2: Pic32 Starter Kit

Pic32 starter kit email: [email protected]

Hướng dẫn sử dụng kit pic32. http://www.freewebs.com/picdevelopmenttool/

2

II). Cấu trúc phần cứng:

PIC32MX360F512

LCD1602A

8 LED + 4 LED

BUTTON INPUT

ADC INPUT

KEYBOARD INPUT

BUZZ LOA

I2C EEPROM & REALTIME

DS18B20

MOD BUS

LIN BUS

SPI ENC28J60

25LC256 + SDCARD

EXPANDER

CONNECTOR

MAX3232 TO PC

Page 3: Pic32 Starter Kit

Pic32 starter kit email: [email protected]

Hướng dẫn sử dụng kit pic32. http://www.freewebs.com/picdevelopmenttool/

3

- 8 led đơn kathode chung(PD0->PD7).

- 4 led đơn kathode chung(PG12->PG15).

- Lcd1602a.

- 6 nút nhấn nối vào 3 ngắt ngoài và 3 chân lam input.

- 2 triết áp nối vào 2 kênh adc0 và adc1.

- Giao tiep cảm biến nhiệt ds18b20.

- Giao tiep keyboard.

- Giao tiếp I2C với realtime pcf8583 và eeprom 25lc256.

- Giao tiep SPI với EEPROM, SD card và Ethernet Controller.

- Kết nối mang mod bus.

- Kết nối lin bus.

- Kết nối pc.

- Header kết nối Nokia lcd 6020.

- Nguồn cung cấp được thiết kế chạy ổn định với nhiều ứng dụng khác nhau đặc

biết trong ứng dụng websever.

Đặc biết kít được thiết kế để sử dụng cho tất cả các pic và dspic 100 pin..

III). Hướng dẫ sử dụng:

Chú ý khi sủ dụng pic32 và dspic hay pic khác.

Trên kít có 1 jumper (J22) khi dùng kit cho pic32 bạn để hở jumper này khi dung

cho dspic33fxxx bạn phải nối tắt nó lại.

1). Hướng dẫn sử dụng led.

Page 4: Pic32 Starter Kit

Pic32 starter kit email: [email protected]

Hướng dẫn sử dụng kit pic32. http://www.freewebs.com/picdevelopmenttool/

4

D43D4

D44D0

D45D3

D46D2

D47D1

R71330

1 2J26 JUMPER

R72330

R73330

R74330

R75330

R76330

R77330

R78330

D48

D7

D49D6

D50D5

Để sủ dụng 8 led đơn kathode chung bạn nối tắt jumper(J10). 4 led đơn còn lại đã nối sẵn

chỉ cần sử dụng.

2). Hướng dẫn sử dụng keyboard.

CLK

DATA

5V

DATA1

NC2

GND3

VCC4

CLK5

NC6

U21

PS2

5V

R6110K

R6210K

Jack keyboard trên kit được nối vào chân RF13(clk) và RF12(data) bạn chỉ cần gắn

keboard vào là đã sẵn sàng sử dụng.

3). Hướng dẫn sử dụng buzz loa:

11

22

U23

LOAB

CE

Q1C1815

R6710K

RD13

R68330

5V

D39

D1N

414

8

Trên kít thiết kế sẵn 1 buzz loa bối vào chân RD13 dùng để tạo ra tín hiệu cảnh báo trong

những ứng dụng của bạn.

4). Hướng dẫn sử dụng i2c bus.

Page 5: Pic32 Starter Kit

Pic32 starter kit email: [email protected]

Hướng dẫn sử dụng kit pic32. http://www.freewebs.com/picdevelopmenttool/

5

A01

A12

GN

D4

SDA5

SCL6

WP7

VC

C8

U4

24C256

VCC

SDA_1SDA_1

SCL_1SCL_1

OSCI1

OSCO2

A03

VSS4

SDA5SCL6INT7VDD8

U5

PCF8583

Y232.768

SCL_1SDA_1

VCC

1

2

C6

22P

12

U13BATTERY

R6010K

INT4

D42

1N4148R404K7

R414K7

SDA_1

VCC

Modul I2C được sử dụng để giao tiếp với eeprom và realtime. Với pic32 đã có

sẵn RTCC chân RD8 được nối với 1 led đơn tạo tín hiệu interrup output khi RTCC hoặt

động. Với dspic33fxxx và pic khác không có sẵn realtime việc giao tiếp với realtime

PCF8583 tạo cho hệ thống hoat động trong thời gian thực. Chân int của PCF8583 được

nối vào chân ngắt của pic có ý nghĩa quan trọng khi bạn muốn hẹn giờ bằng realtime.

5). Hướng dẫn sử dụng nút nhấn.

SW3INT1

C24104

INT1INT1

R3710K

VCC

Các nút nhấn trên kít đều là lọai tích cực mức thấp, có tụ chống rung giáp bạn dễ

dàng hơn khi lập trình. Nút nhấn ngoài ý nghĩa là input còn được nối vào chân ngắt ngoài

của pic sủ dụng với các chương trình dùng ngắt.

6). Hướng dẫn sử dụng lcd1602.

GN

D1

VC

C2

Vee

3

RS

4

R/W

5

E6

DB

07

DB

18

DB

29

DB

310

DB

411

DB

512

DB

613

DB

714

Lam

p+

15

Lam

-16

U1LCD

R1RV

LC

D_R

SLC

D_R

WLC

D_E

5V

LC

D_D

4LC

D_D

5LC

D_D

6LC

D_D

7

5V

Trên kít có sẵn 1 lcd loại 2 hàng 16 kit tự trên 1 hàng, lcd này hoat động ở chế độ

4 bit. Các chân control và chân data đều được nối vào 8bit thấp portd của pic.

7). Hướng dẫn sử dụng can bus.

Phần này chỉ có khi bạn dùng dspic33fxxx vì hiện tại pic32 không có modul

CAN.

Page 6: Pic32 Starter Kit

Pic32 starter kit email: [email protected]

Hướng dẫn sử dụng kit pic32. http://www.freewebs.com/picdevelopmenttool/

6

TXD1

GN

D2

VC

C3

RXD4

Vref5CAN-L6CAN-H7RS8

U14

MCP2551R23

120

5V

12

J6

CAN_BUS

CAN_TXD

CAN_RXD

Modul Can thứ 1 của dspic được nối vào ic can driver mcp2551 và nối ra domino

sẵn sàng cho những ứng dụng cần kết nối mạng CAN.

8). Hướng dẫn sử dụng mod bus và lin bus.

a). Lin bus:

Khi dùng mạng mod bus hay lin bus ban thay dổi vị trí của các jumper J8 và J9.

D19

43V C18C

VCC

LIN_RXD

LIN_TXD

LIN_FAULT

LIN_WAKE1

2

J16JUMPER

D20

1N4148C190.1uF

RXD1

WAKE2

Vreg3

TXD4

FAULT8

Vbb7

Lbus6

Vss5

U11

MCP201

D16

1N4148

12V

R22220K

R19R

SW1LIN_WAKE

R201K

D17

1N4148

12V

12V

D18

27V

12

J1

LIN_BUS

Kít thiết kế mạng Lin bus ở node master. Tín hiệu lin được nối vào domino sẵn sàng kết

nối với những kit khác.

RO1

RE2

DE3

DI4

GN

D5

A6

B7

VC

C8

U12

MAX485

5V

1

2

J2

MOD_BUSR21120

485_TXD485_RXD

485_ENA

Bên cạnh Lin bus bạn cũng có thể xây dụng mod bus trên kit này việc thay đổi

được tiến hành khá dễ dàng bằng việc chuyện vị trí của các jumper J8 và J9.

Tất cả nhưng phần còn lại đầu không có sự thay đổi khi sử dụng.

8). Hướng dẫn sử dụng modul usart.

Modul usart được nối vào max3232 khi truyền dữ liệu lên pc. Hai chân TX và RX

cũng được nối vào led anode chung giúp nhận diện dễ dàng khi có tín hiệu truyền đi hay

nhận về.

Page 7: Pic32 Starter Kit

Pic32 starter kit email: [email protected]

Hướng dẫn sử dụng kit pic32. http://www.freewebs.com/picdevelopmenttool/

7

8). Hướng dẫn sử dụng modul usart.

8). Hướng dẫn sử dụng modul usart.

VCC

232_TXD

C1+1

C1-3

C2+4

C2-5

VC

C16

GN

D1

5

V+2

V-6

R1OUT12

R2OUT9

T1IN11T2IN10

R1IN13

R2IN8

T1OUT14 T2OUT7

U2

MAX232

232_RXD

C310uF

C410uF

C510uF

59

48

37

26

1

U3

COM9

C1610uF

D13

RXD

R17

330

D14

TXD

R18

330

VCC

9). Hướng dẫn sử dụng cảm biến nhiệt ds18b20.

R594K7

123

J15

ds18B20

TEMP_SENSOR

VCC

Cảm biến nhiệt ds18b20 được thiết kế sẵn trên kit với mục đích kiểm xoát nhiệt độ của

kit, phát hiện sự bất ổn có liên quan đến nhiệt độ của các linh kiện khác trên kit.

10). Modul SPI

Page 8: Pic32 Starter Kit

Pic32 starter kit email: [email protected]

Hướng dẫn sử dụng kit pic32. http://www.freewebs.com/picdevelopmenttool/

8

Pic32 có 2 modul SPI trên kit sử dụng modul SPI thứ 1 để giao tiếp với ethernet

contronller enc28j60, eeprom spi, sd card và hiển thị dữ liệu trên lcd nokia 6020.

Enc28j60 và eeprom 25lc1024 dùng khi bạn muốn dùng kit là websever với dung

lượng khá lơn của eeprom(1Mbit) bạn có thể tạo 1 trang web hoành tráng cho riêng mình.

Ngoài ra còn có thể lưu dữ liệu vào sd card khi bạn muốn thu thập dữ liệu trong 1 khoảng

thời gian dài.

Dữ liệu sẽ được hiển thị xinh động trên lcd nokia 6020.

R25100

VCC

R26100

LE

DB

LE

DA

D21LEDB

D22LEDA

VCC

R33180

R34180

ETH_RESETVCC

ETH_CS

VCC

R27100

R28100

ETH_SCKETH_SI

CS1

SO2

WP3

GN

D4

SI5

SCK6

HOLP7

VC

C8

25C512

SD_SCK

ETH_SO R29100

R30100

R31100

R32100

LEDA

VCC

LEDBETH_INT

R3510K

VCC

1234567

J7

SD CARD

SD_DIN

VCC

SD_CSSD_DIN

SD_SCKETH_SI

ETH_SCKETH_SO

Y3

25MHz

VCAP1

VSS2

CLOCKOUT3

INT4

NC*5

SO6

SI7

SCK8

CS9

RESET10

VSSRX11

TPIN-12

TPIN+13

RBIAS14

VDDTX15POUT-16POUT+17VSSTX18VDDRX19VDDPLL20VSSPLL21VSSOSC22OSC123OSC224VDDOSC25LEDB26LEDA27VDD28

U15

ENC28J60-DIP

SD_DOUTCS#

RESET

EEPR_CS

C2122P

TD+1

TD-2 CT3

NC4

NC5

CT6 RD+7

RD-8

A1

9

K1

10

A2

11

K2

12U16

RJ45

C2222P

C2010uF

1234567

J14

NOKIA_6010

1

2

L1

FEERIT

VCC

LE

DA

C33 104

LE

DB

C34104

VCC

VCC

R242K7

VCC

5V

11). Phần expansion:

Ngoài ra kit còn có phần header expansion khi bạn muốn mở rộng hơn nữa I/O hoặc kết

nối với các ngoại vi khác.

Page 9: Pic32 Starter Kit

Pic32 starter kit email: [email protected]

Hướng dẫn sử dụng kit pic32. http://www.freewebs.com/picdevelopmenttool/

9

12345

J13

CON5

12V12V

QEAINT2INT1

INDXQEB

5V

PWM2HPWM3L

PWM1HPWM2LPWM1L

PWM3HPWM4H PWM4L

RA0R504K7

R514K7 RA6

RB15

RD13

RG1RB13

SCL_2SDA_2

RA1

VCC

1 23 45 67 89 10

11 1213 1415 1617 1819 20

J12

CONNECTOR

RG0

RB12RB14

RB11

VCC

RA7RA10

1 23 45 67 89 10

11 1213 1415 1617 1819 20

J11

MOTOR_CONTROL

AN8 AN10AN9

5V

RA9

VCC

VCC

5V

- Expansion I2C mở rộng I/O với header này bạn có thể kết nối dễ dàng với các ic mở

rông I/O theo chuẩn I2C như MCP23016, MCP23008,….

- Motor control: Đây là header được thiết kế riêng khi bạn dùng kit với

dspic33fj256mc710 trong những ứng dụng điều khiển motor ac 3 phase với 8 kenh PWM

và các modul QEI, ADC thu thập dữ liệu và điều khiển.

- Các chân còn lại cũng được đưa ra 1 header sằn sàng cho bạn sử dụng vào những mục

đích riêng của mình.

12). Hướng dẫn sử dụng MPLAB và các công cụ lập trình.

a). Compiler.

Theo tôi biết hiện này C32 là trình dịch C duy nhất cho pic32. Ngoài ra bạn có thể

dùng asm.

b). Programmer.

Để nạp chương trương trình cho pic32 bạn có thể dùng icd2, pickit2 là 2 loại

mạch nạp phổ biến nhất ở Việt nam hiện nay.

Thử nghiệm với pickit2 cho kết quả tốt nên tôi chọn pickit2 làm công cụ lập trình

cho pic32 này.

c). Hướng dẫn tạo 1 project trên C32.

Trước tiên các bạn download C32 và phần mền MPLAB theo đường link sau:

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2615&

dDocName=en532454

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&

dDocName=en019469&part=SW007002

Sau khi cài đặt song MPLAB và C32 vào Pc các bạn mở MPLAB lên và làm theo hướng

dẫn sau:

Trên menu bar chọn Project-> Project Wizard….

Page 10: Pic32 Starter Kit

Pic32 starter kit email: [email protected]

Hướng dẫn sử dụng kit pic32. http://www.freewebs.com/picdevelopmenttool/

10

Chọn Next sau đó chọn loại chip sử dụng là PIC32MX360F512L

Chọn Next -> chọn trình dịch là Micochip Pic32 C-Compiler toolsuite. Chon

đường dẫn tới những công cụ mà trình dịch yêu cầu(đường dẫn tới nơi mà bạn đã cài

C32). Sau đó chọn Next.

Page 11: Pic32 Starter Kit

Pic32 starter kit email: [email protected]

Hướng dẫn sử dụng kit pic32. http://www.freewebs.com/picdevelopmenttool/

11

Nhập tên Project và nơi bạn muốn tạo project của mình. Chọn Next-> Next

Bạn có thể add luôn những file đã tạo sẵn vào project của mình hoặc add sau cũng

được.

Chọn Next-> Finish. Nếu bạn thấy cửa sổ không hiện ra gì hết thì chọn View -> đánh dầu

vào Project và Output để của sổ hiện lên vùng làm việc cho bạn.

Page 12: Pic32 Starter Kit

Pic32 starter kit email: [email protected]

Hướng dẫn sử dụng kit pic32. http://www.freewebs.com/picdevelopmenttool/

12

Tới đây các bạn đã tạo song 1 project trên C32 rồi vào có thể bắt đầu việt chương trình

được rồi.

Chọn File-> New, một cửa sổ text hiện lên cho bạn soạn thảo. Bạn có thể chưa

cần soạn thảo gì mà lưu ngay lại vào nơi bạn tạo project vừa rồi với đuôi “.c” đây là soure

file trong project của bạn.

Page 13: Pic32 Starter Kit

Pic32 starter kit email: [email protected]

Hướng dẫn sử dụng kit pic32. http://www.freewebs.com/picdevelopmenttool/

13

Bên cửa sổ Project bạn bấm chuột phải vào Soure File và chọn add file

Chỉ đường dẫn tới nơi mà bạn lưu soure file lúc nãy và chọn Open.

Page 14: Pic32 Starter Kit

Pic32 starter kit email: [email protected]

Hướng dẫn sử dụng kit pic32. http://www.freewebs.com/picdevelopmenttool/

14

Lúc này soure file đã được add vào project của bạn rồi.

Sau đó bạn nhập đoạn code sau vào vùng soạn thảo của soure file.

#include <p32xxxx.h>

#pragma config FPLLMUL = MUL_20, FPLLIDIV = DIV_2, FPLLODIV = DIV_1,

FWDTEN = OFF

#pragma config POSCMOD = HS, FNOSC = PRIPLL, FPBDIV = DIV_1

#pragma config ICESEL = ICS_PGx2, BWP = ON

main()

{

int i;

DDPCONbits.JTAGEN = 0;

TRISD = 0; // Tat ca portd deu la output

PORTD = 0x0F; // XUAT 0X0F RA PORTD

while(1)

{

;

}

}

Sau khi soan thảo song bạn bấm nút Build All để dịch chương trình mà bạn vừa viết.

Nếu không có lỗi gì thì hiện kết quả như sau và file .hex đã được tạo ra trong floder chứa

project của bạn.

Page 15: Pic32 Starter Kit

Pic32 starter kit email: [email protected]

Hướng dẫn sử dụng kit pic32. http://www.freewebs.com/picdevelopmenttool/

15

Đến đây bạn đã có file .hex rồi bạn cần nạp file này vào chip pic32 trên kít.

Ở đây tôi sử dụng mạch nạp pickit2 và phần mền pickit2 vì hiện tại trong MPLAB

chưa hỗ trợ pickit2 nạp cho pic32.

Gắn mạch pickit2 vào cổng usb và chờ 1 vài phút cho pc của bạn đã nhận ra

pickit2, hoặc bạn có thể kiểm tra xem pc đã nhận ra pickit2 chưa bằng thao tác.

Mở Control Panel -> double click vào biểu tượng system sau đó chọn tab Hardware->

Device manager cửa sổ device manager hiện lên cho bạn thấy pc đã nhận ra pickit2 hay

chưa.

Page 16: Pic32 Starter Kit

Pic32 starter kit email: [email protected]

Hướng dẫn sử dụng kit pic32. http://www.freewebs.com/picdevelopmenttool/

16

Cấp điện cho kit pic32 và kết nối day icsp trên pickit2 vào header trên kitpic32. Mở phần

mên pickit2 lên và chờ 1 vài phút. Pickit2 thông báo đã nhận được pic32mx360f512l trên

kít.

Chọn File -> Import Hex để đưa file .hex vào phần mềm pickit2 chuẩn bị nạp xuống chíp.

Page 17: Pic32 Starter Kit

Pic32 starter kit email: [email protected]

Hướng dẫn sử dụng kit pic32. http://www.freewebs.com/picdevelopmenttool/

17

Chọn nút Write để nạp xuống chip.

Page 18: Pic32 Starter Kit

Pic32 starter kit email: [email protected]

Hướng dẫn sử dụng kit pic32. http://www.freewebs.com/picdevelopmenttool/

18

Phần mên pickit2 thông báo đã nạp thành công file .hex xuống chip, quan sát trên kit bạn

sẽ thấy kết quả chương trình của mình.

Cách cấu hình pic32 hoạt động ở 80MHz với thạch anh ngoài 8MHz.

#pragma config FPLLMUL = MUL_20, FPLLIDIV = DIV_2, FPLLODIV = DIV_1,

FWDTEN = OFF

#pragma config POSCMOD = HS, FNOSC = PRIPLL, FPBDIV = DIV_1

#pragma config ICESEL = ICS_PGx2, BWP = OFF

Lưu ý:

Khi sử dụng pickit2 để nạp chương trình cho pic32.

Do pickit2 là phần mền chỉ dùng để programmer không hỗ trợ biên dịch nên khi

viết code bạn phải cấu hình đầy đủ như trên thì khi nạp chương trình mới không bị lỗi.

Page 19: Pic32 Starter Kit

Pic32 starter kit email: [email protected]

Hướng dẫn sử dụng kit pic32. http://www.freewebs.com/picdevelopmenttool/

19

Liên hệ góp ý:

Kit Pic32 được thiết kế dựa trên kiến thức và kinh nghiệm của bản thân tôi về pic

và tham khảo thêm nhiều thiết kế khác. Hiện thiết kế đã hoàn thiện và với tính năng vượt

trội so với những kit khác giá cả lại rất Việt Nam. Bạn nào có nhu cầu mua kit xin vui

lòng liên hệ qua email hay xem thêm thông tin trên web site.

Nếu có ý kiến đóng góp về kit xin vui lòng liên hện với chúng tôi mọi ý kiến đóng

góp của các bạn đều được chúng tôi rất chân trong và lắng nghe.

Ngoài kit về pic32 này chúng tôi còn có kit khác về dspic4011, atmega128 kit,

mạch nạp icd2-usb, stk500, avr910, pickit2,….và nhiều sản phẩm khác sẵn sàng phuc vụ

các bạn.

Hiện tại tài liệu này còn khá đơn giản chủ yếu mang tính giới thiệu về kit. Chúng

tôi rất mong sẽ nhận được sự ủng hộ của các bạn trong thời gian tới để có thêm điều kiện

biên soạn những tài liệu chi tiết đầy đủ hơn giúp ích cho các bạn khi tiếp cận dòng pic32

này.

Khi các bạn mua kit các bạn sẽ nhận được như sau:

- 01 kit với đầy đủ linh kiện theo những tính năng kể trên.

- Cd có chương trình mẫu, sch về kit.

- Soft ware, compiler,……

- Và đặc biệt các bạn đã có 1 công cụ rất hay để học tập nghiên cứu pic32.

Rất cám ơn sự quan tâm của các bạn tới tài liệu này.