Thursday, 16 February 2017

beaglebone black - How to prevent applying power to I/O pins before BBB ready?


From the Beaglebone Black SRM Rev C.1: "DO NOT APPLY VOLTAGE TO ANY I/O PIN WHEN POWER IS NOT SUPPLIED TO THE BOARD. IT WILL DAMAGE THE PROCESSOR AND VOID THE WARRANTY. NO PINS ARE TO BE DRIVEN UNTIL AFTER THE SYS_RESET LINE GOES HIGH."


I want to connect a sensor to ADC input. When I apply the power to BBB and to the sensor in the same moment, there is a danger that the signal from sensor comes earlier as BBB is ready. What is the best way how to prevent from this?


I can imagine following:



a) Control a transistor with SYS_RESET signal to switch on the power for the sensor? b) put "something" between the pin and the sensor?



Answer



If the sensor is supplied from the same voltage source as the microcontroller, generally there is no problem. It's not a matter of the board being "ready" so much as never applying voltage to an input that exceeds Vdd of the microcontroller. The actual specification is:



-0.5V to IO supply voltage + 0.3 V



So if the IO supply voltage is 0V the input voltage should not be more than 0.3V or less than -0.5V.


If such a voltage is applied without limiting the current, it's possible to damage the microcontroller.


Alternatives include adding some series resistance to limit the current or buffering the input with "something" tolerant of voltage applied when power is off. There are digital buffers that are designed for this purpose (they also translate voltage levels), and for analog circuits you can use an op-amp buffer with some input resistance to protect the op-amp.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...