fk0, легенда (08.12.2015 13:23 - 13:25, просмотров: 252) ответил alex 54 на Обращаюсь с просьбой,кто-нибудь знает можно ли преобразовать сигналы ttl уровня с обычного инкрементального кодера(я рассматриваю кодер от принтера)в цифровую форму SPI ? Буду очень признателен за любую информацию по интересующему меня вопросу.
Студент что ли. 1533ИР9 приспособить для выдачи данных (SDA), на вход "C" подать SCL. Отрицательный фронт (парочку ЛА3 в помощь) сигнала Chip Select использовать для переноса информации из счётчика 1533ИЕ16 (по счётчику на каждую оптопару, или подыскать другой 8-разрядный реверсивный счётчик, или на паре 4-разрядных собрать, на худой конец один 4-разрядный, но опрашивать часто придётся). Выходы обоих фаз оптопары пустить на вход счётчиков, чтоб считал в разную сторону, в зависимости от того какой фронт (на какой фазе) первый, для того, например, одну фазу пустить на стробирующий вход (C) счётчика, и параллельно на D-вход триггера (1533ТМ2), вторую фазу на C вход триггера, выход триггера на вход +/- счётчика. Счётчиков и регистров сдвига может быть дофига, как и подключенных оптопар, хоть 100 штук (регистры сдвига объединить последовательно, через последовательный выход и последовательный вход). Микропроцессор должен периодически вычитывать N бит (где N = 8*число регистров) информации, делить её на 8-битные слова и значение каждого слова -- значение счётчика связанного с конкретной оптопарой. Так вот разность значений (для каждого слова) текущего и считанного в прошлый раз (опрос периодический же) -- это на сколько шагов (число со знаком) повернулась оптопара (а знак -- направление). Хоть чего-нибудь понял? Боюсь, что нет. Сейчас можно на CPLD сделать (1 микросхема всего), но боюсь всё равно дороже. Оптимум -- микроконтроллер, но он может не сгодиться для очень быстрых оптопар.
[ZX]