UDOO SPIDEV?

Discussion in 'General Discussion' started by wb666greene, Dec 26, 2013.

  1. wb666greene

    wb666greene New Member

    Joined:
    Dec 26, 2013
    Messages:
    2
    Likes Received:
    0
    Does Udoo hardware support SPI, specifically the userspace SPIDEV?

    I've failed using PandaboardES, Beaglebone, and Beaglebone Black because the SPIDEV suffers essentially random long latencies (5+ mS) which totally breaks my 1 mS servo loop. Using Ubuntu or Angstrom distributions makes no difference in performance.

    I've test C code I can post which shows the real-time performance of kernels 3.4.x, 3.8.x and 3.12.x is adequate since if I replace the write to the SPIDEV with a write to toggle a GPIO pin the performance is good. Further proof is I tried a 3.4-rt kernel from the Robot Operting System project on the PandaboardES and it if anything made things a bit worse (I suspect "full pre-emption" lets SPIDEV driver get interrupted).

    I know the Arduino supports SPI but if the only way to pass data in is via a 115200 BAUD serial port, it won't work as my thruput needs to be 1000*16*8 or 128000 bits/sec+serial overhead.

    I'm looking for viable options as the TI ARM offerings have been FAIL. At this point its unclear if the fault is in Linux SPIDEV driver or TI ARM hardware.
     
  2. miousername

    miousername New Member

    Joined:
    Jun 23, 2013
    Messages:
    73
    Likes Received:
    0
    Hi,

    Spidev is a spi software device. It's not udoo that support this device but is the udoo kernel that support it.
    You have to launch make menuconfig and then search for spidev.

    I have used it! It works!
     
  3. wb666greene

    wb666greene New Member

    Joined:
    Dec 26, 2013
    Messages:
    2
    Likes Received:
    0
    I would love if you could modify some timing test code for the Udoo and post the results. You can download it from here:
    http://www.eewiki.net/pages/viewpageatt ... aLink=true

    But you will need to modify the /dev/spidevX.Y device name and GPIO pin for Udoo as the test code was setup for Pandaboard.

    The output of uname -a is also very helpful.
     

Share This Page