Ввод- вывод большого количества сигналов
Ввод- вывод большого количества сигналов
Добрый день
подскажите пож, каким образом лучше организовать Ввод- вывод большого количества сигналов (например 32 на входе и 32 на выходе) , портов ввода- вывода не достаточно (ATMega 8 . ).
(имеется ввиду - схемное решение, с программой надеюсь разберусь... )
--
Спасибо
подскажите пож, каким образом лучше организовать Ввод- вывод большого количества сигналов (например 32 на входе и 32 на выходе) , портов ввода- вывода не достаточно (ATMega 8 . ).
(имеется ввиду - схемное решение, с программой надеюсь разберусь... )
--
Спасибо
Последний раз редактировалось igor-x Пн дек 13, 2010 14:44:34, всего редактировалось 1 раз.
- Реклама
Re: Ввод- вывод большого количества сигналов
сдвиговые регистры вам в помощь.
Re: Ввод- вывод большого количества сигналов
посоветуйте бюджетный вариант?lix писал(а):сдвиговые регистры вам в помощь.
Re: Ввод- вывод большого количества сигналов
74hc164 и 74hc165
вместо 164 можно 595, у них защелки есть на выходах
вместо 164 можно 595, у них защелки есть на выходах
Re: Ввод- вывод большого количества сигналов
микросхемы расширители порта,по стандартному spi,однако это резко понизит реакцию системыigor-x писал(а):Добрый день
портов ввода- вывода не достаточно (ATMega 8 . ).
(имеется ввиду - схемное решение, с программой надеюсь разберусь... )
--
Спасибо
- Реклама
Re: Ввод- вывод большого количества сигналов
Входы- 74нс251(n шт), выходы-74нс595(к шт), причем на пины программатора, туда же и 4-битную шину данных ЛСД- такое использую, только пока мега162 и мега32/324lsdy писал(а):микросхемы расширители порта,по стандартному spi,однако это резко понизит реакцию системыigor-x писал(а):Добрый день
Re: Ввод- вывод большого количества сигналов
спасибо!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: Ввод- вывод большого количества сигналов
Какая вам разницаigor-x писал(а):10 MR - почему master reset, а не просто reset ?
даigor-x писал(а): 11 SH_CP - фронтом импульса происходит сдвиг из DS
12 ST_CP - фронтом из сдвигового регистра происходит запись в выходной буфер
Если нужно чтобы на конкретном выходе было конкретное для него значение нужно подать 8 импульсов (16, 32, 1024, смотря сколько каскадов на 595) на SH_CP, а потом 1 импульс на ST_CP. Если подавать импульсы на ST_CP постоянно, как на SH_CP, то сигналы на выходах будут просто бежать, как в елочных гирляндах.igor-x писал(а): то есть на ST_CP можно подать постоянно частоту с генератора имп. - чтоб данные были всегда на выходе?
На самом деле подключение 595 регистра, это тот же самый SPI-интерфейс...igor-x писал(а): и если не сложно - пример подключения этой МС на пины программатора.
- Вложения
-
- mega8_595.GIF
- (7.3 КБ) 428 скачиваний
Re: Ввод- вывод большого количества сигналов
хочется знать что же он сбрасывает - только выходной буфер или сдвиговый регистр тоже?Engineer_Keen писал(а):Какая вам разницаigor-x писал(а):10 MR - почему master reset, а не просто reset ?![]()
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: Ввод- вывод большого количества сигналов
MR сбрасывает только сдвиговый регистр.
Re: Ввод- вывод большого количества сигналов
Использовать нормальный микроконтроллер, а не из каменного века.igor-x писал(а):Ввод- вывод большого количества сигналов (например 32 на входе и 32 на выходе) , портов ввода- вывода не достаточно (ATMega 8 . ).
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: Ввод- вывод большого количества сигналов
Это какой?Satyr писал(а):Использовать нормальный микроконтроллер, а не из каменного века.
Выбор контроллера зависит от задачи.
Re: Ввод- вывод большого количества сигналов
а на каком нормальном контроллере можно организовать ввод-вывод 300 и более логических сигналов?Satyr писал(а):Использовать нормальный микроконтроллер, а не из каменного века.igor-x писал(а):Ввод- вывод большого количества сигналов (например 32 на входе и 32 на выходе) , портов ввода- вывода не достаточно (ATMega 8 . ).
Re: Ввод- вывод большого количества сигналов
Вот в вашу копилку-решение увеличения входов/выходов.Кнопок можно гораздо более сделать.Рисовать поленился.Давно это было.
- Вложения
-
- KEY.rar
- (43.95 КБ) 182 скачивания
- avreal
- Опытный кот
- Сообщения: 842
- Зарегистрирован: Чт дек 31, 2009 19:27:45
- Откуда: Бровари, Україна
- Контактная информация:
Re: Ввод- вывод большого количества сигналов
Входы - 74hc597, "комплементарная" к hc595.svs39 писал(а):Входы- 74нс251(n шт), выходы-74нс595(к шт), причем на пины программатора,
Цоколёвка одинаковая, но логика перезаписи из регистра в регистр другая, поэтому я делал на модуле два строба - 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-мегагерцовом процессоре. Не так и много.
Можно расщепить петлю на две ветки, из одной читать вместе с запиисью в другую. Это ускорит в два раза, если число входов и выходов одинаково. Но петля удобна трассировкой, особенно если входы и выходы чередуются.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Re: Ввод- вывод большого количества сигналов
Вот и я про то. Зачем для задачи, где только ввода-вывода надо 64 ноги брать 28 ногий контроллер. где логика ?Engineer_Keen писал(а):Это какой?Satyr писал(а):Использовать нормальный микроконтроллер, а не из каменного века.
Выбор контроллера зависит от задачи.
Re: Ввод- вывод большого количества сигналов
Вобще задача стоит о 64 линиях ввода-вывода.igor-x писал(а): а на каком нормальном контроллере можно организовать ввод-вывод 300 и более логических сигналов?
Сходу так могу сказать, где 160 линий есть. Причем корпус еще вполне паяемый (пробовал -)) ), есть в Москве в наличии по 400р в розницу.
Последний раз редактировалось Satyr Ср янв 26, 2011 12:09:48, всего редактировалось 1 раз.
Re: Ввод- вывод большого количества сигналов
к сожалению задача была озвучена неточно - имелось в виду число выходных сигналов больше числа портов МКSatyr писал(а):Вобще задача стоит о 64 линиях ввода-вывода.igor-x писал(а): а на каком нормальном контроллере можно организовать ввод-вывод 300 и более логических сигналов?
Re: Ввод- вывод большого количества сигналов
А частота опроса/изменения состояния какая ?igor-x писал(а): к сожалению задача была озвучена неточно - имелось в виду число выходных сигналов больше числа портов МК
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
Re: Ввод- вывод большого количества сигналов
Вопрос не в том чем расширить возможности, а в том успеете ли ввести/вывести данные.
Озвучте задачу. Что за сигналы, где, чем и как формируются?
Что является приемником сигналов? Как часто должно меняться?
Озвучте задачу. Что за сигналы, где, чем и как формируются?
Что является приемником сигналов? Как часто должно меняться?
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже


