Расширитель порта ВВОДА/ВЫВОДА для AVR

Обсуждаем цифровые устройства...
Ответить
RuslanXXX
Родился
Сообщения: 7
Зарегистрирован: Вт апр 12, 2011 15:50:29

Расширитель порта ВВОДА/ВЫВОДА для AVR

Сообщение RuslanXXX »

Всем привет. Необходимо решить вот такую задачку: имеется устройство с большим числом входов/выходов (всего 144) построенное на микросхемах с ТТЛ уровнями. Необходимо управлять всеми этими входами/выходами через ATMEGUXXX , которая имеет КМОП уровни. Обмен данными в обе стороны. Подскажите, что можно сделать. Возможно есть какой-нибудь расширитель портов который преобразует уровни ТТЛ в КМОП и наоборот.
Реклама
Аватара пользователя
coredumped
Опытный кот
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Re: Расширитель порта ВВОДА/ВЫВОДА для AVR

Сообщение coredumped »

Атмелка ващето совместима по уровням с TTL. Как я понял нужно сделать 144 IO - тут решений несколько. Можно использовать регистры + дешифратор, можно специализированные расширители шины с управлением по I2C.
Уточните, плиз:
1. Сколько входных портов, сколько выходных, сколько двунаправленных?
2. Какая скорость обмена необходима.
А то дробь слишком офигенная получается :shock:

ЗЫ:Всех поздравляю с Днем Космонавтики :)
Все будет только лучше, в крайнем случае - хуже.
Реклама
RuslanXXX
Родился
Сообщения: 7
Зарегистрирован: Вт апр 12, 2011 15:50:29

Re: Расширитель порта ВВОДА/ВЫВОДА для AVR

Сообщение RuslanXXX »

все 144 канала должны быть двунаправленными и иметь ТТЛ уровень. Информацию с этих каналов необходимо передавать в ATMEGU. Скорость обмена 4 МГц. Укажите, плиз, конкретные микросхемы и пример их подключения. Расскажите про расширители по I2C.
Аватара пользователя
coredumped
Опытный кот
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Re: Расширитель порта ВВОДА/ВЫВОДА для AVR

Сообщение coredumped »

Задачка нерешаемая. 4 мегагерца на 144 I/0 - здоровья у AVR не хватит. Это получается 144/8=18. Для оработки линий потребуется тактов 16-20 на одну 8-битную шину.
Исходя из этого, даже на самой быстрой меге (20МГц) получаем 20/(20*18) = 0.055МГц. А еще с этими данными надо что-то сделать. Короче обеспечить скорость обмена 4МГц - невозможно на данном контроллере.

Насчет I2C I/O экспандеров: я использовал вот такую http://www.nxp.com/documents/data_sheet/PCF8575.pdf
тут можете почитать про другие расширители http://ics.nxp.com/products/gpio.expanders/i2c/
Тока решение (с I2C) еще медленнее, притом раз в 10.

Вам помогут только шинные формирователи типа SN74LS245, и то они обеспечат (вкупе с контроллером), от силы 50кГц, как я писал выше.

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

Re: Расширитель порта ВВОДА/ВЫВОДА для AVR

Сообщение Meteor »

Слишком неопределенно. Могу предложить такой вариант (см рисунок)
Он конечно 4 МГц не даст, но при желании, можно выйти к уровню 1...2 МГц
Данная схема легко расширяется до требуемого количества
Вложения
mega_r.JPG
(212.93 КБ) 1068 скачиваний
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15575
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Расширитель порта ВВОДА/ВЫВОДА для AVR

Сообщение BOB51 »

а не проще ли сделать "распараллеливание" на нескольких переферийных ИС(МК) для предварительной оперативной обработки линий, а окончательную обработку отдать центральному ядру?
да и, судя по всему, схема совершенно сырая - неужто все сразу 144 канала работают и как входы и как выходы? :)
а ежли уж оччень приперло - втисни регистровое кольцо - 144 -150 тактов на сбор одного пакета информации, примерно столько же и на обновление выходных данных
примерно 18 восьмиразрядных регистров а-ля 561ир6 :cry:
Реклама
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

Re: Расширитель порта ВВОДА/ВЫВОДА для AVR

Сообщение DX168B »

Тут наверное нужен ARM поскоростнее, чтобы достичь таких скоростей.
I am DX168B and this is my favourite forum on internet!
RuslanXXX
Родился
Сообщения: 7
Зарегистрирован: Вт апр 12, 2011 15:50:29

Re: Расширитель порта ВВОДА/ВЫВОДА для AVR

Сообщение RuslanXXX »

еще разочек обрисую то что хочу получить: Имеется десяток устройств и все имеют разъем со 144 контактами, которые имеют ТТЛ уровень. Необходимо разработать универсальное изделие для работы со всеми десятью устройствами, таким образом чтобы разъем изделия можно было подключить к любому из десяти устройств. Перед началом работы, идет конфигурация 144 пинов на вход/выход для конкретного устройства. На счет скорости в 4 Мгц, я погорячился и в настоящий момент безразлично на какой скорости вести обмен.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15575
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Расширитель порта ВВОДА/ВЫВОДА для AVR

Сообщение BOB51 »

явно недоработанные устройства :shock:
единственно что напоминают - анализатор линий связи проводной телефонии :cry:
ну еще отладнчно-тестовый стенд при производстве теликов в древние времена (или современный аналог экспресс-анализатора участка по выпуску радиоэлектронных(компьютерных) плат), дак и там уже давно первую часть задачи выполняют программы внутреннего самотестирования для сведения к минимуму цепе внешней коммм...утации :))
orinoko

Re: Расширитель порта ВВОДА/ВЫВОДА для AVR

Сообщение orinoko »

RuslanXXX писал(а):еще разочек обрисую то что хочу получить: Имеется десяток устройств и все имеют разъем со 144 контактами, которые имеют ТТЛ уровень. Необходимо разработать универсальное изделие для работы со всеми десятью устройствами, таким образом чтобы разъем изделия можно было подключить к любому из десяти устройств. Перед началом работы, идет конфигурация 144 пинов на вход/выход для конкретного устройства. На счет скорости в 4 Мгц, я погорячился и в настоящий момент безразлично на какой скорости вести обмен.
Кстати, задача достаточно нетривиальна, так как требуется независимая настройка КАЖДОГО "контакта" на вход или выход, то есть нужно сделать некий упрощённый аналог портов ввода-вывода МК:
1. пачка параллельных регисторов на вывод (PORTx) - 18 штук (например 74HC573)
2. буферные элементы с возможностью перевода каждого выхода в Z-состояние (например 74125) 36 штук + регистры управления этими буферами (DDRx) 18 штук
3. пачка параллельных регисторов на вывод (PINx) - 18 штук
4. Адресный дешифратор для всего это хозяйства.

Некисло получается на дискретной логике. Можно попробовать заюзать ПЛИС на нужное количество выводов, и тогда можно будет обойтись более реальным количеством микросхем.
Вот такое моё видение данной задачи.
Аватара пользователя
coredumped
Опытный кот
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Re: Расширитель порта ВВОДА/ВЫВОДА для AVR

Сообщение coredumped »

Теперь хоть понятно, что нужно :)
Я уже выше писал про GPIO expaner-ы - у NXP/Philips (и не только) есть куча готовых чипов. Там есть возможность сконфигурить каждый пин отдельно на ввод или вывод. Для нашего случая, кмк, хорошо подходит. Обратите внимание на PCA8575 - 16 независимых I/O - навеситиь 9 штук - вот и готовое решение на 144 ноги. Можно глянуть еще у Maxim/National/Dallas. Лепить на "рассыпухе" - слишком геморно.
Можно предложить вариант с CPLD (например Altera MAX)- будет работать шустрее, чем с I2C.
Все будет только лучше, в крайнем случае - хуже.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Расширитель порта ВВОДА/ВЫВОДА для AVR

Сообщение Satyr »

Опять же - что, так сильно пригорело AVR ?
Зачем изобретать велосипед на пустом месте ?

Есть дешевые ARM контроллеры с 160 GPIO пинами в паябельных корпусах.
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: Расширитель порта ВВОДА/ВЫВОДА для AVR

Сообщение qwerky »

Я уже выше писал про GPIO expaner-ы - у NXP/Philips (и не только) есть куча готовых чипов. Там есть возможность сконфигурить каждый пин отдельно на ввод или вывод. Для нашего случая, кмк, хорошо подходит.
ну-ну... почитайте выше требования по скорости. 4МГц I2C никогда не даст. Плюс плохая помехозащищенность на длинной линии. И цена - намного дороже обычных регистров.
Возможен еще вариант организации псевдо-двунаправленной шины с помощью "открытого коллектора" - посл.диода с каждым выводом 74HC595, 74HC597 - на прием. Для макс.скорости подключить на SPI.
RuslanXXX
Родился
Сообщения: 7
Зарегистрирован: Вт апр 12, 2011 15:50:29

Re: Расширитель порта ВВОДА/ВЫВОДА для AVR

Сообщение RuslanXXX »

решил попробовать в качестве расширителя использовать трехпортовый AVR. Но появились опять вопросы: как тактировать одним сигналом все шесть МК, какая должна быть схема. И еще раз хочу уточнить, AVR совместим с ТТЛ?
Аватара пользователя
coredumped
Опытный кот
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Re: Расширитель порта ВВОДА/ВЫВОДА для AVR

Сообщение coredumped »

qwerky писал(а):ну-ну... почитайте выше требования по скорости. 4МГц I2C никогда не даст. Плюс плохая помехозащищенность на длинной линии. И цена - намного дороже обычных регистров.
Возможен еще вариант организации псевдо-двунаправленной шины с помощью "открытого коллектора" - посл.диода с каждым выводом 74HC595, 74HC597 - на прием. Для макс.скорости подключить на SPI.
ну-ну. почитайте ветку. Я уже писал выше, что добиться 4МГц на 144 линиях никаким образом на AVR не получится.
Это Вы читали?
RuslanXXX писал(а):На счет скорости в 4 Мгц, я погорячился и в настоящий момент безразлично на какой скорости вести обмен.
PS: Без обид :beer:
Последний раз редактировалось coredumped Чт апр 14, 2011 19:52:42, всего редактировалось 1 раз.
Все будет только лучше, в крайнем случае - хуже.
Аватара пользователя
coredumped
Опытный кот
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Re: Расширитель порта ВВОДА/ВЫВОДА для AVR

Сообщение coredumped »

RuslanXXX писал(а):... вопросы: как тактировать одним сигналом все шесть МК, какая должна быть схема. И еще раз хочу уточнить, AVR совместим с ТТЛ?
Да, AVR совместим с TTL. Насчет тактирования - поставьте фьюзы на использование внешнего генератора(CKSEL3..0 = 0). Поставьте в схему любой кварцевый генератор с выходом TTL, на нужную частоту. Подайте эту частоту на все контроллеры, на вход XTAL1.
Все будет только лучше, в крайнем случае - хуже.
Ответить

Вернуться в «Цифровая техника»