14 Replies Latest reply on Jul 22, 2020 11:27 PM by XiaoweiZ_71

    How can I instantiate a UDB-based I2C/UART Controller with PSoC 6 & Creator 4.3?

    TiSc_1146951

      Hey there!

       

      I read in the "CYBLE-416045-02 EZ-BLE™ CREATOR MODULE.pdf" document:

      "Cypress-provided peripheral component library using UDBs to implement functions such as communication peripherals (for example, LIN, UART, SPI, I2C..."

       

      For my application I need to implement 2x I2C Master Controllers, 1x partial SPI Controller (MOSI, CLK, SS), and 1x UART (TX & RX). I additionally need pin 24 for the SWO functionality. From what I see in "Table 4. Digital Peripheral Capabilities", there appear to be 4x groups of pins that are capable of UART/I2C/SPI. Unfortunately using SWO (pin 24) stomps on one of those blocks and removes an UART RX, SPI MOSI, and I2C SCL from being accessible.

       

      Given my current wiring layout I've implemented the UART, SPI, and only 1x of the I2C controllers using the SCBs. I do still have spare SCBs available and general purpose pins. However I don't have enough SCB-dedicated pins. From what I understand SCB pins are hardwired and cannot be rerouted to general purpose pins.

       

      In light of what the aforementioned document claimed, I'm looking for instructions on how I can implement the remaining I2C Master controller with an available UDB block. Can anyone point me in the right direction of how to accomplish this?

       

      I've read posts from over a year ago saying that PSoC 6 / Creator 4.2 Beta weren't quite ready to have UDB-based communication modules ready.

      Re: No UDB-Components for PSoC6

      Re: How to use PSoC6 UDB in Creator4.2?

       

      I've also seen that there appears to be a process for forcing compatibility of UDB-implementation of I2S to work with PSoC 6:

      Import UDB-based I2S Component in a PSoC 6 MCU Project (PSoC Creator) – KBA229971

       

      So with that said, could anyone point me in the right direction to either get an I2C or UART-RX Controller implemented with UDB(s), or magically reroute dedicated-pin SCBs signals to other pins?

       

      Cheers,

      Timothy