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