Subversion Repositories Code-Repo

Rev

Details | Last modification | View Log | RSS feed

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