Encontrar el valor de la resistencia pull-up

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?

¿Qué pines funcionarán en la configuración de drenaje abierto?
La resistencia pullup solo pierde potencia cuando la señal es baja. Si la señal es alta, el voltaje a través de la resistencia es cero, por lo que no consume energía. Por lo tanto, cuando no esté utilizando el autobús, asegúrese de que la señal que se está levantando pueda subir.

Respuestas (1)

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)

Si planeo poner la MCU en reposo (y otros componentes), ¿seguiré necesitando Pull-ups? La MCU toma alrededor de 0,2 mA, la SRAM consumirá <3 mA y la radio es un cerdo que consume 15-30 mA. La radio estará durmiendo la mayor parte del tiempo. ¿Por qué dices que el Atmel desperdicia miliamperios?
@Therusscher eso depende de cómo actúen esos componentes. En todos los modos de suspensión que conozco en un Tiny861 o 861A, las salidas seguirán siendo válidas. Lo único que hace un modo de suspensión es apagar algunos o todos los relojes, por lo que ya no puede hacer todo. Pero no le dice a las salidas que hagan nada. Hace mucho tiempo, probé esto conectando 8 LED a un puerto, hice que cambiara el número en la salida, me durmiera durante 2 segundos (inicialmente 10, pero me impacienté por un ciclo completo), despertar, cambiar, dormir . En todos los modos de suspensión, los LED seguían indicando el mismo número. Puedes rehacer ese experimento.
@Therusscher El Atmel, y cualquier lógica, que bombea señales de conmutación desde un conjunto de pines, como SPI, consume energía para hacer eso. Dependiendo de la velocidad que tendrá en promedio, estimaría 0,1 mA en el extremo inferior (rango de kHz bajo) y 5 mA en el extremo superior (cerca o en MHz) con trazas cortas y simples. Las huellas complejas o largas lo empeoran mucho. No puede cambiar eso, necesita energía para hacer que todas las cosas en el chip cambien y luego también para forzar que las trazas cambien de menor a mayor (y viceversa).
¿Podría explicar "Un pull-up de 1 MOhm con un rastro de 50 pF ya tendrá un tiempo RC de 50 microsegundos". ¿Qué es exactamente una traza de 50pF? ¿Una resistencia más pequeña tendría un tiempo RC más pequeño?
@Therusscher Cualquier pieza de metal en el mundo tiene una capacitancia, en las PCB, una traza tendrá una capacitancia notable porque está cerca de GND y POW y puede formar un capacitor de placa. 50pF no es mucho para un rastro. Si conecta una resistencia a un capacitor y desea cargar ese capacitor a través de la resistencia, obtienen un tiempo RC. Es el valor de R multiplicado por el de C en segundos para recorrer aproximadamente 2/3 del camino. Entonces, reducir la R reducirá su tiempo de RC, sí. Es posible que te estés sumergiendo demasiado si aún no sabes cosas como esa.