OLIMEX PIC32-HMZ144 User Manual

Page 1
PIC32-HMZ144
General-purpose development board
USER’S MANUAL
Document revision D, October 2017
Designed by OLIMEX Ltd, 2015
All boards produced by Olimex LTD are ROHS compliant
Page 1 of 26
Page 2
DISCLAIMER
© 2017 Olimex Ltd. Olimex®, logo and combinations thereof, are registered trademarks of Olimex Ltd. Other product names may be trademarks of others and the rights belong to their respective owners.
The information in this document is provided in connection with Olimex products. No license, express or implied or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Olimex products.
The hardware design of PIC32-HMZ144 development board is considered open source. Anyone can download the original schematics and board design files. The files describing the hardware are made with CadSoft's EAGLE PCB design software.
The part of the software written by Olimex is released under GPL. However, note that the examples that we distribute are based on the libraries and projects released by Microchip. Make sure that you are acquainted with Microchip's license agreement before using, publishing, or distributing any code based on our software.
It is possible that the pictures in this manual differ from the latest revision of the board.
The product described in this document is subject to continuous development and improvements. All particulars of the product and its use contained in this document are given by OLIMEX in good faith. However all warranties implied or expressed including but not limited to implied warranties of merchantability or fitness for purpose are excluded. This document is intended only to assist the reader in the use of the product. OLIMEX Ltd. shall not be liable for any loss or damage arising from the use of any information in this document or any error or omission in such information or any incorrect use of the product.
This evaluation board/kit is intended for use for engineering development, demonstration, or evaluation purposes only and is not considered by OLIMEX to be a finished end-product fit for general consumer use. Persons handling the product must have electronics training and observe good engineering practice standards. As such, the goods being provided are not intended to be complete in terms of required design-, marketing-, and/or manufacturing-related protective considerations, including product safety and environmental measures typically found in end products that incorporate such semiconductor components or circuit boards.
Olimex currently deals with a variety of customers for products, and therefore our arrangement with the user is not exclusive. Olimex assumes no liability for applications assistance, customer product design, software performance, or infringement of patents or services described herein.
THERE IS NO WARRANTY FOR THE DESIGN MATERIALS AND THE COMPONENTS USED TO CREATE PIC32-HMZ144. THEY ARE CONSIDERED SUITABLE ONLY FOR PIC32-HMZ144.
Page 2 of 26
Page 3
Table of Contents
CHAPTER 1: INTRODUCTION ............................................................. 4
1.1 BOARD FEATURES ............................................................................................................... 4
1.2 MINIMAL BOARD USE REQUIREMENTS ...................................................................... 5
1.3 TARGET MARKET OF THE BOARD ................................................................................. 5
1.4 ELECTROSTATIC WARNING ............................................................................................. 6
1.5 DOCUMENT ORGANIZATION ........................................................................................... 6
CHAPTER 2: BOARD DESCRIPTION .................................................. 7
2.1 LAYOUT (TOP VIEW) ........................................................................................................... 7
2.2 PINOUT .................................................................................................................................... 8
CHAPTER 3: BOARD SCHEMATIC AND DIMENSIONS ................. 9
3.1 SCHEMATIC ........................................................................................................................... 9
3.2 PHYSICAL DIMENSIONS .................................................................................................. 11
CHAPTER 4: PROCESSOR DETAILS ................................................ 12
4.1 FEATURES ............................................................................................................................ 12
4.2 MICROCONTROLLER BLOCK DIAGRAM .................................................................. 15
4.3 MICROCONTROLLER MEMORY MAP ......................................................................... 16
CHAPTER 5: CONTROL CIRCUITRY ............................................... 17
5.1 POWER SUPPLY CIRCUIT ................................................................................................ 17
5.2 RESET CIRCUIT .................................................................................................................. 18
5.3 CLOCK CIRCUIT ................................................................................................................ 18
CHAPTER 6: JUMPERS, CONNECTORS AND INTERFACES ...... 19
6.1 JUMPER DESCRIPTION .................................................................................................... 19
6.2 INPUT/OUTPUT ................................................................................................................... 19
6.3 EXTERNAL CONNECTOR DESCRIPTION .................................................................... 19
6.3.1 ICSP CONNECTOR ..................................................................................................................................................... 19
6.3.2 JTAG ROW ................................................................................................................................................................... 20
6.3.3 UEXT ............................................................................................................................................................................. 20
6.3.4 MICROSD CARD ......................................................................................................................................................... 21
CHAPTER 7: AVAILABLE DEMO SOFTWARE ................................ 22
7.1 BLINKING LED MPLABX DEMO .................................................................................... 22
7.2 FULL HARMONY DEMO ................................................................................................... 22
CHAPTER 8: ORDERING INFORMATION AND REVISIONS ...... 24
8.1 DOCUMENT REVISION ..................................................................................................... 24
8.2 BOARD REVISION .............................................................................................................. 25
8.3 USEFUL WEB LINKS .......................................................................................................... 25
CHAPTER 9: WARRANTY AND SUPPORT ....................................... 26
Page 3 of 26
Page 4
CHAPTER 1: INTRODUCTION
Thank you for choosing this general-purpose development board designed and assembled by Olimex LTD! This document provides a user’s guide for the PIC32-HMZ144 board. As an overview, this chapter gives the scope of this document and lists the board’s features. The document’s organization is then detailed.
The PIC32-HMZ144 development board allows code development of applications running on the PIC32MZ144 processor, manufactured by Microchip Technology Inc from the U.S.A.
PIC32-HMZ144 board is an open-source, open-hardware project and all documents needed to manufacture the board are available to the customer.
The software code written by Olimex LTD is released under GPL. However, the examples that we distribute are heavily based on the libraries and projects released by Microchip Technology Inc, which are non-GPL. Make sure that you are acquainted with Microchip's license agreement before using, publishing, or distributing any code based on the demo software released by Olimex LTD.
1.1 BOARD FEATURES
PIC32-HMZ144 board features a PIC32MZ2048EFG144 processor. It is one of the most-capable PIC32 processors ever made and it has a lot of interfaces available (FPU, 6 x UARTs; 6 x SPIs; 5 x I2Cs; 120 x IO pins; 48-channel ADC; two analog comparators; Ethernet; USB-OTG; JTAG; TRACE; etc.) The board has several ready-to-use interfaces exposed and available on connectors: a microSD card connector; mini USB connector (with OTG functionality); ICSP connector for programming and debugging; UEXT connector for extension modules; user-programmable LED; user-programmable button; 100 pinholes in two rows for measurements and access to IO processor pins; etc.
Starting 20th of October 2017 the PIC32MZ2048ECG144 chip was replaced by a PIC32MZ2048EFG144. The PIC32MZ2048ECG144 was officially declared “not recommneded for new designs” by Microchip and we decided to switch to the officially suggested replacement. The chips are pretty much the same except that the new EFG chip has a floating point unit (FPU), better maximum A/D resolution (12 v 10) and better maximum A/D sample rate (18000KSPS vs 5000KSPS).
The most notable board features are listed below:
PIC32MZ2048EFG144 with 512KB RAM and 2MB flash (PIC32MZ2048ECG144 was
used before)
USB-OTG functionality with mini USB connector MicroSD card connector ICSP for debugging and programming JTAG pins exposed on 0.1" step 6 pins EXT1 and EXT2 50 pin 0.1" connectors that ease the access to the processor RESET and USER buttons PWR and STATUS LEDs Li-Po battery connector and charger UEXT connector Dimensions: (77×52)mm ~ (3×2)mm
Page 4 of 26
Page 5
1.2 MINIMAL BOARD USE REQUIREMENTS
Hardware required for programming
In order upload code on the board you would need a PIC32 compatible debugger or programmer. Older tools might lack support for PIC32 processor. Please ensure your programmer/debugger is compatible with the PIC32MZ processor family.
The board has no bootloader loaded. You need either a debugger or a programmer tool to upload software to the board. The on-board ICSP interface is available at a 6-pin (1×6) 0.1” step connector.
Software required for programming
You would need software that supports PIC32MZ family of processors. The most commonly used tool for software development for PIC32MZ applications is MPLAB X. The most used tool for binary upload to PIC32MZ is MPLAB IPE. Microchip provides a set of libraries and demo projects for the PIC32MZ family in their “Harmony Integrated Software Framework”.
Note that MPLAB 8.xx does NOT support PIC32MZ.
(Optional) hardware to power the board.
The board requires power supply. If your debugger/programmer is not capable of powering the board via the ICSP connector then you would need either: USB cable (1); or Li-Po battery (2); or 5V external power supply (3).
(1) The USB cable should have male mini USB connector to be able to fit the board's female mini USB connector. (2) The battery requires a male DW02R connector (CI0102) to fit in the on-board female DW02R connector. (3) There are only pinholes available on the board. You would need wires to establish a connection between the external power supply (adapter) with the board.
1.3 TARGET MARKET OF THE BOARD
PIC32-HMZ144 would attract PIC enthusiasts and veterans who want to evaluate the features of the PIC32MZ2048EFG144 processor. Any experience with the development tools required for general­purpose development of code for boards featuring PIC32MZ boards is a great plus.
The board is not suitable for complete beginners – it lacks a bootloader which means that you can't upload software via the USB. You need at least a PIC32-compatible programmer with 6-pin 0.1” step ICSP connector.
In case you are a complete beginner you might want to start with a board with bootloader, like PIC32-PINGUINO-OTG or DUINOMITE. You can upload code to such boards via an USB cable.
Page 5 of 26
Page 6
1.4 ELECTROSTATIC WARNING
The PIC32-HMZ144 board is shipped in protective anti-static packaging. The board must not be subject to high electrostatic potentials. General practice for working with static sensitive devices should be applied when working with this board.
The product box includes 4 rubber feet – it is recommended to place them in the holes near the edges of the board. This way the board would be safe if placed on conductive surfaces!
1.5 DOCUMENT ORGANIZATION
Each section in this document covers a separate topic, organized as follows:
Chapter 1 is an overview of the board usage and features Chapter 2 contains the general board diagram and layout Chapter 3 provides the schematics and the dimensions of the board Chapter 4 provides a guide for quickly setting up the board and software notes Chapter 5 describes the component that is the heart of the board: the Microchip's
PIC32MZ2048 processor
Chapter 6 is an explanation of the control circuitry associated with the processor Chapter 7 covers the connector pinout, peripherals and jumper description Chapter 8 contains the revision history, useful links and support information Chapter 9 contains the warranty information
Page 6 of 26
Page 7
OLIMEX© 2017 PIC32-HMZ144 user's manual
CHAPTER 2: BOARD DESCRIPTION
2.1 LAYOUT (TOP VIEW)
The picture below shows the top side of the board and highlights the most important parts:
Page 7 of 26
Page 8
OLIMEX© 2017 PIC32-HMZ144 user's manual
2.2 PINOUT
Page 8 of 26
Page 9
CHAPTER 3: BOARD SCHEMATIC AND DIMENSIONS
In this chapter you may find information about the schematics describing logically and physically PIC32-HMZ144.
3.1 SCHEMATIC
The schematic of PIC32-HMZ144 is available for reference on the next page.
The design files are available at our GitHub repository. Refer to chapter 8 to find the link to our repository.
If you are looking for a schematic of an older revision of the board and it isn't available at our web site you may request it by the support e-mail.
Page 9 of 26
Page 10
OLIMEX© 2017 PIC32-HMZ144 user's manual
Page 10 of 26
-
LEDSBUTTONS
VOLTAGE_REFERENCE
POWER_SU PPLY
UEXT
USB_OT G
Battery Charger
appr. 70 mA charge current
MICRO_S D
Designed by Olimex LTD
Iset = 6800/R68
Iset = 523mA
Re
Rf
Vout=0.6x(1+Re/Rf)
24MHzOscillato r
PIC32-H MZ144, board revisio n C1
Designe d and a ssemb led b y Olimex LTD, Bu lgaria
www.OLIME X.com
PIC32-H MZ144, b oard revision C1
1
2
3.7V-LI_BAT
DW02R
BUT
C2
22uF/6.3V
C3
22uF/6.3V
C4
22uF/6.3V
C13
C15 10nF
C16
C20
100nF
C29NA(20pF)
C30NA(10pF)
C31NA(10pF)C32NA(20pF)
C33
22uF/6.3V
C34
22uF/6.3V
C35 100nF
C36
NA(100nF)
C37
27pF
VDD
VSS OUT
E/D
1
3
4
2
CD1
F535L-24(24MHz/50ppm/5x3.2mm)
D1
1N5819(S4SOD-123)
D2
1N5819(SS14)
D3 1N5819(SS14)
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
21 22
23 24
25 26
27 28
29 30
31 32
33 34
35 36
37 38
39 40
41 42
43 44
45 46
47 48
49 50
EXT1
NA
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
21 22
23 24
25 26
27 28
29 30
31 32
33 34
35 36
37 38
39 40
41 42
43 44
45 46
47 48
49 50
EXT2
NA
FB1
FB0805/600R/2 A
FET1
IRLML6402
GND_PIN
1
2
3
4
5
6
ICSP
WF6S
1
2
3
4
5
6
JTAG
NA(HN1X6)
L1
FB0805/600R/2A
L2
FB0805/600R/2A
L4
2.2uH/1.5A/DCR<0.1R/CD32
LED1 LED/GREEN/0603
CD/DAT3 /CS
2
CLK/SC LK
5
CMD/D I
3
9
DAT0/DO
7
DAT1/R ES
8
DAT2/R ES
1
13
VDD
4
VSS
6
MICRO-SD
TFC-WPAPR-08
+5V
+5V
+5V
+5V +5V
+5V
+5V
Q1
NA(Q12.000MHz/HC-49S/SMD/20pF/30ppm)
Q2
NA(MC-306_32.768KHz/6pF)
R1 330R
R2
47k
R4 10k
R5 100kR613k/1%
R8 3M
R91M/1%
0R
R10
0R(Board_Mounted)
R11
15k
R13
2.2k
R14
47k
R15
2.2k
R16
47k
R17NAR18
NA
R19 NA
R20 NA
R23100k
R24
10k
R25
10k
R26
330R
R27 1k
R28 330R
R29 330R
R31 NA
R32
R33
R34 NA
R35 NA
R36 1.5k
RST
C
A
R
SR1
U1_MAIN
PIC32MZ2048EFG144-I/PH
#MCLR
20
AN2/C2I NB/R PB2/R B2
34
AN3/C2I NA/R PB3/R B3
31
AN4/C1I NB/R B4
26
AN6/RB 11
50
AN7/RB 12
59
AN8/RB 13
60
AN9/RP B14/ SCK3/R B14
61
AN10/RP B15 /OCFB /RB15
62
AN12/C 2IND /RPG 8/SCL 4/RG8
16
AN13/C 1INC /RPG7 /SDA 4/RG7
15
AN14/C 1IND /RPG 6/SCK2 /RG6
14
AN23/R G15
1
AN25/RP E8/R E8
23
AN26/RP E9/R E9
24
AN32/RP D14 /RD14
69
AN33/RP D15 /SCK6/ RD15
70
AN35/E TXD 0/RJ8
7
AN36/E TXD 1/RJ9
8
AN37/E RXCLK /EREF CLK/R J11
27
AN38/E TXD 2/RH0
43
AN39/E TXD 3/RH1
44
AN40/E RXER R/RH 4
65
AN41/E RXD 1/RH5
66
AN42/E RXD 2/RH6
67
AN45/C1 INA /RPB5 /RB5
25
CVREFO UT/A N5/R PB10 /RB10
49
D+
77
D-
76
EBIA0 /PMA 0/RJ1 5
30
EBIA1 /PMA 1/RK1
51
EBIA2 /AN11 /C2IN C/RPG 9/PM A2/R G9
21
EBIA3 /PMA 3/RK2
52
EBIA4 /PMA 4/RH7
68
EBIA5/A N34 /PMA 5/RA5
2
EBIA6/A N22 /RPC1 /PMA 6/RC1
6
EBIA7/A N49 /RPB9 /PMA 7/RB9
48
EBIA8 /RPF5 /SCL5 /PMA 8/RF5
91
EBIA9 /RPF4 /SDA5 /PMA 9/RF4
90
EBIA10 /AN4 8/RPB 8/PM A10/R B8
47
EBIA1 1/PM A11/R J14
29
EBIA12 /AN2 1/RPC 2/PM A12/RC 2
11
EBIA1 3/PM A13/R J13
28
EBIA14 /PMC S1/PM A14 /RA4
87
EBIA15 /RPD 9/PMC S2/P MA1 5/RD9
97
EBIA1 6/RK0
19
EBIA1 7/RK3
53
EBIA1 8/RK4
92
EBIA1 9/RK5
93
EBIA2 0/RK6
94
EBIA2 1/RK7
126
EBIA2 2/RJ3
117
EBIA2 3/RH1 5
103
EBIBS 0/RJ1 2
9
EBIBS 1/RJ1 0
10
EBICS 0/RJ4
131
EBICS 1/RJ5
132
EBICS 2/RJ6
133
EBICS 3/RJ7
134
EBID0/P MD0 /RE0
135
EBID1/P MD1 /RE1
138
EBID2/P MD2 /RE2
142
EBID3/R PE3/P MD 3/RE3
143
EBID4/A N18 /PMD4 /RE4
144
EBID5/A N17 /RPE5 /PMD 5/RE5
3
EBID6/A N16 /PMD6 /RE6
4
EBID7/A N15 /PMD7 /RE7
5
EBID8 /RPG0 /PMD 8/RG0
128
EBID9 /RPG1 /PMD 9/RG1
127
EBID1 0/RPF 1/PM D10/RF 1
125
EBID1 1/RPF 0/PM D11/RF 0
124
EBID12 /RPD 12/PM D12/R D12
112
EBID13 /PMD 13/RD 13
113
EBID14 /RPD 2/PM D14/RD 2
110
EBID15 /RPD 3/PM D15/RD 3
111
EBIOE/A N19/ RPC4/ PMR D/RC4
13
EBIRDY1 /SDA 2/RA3
86
EBIRDY 2/RH 11
84
EBIRDY 3/RJ2
116
EBIRP /RH2
45
EBIWE /AN2 0/RPC 3/PM WR/RC 3
12
ECOL/R H10
83
ECRS/R H12
100
EMDC/R PD11 /RD11
99
EMDIO /RJ1
115
ERXD0 /RH8
81
ERXD3 /RH9
82
ERXDV /ECR SDV/R H13
101
ETXCLK /RPD7 /RD7
121
ETXEN /RPD6 /RD6
120
ETXE RR/RJ0
114
OSCI/CL KI/RC12
71
OSCO/CL KO/RC15
72
PGEC1/A N1/R PB1/R B1
35
PGEC2/A N46 /RPB6 /RB6
37
PGED1/A N0/R PB0/R B0
36
PGED2/A N47 /RPB7 /RB7
38
RH3
46
RH14
102
RPA14/S CL1/RA 14
95
RPA15/S DA1/RA 15
96
RPD0/RTC C/INT 0/RD0
104
RPD1/S CK1/R D1
109
RPD10/S CK4/R D10
98
RPF3/U SBID /RF3
78
SCL2/RA 2
85
SCL3/R PF8/R F8
80
SDA3/R PF2/R F2
79
SOSCI/R PC13 /RC13
105
SOSCO/R PC14 /T1CK /RC14
106
SQICS0/ RPD4 /RD4
118
SQICS1/ RPD5 /RD5
119
TCK/AN2 9/RA1
56
TDI/AN 30/R PF13/S CK5/R F13
57
TDO/AN 31/RP F12/ RF12
58
TMS/A N24/RA 0
22
TRCLK/S QICLK/ RA6
129
TRD0/S QID0 /RG13
141
TRD1/S QID1 /RG12
140
TRD2/S QID2 /RG14
139
TRD3/SQ ID3/RA 7
130
VREF+/C VRE F+/AN 28/RA1 0
40
VREF-/C VRE F-/AN2 7/RA9
39
U1_PWR
PIC32MZ2048EFG144-I/P H
AVDD
41
AVSS
42
VBUS
73
VDD
18
VDD
33
VDD
55
VDD
64
VDD
88
VDD
107
VDD
122
VDD
137
VSS
75
VSS
17
VSS
32
VSS
54
VSS
63
VSS
89
VSS
108
VSS
123
VSS
136
VUSB3 V3
74
BATTERY CHARGER
CE
1
PROG
5
VBAT
3
VDD
4
VSS
2
U2
MCP73812T-420I/OT
EN
4
IN
5
ISET
3
OUT
1
U3SY6280
EN
1FB5
GND
2
IN
4LX3
U4
SY8009AAAC(SO T23-5)
1 2
3 4
5 6
7 8
9 10
UEXT
GBH-254-SMT-10
D+
D-
GND
ID
VBUS
USB
USB-OTG
3.3V
3.3V
3.3V
3.3V
3.3V
3.3V3.3V 3.3V 3.3V
3.3V
3.3V
3.3V
3.3V
3.3V
3.3V
3.3V
3.3V_AVCC
3.3V_AVCC
3.3V_AVCC
3.3V_AVCC
RESET,T MS,TCK
+5V
+5V_OTG_PW R
+5V_OTG_PWR+5V_OTG_PWR
AGND
AGND
AREF
AREF
AREF
AREF
CLKI
CLKI
D+
D+
D+ D+
D-
D-
D- D-
GND
GND GND
GND
OSC_PWR
OSC_PWR
PGEC2
PGEC2
PGED2
PGED2
RA2/SCL2
RA2/SCL2
RA3/SDA2
RA3/SDA2
RA4/PMA14
RA4/PMA14
RA5/PMA5
RA5/PMA5
RA6
RA6
RA7
RA7
RA9
RA9
RA14
RA14
RA15
RA15
RB0
RB0
RB1
RB1
RB2(OTG_FAULT)
RB2(OTG_FAULT)
RB3
RB3
RB4
RB4
RB5(OTG_EN)
RB5(OTG_EN)
RB8/PMA10
RB8/PMA10
RB9/PMA7
RB9/PMA7
RB10
RB10
RB11
RB11
RB12(BUT)
RB12(BUT)
RB13
RB13
RB14/#SS2
RB14/#SS2
RB15/#SS1
RB15/#SS1
RC1/PMA6
RC1/PMA6
RC2/PMA12
RC2/PMA12
RC3/PMWR
RC3/PMWR
RC4/PMRD
RC4/PMRD
RD0
RD0
RD1/SCK1
RD1/SCK1
RD2/PMD14
RD2/PMD14
RD3/PMD15
RD3/PMD15
RD4
RD4
RD5
RD5
RD6
RD6
RD7/SDI2(MISO2) RD7/SDI2(MISO2)
RD9/PMA15
RD9/PMA15
RD10
RD10
RD11
RD11
RD12/PMD12
RD12/PMD12
RD13/PMD13
RD13/PMD13
RD14/SDI1(MISO1)
RD14/SDI1(MISO1)
RD15/SDO1(MOSI1)
RD15/SDO1(MOSI1)
RE0/PMD0
RE0/PMD0
RE1/PMD1
RE1/PMD1
RE2/PMD2
RE2/PMD2
RE3/PMD3
RE3/PMD3
RE4/PMD4
RE4/PMD4
RE5/PMD5
RE5/PMD5
RE6/PMD6
RE6/PMD6
RE7/PMD7
RE7/PMD7
RE8/U2TX
RE8/U2TX
RE9/U2RX
RE9/U2RX
RESET
RESET RESET
RESET
RESET
RESET
RF0/PMD11
RF0/PMD11
RF1/PMD10
RF1/PMD10
RF2
RF2
RF4/PMA9
RF4/PMA9
RF5/PMA8
RF5/PMA8
RF8
RF8
RG0/PMD8
RG0/PMD8
RG1/PMD9
RG1/PMD9
RG6/SCK2
RG6/SCK2
RG7(E_MEASU REMENT)
RG7(E_MEASUREMENT )
RG8/SDO2(MOSI2)
RG8/SDO2(MOSI2) RG9/PMA2
RG9/PMA2
RG12
RG12
RG13
RG13
RG14
RG14
RG15(V_BAT)
RG15(V_BAT)
RH0
RH0
RH1
RH1
RH2(LED1)
RH2(LED1)
RH3
RH3
RH4
RH4
RH5
RH5 RH6
RH6
RH7/PMA4
RH7/PMA4
RH8
RH8
RH9
RH9
RH10
RH10
RH11
RH11
RH12
RH12
RH13
RH13
RH14
RH14RH15
RH15
RJ0
RJ0
RJ1
RJ1
RJ2
RJ2
RJ3
RJ3
RJ4
RJ4
RJ5(SD_CP)
RJ5(SD_CP) RJ6
RJ6
RJ7
RJ7
RJ8
RJ8
RJ9
RJ9
RJ10
RJ10
RJ11
RJ11
RJ12
RJ12
RJ13/PMA13
RJ13/PMA13
RJ14/PMA11
RJ14/PMA11
RJ15/PMA0
RJ15/PMA0
RK0
RK0
RK1/PMA1
RK1/PMA1
RK2/PMA3
RK2/PMA3
RK3
RK3
RK4
RK4
RK5
RK5
RK6
RK6
RK7
RK7
TCK
TCK
TDI
TDI
TDO
TDO
TMS
TMS
USB_IDUSB_ID
USB_ID USB_ID
Page 11
OLIMEX© 2017 PIC32-HMZ144 user's manual
3.2 PHYSICAL DIMENSIONS
Note that all dimensions are in millimeters.
Page 11 of 26
Page 12
CHAPTER 4: PROCESSOR DETAILS
Some of the details about the main processor in the design of PIC32-HMZ144 (PIC32MZ2048EFG144) are mentioned in this chapter. It is highly recommended to refer to the original datasheet which might be downloaded from the Microchip's official web-side.
4.1 FEATURES
PIC32-HMZ144 board uses MCU PIC32MZ2048EFG144 from Microchip Technology. The main processor of the board is one of the biggest processors of the PIC32MZ family. It has the following features that distinguish it from the rest of the family:
Programmable memory (KB): 2048
Data memory (KB): 512
Pins count: 144
I/O pins: 120
Reprogrammable pins: 53
ADC channels: 48
SPI/I2S interfaces: 6
CAN interface: No
Note that previously PIC32-HMZ144 came with PIC32MZ2048ECG144 which lacked FPU unit. The design was upgraded to PIC32MZ2048EFG144 following a number of requests to change the chip (since the ECG144 chip was no longer recommended for new products).
The PIC32MZ family of processors are 32-bit MCUs that pack the following shared features:
Operating Conditions
• 2.1V to 3.6V, -40ºC to +85ºC, DC to 252 MHz
• 2.1V to 3.6V, -40ºC to +125ºC, DC to 180 MHz
Core: 200 MHz (up to 330 DMIPS) microAptiv™
16 KB I-Cache, 4 KB D-Cache
FPU for 32-bit and 64-bit floating point math
MMU for optimum embedded OS execution
microMIPS™ mode for up to 35% smaller code size
DSP-enhanced core: Four 64-bit accumulators Single-cycle MAC, saturating and fractional math IEEE 754-compliant
Code-efficient (C and Assembly) architecture
Clock Management
Programmable PLLs and oscillator clock sources
Fail-Safe Clock Monitor (FSCM)
Independent Watchdog Timers (WDT) and Deadman
Timer (DMT)
Fast wake-up and start-up
Page 12 of 26
Page 13
Power Management
Low-power modes (Sleep and Idle)
Integrated Power-on Reset and Brown-out Reset
Memory Interfaces
50 MHz External Bus Interface (EBI)
50 MHz Serial Quad Interface (SQI)
Audio and Graphics Interfaces
Graphics interfaces: EBI or PMP
Audio data communication: I2S, LJ, and RJ
Audio control interfaces: SPI and I2C
Audio master clock: Fractional clock frequencies with USB synchronization
High-Speed (HS) Communication Interfaces (with Dedicated DMA)
USB 2.0-compliant Hi-Speed On-The-Go (OTG) controller
10/100 Mbps Ethernet MAC with MII and RMII interface
Security Features
Crypto Engine with a RNG for data encryption/decryption and authentication (AES, 3DES, SHA, MD5, and HMAC)
Advanced memory protection: Peripheral and memory region access control
Direct Memory Access (DMA)
Eight channels with automatic data size detection
Programmable Cyclic Redundancy Check (CRC)
Advanced Analog Features
12-bit ADC module: 18 Msps with up to six Sample and Hold (S&H) circuits (five dedicated and one shared) Up to 48 analog inputs Can operate during Sleep and Idle modes Multiple trigger sources Six Digital Comparators and six Digital Filters
Two comparators with 32 programmable voltage references
Temperature sensor with ±2ºC accuracy
Communication Interfaces
Two CAN modules (with dedicated DMA channels):
2.0B Active with DeviceNet™ addressing support
Six UART modules (25 Mbps): Supports LIN 1.2 and IrDA® protocols
Six 4-wire SPI modules
SQI configurable as an additional SPI module (50 MHz)
Five I2C modules (up to 1 Mbaud) with SMBus support
Parallel Master Port (PMP)
Peripheral Pin Select (PPS) to enable function remap
Page 13 of 26
Page 14
Timers/Output Compare/Input Capture
Nine 16-bit or up to four 32-bit timers/counters
Nine Output Compare (OC) modules
Nine Input Capture (IC) modules
PPS to enable function remap
Real-Time Clock and Calendar (RTCC) module
Input/Output
5V-tolerant pins with up to 32 mA source/sink
Selectable open drain, pull-ups, pull-downs, and slew rate controls
External interrupts on all I/O pins
PPS to enable function remap
Qualification and Class B Support
Class B Safety Library, IEC 60730
Back-up internal oscillator
Debugger Development Support
In-circuit and in-application programming
4-wire MIPS® Enhanced JTAG interface
Unlimited software and 12 complex breakpoints
IEEE 1149.2-compatible (JTAG) boundary scan
Non-intrusive hardware-based instruction trace
Software and Tools Support
C/C++ compiler with native DSP/fractional support
MPLAB® Harmony Integrated Software Framework
TCP/IP, USB, Graphics, and mTouch™ middleware
MFi, Android™, and Bluetooth® audio frameworks
RTOS Kernels: Express Logic ThreadX, FreeRTOS™, OPENRTOS®, Micriµm® µC/OS™,
and SEGGER embOS®
Page 14 of 26
Page 15
4.2 MICROCONTROLLER BLOCK DIAGRAM
A block diagram with main functional parts of the microcontroller as seen in the official Microchip documentation.
Page 15 of 26
Page 16
4.3 MICROCONTROLLER MEMORY MAP
The microcontroller's memory regions as seen in the official Microchip documentation.
Page 16 of 26
Page 17
CHAPTER 5: CONTROL CIRCUITRY
5.1 POWER SUPPLY CIRCUIT
You have options on powering PIC32-HMZ144. You can power the board by providing:
5V on the mini USB connector
You can power the board from your personal computer via an USB cable; the USB ports of a personal computer typically provide around 5V of voltage and 500mA of current.
Avoid using USB cables longer than 2 meters. Avoid the cheapest cables with high inner resistance.
(3.6 – 4.2)V on the Li-Po battery connector
The board can be powered the board from a Li-Po battery with a fitting connector; a Li-Po battery typically provides between 3.6V and 4.2V of voltage.
3.3V on the ICSP connector
PIC32-HMZ144 can be powered by your debugger (programmer) tool, as long as the tool is capable of powering targets. You would need to set and enable the powering voltage to 3.3V in the software options of MPLAB.
5V to pin 1 of the EXT2 connector
The board can be powered by external power supply (adapter) capable of providing 5V of voltage. You should connect the 5V wire to pin #1 of EXT2 connector. You also need to connect the ground wire to pin #2 of the same (EXT2) connector. The names of the pins are printed at the bottom of the board.
Different methods of powering would lead to different maximum current available. Consider powering the board with an external power supply connected to EXT2 if you need extra current (in case you have to power additional hardware via PIC32-HMZ144).
You can have more than one power supply connected at the same time. Note that the board has built-in battery charger. If you have another power source connected to the board at the same time as the battery (for example, USB) – the charger circuit would attempt to recharge the battery. This would raise the current consumption of the whole board.
With no extra peripherals connected, the board's current consumption is about 100mA at 5V when running the default demo program.
Page 17 of 26
Page 18
5.2 RESET CIRCUIT
PIC32-HMZ144's reset signal (processor pin #20, “#MCLR”) can be found on the pads of the JTAG connector (pad #1); on the ICSP connector (connector pin #1); and it is also connect to a button.
The reset circuit of the button consists of RC group R24 – 10kΩ and C35 – 100nF. Serial resistor R26 – 330Ω is used to prevent fast C35 charge and discharge when PIC32MZ2048 is being programmed.
Manual reset is possible by the RESET button.
5.3 CLOCK CIRCUIT
Oscillator CD1 24MHz handles the clocks.
Previous hardware revisions used crystals due to the different chip. Make sure to refer to the errata sheets the chips if you investigating the clocks.
Page 18 of 26
Page 19
CHAPTER 6: JUMPERS, CONNECTORS AND INTERFACES
In this chapter you will find the description of the jumpers and what signals might be found on the different connectors.
6.1 JUMPER DESCRIPTION
PIC32-HMZ144 has no re-configurable jumpers.
6.2 INPUT/OUTPUT
User button with name BUT – connected to PIC32MZ's pin #59 (AN7/RB12). BUT can be accessed via software means.
Reset button with name RST – connected to PIC32MZ's pin #20 (#MCLR).
Status LED (green) with name LED1 – connected to PIC32MZ's pin #45 (EBIRP/RG2). LED1's behavior can be programmer.
Power supply red LED with name PWR – indicates that 5V power supply is available. Cannot be programmed.
6.3 EXTERNAL CONNECTOR DESCRIPTION
In this sub-chapter you would find the pinout of the most interfaces. It is also a good practice to refer to the latest schematic.
6.3.1 ICSP CONNECTOR
The ICSP connector is used for serial programming. It is the place where most common PIC32­compatible programmers and debuggers are connected. The pins have 0.1'' step. If your programmer/debugger has only the smaller 0.05'' connector you might need an adapter or you should use jumper wires.
Pin # Signal name
1 RSTN 2 3.3V 3 GND 4 PGED2 5 PGEC2 6 NC
PGED2 conducts I/O operations for the “Program Data” signal. Serial data for programming. PGEC2 serves only as input for the “Program Clock” signal. Clock used for transferring the serial
data (output from ICSP, input for the MCU).
Page 19 of 26
Page 20
6.3.2 JTAG ROW
The 6-signal JTAG interface at the board lacks a connector. The board has a JTAG row of pin holes.
Pin # Signal name
1 RESET 2 TCK 3 TMS 4 TDO 5 TDI 6 GND
6.3.3 USB_OTG
Pin # Signal name
1 +5V_OTG_PWR 2 D­3 D+ 4 USB_ID 5 GND
6.3.3 UEXT
The 10-pin UEXT connectors are typically mounted on Olimex boards. They pack three common interfaces in a single connector – UART, I2C and SPI. You can use the UEXT connector to access this interfaces easier (via jumper wires, for example).
You can also connect expansion modules to the UEXT connectors. More on UEXT might be found here: https://www.olimex.com/Products/Modules/UEXT/
Pin # Wire name
1 3.3V 2 GND 3 RE8/U2TX 4 RE9/U2RX 5 RA2/SCL2 6 RA3/SDA2 7 RD14/SDI1(MISO1) 8 RD15/SDO1(MOSI1) 9 SCK1RD1/SCK1 10 RB15/#SS1
Page 20 of 26
Page 21
6.3.4 MICROSD CARD
Pin # Wire name
1 MCIDAT2 2 RB14/#SS2 3 RG8/SDO2(MOSI2) 4 VDD (3.3 V) 5 AC1TX/SCK3A 6 GND 7 MISO3A 8 MCIDAT1 9 Card presence 10 Not Connected 11 Not Connected 12 Not Connected
Page 21 of 26
Page 22
CHAPTER 7: AVAILABLE DEMO SOFTWARE
There are two example projects available for the board. A simple blinking LED demo and a more complext demo that demostrates a number of features.
7.1 BLINKING LED MPLABX DEMO
This is the most basic example. It requires just MPLABX. Build info (tested with):
Board: PIC32-HMZ144 rev. B IDE: MPLABX 3.40 Compiler: XC32 1.42 Programmer: PIC-Kit3
7.2 FULL HARMONY DEMO
This example them is more complex and uses the Harmony framework. This example demonstrates several features of the board: LED, Button, UART, RTC, SD card, USB. The demo project should be downloaded from the official product page of PIC32-HMZ144.
Build info (tested with):
Integrated development environment: MPLABX v3.15 Compiler: XC32 v1.40 Harmony framework: v1.06.01
You can either build the project and program the board with MPLABX IDE, or use MPIPE and the prebuilt file (PIC32-HMZ144_v2.hex). It is recommended to use the same compiler if you decide to compile the project!
If you want to follow the messages on the console you need to use a USB ↔ serial cable (like Olimex USB-SERIAL-CABLE-F or MOD-USB-RS232) to the UART pins of the UEXT (pin 3 is TX, pin 4 is RX). In order to switch between the different demos push the button.
Upon reset a fast external clock test will be done to ensure that the clock is OK. After that SD card demo would start start. It will read a file on the SD card with the name:
"FILE_TOO_LONG_NAME_EXAMPLE_123.JPG" (make sure you have such file in the card)
The program would make a copy of that file in a sub-directory named "Dir1". The generated directory and file must not exist prior to the software test (otherwise you will receive an error).
IMPORTANT NOTE: Microchip Harmony Configurator requires write protect pin but on PIC32­HMZ144 board there is no such pin; the one selected by default is used (PORTF1). Since we can't set it to low level, in order to make SD card demo work properly, RF1 should be set as output in low level! If you decide to change it make sure that the new WP pin is also low!
After the SD card demo is over you can see LED blinking with 1 Hz frequency controlled by the RTC oscillator.
Then the USB demo gets started – the board would initialize as an USB device (mouse). When you
Page 22 of 26
Page 23
hold the button the mouse cursor will start moving.
On the terminal you can send characters and it will return echo (next symbol) followed by '*'.
Microchip Harmony Configurator (MHC) requires all *.configs available in order to be initialized. But having all of them in the project would make the archive too big. So in the archive are left only the libraries that are necessary for rebuilding. So if you want to change the configurations from MHC you have to copy the project inside the Microchip harmony directory "..\apps\usb\device\" and then open the MHC from MPLABX.
Page 23 of 26
Page 24
CHAPTER 8: ORDERING INFORMATION AND REVISIONS
You can purchase directly from our online shop or from any of our distributors. Note that usually it is faster and cheaper to purchase Olimex products from our distributors. List of confirmed Olimex LTD distributors and resellers: https://www.olimex.com/Distributors.
Please visit https://www.olimex.com/ for more info.
Trouble finding a product mentioned above? Product name of the board discussed in this document:
PIC32-HMZ144 – fully assembled and tested.
Below are listed some of the related products (you can type the name of a product in the search box of our web site to find it easily):
PIC-KIT3 – PIC32-HMZ144-compatible debugger, works fine with MPLAB X, MPLAB IPE. Fits the 6-pin on-board connector.
USB-MINI-CABLE – a standard USB cable with type A ↔ mini connectors.
BATTERY-LIPO1400 – a standard Li-Po battery equipped with a connector that fits the one
located on PIC32-HMZ144. Olimex sells a range of such batteries with different capacity.
JW-200x10 – jumper wires with male-male connectors and 240mm of length; perfect for breadboarding; there are different lengths and configurations of connectors (m-m; f-m; f-f).
You can also find a big number of extension boards that can be connected to the UEXT of the board and also some of the components (if damage occurs and you want to replace the part yourself). Make sure to use the search box.
8.1 DOCUMENT REVISION
Document revision Changes Modified page
A, 12.11.15 Initial manual release All
B, 14.12.15 Updated the information about the demo 22
C, 09.02.17
Added hardware revision changes; added information about the simple blinking LED demo
22, 25
D, 18.10.17
Added info about new hardware revision; changed schematic; the major change is the new chip with floating point unit. PIC32MZ144EFG instead of PIC32MZ144ECG.
4, 12
Page 24 of 26
Page 25
8.2 BOARD REVISION
Remember to check the schematics and the board design files to verify any differences between the different board revisions.
Board revision Notable changes
B Initial release of the board
C
1. Q1 crystal Q1 gets properly labeled as Q12.000MHz/HC­49S/SMD/20pF/30ppm (changed from 24MHz); the same quartz was placed in previous hardware revisions but the schematic value was not updated
2. Crystal capacitors (C29, C32) were changed from 27pF to 20pF as is required in the errata: "C2=Cload, C1=Cload-2pF" and to have reserve of several pFs, because during production, always the capacitance is a little higher than expected
3. R36=10k pull-up to 3.3V was added to the OSCO pin, i.e. MCU pin<72>;
C1
1. The main processor was changed from PIC32MZ2048ECG144-I/PH to PIC32MZ2048EFG144-I/PH (the ECG was declared "not recommended for new designs" by Microchip);
2. R36 was changed from 10k to 1.5k;
3. Removed quartz Q1. Q1, C29, C32 and R30 were changed to NA – this is because of the errata sheets of both chips. Refer to 4;
4. Added oscillator CD1 instead. CD1 is 24MHz oscillator;
5. Q2, C30 and C31 were changed to NA.
8.3 USEFUL WEB LINKS
Visit the links below for more information and resources for the product:
PIC32-HMZ144 official product page:
https://www.olimex.com/Products/PIC/Development/PIC32-HMZ144/
PIC32-HMZ144 at GitHub (EAGLE CAD source files):
https://github.com/OLIMEX/PIC32-HMZ144
MPLAB Harmony framework – flexible, abstracted, fully integrated firmware development platform for PIC32 microcontrollers: MPLAB Harmony page
Official Olimex forums: https://www.olimex.com/forum/index.php?board=21.0
Page 25 of 26
Page 26
CHAPTER 9: WARRANTY AND SUPPORT
For product support, hardware information and error reports mail to: support@olimex.com. All document or hardware feedback is welcome. Note that we are primarily a hardware company and our software support is limited. Please consider reading the paragraph below about the warranty of Olimex products.
All goods are checked before they are sent out. In the unlikely event that goods are faulty, they must be returned, to OLIMEX at the address listed on your order invoice.
OLIMEX will not accept goods that have clearly been used more than the amount needed to
evaluate their functionality.
If the goods are found to be in working condition, and the lack of functionality is a result of
lack of knowledge on the customers part, no refund will be made, but the goods will be returned
to the user at their expense.
All returns must be authorized by an RMA Number. Email support@olimex.com for authorization
number before shipping back any merchandise. Please include your name, phone number and order
number in your email request.
Returns for any unaffected development board, programmer, tools, and cables permitted within 7
days from the date of receipt of merchandise. After such time, all sales are considered final.
Returns of incorrect ordered items are allowed subject to a 10% restocking fee. What is
unaffected? If you hooked it to power, you affected it. To be clear, this includes items that
have been soldered to, or have had their firmware changed. Because of the nature of the
products we deal with (prototyping electronic tools) we cannot allow returns of items that have
been programmed, powered up, or otherwise changed post shipment from our warehouse.
All returned merchandise must be in its original mint and clean condition. Returns on damaged,
scratched, programmed, burnt, or otherwise 'played with' merchandise will not be accepted.
All returns must include all the factory accessories which come with the item. This includes
any In-Circuit-Serial-Programming cables, anti-static packing, boxes, etc.
With your return, enclose your PO#. Also include a brief letter of explanation of why the
merchandise is being returned and state your request for either a refund or an exchange.
Include the authorization number on this letter, and on the outside of the shipping box.
Please note: It is your responsibility to ensure that returned goods reach us. Please use a
reliable form of shipping. If we do not receive your package we will not be held liable.
Shipping and handling charges are not refundable. We are not responsible for any shipping
charges of merchandise being returned to us or returning working items to you.
The full text might be found at https://www.olimex.com/wiki/GTC#Warranty for future reference.
Page 26 of 26
Page 27
Mouser Electronics
Authorized Distributor
Click to View Pricing, Inventory, Delivery & Lifecycle Information:
Olimex Ltd.: PIC32-HMZ144
Loading...