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