5 Replies Latest reply on Mar 5, 2014 9:57 AM by mon2

    ETA on full-speed UART?

    Tyberius

      Hello,

       

      Have a few robotics projects that I would love to migrate over to the Galileo architecture, however reading through the technical FAQ it seems that the Serial library within the Arduino IDE is limited to 500,000bps max, stating that faster speeds would be available in the future.

       

      Unfortunately the robotics servos I use require a 1mpbs TTL UART for communication, so without full speed support I am at a stuck point.

       

      What is the estimated time of arrival for full speed serial support? Is there a workaround for the time being?

       

      Also, do we have any realistic idea of what Software Serial will be able to support? 38400 baud @ 30hz update rate?

        • 1. Re: ETA on full-speed UART?
          Tyberius

          Bump!

           

          Any ideas? Unfortunately I'm stuck until I can address this.

           

          Thanks!

          • 2. Re: ETA on full-speed UART?
            JPMontero_Intel

            Hi Tyberius
            Please take a look at this post related to Software Serial: https://communities.intel.com/thread/47898 as you noticed the Software serial is currently not supported, you can check the list of supported libraries in Section 1.3 of the Release Notes document: https://communities.intel.com/docs/DOC-21837. In that post there is also a link to this post: https://communities.intel.com/thread/45267 that’s about I/O Speed.
            Regards
            JPMontero_Intel

            • 3. Re: ETA on full-speed UART?
              Tyberius

              You only addressed the second question I had posed.

               

              The first and primary question refers to the hardware UART, which is stated as limited to 500kbps per your Technical FAQ::

               

              Q: What baud rate does the Intel® Galileo UART support?

              Intel® Galileo supports the following baud rates via Serial.begin(): 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, and 500000.

              The Intel® Quark SoC X1000 supports a baud rate up to 2764800 but this support is not yet added in the Arduino* IDE.


               

              So again, I ask what is the ETA on full-speed UART implementation? Is there an alternative to accessing it through system? I'm trying to control Dynamixel Servos which require a 1mpbs baud rate for TTL communication.

              • 4. Re: ETA on full-speed UART?
                JPMontero_Intel

                Currently there is no ETA for a full speed implementation for the UART. I’ll keep this discussion under monitoring in case there is any update about this.
                Regards
                JPMontero_Intel

                • 5. Re: ETA on full-speed UART?
                  mon2

                  Hi Tyberius. Not clear if  the full speed implementation for the UART would help you for your immediate project. The reason being that your target device (according to their datasheets), requires the UART to frame @ 1,000,000 bps (1 Mbps dead on with only a small deviation). The UART onboard the Galileo does not appear to be capable of framing at this communication speed. From a quick search on the net, you may be better off to consider a FTDI based USB UART -> confirm if you are ok with the CMOS interface for your project and source such an adapter for your requirement. It does appear that the FTDI UARTs can frame @ 1,000,000 bps but certainly cross check against their datasheet. Once you have communicated with the target component @ 1,000,000 bps, then you can configure the com speed to be an alternate value that may be ok to work with the Galileo. but again, please check. Hope this helps.

                   

                  Update:

                   

                  https://jim.sh/ftx/#click-non-standard-baudrates

                   

                  lists the FTDI UART and support for your target baud rate of 1,000,000 bps. Openly it is very strange for your product to be using this relatively non-standard baud rate. Most UARTs, like the one on the Galileo will be supporting of typical PC baud rates. One idea would be to develop s/w to bit-bang out the UART emulation using GPIO pins. In theory, this is possible but not a small task if you must read/write to the external devices. It will be much more efficient to implement a low cost external UART.

                   

                  Kumar

                   

                  Message was edited by: Sanjiv Bhatia