cats_shadow: (Default)
[personal profile] cats_shadow
Продолжаем разговор, начатый в прошлый раз.
Дано:
  • надо обеспечить
    • дискретные выходы — 25 шт
      • управление датчиками влажности — 10 шт.
      • управление клапанами — 10 шт
      • управление датчиками расстояния — 2 шт.
      • управление насосом — 1 шт.
      • управление индикатором — 2 шт.
    • дискретные входы — 3 шт
      • датчики расстояния — 2 шт
      • кнопка — 1 шт
    • аналоговый вход — 1 шт
  • имеется на контроллере
    • GPIO — 11 шт.
    • аналоговый вход — 1 шт.

Итого наблюдается явная недостача дискретных входов/выходов.
Вопрос коллеги «А чего ты контроллер побольше не возьмёшь?» - был отметён, как неконструктивный. :)
Первая мысль, организовать 4-х битовую адресную шину, уткнулась в наличие двоичных дешифраторов исключительно с инверсными выходами, т.е. в необходимость дополнительных инверторов там, где рассчитывал обойтись без них.
Раз с параллельностью нам облом, придётся переходить на последовательную передачу. То есть на сдвиговые регистры. Группируем сигналы по назначению и считаем.
Статические выходные сигналы не критичные по времени - 21 шт (управление клапанами, датчиками влажности и насосом). Эти выведем в сдвиговый регистр - 3GPIO.
Сигналы, критичные ко времени - 7GPIO (датчики расстояния, кнопка, индикатор).

Итого требуется всего 10GPIO и сдвиговый регистр на 3 байта. Считаем, что задача решена.

Комментировать в исходнике

Date: 2017-02-20 09:53 pm (UTC)
qkowlew: На Зилантконе меня сфоткали мыльницей. Мыльницам не позирую! (Default)
From: [personal profile] qkowlew
А аналоговый вход на что задействован будет?

Date: 2017-02-21 07:34 am (UTC)
ext_1262629: (Default)
From: [identity profile] cats-shadow.cats-home.net
Чтение информации с датчиков влажности грунта. Доберусь/будет время -- схемку нарисую.

November 2025

S M T W T F S
      1
2345678
9101112131415
16171819 202122
23242526272829
30      

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 7th, 2026 12:22 pm
Powered by Dreamwidth Studios