Немного теории о управляющей электронике. Я уже упоминал что для того, чтобы зажечь любой диод в матрице куба мне достаточно 4 контакта от микроконтроллера(хотя можно и на 2 контактах извратится). Я буду задействовать 12 контактов. Теперь подробней:
И так, для таких случаев когда надо управлять большим количеством контактов имея при этом в наличии всего пару, самым оптимальным является использование дискретной логики, я использую сдвиговые регистры. Регистры бывают разные:
1) Параллельный вход и вывод
2) Последовательный вход и вывод
3) Параллельный вход, последовательный вывод
4) Последовательный вход, параллельный вывод
Мне больше всего подходит 4 тип. Немного теории.
Схема:
и так начнем с входов:
A,B - вход данных, оба соединены с логическим элементом типа "И", т.е. 1 поступает в регистр только когда на входе A и B будет 1.
CP - синхросигнал, при появлении логической 1 происходит сдвиг данных в следующий элемент регистра
MR - это общий сброс.
Выходы
Q0..Q7 - параллельные выходы.
Размер матрицы 8х8х8 не случаен, куб может быть разный и 3х3х3 и 24х24х24 а регистры имеют на борту ограниченное количество блоков, как правило это 2,4,8, Блоки эти кстати это D-триггеры, и сдвиговый регистр это несколько соединенных между собой D-триггеров. В принципе можно при желании собрать регистр произвольной длинны, мне же для моего куба вполне достаточно 9 сдвиговых регистров 74HC164N (Кстати именно его схема изображена на схеме выше.) 8 регистров для анодов (8 регистров по 8 контактов = 64 анода) и 1регистр для этажей.
Итого мне необходимо на каждый из регистров по 1 контакту, + 1 контакт как синхронный, и необходим еще один чтобы подавать напряжение. при помощи регистров формируется цепь по которой протекает ток, и она описывает какие диоды и на каком этаже в этот момент времени загорятся. Получается 10 контактов, 11 - это общий сброс, необходимость в 12 обусловлена работой самого триггера.
И так, для таких случаев когда надо управлять большим количеством контактов имея при этом в наличии всего пару, самым оптимальным является использование дискретной логики, я использую сдвиговые регистры. Регистры бывают разные:
1) Параллельный вход и вывод
2) Последовательный вход и вывод
3) Параллельный вход, последовательный вывод
4) Последовательный вход, параллельный вывод
Мне больше всего подходит 4 тип. Немного теории.
Схема:
и так начнем с входов:
A,B - вход данных, оба соединены с логическим элементом типа "И", т.е. 1 поступает в регистр только когда на входе A и B будет 1.
CP - синхросигнал, при появлении логической 1 происходит сдвиг данных в следующий элемент регистра
MR - это общий сброс.
Выходы
Q0..Q7 - параллельные выходы.
Размер матрицы 8х8х8 не случаен, куб может быть разный и 3х3х3 и 24х24х24 а регистры имеют на борту ограниченное количество блоков, как правило это 2,4,8, Блоки эти кстати это D-триггеры, и сдвиговый регистр это несколько соединенных между собой D-триггеров. В принципе можно при желании собрать регистр произвольной длинны, мне же для моего куба вполне достаточно 9 сдвиговых регистров 74HC164N (Кстати именно его схема изображена на схеме выше.) 8 регистров для анодов (8 регистров по 8 контактов = 64 анода) и 1регистр для этажей.
Итого мне необходимо на каждый из регистров по 1 контакту, + 1 контакт как синхронный, и необходим еще один чтобы подавать напряжение. при помощи регистров формируется цепь по которой протекает ток, и она описывает какие диоды и на каком этаже в этот момент времени загорятся. Получается 10 контактов, 11 - это общий сброс, необходимость в 12 обусловлена работой самого триггера.
Комментариев нет:
Отправить комментарий