Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: навесные порты
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
grach41
Bit (ы) в AVR программируются туда - сюда каждый по отдельности, но их маловато. Нельзя ли навесить дополнительно таких же на МК bit штук 300 а то и все 1024 таких же.
prottoss
Попробуй воспользоваться поиском по форуму, здесь есть несколько тем про расширение портов МК
Kovrov
если навесить только уда или только сюда то проблем (на последоват регистрах) нет только в объеме
а если туда сюда- то то нужно дву направленные формирователи а это уже объем поболее учитывая что нада 1024
самое радикальное решение это ПЛИС - тут моня крутить вертеть как хошь
prottoss
Цитата(Kovrov @ Jun 25 2006, 17:00) *
если навесить только уда или только сюда то проблем (на последоват регистрах) нет только в объеме
а если туда сюда- то то нужно дву направленные формирователи а это уже объем поболее учитывая что нада 1024
самое радикальное решение это ПЛИС - тут моня крутить вертеть как хошь


Опять все заново...))) Спор уже был, но моня еще продолжить. ИМХО дешевле, больше портов ВВ, и универсальнее на МК сделать, на тех же АВРах. Посмотрите в сторону ATmega169, портов, правда не 1024, а всего лишь 54 (- 3 если по USART пользовать, -4, если по SPI, хотя скорость поболее будет). НО можно найти и не АВР а какой другой МК с подходящим количеством линий... К тому же часть функций хоста (управляющего МК) можно переложить в "порты" на МК
beer_warrior
Вообще-то меня терзают смутные сомненья, успеет ли АВР обработать столько ВВ с разумным быстродействием, во-вторых (ну допустим будут не сдвиговые регистры, а адресуемые байтовые защелки), хватит ли ресурсов это все отработать(надо же это все анализировать, т.е. делать какие-то переменные соответствующие портам) и в-третьих для такого в/в понадобиться, например альтеры 3128 от 3-х до 8-штук в QFP144/160, что на порядок перевесит цену Меги128. ИМХО стоит поискать какое-нибудь другое решение. Хотя бы то же ядро AVR выполненное в жирной FPGA, а лучше что-н 32-х разрядное.
prottoss
Цитата(beer_warrior @ Jun 25 2006, 17:24) *
Вообще-то меня терзают смутные сомненья, успеет ли АВР обработать столько ВВ с разумным быстродействием, во-вторых (ну допустим будут не сдвиговые регистры, а адресуемые байтовые защелки), хватит ли ресурсов это все отработать(надо же это все анализировать, т.е. делать какие-то переменные соответствующие портам) и в-третьих для такого в/в понадобиться, например альтеры 3128 от 3-х до 8-штук в QFP144/160, что на порядок перевесит цену Меги128. ИМХО стоит поискать какое-нибудь другое решение. Хотя бы то же ядро AVR выполненное в жирной FPGA, а лучше что-н 32-х разрядное.


Конечно, если вам надо изменять в единицу времени все 1024 порта, то точно, даже пень4+ с 3-я уровнями кэша может перегрется. Вообще сама идея по поводу 1024 (и даже 300) линий не совсем удачна, наверняка есть какая то альтернатива...
beer_warrior
Цитата
Конечно, если вам надо изменять в единицу времени все 1024 порта,

Да просто гарантированно засечь изменения, прерываний же не будет.Значит поллить постоянно. А иначе это будет пригодно только для зажигания 1024 светодиодов smile.gif
=GM=
Цитата(grach41 @ Jun 25 2006, 02:50) *
Bit (ы) в AVR программируются туда - сюда каждый по отдельности, но их маловато. Нельзя ли навесить дополнительно таких же на МК bit штук 300 а то и все 1024 таких же.


Ещё один вариант. Параллельно к одному порту МК подключаете 8 регистров (типа 533ИР12, или 564ИР12, или что-то похожее, в зависимости от требований к быстродействию, потреблению, нагрузочной способности), ножки /WR этих 8-ми регистров подключаете к другому порту МК. Импульсы записи с выхода второго порта придется формировать программно, ну или поставить микросхему дешифратора.

Таким образом можно легко получить 64 ноги вместо 16-ти. Если их недостаточно, можно надстроить следующий слой. Восемь регистров дадут 64*4=256 ног и т.д. Конечно. время доступа удвоится, но не так, как в случае последовательного соединения.

Ну и как уже справедливо говорилось, подобную схемотехнику можно закатать в ПЛИС. Все зависит от цены вопроса.
beer_warrior
Цитата
Ну и как уже справедливо говорилось, подобную схемотехнику можно закатать в ПЛИС. Все зависит от цены вопроса.

Собсно говоря это самое правильное решение, только вот 300 триггеров это 38 регистров, не говоря уже об дешифраторах или 2-3 достаточно жирных ПЛИСины.Овчинка выделки не стоит.
grach41
Быстродействие не нужно. Задача позвонка жгутов. Идея пустить “бегущую 1” по проводам и читать ответ сравнивая с созданным массивом – эталонном в PCADе. Для каждого соединителя выделить по отдельному порту с шифром и задача контроля решена.
Где-то я видел такой порт в PICах связь с МК по I2C.
beer_warrior
Цитата
Быстродействие не нужно. Задача позвонка жгутов. Идея пустить “бегущую 1” по проводам и читать ответ

Если обобщить - проверить на замыкание 300-1000 прооводников.
Я думаю в таком случае вам подойдет решение для матричной клавиатуры - тоько вместо кнопок проверяемые проводники.
Итого на 1024 проводника матрица 32x32. 4 сдвигоывх регистра (или дешифратора ) на опрос, 4 на прием данных. И мелкая мега для управления. smile.gif
otrog
Цитата(beer_warrior @ Jun 27 2006, 12:38) *
Цитата
Быстродействие не нужно. Задача позвонка жгутов. Идея пустить “бегущую 1” по проводам и читать ответ

Если обобщить - проверить на замыкание 300-1000 прооводников.
Я думаю в таком случае вам подойдет решение для матричной клавиатуры - тоько вместо кнопок проверяемые проводники.
Итого на 1024 проводника матрица 32x32. 4 сдвигоывх регистра (или дешифратора ) на опрос, 4 на прием данных. И мелкая мега для управления. smile.gif

Думаю такое не прокатит. Представьте ситуацию, когда замкнулись линии, отвечающие за опрос huh.gif .
Вот если-бы матрицу, где любую линию можно было и читать и писать + хитрое сканирование, тогда наверно получится.
beer_warrior
Цитата
Представьте ситуацию, когда замкнулись линии, отвечающие за опрос .

Ну во-первых для чего существуют диоды? Во-вторых это уже сама по себе аварийная ситуация, которую можно отловить и обработать отдельно. В-третьих, я просто показываю направление куда копать, 8 регисторв - не 50.
=GM=
Цитата
Если обобщить - проверить на замыкание 300-1000 прооводников.
Я думаю в таком случае вам подойдет решение для матричной клавиатуры - только вместо кнопок проверяемые проводники.
Итого на 1024 проводника матрица 32x32. 4 сдвиговых регистра (или дешифратора ) на опрос, 4 на прием данных. И мелкая мега для управления. smile.gif


Ваш расчет неправильный. Проверить надо матрицу от 300х300 до 1000х1000 или 90000-1000000 кнопок. Еще надо учесть что проводник имеет два конца, надо проверить не только возможное замыкание между проводниками, но и разрыв проводников, так что количество кнопок учетверяется. Хотя предложенная идея сама по себе отличная.

Думаю на практике будет приемлем длинный сдвиговый регистр на 300-1000 выводов (на передачу) и столько же на прием. Регистры должны иметь параллельные вход и выход.
CDT
Цитата(=GM= @ Jun 27 2006, 17:58) *
Думаю на практике будет приемлем длинный сдвиговый регистр на 300-1000 выводов (на передачу) и столько же на прием. Регистры должны иметь параллельные вход и выход.

И все это подключать прямо к компьютеру, а не к МК.
iosifk
Цитата(CDT @ Jun 28 2006, 08:20) *
Цитата(=GM= @ Jun 27 2006, 17:58) *

Думаю на практике будет приемлем длинный сдвиговый регистр на 300-1000 выводов (на передачу) и столько же на прием. Регистры должны иметь параллельные вход и выход.

И все это подключать прямо к компьютеру, а не к МК.


Есть и еще один вариант:
У меня на сайте есть проект для FPGA - битовый процессор. Для него обмолотить 1024 битовых переменных - любимое занятие. И сделает это он быстрее, чем РС или ARM.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.