Можно ли использовать кнопку вместо часового кристалла?

В общем, я хочу, наконец, заняться электроникой. Недавно я купил несколько микросхем MCP3008 и аналоговых датчиков давления. Я хотел построить систему сжатого воздуха с ним.

Однако... Я хочу избежать использования микроконтроллера.

В прошлом я много занимался программированием, и мне нравится отлаживать вещи. Так что мне было интересно; Можно ли заменить тактовый сигнал простой кнопкой? Причина в том, что... я хочу замедлить часы, чтобы вручную понять, как работать с SPI. Возможно использование некоторых светодиодов, кнопок и т.д. и запись результатов.

Я понимаю, что может потребоваться устранение дребезга кнопок и т. д., но будет ли это работать?

В течение последнего часа или около того я гуглил в поисках ответа, и ничего определенного не нашел.

Посмотрев техническое описание MCP3008 здесь: https://www.adafruit.com/datasheets/MCP3008.pdf

Кажется, что минимальное время минимума/максимума часов составляет 125 наносекунд; макс не указан. Означает ли это, что если бы я подключил неисправную кнопку в качестве тактового сигнала, она бы работала нормально?

Спасибо заранее за любую помощь. Прошу прощения, если я упустил что-то очевидное.

Не глупи! Используйте микроконтроллер.
Причина, по которой я хотел бы избежать MCU, заключается в том, что это кажется излишним для такого проекта. Все, что я хотел бы сделать, это считывать и отображать давление воздуха с помощью датчика, чипа и своего рода дисплея. Я понимаю, что между ними должен быть какой-то «клей»… но я чувствую, что MCU — это немного больше клея, чем нужно.
Нет, микроконтроллер — это именно тот клей, который имеет смысл. Все остальное было бы грязным, большим и трудно поддающимся изменению.
Бояться MCU на первом этапе, возможно, нормально. Кажется, что много работы для небольшого результата. Но замена протоколов кнопками или цепями дает вам гораздо больше работы. Если вы действительно хотите понять, как все работает, то купите осциллограф и посмотрите на сигналы, которые вы отправляете. Изучите таблицы данных и включите воображение. Кроме того, с опытом работы с микроконтроллерами вам будет намного проще работать над будущими проектами. Представьте себе мир, в котором вы должны начинать каждый счетчик с логической и/или иной связи. Или подобное, если бы каждое программное обеспечение, даже игры, было бы запрограммировано на ассемблере. Просто не полезно
Честно говоря, хотя этот вопрос содержит некоторые ошибки новичка, он не заслуживает -3. Он был достаточно хорошо сформулирован, чтобы на него могли ответить два человека.
Здесь есть реальные достоинства обоих аргументов, но золотая середина, которая, возможно, не была исследована: используйте микроконтроллер, но используйте его в качестве схемы, смоделированной программным обеспечением, для проведения экспериментов для определения минимальной тактовой частоты, которая работает, и потенциально используйте его для управления контакты в режиме GPIO в качестве источника тактовой частоты кнопки с программным устранением дребезга и делегата дисплея. В конечном счете, если вы таким образом обнаружите, что периферийные устройства «полностью статичны» без минимальной чувствительности к тактовой частоте или тактовому джиттеру, то вы можете рассмотреть возможность создания более примитивной схемы для непосредственного управления ими таким образом.

Ответы (2)

Страница 4 таблицы, на которую вы разместили ссылку. Заметка 3):

Поскольку крышка образца в конечном итоге разряжается, эффективная тактовая частота ниже 10 кГц может повлиять на линейность.

Затем он говорит: «Обратитесь к разделу 6.2», который находится на странице 22.

В этом разделе говорится, что тактовая частота не обязательно должна быть постоянной для преобразования, но при эффективной тактовой частоте ниже 10 кГц заряд конденсатора образца утекает, и результат оказывается неточным.

В принципе, это может сработать, но вы не получите ощутимого результата преобразования.


У меня возникает соблазн просто сказать, если это только для отладки: «Попробуй и увидишь». Но не делайте этого ни за что разумное.

Можно ли заменить тактовый сигнал простой кнопкой?

В основном нет. Не на той скорости, которая должна здесь работать.

Кажется, что минимальное время минимума/максимума часов составляет 125 наносекунд; макс не указан. Означает ли это, что если бы я подключил неисправную кнопку в качестве тактового сигнала, она бы работала нормально?

Наоборот, вы беспокоитесь о недостаточно быстрой отправке с помощью кнопки (кроме необходимости иметь четкие импульсы).

Теоретически у SPI нет минимальной тактовой частоты, но у таких чипов, как MCP3008, она есть. Для SPI нет стандартного тайм-аута при бездействии шины, в отличие, скажем, от SMBus [где стандартный тайм-аут соответствует минимальной тактовой частоте 19 кГц]. Практические дела обстоят иначе. Я знаю воспоминания о причудливых микроконтроллерах, у которых SPI не работает ниже тактового диапазона МГц. Том действительно нашел ограничения для вашего чипа (+1).

Чтобы получить советы по отладке SPI по дешевке, вы, вероятно, могли бы посмотреть Лучшие инструменты для отладки простых цифровых схем? и логический анализатор для начинающих?

Наконец относительно

Причина, по которой я хотел бы избежать MCU, заключается в том, что это кажется излишним для такого проекта. Все, что я хотел бы сделать, это считывать и отображать давление воздуха с помощью датчика, чипа и своего рода дисплея. Я понимаю, что между ними должен быть какой-то «клей»… но я чувствую, что MCU — это немного больше клея, чем нужно.

Что ж, вы купили не те чипы (MCP3008) для этого маршрута. Предполагая, что ваши аналоговые датчики давления выводят свои измерения в виде напряжения, микросхема, такая как ICL7107 , будет прямым интерфейсом между таким аналоговым датчиком и дисплеем. В основном, чтобы избежать MCU, вам нужен аналого-цифровой преобразователь со встроенным интерфейсом дисплея.

У нас даже есть хороший подробный ответ, сравнивающий относительную сложность решений на основе MCU/arduino и ICL7107 (на основе ASIC): https://electronics.stackexchange.com/a/66580/54580