Oricom Technologies
www.oricomtech.com

Return to:
OOBOT40 main page.

Connecting the I²C Busses on the OOBOT40 Controller Boards

The OOPic firmware has 3 objects for communicating with I²C busses - oI2C, oEEPROM, and oDDELink. The various OOPic boards, such as the oopic-r and OOBOT40, have two I²C buss connectors - one labelled I2C and one labelled PRG. According to convention:

  • the buss labelled PRG is also called the Local buss, and connected to it is the OOPic program storage eeprom and also the PRG header for use with parallel programming.

  • the buss labelled I2C is also called the Network buss, and it is used for interconnecting multiple OOPics.
Standard I²C Buss - Header Match-up
oopic bussheader oopic object cpu sclk pincpu sdat pin
Local PRGoI2C, oEEPROM pin 7 - RA5pin 6 - RA4
NetworkI²CoDDELink pin 18 - RC3pin 23 - RC4
Specific OOPic objects only work with one or the other of the two I²C busses. This matchup is shown on in the table at the right, along with the pin #'s on the OOPic/PIC cpu which connect to the two busses.

Peripheral Interfacing. Note that any peripherals which are controlled using the oEEPROM or oI2C objects, such as Devantech compasses, will need to be electrically connected to the OOPic Local (PRG) buss, and not the Network (I2C) buss.


Configuring the OOBOT40 I²C Buss Headers

The OOBOT40 Controller Boards have both Local and Network busses on-board, and these are configured by installing jumpers. The following diagram is a partial schematic of the board, and shows the default jumpering. The header marked PRG, and located above the cpu, is specifically for the Local buss. The header marked SPI²C beneath the proto area is not specifically hardwired to either buss, and can be connected either way.

PRG Header. Note that jumpers J2 + J4 are installed horizontally, which connects the program-store eeprom U2 to cpu pins RA4 and RA5. In addition, the PRG header is connected to the Local buss by installing jumpers 'a', 'b', and 'c' (located under the cpu) - also horizontally. Now, any peripherals that use the oI2C and oEEPROM objects can be connected to this header. It can also be used for parallel-programming of eeprom U2 (although this is not necessary with the OOPic II+ firmware, which uses the RS-232 serial port for programming).

SPI²C Header. By default, jumpers J3 + J5 (also installed horizontally) connect the cpu Network buss pins (RC3, RC4) to pins I0 + I1 in the proto area. The SPI²C header is not factory-configured, but it can be connected to the Network buss by installing a jumper or resistor in the proto area connecting I0 to the Sdat pin, and another connecting I1 to the Sclk pin (see resistor installation in last figure below). In general, the left-most pin on the header (corresponding to the reset pin on the PRG header) will not be needed. The header can now be used for OOPic-to-OOPic networking.

Note that the "standard" jumpering arrangement for OOPic is for all jumpers listed above to be installed horizontally. Vertical installation is typically used when a regular PIC chip is used at U1, rather than an OOPic. See below, however.


OOPic Local Buss to OOBOT40 SPI²C Header Connection

If OOPic-to-OOPic networking is not being used, the SPI²C header in the proto area can be also used by the OOPic Local buss to interface various I²C peripherals. This way, the oI2C and oEEPROM objects can be used control peripherals connected at both the I²C and PRG headers. The following diagram shows how to connect the SPI²C header to the Local buss:

  1. remove the horizontal jumpers from J3 and J5.
  2. add vertical jumpers between J2 + J3 and between J4 + J5. These should go only into the left-side of the jumper blocks, as shown, and leave the pins wired to cpu RC3 + RC4 unconnected.
  3. two small-value resistors should be added in the proto area, as shown, to connect pins I0 and I1 to SPI²C header pins Sdat and Sclk, respectively.
  4. altogether this will wire: cpu(RA4) - U2(Sda) - I0 - SPI²C(Sdat), and also cpu(RA5) - U2(Scl) - I1 - SPI²C(Sclk).
  5. the left-most pin on the header (corresponding to the reset pin on the PRG header) will probably not be needed.

<| TOP


© Oricom Technologies, March 2004