10 Replies Latest reply on Jul 11, 2014 9:28 AM by steward

    Galileo Gen 2.0 GPIO speed

    steward

      Hi,

       

      Could somebody from Intel confirm weather or not the statement below from the Galileo Gen 2.0 product brief that native GPIO means high-speed GPIO with Arduino compatibility including ICSP header.

       

      12 GPIOs fully native for greater speed and improved drive strength.

       

      Kind regards

      Steward

        • 1. Re: Galileo Gen 2.0 GPIO speed
          mon2

          Hi Steward. Curious to learn what would you like to see with respects to improvements on the GPIO pins ? High speed = what speed for your projects ?

           

          Kumar

          • 2. Re: Re: Galileo Gen 2.0 GPIO speed
            steward

            Hi Mon2,

             

            The real issue is with the SPI and I2C interfaces. In the SPI and I2C libraries the core transfer function calls ioctl(..)  of the kernel module. There is a considerable delay in the return of system calls. If this is in Gen 2.0 every application that needs to use system’s physical I/O interfaces will be choked. I'm trying to use a particular display shield with the Galileo with a SPI interface that requires frequent toggling of the CS pin to guarantee completion of transactions. It is painfully slow to refresh. Overall, the faster the better but currently 230 Hz is a little bit too slow.

             

            Thanks


            • 3. Re: Galileo Gen 2.0 GPIO speed
              mon2

              Hi steward, have you seen the following threads on this topic ?

               

              https://communities.intel.com/message/231609

               

              https://communities.intel.com/thread/52071

               

              While we are unable to comment on specifics (since we have not reviewed in detail nor tested the idea), have you considered to test what the max speeds are for the GPIO pin interface ? If they are suitable, you could consider to bit-bang out the SPI interface to remove this possible bottleneck.

               

              Or perhaps use a USB to SPI convertor IC from FTDI or SiLabs. Be sure to investigate the details of their Linux support and if the USB latency will meet your requirement.

               

              Ironically we are on the tail end of a project dealing with QUAD & standard SPI mode support for SPI flash devices with an embedded design so fully feel your pain. The product will be public soon.

               

              Kumar

              • 4. Re: Re: Galileo Gen 2.0 GPIO speed
                steward

                Hi Mon,

                 

                Thanks I have seen those treads. dferyance seems to sum up the problem neatly in the second thread. Here is also another relevant thread:

                 

                SPI speed of the Galileo

                 

                I'm using a kindle display shield to display text/images. This is the shield http://www.seeedstudio.com/wiki/Small_e-Paper_Shield

                It has a SPI interface and comes with an custom Arduino library (bottom of the page) with functions to display the images/text.

                 

                I've tried to use transferbuffer() as suggested in the thread you shared and by changing SPI.setClockDivider as suggested in the above thread without much success.

                 

                I understand from this post SPI Pinout  that the SPI interface is delivered through IO10-IO13. Are these the pins that SPI Arduino library uses? which are not the 2 fast lines IO2 and IO3. I am a novice but I don't think it is possible to choose the GPIO lines in the SPI library?

                 

                have you considered to test what the max speeds are for the GPIO pin interface ? If they are suitable, you could consider to bit-bang out the SPI interface to remove this possible bottleneck.

                The max speeds of the current GPIO interfaces are 230 Hz and the 2 fast ones are 600 kHz. But the fast ones are not used by the SPI library?  Is it possible to bit-bang out the SPI interface using the SPI library? Could you elaborate more? - I'm not that experienced.

                 

                Thanks

                Steward

                • 5. Re: Re: Re: Galileo Gen 2.0 GPIO speed
                  jjaken

                  Give me a moment Steward, I am trying to reply, but I'm being blocked because for "potentially inappropriate content."  Whatever that means.

                   

                  This is baffling.  I don't know what is being flagged in my post.  I will try to contact the mods.

                  • 6. Re: Galileo Gen 2.0 GPIO speed
                    steward

                    No problem

                    • 7. Re: Re: Re: Galileo Gen 2.0 GPIO speed
                      jjaken

                      Below is a screenshot of what I am trying to post.  I don't understand why it was flagging the filters, but anyways, let me know if you need anything clarified.  You can click on the image to see it larger.

                      Capture.PNG

                      • 8. Re: Re: Re: Re: Galileo Gen 2.0 GPIO speed
                        steward

                        Hi jjaken,

                         

                        I'm now getting the same issue posting

                         

                        ans.jpg

                        • 9. Re: Galileo Gen 2.0 GPIO speed
                          jjaken

                          I have had similar results with Gen 1, Steward.  As for Gen 2, I don't know what I can say so I'll refrain from saying anything.

                          • 10. Re: Galileo Gen 2.0 GPIO speed
                            steward

                            Hi jjaken,

                             

                            No problem, nice to know that I'm not the only one.