Subversion Repositories Code-Repo

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
199 Kevin 1
// PIC32MX795F512L
2
 
231 Kevin 3
#ifndef DEFINES_H
4
#define	DEFINES_H
5
 
6
#include <xc.h>
7
#include <plib.h>
8
#include <stdint.h>
9
 
212 Kevin 10
// Uncomment ONE of the following:
226 Kevin 11
//#define CEREBOT_32MX7
12
 #define CEREBOT_MX7CK
212 Kevin 13
 
193 Kevin 14
// Power supply must be 5V for proper operation of the board!
15
 
199 Kevin 16
#define CPU_CLOCK_HZ    80000000UL
17
#define PERIPHERAL_CLOCK_HZ 80000000UL
18
#define CPU_CT_HZ       (CPU_CLOCK_HZ/2UL)
19
#define MS_TO_CT_TICKS  (CPU_CLOCK_HZ/2000UL)
20
#define US_TO_CT_TICKS  (CPU_CLOCK_HZ/2000000UL)
21
 
193 Kevin 22
#define ADDRESS_EEPROM 0x50
234 Kevin 23
#define ADDRESS_CONTROLLER_1 0x24
24
#define ADDRESS_CONTROLLER_2 0x25
193 Kevin 25
 
200 Kevin 26
// LED1 = G12, LED2 = G13, LED3 = G14, LED4 = G15 (active high)
193 Kevin 27
#define LED1_TRIS TRISGbits.TRISG12
234 Kevin 28
#define LED1_LAT LATGbits.LATG12
193 Kevin 29
#define LED2_TRIS TRISGbits.TRISG13
234 Kevin 30
#define LED2_LAT LATGbits.LATG13
193 Kevin 31
#define LED3_TRIS TRISGbits.TRISG14
234 Kevin 32
#define LED3_LAT LATGbits.LATG14
193 Kevin 33
#define LED4_TRIS TRISGbits.TRISG15
234 Kevin 34
#define LED4_LAT LATGbits.LATG15
193 Kevin 35
 
231 Kevin 36
void Delay_MS(uint32_t delay_ms);
37
void Delay_US(uint32_t delay_us);
199 Kevin 38
 
234 Kevin 39
// <editor-fold defaultstate="collapsed" desc="IPL">
40
/*
41
 IPL1 = lowest, IPL7 = highest priority
42
 SPI1 - Priority 5, Subpriority 1
43
 SPI4 - Priority 6, Subpriority 2
44
 I2C1 - Priority 5, Subpriority 1
45
 TIMER4 - Priority 3, Subpriority 1
46
 TIMER5 - Priority 3, Subpriority 1
47
 UART1 - Priority 2, Subpriority 1
48
*/
49
// </editor-fold>
50
 
200 Kevin 51
// <editor-fold desc="PMOD to MCU Pinouts">
193 Kevin 52
/*
199 Kevin 53
JA-01   AN2/C2IN-/CN4/RB2                               RB02
54
JA-02   AN3/C2IN+/CN5/RB3                               RB03
55
JA-03   AN4/C1IN-/CN6/RB4                               RB04
56
JA-04   PGEC2/AN6/OCFA/RB6                              RB06
57
JA-07   PGED2/AN7/RB7                                   RB07
58
JA-08   AN8/C1OUT/RB8                                   RB08
59
JA-09   AN9/C2OUT/RB9                                   RB09
60
JA-10   CVrefout/PMA13/AN10/RB10                        RB10
193 Kevin 61
 *
199 Kevin 62
JB-01   PMD0/RE0                                        RE00
63
JB-02   PMD1/RE1                                        RE01
64
JB-03   PMD2/RE2                                        RE02
65
JB-04   PMD3/RE3                                        RE03
66
JB-07   PMD4/RE4                                        RE04
67
JB-08   PMD5/RE5                                        RE05
68
JB-09   PMD6/RE6                                        RE06
69
JB-10   PMD7/RE7                                        RE07
193 Kevin 70
 *
199 Kevin 71
JC-01   T2CK/RC1                                        RC01
72
JC-02   C2RX/PMD8/RG0                                   RG00
73
JC-03   C2TX/ETXERR/PMD9/RG1                            RG01
74
JC-04   ETXCLK/PMD15/CN16/RD7                           RD07
75
JC-07   AN15/ERXD3/AETXD2/OCFB/PMALL/PMA0/CN12/RB15     RB15    (SFT_D)
76
JC-08   PMRD/CN14/RD5                                   RD05    (SFT_S)
77
JC-09   OC5/PMWR/CN13/RD4                               RD04    (SFT_K)
78
JC-10   AN14/ERXD2/AETXD3/PMALH/PMA1/RB14               RB14    (SFT_R)
193 Kevin 79
 *
199 Kevin 80
JD-01   SS1/IC2/RD9                                     RD09    (GSLAT)
81
JD-02   SDO1/OC1/INT0/RD0                               RD00    (GSSIN)
82
JD-03   T5CK/SDI1/RC4                                   RC04    (GSSOUT)
83
JD-04   SCK1/IC3/PMCS2/PMA15/RD10                       RD10    (GSSCK)
84
JD-07   OC2/RD1                                         RD01    (PWMCK)
85
JD-08   OC3/RD2                                         RD02    (XBLNK)
86
JD-09   OC4/RD3                                         RD03    
87
JD-10   ETXD2/IC5/PMD12/RD12                            RD12    
193 Kevin 88
 *
199 Kevin 89
JE-01   AETXD0/SS3/U4RX/U1CTS/CN20/RD14                 RD14
90
JE-02   SCL3/SDO3/U1TX/RF8                              RF08
91
JE-03   SDA3/SDI3/U1RX/RF2                              RF02
92
JE-04   AETXD1/SCK3/U4TX/U1RTS/CN21/RD15                RD15
212 Kevin 93
JE-07   TRCLK/RA6                                       RA06 on 32MX7 or INT1/RF8 on MX7CK
199 Kevin 94
JE-08   TRD3/RA7                                        RA07
95
JE-09   Vref-/CVref-/AERXD2/PMA7/RA9                    RA09
96
JE-10   Vref+/CVref+/AERXD3/PMA6/RA10                   RA10
193 Kevin 97
 *
199 Kevin 98
JF-01   AC1RX/SS4/U5RX/U2CTS/RF12                       RF12    shared with CAN1 Transceiver (JP-1)
99
JF-02   SCL5/SDO4/U2TX/PMA8/CN18/RF5                    RF05
100
JF-03   SDA5/SDI4/U2RX/PMA9/CN17/RF4                    RF04
101
JF-04   AC1TX/SCK4/U5TX/U2RTS/RF13                      RF13    shared with CAN1 Transceiver (JP-2)
212 Kevin 102
JF-07   TMS/RA0                                         RA00 on 32MX7 or INT2/RF9 on MX7CK
199 Kevin 103
JF-08   TCK/RA1                                         RA01
104
JF-09   TDI/RA4                                         RA04
105
JF-10   TDO/RA5                                         RA05
193 Kevin 106
 
199 Kevin 107
N/A SCL2/RA2                                                        RA02    I2C bus #2, not shared with Pmod connector
108
N/A SDA2/RA3                                                        RA03    I2C bus #2, not shared with Pmod connector
109
N/A AETXCLK/SCL1/INT3/RA14                                          RA14    I2C Bus #1, not shared with Pmod connector
110
N/A AETXEN/SDA1/INT4/RA15                                           RA15    I2C Bus #1, not shared with Pmod connector
111
N/A PGED1/AN0/CN2/RB0                                               RB00    Used by debug circuit, PGC
112
N/A PGEC1/AN1/CN3/RB1                                               RB01    Used by debug circuit, PGD
113
N/A AN5/C1IN+/VBUSON/CN7/RB5                                        RB05    USB VBUSON
114
N/A AN11/ERXERR/AETXERR/PMA12/RB11                                  RB11    Ethernet PHY
115
N/A AN12/ERXD0/AECRS/PMA11/RB12                                     RB12    Ethernet PHY
116
N/A AN13/ERXD1/AECOL/PMA10/RB13                                     RB13    Ethernet PHY
117
N/A OSC1/CLKI/RC12                                                  RC12    Primary Oscillator Crystal
118
N/A SOSCI/CN1/RC13                                                  RC13    Secondary Oscillator Crystal
119
N/A SOSCO/T1CK/CN0/RC14                                             RC14    Secondary Oscillator Crystal
120
N/A OSC2/CLKO/RC15                                                  RC15    Primary Oscillator Crystal
121
N/A ETXEN/PMD14/CN15/RD6                                            RD06    Ethernet PHY
122
N/A RTCC/EMDIO/AEMDIO/IC1/RD8                                       RD08    Ethernet PHY
123
N/A EMDC/AEMDC/IC4/PMCS1/PMA14/RD11                                 RD11    Ethernet PHY
124
N/A ETXD3/PMD13/CN19/RD13                                           RD13    BTN3
125
N/A AERXD0/INT1/RE8                                                 RE08    USB Overcurrent detect
126
N/A AERXD1/INT2/RE9                                                 RE09    Ethernet PHY Reset
127
N/A C1RX/ETXD1/PMD11/RF0                                            RF00    Ethernet PHY
128
N/A C1TX/ETXD0/PMD10/RF1                                            RF01    Ethernet PHY
129
N/A USBID/RF3                                                       RF03    USBID (USB-4)
130
N/A D+/RG2                                                          RG02    D+ (USB-3)
131
N/A D-/RG3                                                          RG03    D- (USB-2)
132
N/A ECOL/SCK2/U6TX/U3RTS/PMA5/CN8/RG6                               RG06    BTN1
133
N/A ECRS/SDA4/SDI2/U3RX/PMA4/CN9/RG7                                RG07    BTN2
134
N/A ERXDV/AERXDV/ECRSDV/AECRSDV/SCL4/SDO2/U3TX/PMA3/CN10/RG8        RG08    Ethernet PHY
135
N/A ERXCLK/AERXCLK/EREFCLK/AEREFCLK/SS2/U6RX/U3CTS/PMA2/CN11/RG9    RG09    Ethernet PHY
136
N/A TRD1/RG12                                                       RG12    LED1
137
N/A TRD0/RG13                                                       RG13    LED2
138
N/A TRD2/RG14                                                       RG14    LED3
139
N/A AERXERR/RG15                                                    RG15    LED4
193 Kevin 140
 */
141
// </editor-fold>
142
 
143
// <editor-fold defaultstate="collapsed" desc="Connectors">
144
/*
212 Kevin 145
J1 - Serial USB Misc Connections (MX7CK only)
146
 * This header contains other FTDI UART function pins (CTS, DSR, DCD, RI)
147
J2 - Serial USB Connector (MX7CK only)
148
 * This connector is connected to UART1 or PMOD JE
149
J7 - I2C port daisy chain connector
150
 * On the Cerebot 32MX7, this connector provides access to the I2C signals, power and ground for I2C2.
151
 * On the Cerebot MX7CK, this connector provides access to the I2C signals, power and ground for I2C1 + INT3/4.
152
J8 - I2C port daisy chain connector
153
 * On the Cerebot 32MX7, this connector provides access to the I2C signals, power and ground for I2C1.
154
 * On the Cerebot MX7CK, this connector provides access to the I2C signals, power and ground for I2C2.
155
    EEPROM is changed to this port on the MX7CK
193 Kevin 156
J9 - CAN #1 Connector
157
 * This connector is used to access the signals for CAN #1.
158
J10 - CAN #2 Connector
159
 * This connector is used to access the signals for CAN #2.
160
J11 - Ethernet Connector
161
 * This connector provides access to the 10/100 Ethernet port.
162
J12-J14
163
 * Do Not Use.
164
J15 - Debug USB Connector
165
 * This connector is used to connect the on-board programming and
166
    debug circuit to the PC for use with the MPLAB IDE.
167
J16 - Power supply source select
168
 * This jumper is used to select the source of main board power.
199 Kevin 169
    Place a shorting block in the upper, ?USB? position to have the
193 Kevin 170
            board powered from the USB device connector, J19.
199 Kevin 171
    Place a shorting block in the center, ?EXT? position to have the
193 Kevin 172
            board powered from one of the external power connectors, J17 or J18.
199 Kevin 173
    Place a shorting block in the lower, ?DBG? position to have the
193 Kevin 174
            board powered from the debug USB connector, J15.
175
J17 - External Power Connector
199 Kevin 176
 * This is a 2.5mm x 5.5mm, center positive, coax power connector used to
193 Kevin 177
    provide external power to the board. The optional Digilent 5V Switching
178
    Power Supply is connected here.
179
J18 - External Power Connector
180
 * This is a screw terminal connector used to provide external power to
181
    the board. Be sure to observe proper polarity (marked near the connector)
182
    when providing power via this connector, or damage to the board and/or
183
    connected devices may result.
184
J19 - USB Device / OTG Connector
185
 * This is a USB micro-AB connector. It is used when using the PIC32MX795
186
    microcontroller to implement a USB device or OTG Host/Device.
187
J20 - USB Host Connector
199 Kevin 188
 * This is a standard sized USB type A connector. This connector is used to
193 Kevin 189
    connect USB devices to the board when using the PIC32MX795 microcontroller
190
    to implement an embedded USB host.
191
 */
192
// </editor-fold>
193
 
194
// <editor-fold defaultstate="collapsed" desc="Jumpers">
195
/*
196
JP1 & JP2 - CAN or Pmod Select
199 Kevin 197
 * These jumpers select microcontroller signals RF12 and RF13 for use with CAN
193 Kevin 198
    #1 or Pmod connector JF. Place these jumpers in the CAN position to use CAN
199
    #1. Place the jumpers in the PMOD position to use then with Pmod connector JF.
200
JP3 & JP4 - Pull-up enable for I2C port #2
201
 * These two jumpers are used to enable/disable the pull-up resistors on I2C
202
    port #2. Insert shorting blocks on these two jumpers to enable the pull-up
203
    resistors. Remove the shorting blocks to disable the pull-up resistors. Only
204
    a single device on the I2C bus should have the pull-up resistors enabled.
205
JP5 - CAN #1 Termination
199 Kevin 206
 * This jumper is used to enable/disable the 120 ohm termination resistor for
193 Kevin 207
    CAN #1. Insert the shorting block to enable the termination resistor, remove
208
    it to disable the termination resistor.
209
JP6 - CAN #1 5V0 Enable
199 Kevin 210
 * This jumper is used to enable/disable providing 5V to the CAN #1 connector.
193 Kevin 211
    Insert the shorting block to connect the board 5V0 supply to pins 9 & 10 of
212
    CAN #1 connector. Remove the shorting block to disconnect the 5V0 supply.
213
JP7 - CAN #2 Termination
199 Kevin 214
 * This jumper is used to enable/disable the 120 ohm termination resistor for
193 Kevin 215
    CAN #2. Insert the shorting block to enable the termination resistor, remove
216
    it to disable the termination resistor.
217
JP8 - CAN #1 5V0 Enable
199 Kevin 218
 * This jumper is used to enable/disable providing 5V to the CAN #1 connector.
193 Kevin 219
    Insert the shorting block to connect the board 5V0 supply to pins 9 & 10 of
220
    CAN #1 connector. Remove the shorting block to disconnect the 5V0 supply.
221
JP9 - Do Not Use
212 Kevin 222
JP10 - USB Host Power Select
193 Kevin 223
 * This jumper is used to select which host connector is powered when host power
224
    is enabled. Place the shorting block in the ?MICRO? position to supply power
225
    to the USB micro-AB OTG Connector, J19. Place the shorting block in the ?A?
226
    position to supply power to the USB type A Host Connector, J20.
212 Kevin 227
JP11 - Programmer Serial Select (MX7CK only)
228
 * Remove the jumper to disconnect the USB serial converter's connection to the
229
    MCLR pin. Disconnecting this when using the built in debugger is recommended.
193 Kevin 230
JP17 - Do Not Use
231
 */
232
// </editor-fold>
231 Kevin 233
 
234
#endif /* DEFINES_H */