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.
