在PIC微控制器(MCU)中,主同步序列埠(MSSP)模組在I2C和SPI週邊設備中使用多路接腳。當分別用於這兩種週邊設備時通常沒什麼問題,但如果是在不改變微控制器的情況下,同時需要這兩種週邊設備呢?

讓我們以一款針對可攜式儀器開發的電路為例。該電路採用微芯科技(Microchip Technology)的28接腳PIC MCU,在I2C匯流排上執行即時時脈(RTC)、EEPROM以及玻璃覆晶(COG) LCD,以及SPI匯流排上的數位電位器與microSD卡。這樣的電路建置應該可以完美無暇地執行作業。

PIC MCU Circuit design

該電路建置僅需使用4個MOSFET,就能讓我們採用支援相同週邊設備接腳的SPI和I2C,以及2個額外的GPIO接腳,而不至於明顯增加材料成本(BOM)。我們所採用的MOSFET是現成可用的邏輯電平N通道類型,例如安森美半導體(ON Semiconductor)的2N7000和BSS138元件。這2款元件都經過測試,而且表現令人滿意。

透過微控制器分別導通相應週邊設備的閘極,即可使用該MOSFET組合切換SCK/SCL和SDA/SDI所使用的多路接腳。在韌體方面,將相應的GPIO設為‘HIGH’高電平,可導通所需的週邊設備,並在初始化相應的匯流排之前,驅動另一個GPIO為低電平‘LOW’。

這樣的電路連接非常簡單,MOSFET DRAIN(汲極)接腳連接到MCU接腳,但FETDI (MOSI) MOSFET除外,因為它的SOURCE (源極)接腳連接到MCU。而在I2C側,用於連接I2C的上拉電阻應該添加到MOSFET的SOURCE接腳上。

PIC MCU device

實際作業中的裝置,其週邊設備可自動切換

-本文作者Soumitra Bhattacharjee是一位電子產品設計師,對於建築自動化、空間和使用者互動設計領域興趣濃厚。

編譯:Susan Hong

(參考原文:A circuit to use PIC peripheral outputs simultaneously,by Soumitra Bhattacharjee)