Thanks "Guy Grotke"... could you help me out with resources I can use to 
implement "bit-banging"... Also I have not worked on PRU's, will try 
reading up and get back to you... btw I dont think the MUXing will work, 
because I want all data to be collected simultaneously (at run-time)... 


On Wednesday, June 4, 2014 2:10:41 PM UTC-4, Guy Grotke wrote:
>
>  You could bit-bang SPI Master using some GPIO pins, but you can't run the 
> clock much faster than 1 KHz using a user-space program under Linux.  With 
> a custom driver, you could run faster but it would still be limited by the 
> interrupt latency caused by other ISRs.  You could do it using a PRU to 
> bit-bang some GPIO pins, and it could run much faster.  (Probably as fast 
> as your SPI slave devices can run.)  That kind of "bit-banging a 
> communications protocol" is why the PRUs are in the chip.
>
> Each of the existing SPI modules have some provision for generating 
> different SPI_CSN[n] signals, but as I recall you can only select four 
> devices and maybe not all four SPI_CSN[n] signals are routed to a P8 or P9 
> pin?  If you need to talk to more SPI slave devices, then you could add a 
> little bit of external hardware so you can use a few GPIO outputs to steer 
> your SPI_CSN signal to one of many SPI slave devices.   Like a little 1=>16 
> mux controlled by 4 GPIOs.  Then you could just set the device address in 
> your application before calling the standard SPI device API.
>
> On 6/4/2014 7:37 AM, [email protected] <javascript:> wrote:
>  
> I am trying to run multiple SPI modules (more than the two available on 
> the BBB) to try and read data from a bunch of accelerometers (LSM303D).  
>
>  I was therefore wondering if it would be possible to implement the SPI 
> module using code (preferably C/C++) on the abundant GPIO pins. I have been 
> scanning through a lot of documentation but I cant seem to find anything 
> that fits the bill. 
>
>  Please help --- getting desperate...
>
>  
>  -- 
> For more options, visit http://beagleboard.org/discuss
> --- 
> You received this message because you are subscribed to the Google Groups 
> "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> For more options, visit https://groups.google.com/d/optout.
>
>
>  

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to