Как стать автором
Обновить

Комментарии 24

Для любителей «схемотехнических извращений» есть хорошая, не потерявшая актуальность книжка «Шевкопляс Б.В. Микропроцессорные структуры»
Ещё можно почитать аппноты от Microchip-a:
TB029 — Complementary LED Drive
и
AN529 — Multiplexing LED Drive and 4x4 Keypad Sampling
Есть специальные микросхемы — называются расширители ввода/вывода,
I/O Expander. Работаю обычно через i2c интерфейс от Максим, например, очень удобно
и не нужно лишнего кодить.
Микросхемы
Удобные, но дешевле будет отдельный МК для этих целей. Например те же STM8 (14 рублей в розницу)
Дешевле, но это еще одна программа, еще один программатор (возможно средства отладки), дополнительный разъем программирования на плате
В проектах, за которые платят, куда важнее площадь на плате, которую займет дополнительная микруха
А в промышленных масштабах за такие решения надо отрезать хвост по самую голову :)
В проектах, за которые платят деньги, учитывается куча факторов. И площадь на плате тут один из последних, если суть проекта не в габаритах. Экономя один цент на площади, можно потратить один бакс на более дорогую микру. Или же наоборот. Или снизить надёжность устройства до того, что оно работать будет только на стенде.
Расскажите по секрету, где такие цены видели?
Я видел минимум по 48 руб (или по 25 руб при тираже от 100 шт). Может не там смотрю и есть места подешевле? =)
Только дорогие они обычно. Во большинстве случаев достаточно будет сдвиговых регистров 74HC595 (вывод) и 74HC165 (ввод). В том же Элитане можно найти по цене менее 10 р, если брать по 10+ штук. В розницу обычно рублей 20 стоят.
Вы правы, они дороже, но защелки все равно не супер решение, так как
1) они все же требуют больше ног МК, чем расширители ввода/вывода
2) расширители умеют обрабатывать переходы уровней, когда нужно действовать по событию
3) масштабирование проекта на сдвиговых более затруднительно.
Да и вообще, нужно уходить от использования дискретных компонентов — это касается особенно если Вы работаете в серию.
Так да, идеального решения здесь нет — потому и написал, что в большинстве случаев, а не всегда. Но, как я написал ниже, лучше не вообще извращаться, а просто взять нормальный камень с кучей ножек — для этого их и делают (:
Во-первых, дороже, во вторых расстояние. Больше чем на 30см расширитель не потянешь, а эта моя схема надежно работает в автомобиле на 3-метровом проводе. Изначально туда планировался LIN на MCP2021, но жаба — страшное животное…
Кто вам сказал? Шина I2C на невысокой частоте тянется и тянется…
Не хочу рекламировать, но довольно элегантные решения подключения кнопок и светодиодов можно поискать на easyelectronics , там тоже затрагивается проблема экономии ног
А если присмотреться к реализации параллельных ЦАП, то можно развить идею детектирования нажатия комбинаций клавиш
О таких штуковинах еще в лохматых годах писал небезызвестный в определенных кругах А. Торрес rf.atnn.ru/s3/pic-rx.html
У товарища Dihalt-a есть ещё интересная статья по теме экономии
Управление семисегментными индикаторами по одному проводу.

Но как по мне то право на жизнь имеет и этот способ, всё равно, всегда, делаешь по обстоятельствам а там и более сумашедшее может получится — потом думаешь как оно вообще работает )
А мне нравиться, такие решения часто нашу оборонку напоминают, у каждой загогулины двойное назначение ). Накой мегу брать если тож самое удастся в 2313 запихнуть. Есть только один нюанс, потенциал модернизации падает до нельзя (. В идеале взять и контроллер побольше и оптимизации побольше, тогда и хитро и красиво и в случае чего можно модернизировать.
Если есть возможность, лучше просто забыть про Atmel'овыские МК и перейти на STM32 — там 32-битное ядро Cortex-M3, куча очень грамотной периферии с DMA, образцовые pin-to-pin совместимость и совместимость кода, и корпуса вплоть до LQFP176. Как сейчас не нужен QBasic, потому что есть современные языки программирования — так и не нужны всяческие извращения, когда есть современные МК.
Минимум 48.
При такой схем можно подключить, грубо говоря, сколько угодно кнопок, а вот светодиодов только два будет:)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории