Ввод- вывод большого количества сигналов

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
igor-x
Мудрый кот
Сообщения: 1817
Зарегистрирован: Пн ноя 29, 2010 15:58:43

Ввод- вывод большого количества сигналов

Сообщение igor-x »

Добрый день

подскажите пож, каким образом лучше организовать Ввод- вывод большого количества сигналов (например 32 на входе и 32 на выходе) , портов ввода- вывода не достаточно (ATMega 8 . ).
(имеется ввиду - схемное решение, с программой надеюсь разберусь... )
--
Спасибо
Последний раз редактировалось igor-x Пн дек 13, 2010 14:44:34, всего редактировалось 1 раз.
Реклама
lix
Опытный кот
Сообщения: 703
Зарегистрирован: Вс янв 17, 2010 15:32:19
Откуда: Курган

Re: Ввод- вывод большого количества сигналов

Сообщение lix »

сдвиговые регистры вам в помощь.
Реклама
Аватара пользователя
igor-x
Мудрый кот
Сообщения: 1817
Зарегистрирован: Пн ноя 29, 2010 15:58:43

Re: Ввод- вывод большого количества сигналов

Сообщение igor-x »

lix писал(а):сдвиговые регистры вам в помощь.
посоветуйте бюджетный вариант?
lix
Опытный кот
Сообщения: 703
Зарегистрирован: Вс янв 17, 2010 15:32:19
Откуда: Курган

Re: Ввод- вывод большого количества сигналов

Сообщение lix »

74hc164 и 74hc165
вместо 164 можно 595, у них защелки есть на выходах
Реклама
Эиком - электронные компоненты и радиодетали
lsdy
Открыл глаза
Сообщения: 78
Зарегистрирован: Пн апр 05, 2010 22:30:53

Re: Ввод- вывод большого количества сигналов

Сообщение lsdy »

igor-x писал(а):Добрый день

портов ввода- вывода не достаточно (ATMega 8 . ).
(имеется ввиду - схемное решение, с программой надеюсь разберусь... )
--
Спасибо
микросхемы расширители порта,по стандартному spi,однако это резко понизит реакцию системы
Реклама
svs39
Встал на лапы
Сообщения: 95
Зарегистрирован: Вс авг 22, 2010 09:23:08

Re: Ввод- вывод большого количества сигналов

Сообщение svs39 »

lsdy писал(а):
igor-x писал(а):Добрый день
микросхемы расширители порта,по стандартному spi,однако это резко понизит реакцию системы
Входы- 74нс251(n шт), выходы-74нс595(к шт), причем на пины программатора, туда же и 4-битную шину данных ЛСД- такое использую, только пока мега162 и мега32/324
Реклама
Аватара пользователя
igor-x
Мудрый кот
Сообщения: 1817
Зарегистрирован: Пн ноя 29, 2010 15:58:43

Re: Ввод- вывод большого количества сигналов

Сообщение igor-x »

lsdy писал(а): Входы- 74нс251(n шт), выходы-74нс595(к шт), причем на пины программатора, туда же и 4-битную шину данных ЛСД- такое использую, только пока мега162 и мега32/324
спасибо!
подскажите пож. по 74нс595:
правильно ли я понял назначение выводов? (из даташит)
10 MR - почему master reset, а не просто reset ?
11 SH_CP - фронтом импульса происходит сдвиг из DS
12 ST_CP - фронтом из сдвигового регистра происходит запись в выходной буфер

то есть на ST_CP можно подать постоянно частоту с генератора имп. - чтоб данные были всегда на выходе?

и если не сложно - пример подключения этой МС на пины программатора.
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Ввод- вывод большого количества сигналов

Сообщение Engineer_Keen »

igor-x писал(а):10 MR - почему master reset, а не просто reset ?
Какая вам разница :))
igor-x писал(а): 11 SH_CP - фронтом импульса происходит сдвиг из DS
12 ST_CP - фронтом из сдвигового регистра происходит запись в выходной буфер
да
igor-x писал(а): то есть на ST_CP можно подать постоянно частоту с генератора имп. - чтоб данные были всегда на выходе?
Если нужно чтобы на конкретном выходе было конкретное для него значение нужно подать 8 импульсов (16, 32, 1024, смотря сколько каскадов на 595) на SH_CP, а потом 1 импульс на ST_CP. Если подавать импульсы на ST_CP постоянно, как на SH_CP, то сигналы на выходах будут просто бежать, как в елочных гирляндах.
igor-x писал(а): и если не сложно - пример подключения этой МС на пины программатора.
На самом деле подключение 595 регистра, это тот же самый SPI-интерфейс...
Вложения
mega8_595.GIF
(7.3 КБ) 428 скачиваний
Аватара пользователя
igor-x
Мудрый кот
Сообщения: 1817
Зарегистрирован: Пн ноя 29, 2010 15:58:43

Re: Ввод- вывод большого количества сигналов

Сообщение igor-x »

Engineer_Keen писал(а):
igor-x писал(а):10 MR - почему master reset, а не просто reset ?
Какая вам разница :))
хочется знать что же он сбрасывает - только выходной буфер или сдвиговый регистр тоже?
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Ввод- вывод большого количества сигналов

Сообщение Engineer_Keen »

MR сбрасывает только сдвиговый регистр.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Ввод- вывод большого количества сигналов

Сообщение Satyr »

igor-x писал(а):Ввод- вывод большого количества сигналов (например 32 на входе и 32 на выходе) , портов ввода- вывода не достаточно (ATMega 8 . ).
Использовать нормальный микроконтроллер, а не из каменного века.
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Ввод- вывод большого количества сигналов

Сообщение Engineer_Keen »

Satyr писал(а):Использовать нормальный микроконтроллер, а не из каменного века.
Это какой?
Выбор контроллера зависит от задачи.
Аватара пользователя
igor-x
Мудрый кот
Сообщения: 1817
Зарегистрирован: Пн ноя 29, 2010 15:58:43

Re: Ввод- вывод большого количества сигналов

Сообщение igor-x »

Satyr писал(а):
igor-x писал(а):Ввод- вывод большого количества сигналов (например 32 на входе и 32 на выходе) , портов ввода- вывода не достаточно (ATMega 8 . ).
Использовать нормальный микроконтроллер, а не из каменного века.
а на каком нормальном контроллере можно организовать ввод-вывод 300 и более логических сигналов?
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: Ввод- вывод большого количества сигналов

Сообщение Vov123 »

Вот в вашу копилку-решение увеличения входов/выходов.Кнопок можно гораздо более сделать.Рисовать поленился.Давно это было.
Вложения
KEY.rar
(43.95 КБ) 182 скачивания
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

Re: Ввод- вывод большого количества сигналов

Сообщение avreal »

svs39 писал(а):Входы- 74нс251(n шт), выходы-74нс595(к шт), причем на пины программатора,
Входы - 74hc597, "комплементарная" к hc595.
Цоколёвка одинаковая, но логика перезаписи из регистра в регистр другая, поэтому я делал на модуле два строба - hc595 перезапись из поледовательного в пааллельный одним, для hc597 для защёлкивания/перезапси в последовательный - другим.
И перемычки перед сотв. входом. В результате можно сделать в одной петле spi все, а потом по вариантам исполнения паять в нужное место hc595 или hc597 и на том месте перемычку на нужный строб. Ну а входные/выходные цепи уже на той плате, в которую модуль вставляется.
Точнее, у меня так только одну из трёх микросхем в серединке заменить нужно было, на одном краю петли были только входы, на другом - только выходы. Чтобы лишних перемычек не паять. Т.е. кроме ШИМ-ов и АЦП было или 8in/16out или 16in/8out.
Цикл обмена - защёлкнуть входы, прогнать spi_io() по числу подключенных микросхем, защёлкнуть выходы.

Ну а торомзнутость/не тормознутость петли SPI, это смотря как считать и с чем сравнивать.
Пусть даже есть куча портов, вывод из массиа и ввод в массив - это горсть обращений к памяти, для avr - lds+out или lds+in на байт, 4 такта на байт.
Для SPI - lds/sts "растворяются" в обмене по SPI, для тех же AVR получаем 16 тактов на байт плюс чтение из памяти первого байта перед циклом и запись после.. Вроде как аж в четрыре раза медленнее.
Но - пусть у нас таких регистров в петле 32 (256 бит IO).
32*16 - 512 тактов. 64 микросекунды на 8-мегагерцовом процессоре. Не так и много.

Можно расщепить петлю на две ветки, из одной читать вместе с запиисью в другую. Это ускорит в два раза, если число входов и выходов одинаково. Но петля удобна трассировкой, особенно если входы и выходы чередуются.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Ввод- вывод большого количества сигналов

Сообщение Satyr »

Engineer_Keen писал(а):
Satyr писал(а):Использовать нормальный микроконтроллер, а не из каменного века.
Это какой?
Выбор контроллера зависит от задачи.
Вот и я про то. Зачем для задачи, где только ввода-вывода надо 64 ноги брать 28 ногий контроллер. где логика ?
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Ввод- вывод большого количества сигналов

Сообщение Satyr »

igor-x писал(а): а на каком нормальном контроллере можно организовать ввод-вывод 300 и более логических сигналов?
Вобще задача стоит о 64 линиях ввода-вывода.

Сходу так могу сказать, где 160 линий есть. Причем корпус еще вполне паяемый (пробовал -)) ), есть в Москве в наличии по 400р в розницу.
Последний раз редактировалось Satyr Ср янв 26, 2011 12:09:48, всего редактировалось 1 раз.
Аватара пользователя
igor-x
Мудрый кот
Сообщения: 1817
Зарегистрирован: Пн ноя 29, 2010 15:58:43

Re: Ввод- вывод большого количества сигналов

Сообщение igor-x »

Satyr писал(а):
igor-x писал(а): а на каком нормальном контроллере можно организовать ввод-вывод 300 и более логических сигналов?
Вобще задача стоит о 64 линиях ввода-вывода.
к сожалению задача была озвучена неточно - имелось в виду число выходных сигналов больше числа портов МК
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Ввод- вывод большого количества сигналов

Сообщение Satyr »

igor-x писал(а): к сожалению задача была озвучена неточно - имелось в виду число выходных сигналов больше числа портов МК
А частота опроса/изменения состояния какая ?
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Ввод- вывод большого количества сигналов

Сообщение Meteor »

Вопрос не в том чем расширить возможности, а в том успеете ли ввести/вывести данные.
Озвучте задачу. Что за сигналы, где, чем и как формируются?
Что является приемником сигналов? Как часто должно меняться?
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»