Estoy tratando de entrar en la detección capacitiva y, por lo tanto, necesito una comunicación estable entre un Arduino y un TI FDC2114 , que ya está soldado en un EVM. Ambos admiten I2C, y debido a la diferente tensión de operación de 5V para Arduino y 3.3V para FDC, estoy usando un PCA9512A cambio de nivel bidireccional y 10k pullups a 5V (Arduino Mega interna) así como a 3.3V.
Al escanear la dirección del FDC, a veces recibo una respuesta positiva (ACK en el último reloj después de la dirección de 7 bits solicitada) pero principalmente un NACK. Incluso si recibo un ACK, unos segundos después, el FDC ya no puede bajar el SDA a 0V y obtengo NACK nuevamente. En el caso de NACK, puede ayudar a desconectar SDA y SCL mientras está bajo voltaje y enchufarlos nuevamente, pero no funciona siempre. Ya he cambiado todos los cables, por lo que no debería ser un problema mecánico. También observé que el voltaje máximo es 3.4V en SCL y más de 3.6V en SDA, pero no sé si esto podría causar algún problema y también de dónde proviene la diferencia de voltaje.
Al utilizar la MCU incluida del EVM, no hay ningún problema. ¿Qué me estoy perdiendo, por qué no funciona de manera confiable?