3 Replies Latest reply on Oct 14, 2019 12:18 AM by AchimE_41

    PSOC6 Fabric

    KeDa_1385231

      Hi.  So, coming from a good understanding of the PSOC5LE and PSocCreator, I'm trying to come to understand the PSOC6.  I have 3 tools available, the Modulus Toolbox, WICED Studio and PSOC Creator, each capable of running my kit (CYKIT_062 BT-WIFI).

       

      PSOC Creator creates an LCD component in the fabric which handles the TFT display, WICED Studio has some hidden UDB for some of the pins (8 parallel pins tied to a UDB register) and bit-bangs the rest, Modulus Toolbox does totally bit-banging.  Three distinct different ways across three different tools.

       

      I want to use the PSOC Creator method against the Modulus Toolbox environment.   But, where is the fabric programmed?  Is it some hidden .elf file that needs to be linked in?   Where can I get the output from PSOC Creator and use it for something else?   Where does the hidden UDB come from in WICED studio?

       

      Could someone help me understand how the digital fabric is programmed with this tools?

        • 1. Re: PSOC6 Fabric
          DheerajK_81

          PSoC Creator uses a schematic based design where based on the configuration setup in the component, files get generated. Each component instance had seperate files and these files used to have a wrapper on top of the PDL. For example, if you had a component instance named UART, you would has a UART_Start() wrapper generated which essentially does the Init and Enable of the component.

           

          However, in ModusToolbox you wouldn't have these wrapper on top of the PDL APIs. You would have to write the Init and Enable manually. Based on the device configurator settings, some config structures get generated. No wrapper APIs are generated which allows you to have more flexible control over how you want your application to work.

           

          You could use the generated files of PSoC Creator in ModusToolbox as finally both interact with the PDL itself. UDBs are not yet supported on Modus though.

           

          A very thorough guide on how to do this is explained here: https://iotexpert.com/2019/04/15/cy8ckit-028-epd-and-modus-toolbox-1-1/

           

          Regards,

          Dheeraj

          2 of 2 people found this helpful
          • 2. Re: PSOC6 Fabric
            KeDa_1385231

            Thank you.  I'll check it out.

             

            For instance in a board I'm currently working on, we use a 48khz 4 channel 24-bit ADC.  The PSoC5 was  unable to keep up with collecting this data, so I created 4 x 32-bit shift-registers and a weird type of clocking that was needed and a triggered IRQ.   I'm actually getting this through testing at the moment.  Another job is slightly larger 8 x 24-bit channels.  I can't do it on the PSoC5, so we are going to add a small FPGA.

             

            See, this is the value of the fabric.   I was able to not need an FPGA on the smaller job.   I could possibly recreate this with PSoC Creator targeting the PSoC6.  So, I'm hoping that I can create fabric code in the PSoC Creator and utilize it Modulus.

            • 3. Re: PSOC6 Fabric
              AchimE_41

              KeDa_1385231 wrote:

               

              See, this is the value of the fabric.   I was able to not need an FPGA on the smaller job.   I could possibly recreate this with PSoC Creator targeting the PSoC6.  So, I'm hoping that I can create fabric code in the PSoC Creator and utilize it Modulus.

               

              Yes this is possible, but officially not supported.

              As there are probably some corner cases that have to be considered.

               

              But, here are the steps required to import the UDB configuration into your project.

              Re: How do I create a custom UDB solution in the Modus toolbox?

              There is also a tool posted in the second last post.

               

              Just to be clear, this tool is not from Cypress.