10 Replies Latest reply on Nov 24, 2020 5:35 AM by YatheeshK_36

    USB-SPI bridge VCP driver

    dis_2936761

      Hello Team,

       

      We have requirement to utilise the USB-to-SPI bridge which supports the data transfer from our custom micro-controller board which shall be SPI master. As we have been using USB-to-UART bridge so far for the same data transfer, we have developed most of our applications to connect and communicate with the virtual com port. I see that you have solutions for the USB-SPI bridge to advertise as a VCP device.

       

      Please suggest if I need to customise my applications in both Windows and Linux OS to adapt to your bridge or shall I  be able to directly utilise as I used my existing software for USB-UART communication.

       

      I have been going through your documents and materials to understand the same. Meanwhile, it would nice if you could pin-point me to the information or suggest me to reduce the design or component selection time.

       

      Thanks in advance.

       

      Regards,

      Dinesh

        • 1. Re: USB-SPI bridge VCP driver
          EktaN_26

          Hello Dinesh,

           

          I see that you have solutions for the USB-SPI bridge to advertise as a VCP device.

           

          Could you please let us know which solution are you referring to ?

           

          As we have been using USB-to-UART bridge so far for the same data transfer, we have developed most of our applications to connect and communicate with the virtual com port.

           

          When you refer to the USB to UART bridge are you referring to the KitProg present in the kit?

           

          Best Regards

          Ekta

          • 2. Re: USB-SPI bridge VCP driver
            dis_2936761

            Hello Ekta,

             

            We have been using USB-UART solution from a different vendor. The IC itself advertises the chip as an VCP device i.e COM port in Windows and tty device in Linux.

             

            Our application doesn't use any vendor specific application. Its been developed to transfer via COM port which physically is a USB port, thus Virtual Com Port. I see CY7C65211 USB-SPI bridge as a good prospect for the same.

             

            Need more details on the device drivers available for the device in Windows and Linux. How do we use it with our application which can communicate to a VCP device?

             

            Thanks,

            Dinesh

            • 3. Re: USB-SPI bridge VCP driver
              dis_2936761

              Hello Cypress Team,

               

              We are planning to procure the IC in bulk quantities. Our design choices are pending on your responses. It would be great if you could respond to this query a little early or redirect me to team directly for better discussions.

               

              Thanks,

              Dinesh

              • 4. Re: USB-SPI bridge VCP driver
                YatheeshK_36

                Hello Dinesh,

                 

                I understand that you require an SPI slave with CDC class.

                 

                CY7C65211A and CY7C65215A parts support SPI slave in CDC mode.

                 

                CY7C65211A is a single channel device while CY7C65215A is dual channel device where 2 SCBs can be configured.

                 

                Once the SCB of CY7C65211A/215A is configured and programmed for SPI in CDC class, you can just use terminals like teraterm to capture data.

                 

                The development files for CDC class SPI and I2C is provided in the USB-Serial SDK.

                Once the SDK is installed, Cypress USB-Serial VCP I2CSPI API Guide can be found under documents folder.

                 

                The SDK also includes CDC class drivers, host library for CDC class application development and also CDC application examples for spi, i2c and UART.

                 

                Please let me know if you have more queries.

                 

                Thanks,

                Yatheesh

                • 5. Re: USB-SPI bridge VCP driver
                  dis_2936761

                  Hello Yatheesh,

                   

                  Your inputs are really valuable. We might go for the dual-channel USB-SPI CDC device.

                   

                  Just another question, I have read in one of your documents that this IC doesn't require any device driver in Linux, so do you have a configuration utility support in this OS and does your configuration utility still work without a device driver in Linux?

                   

                  Thanks,

                  Dinesh

                  • 6. Re: USB-SPI bridge VCP driver
                    YatheeshK_36

                    Hello Dinesh,

                     

                    The configuration utility where the device will be initially programmed is present only in Windows where you can dynamically configure each  SCB and program the configuration to the device.

                     

                     

                    We also provide a command line tool for the same which can also be used for Batch programming USB-Serial Devices in Linux.

                    Initially the configuration file (.cyusb) should be generated using the USB-Serial configuration utility in Windows (attached image).  

                    The generated configuration file (.cyusb) can then be used to program the devices connected using the fwDownload tool.

                     

                    Please refer to this thread answer for the fwDownload tool and usage: Re: CY7C65211 Serial Communication Mode   

                     

                    We do not have a standard way of programming the configuration to USB-Serial Devices in Linux.

                     

                    Please let me know if this requirement ( Linux programming tool ) is critical?

                     

                    Thanks,

                    Yatheesh

                    • 7. Re: USB-SPI bridge VCP driver
                      YatheeshK_36

                      Hi Dinesh,

                       

                      When the device is configured as CDC in SPI, it can be used with native Linux, Windows, Mac CDC driver.

                      There may be limitations when COM ports is used for communication on the respective Operating Systems.

                       

                      Please let me know the detailed application requirements from the USB-SPI(CDC) slave bridge, like:

                      1. The maximum frequency of SPI master clock?

                      2. Direction of data transfer? Is it bi-directional or the slave only receives the data from the master?

                      3. Rate and length at which the data is sent from the master? If bi-directional the slave data transfer length and rate?

                       

                      Thanks,

                      Yatheesh

                      • 8. Re: USB-SPI bridge VCP driver
                        dis_2936761

                        Hello Yatheesh,

                         

                        Programming in Linux isn't a very critical requirement but a good to have feature. Mainly, we should be able to talk to our end device from Linux host PC via the USB-SPI bridge without any/minimal software customisation.

                         

                        Probably, we might majorly use the Windows tools to program the IC as our factory default setting and then use it in any OS like a VCP device.

                         

                        Thanks,

                        Dinesh

                        • 9. Re: USB-SPI bridge VCP driver
                          dis_2936761

                          Hello Yatheesh,

                           

                          Please find the below response to the queries raised.

                           

                          Please let me know the detailed application requirements from the USB-SPI(CDC) slave bridge, like:

                          1. The maximum frequency of SPI master clock?

                          Ans. 10 MHz

                           

                          2. Direction of data transfer? Is it bi-directional or the slave only receives the data from the master?

                          Ans. While choosing for the dual channel, we might need one of the channel to be bi-directional and the other to be uni-directional where the bridge being the slave shall only receive the data.

                           

                          3. Rate and length at which the data is sent from the master? If bi-directional the slave data transfer length and rate?

                          Ans. 10 Mbps shall be really good. We are competing with an existing USB-UART bridge with baud rate 921600 bps. The reason for switching is majorly better throughput. In case of bi-directional SCB the data transfers are very minimal, thus 1Mbps data rate might be sufficient.

                           

                          I noticed the bridge provides a master speed as 3MHz and slave speed as 1 MHz. Correct me if there is a difference in the numbers.

                           

                          Thanks,

                          Dinesh  

                          • 10. Re: USB-SPI bridge VCP driver
                            YatheeshK_36

                            Hello Dinesh,

                             

                            Yes you understanding is correct, the device can operate at a maximum of 3 MHz as SPI master and 1MHz as SPI slave.

                            1. The maximum frequency of SPI master clock?

                            Ans. 10 MHz

                            This requirement cant be met with USB-Serial Devices CY7C65215A/211A as the maximum SPI interface clock supported as SPI master is 3MHz and SPI slave is 1MHz.

                             

                            The device can simply be configured as SPI in CDC mode (Master/Slave) and terminals like minicom/teraterm can be used to validate the data transfers to/from the device.

                             

                            Please refer to CYUSBS236 DVK which out of box is populated with CY7C65215 device for development.

                            You can use the CYUSBS236 DVK and by replacing the CY7C65215 with the CY7C65215A (supports CDC in SPI) device for validating your application requirement.

                             

                            Thanks,

                            Yatheesh