| 235 |
Kevin |
1 |
Here lies some random pieces of information that may make it easier to understand the code base
|
|
|
2 |
|
| 269 |
Kevin |
3 |
Notes:
|
|
|
4 |
Power supply must be 5V for proper operation of the board!
|
|
|
5 |
|
| 237 |
Kevin |
6 |
KNOWN ISSUES:
|
|
|
7 |
Cube is occasionally flickering to ~60Hz. Need to figure out why.
|
| 276 |
Kevin |
8 |
>= 400MHz I2C1 doesn't seem to work very well the controllers
|
| 235 |
Kevin |
9 |
|
|
|
10 |
PERIPHERAL USAGE:
|
| 276 |
Kevin |
11 |
SPI1 - Used by the cube code to send data to the cube
|
| 235 |
Kevin |
12 |
SPI4 - Unused
|
|
|
13 |
I2C1 - Used by the controller code
|
| 237 |
Kevin |
14 |
TIMER2 - Used by PWM2
|
| 276 |
Kevin |
15 |
TIMER4 - Used by the cube code for the overlay rotation interrupt / controllers
|
| 235 |
Kevin |
16 |
TIMER5 - Used by the cube code for the update layer interrupt
|
|
|
17 |
UART1 - Used by the cube code for reading in frame data
|
|
|
18 |
PWM2 - Generates a constant ~20MHz output, uses TIMER2
|
| 255 |
Kevin |
19 |
ETHERNET - Used to remote-update the cube
|
| 235 |
Kevin |
20 |
|
|
|
21 |
PERIPHERAL INTERRUPT PRIORITY LEVELS:
|
|
|
22 |
IPL1 = lowest, IPL7 = highest priority
|
| 276 |
Kevin |
23 |
SPI1 - Priority 6, Subpriority 1
|
| 235 |
Kevin |
24 |
SPI4 - Priority 6, Subpriority 2
|
| 276 |
Kevin |
25 |
I2C1 - Priority 5, Subpriority 2
|
|
|
26 |
TIMER5 - Priority 4, Subpriority 1
|
| 237 |
Kevin |
27 |
TIMER4 - Priority 1, Subpriority 1
|
| 235 |
Kevin |
28 |
UART1 - Priority 2, Subpriority 1
|
| 261 |
Kevin |
29 |
ETHERNET - Priority 1, Subpriority 1
|
| 235 |
Kevin |
30 |
|
|
|
31 |
|
|
|
32 |
PIN I/Os:
|
|
|
33 |
|
|
|
34 |
JA-01 AN2/C2IN-/CN4/RB2 RB02
|
|
|
35 |
JA-02 AN3/C2IN+/CN5/RB3 RB03
|
|
|
36 |
JA-03 AN4/C1IN-/CN6/RB4 RB04
|
|
|
37 |
JA-04 PGEC2/AN6/OCFA/RB6 RB06
|
|
|
38 |
JA-07 PGED2/AN7/RB7 RB07
|
|
|
39 |
JA-08 AN8/C1OUT/RB8 RB08
|
|
|
40 |
JA-09 AN9/C2OUT/RB9 RB09
|
|
|
41 |
JA-10 CVrefout/PMA13/AN10/RB10 RB10
|
|
|
42 |
*
|
|
|
43 |
JB-01 PMD0/RE0 RE00
|
|
|
44 |
JB-02 PMD1/RE1 RE01
|
|
|
45 |
JB-03 PMD2/RE2 RE02
|
|
|
46 |
JB-04 PMD3/RE3 RE03
|
|
|
47 |
JB-07 PMD4/RE4 RE04
|
|
|
48 |
JB-08 PMD5/RE5 RE05
|
|
|
49 |
JB-09 PMD6/RE6 RE06
|
|
|
50 |
JB-10 PMD7/RE7 RE07
|
|
|
51 |
*
|
|
|
52 |
JC-01 T2CK/RC1 RC01
|
|
|
53 |
JC-02 C2RX/PMD8/RG0 RG00
|
|
|
54 |
JC-03 C2TX/ETXERR/PMD9/RG1 RG01
|
|
|
55 |
JC-04 ETXCLK/PMD15/CN16/RD7 RD07
|
| 269 |
Kevin |
56 |
JC-07 AN15/ERXD3/AETXD2/OCFB/PMALL/PMA0/CN12/RB15 RB15 (SFT_R)
|
|
|
57 |
JC-08 PMRD/CN14/RD5 RD05 (SFT_K)
|
|
|
58 |
JC-09 OC5/PMWR/CN13/RD4 RD04 (SFT_S)
|
|
|
59 |
JC-10 AN14/ERXD2/AETXD3/PMALH/PMA1/RB14 RB14 (SFT_D)
|
| 235 |
Kevin |
60 |
*
|
|
|
61 |
JD-01 SS1/IC2/RD9 RD09 (GSLAT)
|
|
|
62 |
JD-02 SDO1/OC1/INT0/RD0 RD00 (GSSIN)
|
|
|
63 |
JD-03 T5CK/SDI1/RC4 RC04 (GSSOUT)
|
|
|
64 |
JD-04 SCK1/IC3/PMCS2/PMA15/RD10 RD10 (GSSCK)
|
|
|
65 |
JD-07 OC2/RD1 RD01 (PWMCK)
|
|
|
66 |
JD-08 OC3/RD2 RD02 (XBLNK)
|
| 269 |
Kevin |
67 |
JD-09 OC4/RD3 RD03 (DCSIN)
|
|
|
68 |
JD-10 ETXD2/IC5/PMD12/RD12 RD12 (DCSCK)
|
| 235 |
Kevin |
69 |
*
|
|
|
70 |
JE-01 AETXD0/SS3/U4RX/U1CTS/CN20/RD14 RD14
|
|
|
71 |
JE-02 SCL3/SDO3/U1TX/RF8 RF08
|
|
|
72 |
JE-03 SDA3/SDI3/U1RX/RF2 RF02
|
|
|
73 |
JE-04 AETXD1/SCK3/U4TX/U1RTS/CN21/RD15 RD15
|
|
|
74 |
JE-07 TRCLK/RA6 RA06 on 32MX7 or INT1/RF8 on MX7CK
|
|
|
75 |
JE-08 TRD3/RA7 RA07
|
|
|
76 |
JE-09 Vref-/CVref-/AERXD2/PMA7/RA9 RA09
|
|
|
77 |
JE-10 Vref+/CVref+/AERXD3/PMA6/RA10 RA10
|
|
|
78 |
*
|
|
|
79 |
JF-01 AC1RX/SS4/U5RX/U2CTS/RF12 RF12 shared with CAN1 Transceiver (JP-1)
|
|
|
80 |
JF-02 SCL5/SDO4/U2TX/PMA8/CN18/RF5 RF05
|
|
|
81 |
JF-03 SDA5/SDI4/U2RX/PMA9/CN17/RF4 RF04
|
|
|
82 |
JF-04 AC1TX/SCK4/U5TX/U2RTS/RF13 RF13 shared with CAN1 Transceiver (JP-2)
|
|
|
83 |
JF-07 TMS/RA0 RA00 on 32MX7 or INT2/RF9 on MX7CK
|
|
|
84 |
JF-08 TCK/RA1 RA01
|
|
|
85 |
JF-09 TDI/RA4 RA04
|
|
|
86 |
JF-10 TDO/RA5 RA05
|
|
|
87 |
|
|
|
88 |
N/A SCL2/RA2 RA02 I2C bus #2, not shared with Pmod connector
|
|
|
89 |
N/A SDA2/RA3 RA03 I2C bus #2, not shared with Pmod connector
|
|
|
90 |
N/A AETXCLK/SCL1/INT3/RA14 RA14 I2C Bus #1, not shared with Pmod connector
|
|
|
91 |
N/A AETXEN/SDA1/INT4/RA15 RA15 I2C Bus #1, not shared with Pmod connector
|
|
|
92 |
N/A PGED1/AN0/CN2/RB0 RB00 Used by debug circuit, PGC
|
|
|
93 |
N/A PGEC1/AN1/CN3/RB1 RB01 Used by debug circuit, PGD
|
|
|
94 |
N/A AN5/C1IN+/VBUSON/CN7/RB5 RB05 USB VBUSON
|
|
|
95 |
N/A AN11/ERXERR/AETXERR/PMA12/RB11 RB11 Ethernet PHY
|
|
|
96 |
N/A AN12/ERXD0/AECRS/PMA11/RB12 RB12 Ethernet PHY
|
|
|
97 |
N/A AN13/ERXD1/AECOL/PMA10/RB13 RB13 Ethernet PHY
|
|
|
98 |
N/A OSC1/CLKI/RC12 RC12 Primary Oscillator Crystal
|
|
|
99 |
N/A SOSCI/CN1/RC13 RC13 Secondary Oscillator Crystal
|
|
|
100 |
N/A SOSCO/T1CK/CN0/RC14 RC14 Secondary Oscillator Crystal
|
|
|
101 |
N/A OSC2/CLKO/RC15 RC15 Primary Oscillator Crystal
|
|
|
102 |
N/A ETXEN/PMD14/CN15/RD6 RD06 Ethernet PHY
|
|
|
103 |
N/A RTCC/EMDIO/AEMDIO/IC1/RD8 RD08 Ethernet PHY
|
|
|
104 |
N/A EMDC/AEMDC/IC4/PMCS1/PMA14/RD11 RD11 Ethernet PHY
|
|
|
105 |
N/A ETXD3/PMD13/CN19/RD13 RD13 BTN3
|
|
|
106 |
N/A AERXD0/INT1/RE8 RE08 USB Overcurrent detect
|
|
|
107 |
N/A AERXD1/INT2/RE9 RE09 Ethernet PHY Reset
|
|
|
108 |
N/A C1RX/ETXD1/PMD11/RF0 RF00 Ethernet PHY
|
|
|
109 |
N/A C1TX/ETXD0/PMD10/RF1 RF01 Ethernet PHY
|
|
|
110 |
N/A USBID/RF3 RF03 USBID (USB-4)
|
|
|
111 |
N/A D+/RG2 RG02 D+ (USB-3)
|
|
|
112 |
N/A D-/RG3 RG03 D- (USB-2)
|
|
|
113 |
N/A ECOL/SCK2/U6TX/U3RTS/PMA5/CN8/RG6 RG06 BTN1
|
|
|
114 |
N/A ECRS/SDA4/SDI2/U3RX/PMA4/CN9/RG7 RG07 BTN2
|
|
|
115 |
N/A ERXDV/AERXDV/ECRSDV/AECRSDV/SCL4/SDO2/U3TX/PMA3/CN10/RG8 RG08 Ethernet PHY
|
|
|
116 |
N/A ERXCLK/AERXCLK/EREFCLK/AEREFCLK/SS2/U6RX/U3CTS/PMA2/CN11/RG9 RG09 Ethernet PHY
|
|
|
117 |
N/A TRD1/RG12 RG12 LED1
|
|
|
118 |
N/A TRD0/RG13 RG13 LED2
|
|
|
119 |
N/A TRD2/RG14 RG14 LED3
|
|
|
120 |
N/A AERXERR/RG15 RG15 LED4
|
|
|
121 |
|
|
|
122 |
|
|
|
123 |
CONNECTORS:
|
|
|
124 |
|
|
|
125 |
J1 - Serial USB Misc Connections (MX7CK only)
|
|
|
126 |
* This header contains other FTDI UART function pins (CTS, DSR, DCD, RI)
|
|
|
127 |
J2 - Serial USB Connector (MX7CK only)
|
|
|
128 |
* This connector is connected to UART1 or PMOD JE
|
|
|
129 |
J7 - I2C port daisy chain connector
|
|
|
130 |
* On the Cerebot 32MX7, this connector provides access to the I2C signals, power and ground for I2C2.
|
|
|
131 |
* On the Cerebot MX7CK, this connector provides access to the I2C signals, power and ground for I2C1 + INT3/4.
|
|
|
132 |
J8 - I2C port daisy chain connector
|
|
|
133 |
* On the Cerebot 32MX7, this connector provides access to the I2C signals, power and ground for I2C1.
|
|
|
134 |
* On the Cerebot MX7CK, this connector provides access to the I2C signals, power and ground for I2C2.
|
|
|
135 |
EEPROM is changed to this port on the MX7CK
|
|
|
136 |
J9 - CAN #1 Connector
|
|
|
137 |
* This connector is used to access the signals for CAN #1.
|
|
|
138 |
J10 - CAN #2 Connector
|
|
|
139 |
* This connector is used to access the signals for CAN #2.
|
|
|
140 |
J11 - Ethernet Connector
|
|
|
141 |
* This connector provides access to the 10/100 Ethernet port.
|
|
|
142 |
J12-J14
|
|
|
143 |
* Do Not Use.
|
|
|
144 |
J15 - Debug USB Connector
|
|
|
145 |
* This connector is used to connect the on-board programming and
|
|
|
146 |
debug circuit to the PC for use with the MPLAB IDE.
|
|
|
147 |
J16 - Power supply source select
|
|
|
148 |
* This jumper is used to select the source of main board power.
|
|
|
149 |
Place a shorting block in the upper, ?USB? position to have the
|
|
|
150 |
board powered from the USB device connector, J19.
|
|
|
151 |
Place a shorting block in the center, ?EXT? position to have the
|
|
|
152 |
board powered from one of the external power connectors, J17 or J18.
|
|
|
153 |
Place a shorting block in the lower, ?DBG? position to have the
|
|
|
154 |
board powered from the debug USB connector, J15.
|
|
|
155 |
J17 - External Power Connector
|
|
|
156 |
* This is a 2.5mm x 5.5mm, center positive, coax power connector used to
|
|
|
157 |
provide external power to the board. The optional Digilent 5V Switching
|
|
|
158 |
Power Supply is connected here.
|
|
|
159 |
J18 - External Power Connector
|
|
|
160 |
* This is a screw terminal connector used to provide external power to
|
|
|
161 |
the board. Be sure to observe proper polarity (marked near the connector)
|
|
|
162 |
when providing power via this connector, or damage to the board and/or
|
|
|
163 |
connected devices may result.
|
|
|
164 |
J19 - USB Device / OTG Connector
|
|
|
165 |
* This is a USB micro-AB connector. It is used when using the PIC32MX795
|
|
|
166 |
microcontroller to implement a USB device or OTG Host/Device.
|
|
|
167 |
J20 - USB Host Connector
|
|
|
168 |
* This is a standard sized USB type A connector. This connector is used to
|
|
|
169 |
connect USB devices to the board when using the PIC32MX795 microcontroller
|
|
|
170 |
to implement an embedded USB host.
|
|
|
171 |
|
|
|
172 |
|
|
|
173 |
JUMPERS:
|
|
|
174 |
|
|
|
175 |
JP1 & JP2 - CAN or Pmod Select
|
|
|
176 |
* These jumpers select microcontroller signals RF12 and RF13 for use with CAN
|
|
|
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
|
|
|
185 |
* This jumper is used to enable/disable the 120 ohm termination resistor for
|
|
|
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
|
|
|
189 |
* This jumper is used to enable/disable providing 5V to the CAN #1 connector.
|
|
|
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
|
|
|
193 |
* This jumper is used to enable/disable the 120 ohm termination resistor for
|
|
|
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
|
|
|
197 |
* This jumper is used to enable/disable providing 5V to the CAN #1 connector.
|
|
|
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
|
|
|
201 |
JP10 - USB Host Power Select
|
|
|
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.
|
|
|
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.
|
|
|
209 |
JP17 - Do Not Use
|