The MSSP (master synchronous serial port) module uses multiplexed pins for the 12C and SPI peripherals in PIC microcontrollers. There is typically no issue using either of the two peripherals. But, the new circuit, developed for a portable instrument using Microchip Technology’s 28-pin PIC MCU, runs with both the peripherals simultaneously.
This PIC MCU from Microchip runs an RTC (real time clock), EEPROM, and COG (chip on glass) LCD on the 12C bus, and a digital pot and microSD card on the SPI bus. The implementation has performed flawlessly.
SPI and 12C bus with same peripheral pins and two extra GPIO pins are used by the circuit, without a significant increase in the bill of materials, using four MOSFETS. The examples include the 2N7000 and the BSS138, both from the ON Semiconductor. Both were tested and performed satisfactorily.
The multiplexed pins for SCK/SCL and SDA/ SDI are switched by the combination of MOSFET, by turning on the gate for the respective peripherals by the microcontrollers. In the firmware, the required peripheral is turned ON by making the respective GPIO HIGH and driving the other GPIO LOW before initializing the respective bus.
The connections are straightforward, the MOSFET DRAIN pins connect to the MCU pins except the FETDI (MOSI) MOSFET, whose SOURCE pin connects to the MCU. The pull-up resistors for the I2C connections should be added to the SOURCE pins of the MOSFETs on the I2C side.