From:  Kevin D'Souza <[email protected]>
Reply-To:  "[email protected]" <[email protected]>
Date:  Saturday, October 25, 2014 at 4:55 AM
To:  "[email protected]" <[email protected]>
Subject:  [beagleboard] Multiple i2c Busses on BeagleBoneBlack (more than 2)

> Hello Guys,
> 
> I have an Application that uses multiple i2c sensors. The beaglebone black
> just has 2x I2C busses.
> 
> Problem, the i2c sensors cannot have a different address (all of them have a
> same address). I used a  multiplexer fed all the sensors the SCL from the i2c1
> bus and mux'd the SDL lines. Everything works well but now the problem is the
> polling is a bit slow.
> 
> A Hack came across my mind. So, instead of using the i2c bus how about
> Bitbanging the i2c.
> 
> Use a Clock Source (SCL from the hardware timer). And the SDL lines Use GPIOs.
> 
> So for 8x I2C's I'd have
> gpio_1 - scl
> gpio_2 - sda1
> gpio_3 - sda2
> gpio_3 - sda3
> .....................
> gpio_n - sda_n
> 
> Does the approach make sense?
> 
> Is there any other way i can connect the 8 sensors in different channels
> without going through the slow mux?
> I want to grab data from all the sensors in a threaded way (parallelly grab
> data) without chaining them.
> 
> I dont want to bitbang every i2c SDA and SCL, since the SCL singnal is going
> to be common to all of them i want to keep this as only One SCL and have
> multiple SDA's
> 
> Let me know your thoughts,
Have a look at http://www.silego.com/products/greenpak.html

This is a miniature FPGA that would work well. Use 10bit I2C addressing and
then use the MSB address to select the SDA channel. You would experience a 3
bit delay in the TX direction and 0 delay in the RX direction. These devices
are very flexible and low cost. Silego¹s support is really good and if you
send them your specs, they will design a solution for you.

Regards,
John
> 
> 
> Regards
> 
> -- 
> 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.


-- 
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