¿Puedo usar un botón en lugar de un reloj de cristal?

Entonces, básicamente, quiero finalmente entrar en la electrónica. Hace un tiempo compré unos chips MCP3008 y sensores de presión analógicos. He querido construir un sistema de aire comprimido con él.

Sin embargo... quiero evitar el uso de un microcontrolador.

He hecho mucha programación en el pasado, y tiendo a gustarme poder depurar cosas. Así que me preguntaba; ¿Es posible reemplazar una señal de reloj con un simple botón? La razón es... Quiero reducir la velocidad del reloj para poder averiguar manualmente cómo trabajar con el SPI. Posiblemente usando algunos LED, botones, etc. y grabando los resultados.

Entiendo que los botones pueden necesitar antirrebote, etc... pero ¿funcionaría?

Durante la última hora más o menos, estuve buscando una respuesta en Google y no apareció nada definitivo.

Después de mirar la hoja de datos del MCP3008 aquí: https://www.adafruit.com/datasheets/MCP3008.pdf

Parece que el tiempo mínimo alto/bajo del reloj es de 125 nanosegundos; no hay un máximo en la lista. ¿Significa esto que si conecto un botón sin rebote como señal de reloj, funcionará bien?

Gracias de antemano por cualquier ayuda. Pido disculpas si me estoy perdiendo algo obvio.

¡No seas tonto! Utilice una MCU.
La razón por la que me gustaría evitar un MCU es porque parece excesivo para un proyecto de este tipo. Todo lo que me gustaría hacer es leer y mostrar la presión del aire usando un sensor, un chip y una especie de pantalla. Entiendo que tendrá que haber algo de "pegamento" entre estos... pero siento que un MCU es un poco más de pegamento del que debería ser necesario.
No, un microcontrolador es exactamente el pegamento que tiene sentido. Cualquier otra cosa sería desordenada, grande y difícil de cambiar.
Tener miedo de MCU en un primer paso es quizás normal. Parece ser mucho trabajo para un poco de producción. Pero reemplazar protocolos con botones o circuitos le da mucho más trabajo. Si realmente quiere entender cómo funcionan las cosas, compre un osciloscopio y mire las señales que envía. Estudie las hojas de datos y use un poco de imaginación. Además, con la experiencia con MCU, lo tiene mucho más fácil para proyectos futuros. Imagina un mundo en el que tienes que comenzar cada contador con conexión lógica y/o etc. O similar si todos los programas, incluso los juegos, se programaran en ensamblador. Simplemente no es útil
Honestamente, si bien esta pregunta contiene algunos errores de principiante, no merece un -3. Estaba razonablemente bien formulado que dos personas pudieran responderla.
Hay méritos reales para ambos argumentos aquí, pero un término medio que puede no haber sido explorado: use una MCU, pero úsela en efecto como un circuito simulado de software para realizar experimentos para determinar la velocidad de reloj mínima que funciona, y potencialmente usarla conduciendo los pines en modo GPIO como una fuente de reloj de botón pulsador sin rebote de software y delegado de pantalla. En última instancia, si encuentra de esta manera que los periféricos son "totalmente estáticos" sin reloj mínimo o sensibilidad a la fluctuación del reloj, entonces puede considerar construir un circuito más primitivo para operarlos directamente de esa manera.

Respuestas (2)

Página 4 de la hoja de datos a la que publicó un enlace. Nota 3):

Debido a que el límite de muestra eventualmente perderá carga, las frecuencias de reloj efectivas por debajo de 10 kHz pueden afectar la linealidad.

Luego dice "Consulte la Sección 6.2" que se encuentra en la página 22.

De esa sección dice que la velocidad del reloj no necesita ser constante para la conversión, pero a velocidades de reloj efectivas inferiores a 10 kHz, la carga en el capacitor de muestra se pierde y el resultado es inexacto.

Básicamente, esto podría funcionar, pero no obtendrá un resultado de conversión sensato.


Estoy tentado a decir, si es solo para depurar, "Pruébalo y verás". Pero no lo hagas por nada sensato.

¿Es posible reemplazar una señal de reloj con un simple botón?

Básicamente no. No a la velocidad que las cosas necesitan para funcionar aquí.

Parece que el tiempo mínimo alto/bajo del reloj es de 125 nanosegundos; no hay un máximo en la lista. ¿Significa esto que si conecto un botón sin rebote como señal de reloj, funcionará bien?

Es al revés, tienes la preocupación de no enviar lo suficientemente rápido con tu botón (además de la necesidad de tener pulsos agudos).

En teoría, SPI no tiene una velocidad de reloj mínima, pero los chips como MCP3008 sí la tienen. No hay un tiempo de espera obligatorio estándar en la inactividad del bus para SPI, a diferencia de, por ejemplo, en SMBus [donde el tiempo de espera estándar se traduce en un reloj mínimo de 19 kHz]. Los asuntos prácticos son diferentes. Sé de recuerdos de MCU elegantes cuyo SPI no funciona por debajo del rango de reloj de MHz. Tom descubrió cuáles son las limitaciones de su chip (+1).

Para obtener consejos sobre cómo depurar SPI a bajo costo, probablemente podría consultar las mejores herramientas para depurar circuitos digitales simples. y el analizador lógico para principiantes?

Finalmente en cuanto a

La razón por la que me gustaría evitar un MCU es porque parece excesivo para un proyecto de este tipo. Todo lo que me gustaría hacer es leer y mostrar la presión del aire usando un sensor, un chip y una especie de pantalla. Entiendo que tendrá que haber algo de "pegamento" entre estos... pero siento que un MCU es un poco más de pegamento del que debería ser necesario.

Bueno, compraste los chips equivocados (MCP3008) para esa ruta. Suponiendo que sus sensores de presión analógicos emitan su medición como voltaje, un chip como ICL7107 sería una interfaz directa entre un sensor analógico como ese y una pantalla. Básicamente, para evitar la MCU, desea un convertidor A/D con una interfaz de pantalla integrada.

Incluso tenemos una respuesta agradable y detallada aquí que compara las complejidades relativas de las soluciones basadas en MCU/arduino e ICL7107 (basadas en ASIC): https://electronics.stackexchange.com/a/66580/54580