Estoy diseñando un nodo de sensor inalámbrico que funcionará con 1,8 V. Estoy usando un MCU Atmel ATtiny861a con una radio CC2520EMK y un chip de memoria externo 23A1024. Tengo un pin de selección de chip para cada componente, sin embargo, todavía necesito un valor de resistencia para ambos pull-ups. ¿En qué parte de la (s) hoja (s) de datos debo buscar para averiguar qué valor de resistencia debo usar? Quiero conservar la mayor cantidad de energía posible.
Si un valor de resistencia más alto consume menos energía, ¿cuál es exactamente la desventaja de tener una resistencia pull-up alta?
Se trata de cronometrar con resistencias pull-up.
Un pull-up grande se recuperará lentamente, porque hay capacitancia en las huellas de la PCB (o los cables). Si "realmente necesita" un pull-up, no querrá ir demasiado alto si los chips especifican un tiempo de subida máximo. Un pull-up de 1 MOhm con una traza de 50 pF ya tendrá un tiempo RC de 50 microsegundos. Mucho en comunicación digital tener que esperar antes de poder usar con seguridad el mismo bus para otro chip.
Pero, ¿realmente los "necesitas" en absoluto? ¿No estás manejando las selecciones de chip con el chip directamente? ¿No le ordenas al chip que los lleve alto cuando termines de hablar? Entonces no necesitas dominadas.
Si hay alguna idea más compleja detrás de ellos, puede compartirla para obtener mejores respuestas, pero solo conectar la salida de un chip a la entrada de otro chip y conducir esa señal activamente hacia arriba o hacia abajo es una muy buena razón para no usar ninguna resistencia en absoluto.* *
E incluso si necesita una resistencia, ¿realmente necesita ser grande? Cuando te comunicas con los chips, ¿cuánta energía consumen? ¿Más o menos de 150uA? La mayoría de los módulos, sin mencionar su Atmel, ya desperdician miliamperios para generar la señal en serie, tener un pull-up de 10k a 1.8V solo agrega 0.18mA a eso, lo que es muy probable que sea insignificante. Dado que su pull up solo tiene corriente a través de él cuando los dispositivos están hablando, porque cuando no lo están, la línea es alta y la resistencia tendrá 0V a través de ella.I = V/R = 0/whatever = 0
EDITAR:
Si realmente está preguntando sobre cosas como pull-ups I2C, no para señales CS impulsadas por hardware, sino para líneas de entrada/salida compartidas como SDA y SCL, ya hay muchas buenas preguntas y respuestas para navegar. Por ejemplo, vinculado desde esta pregunta al momento de preguntar (a la derecha):
https://electronics.stackexchange.com/a/1852/53769
** (aparte de las resistencias en serie de adaptación de impedancia, pero eso es 50 capítulos antes de este tema)
Ignacio Vázquez-Abrams
keith