В общем, я хочу, наконец, заняться электроникой. Недавно я купил несколько микросхем MCP3008 и аналоговых датчиков давления. Я хотел построить систему сжатого воздуха с ним.
Однако... Я хочу избежать использования микроконтроллера.
В прошлом я много занимался программированием, и мне нравится отлаживать вещи. Так что мне было интересно; Можно ли заменить тактовый сигнал простой кнопкой? Причина в том, что... я хочу замедлить часы, чтобы вручную понять, как работать с SPI. Возможно использование некоторых светодиодов, кнопок и т.д. и запись результатов.
Я понимаю, что может потребоваться устранение дребезга кнопок и т. д., но будет ли это работать?
В течение последнего часа или около того я гуглил в поисках ответа, и ничего определенного не нашел.
Посмотрев техническое описание MCP3008 здесь: https://www.adafruit.com/datasheets/MCP3008.pdf
Кажется, что минимальное время минимума/максимума часов составляет 125 наносекунд; макс не указан. Означает ли это, что если бы я подключил неисправную кнопку в качестве тактового сигнала, она бы работала нормально?
Спасибо заранее за любую помощь. Прошу прощения, если я упустил что-то очевидное.
Страница 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
Леон Хеллер
Кринукс
Олин Латроп
Сидер
Физз
Крис Стрэттон