Subversion Repositories Code-Repo

Rev

Details | Last modification | View Log | RSS feed

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