I plan to use P8.13 and P8.15 of the beaglebone in a i2c bitbang mode. Do i need to use external pull up resistors in my circuit? or can i use the internal pull up which is available on the beaglebone black itself?
1 Answer
It depends on how big the pull-up resistor is and how fast you want to go with I2C. If Beaglebone designates those pins as usable for I2C, the internal pull-up resistor is most likely sufficient.
Generally, the smaller the pull-up resistor, the faster is the rise of the signal to 1
, but when driving a 0
, there is also higher consumption. To understand this better, think about the extremes; what would be the behavior if the pull-up resistor is 0? How about infinite?
To be perfectly sure, you need an oscilloscope. With the frequency at which you want to communicate over I2C, drive a square wave over the pin configured with pull-up and check to see if the signal rises "fast enough".
-
$\begingroup$ the bitbang/banked gpio for i2c is used for a battery voltage sensing IC, i wouldnt even mind if it operated at 1khz xD Last time i had done the bitbank without the internal pullup and also without external pull-up, for an IMU board, it worked well. This time i want to make an ethical circuit that has all the things in place. But anyways, i'l test the setup with a CRO and report later. $\endgroup$ Mar 21, 2015 at 7:55
-
$\begingroup$ Did it work? did you need an external resistor? $\endgroup$ Jan 12, 2016 at 11:12