реклама на сайте
подробности

 
 
> Использовать или нет ПЛИС
Kitsok
сообщение Jan 27 2007, 11:47
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 9-11-06
Пользователь №: 22 136



Добрый день!

Использую AT91SAM7S256 для некого устройства ввода-вывода, он-же мега-джойстик wink.gif

Для организации опроса 128 кнопок и вывода на 128 светодиодов, пришлось нагородить матрицу с опросом, т.е. дешифратор сборный, 4 входа, 16 линий выхода (строки), и мультиплексор 8->1 (столбцы).

Входы мультиплексор подтянуты к питанию, на пересечении стоят развязанные диодами кнопки. По строками последовательно бегает логический ноль, соответственно, на мультиплексоре перебираются последовательно все каналы, выход идет на контроллер, если на выходе нолик, то в данном положении кнопка нажата. В общем, по-моему, весьма классическая схема. Итого - 3 корпуса стандартной логики.

Когда задумался о выводе, то тут я решаю так - использую 8 защелок с выборкой в одном корпусе (74HC259), выбор защелки внутри осуществляется теми-же линиями (3), которые идут на мультиплексор, а Latch Enable идет с дешифратора, ввод данных общий на всех и идет на контроллер.

Получается, что на вывод мне нужно 16 корпусов.

Вот тут и вопрос - а не красивее ли использовать для организации всей матрицы (и ввода и вывода) ПЛИС? Но с ПЛИСами я дела никогда не имел, поэтому не очень представляю, как с ними обращаться.

Посоветуйте пожалуйста, следует ли копать в этом направлении (количество входов-выходов - 128 с нагрузочной способностью минимум 10мА + к этому 8+16, итого - 152 ноги, ну и 10 ног в сторону контроллера, итого - 162 ноги), либо стоит не заморачиваться и ставить корпуса?

Заранее спасибо и сорри, если оффтоп.
Go to the top of the page
 
+Quote Post
2 страниц V  < 1 2  
Start new topic
Ответов (15 - 22)
Kitsok
сообщение Jan 27 2007, 19:26
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 9-11-06
Пользователь №: 22 136



Цитата(mse @ Jan 27 2007, 18:23) *
Не вкурил. У САМа СПИ, например, фурычит на МЦЛК/2...Вы что, портами врукопашную машете?


Не, я не на SPI мерял, а на порту, который к дешифратору и муксу подключен, а там я руками машу.
К SPI боязно подступать, хотя к TWI еще страшнее wink.gif
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jan 28 2007, 06:40
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(Kitsok @ Jan 27 2007, 14:56) *
Хм.. А не подскажете что-нибудь более доставабельное, чем MBI5025? И еще я не понял, как их каскадировать. Т.е. по крайней мере LE должно идти к каждому корпусу, SDO-SDI - это понятно, CLK у всеъ одно, так?
Там всё просто. Почитайте даташит, пожалуйста, и разберитесь в работе микросхемы..


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Kitsok
сообщение Jan 28 2007, 10:44
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 9-11-06
Пользователь №: 22 136



Цитата(Stanislav @ Jan 28 2007, 06:40) *
Там всё просто. Почитайте даташит, пожалуйста, и разберитесь в работе микросхемы..


Да вроде разобрался, но не уверен.
Правильно ли я понимаю, что во время загрузки, скажем, двух каскадированных регистров числом 10101010...10, при OE поставленном на землю, младший разряд первого в каскаде регистра будет по мере загрузки мигать с частотой CLK?

Сообщение отредактировал Kitsok - Jan 28 2007, 10:45
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Jan 29 2007, 14:47
Сообщение #19


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



http://www.altera.com/literature/an/an426.pdf
Здесь, кроме типового включения сканирования "столбцы-строки", они привели опрос клавиатуры через АЦП и даже методику, превращающую ПЛИС в АЦП с вычислением - какая клавиша нажата.
---
Можно сделать и так:
ПЛИС ---> декодер 4-16 ---> 16 столбцов клавиатуры/ 8 строк ---> приоритетный шифратор 8-3 ---> ПЛИС
Итого: 7 выводов на опрос 128-контактной клавиатуры и решение проблемы токовой нагрузки.
Это просто идея, наличия подобных ИМС на рынке я не проверял (декодер 4-16 то точно есть).


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
Kitsok
сообщение Jan 29 2007, 15:10
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 9-11-06
Пользователь №: 22 136



Цитата(Евгений Николаев @ Jan 29 2007, 14:47) *
http://www.altera.com/literature/an/an426.pdf
Здесь, кроме типового включения сканирования "столбцы-строки", они привели опрос клавиатуры через АЦП и даже методику, превращающую ПЛИС в АЦП с вычислением - какая клавиша нажата.
---
Можно сделать и так:
ПЛИС ---> декодер 4-16 ---> 16 столбцов клавиатуры/ 8 строк ---> приоритетный шифратор 8-3 ---> ПЛИС
Итого: 7 выводов на опрос 128-контактной клавиатуры и решение проблемы токовой нагрузки.
Это просто идея, наличия подобных ИМС на рынке я не проверял (декодер 4-16 то точно есть).


Да, есть и 8->3 приоритетный, и 4->16, хоть он и редок. Буду почитать, спасибо!
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Jan 29 2007, 15:58
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Кстати, если к светодиодам не предъявляются какие-то особые требования, то с ними можно поступить примерно также - динамическая индикация. Есть светодиоды, которые от 1мА постоянного тока светят также, как АЛ307 от 10мА.


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jan 29 2007, 16:56
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(Kitsok @ Jan 28 2007, 10:44) *
Да вроде разобрался, но не уверен.
Правильно ли я понимаю, что во время загрузки, скажем, двух каскадированных регистров числом 10101010...10, при OE поставленном на землю, младший разряд первого в каскаде регистра будет по мере загрузки мигать с частотой CLK?
Нет, не правильно.
Переписывание из регистра сдвига в выходной регистр происходит по сигналу LE. Загрузив новыми данными всю "колбасу", достаточно подать единственный импульс на соотв. входы микросхем, и информация на выходах одновременно изменится.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Kitsok
сообщение Feb 1 2007, 11:50
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 9-11-06
Пользователь №: 22 136



Цитата(Stanislav @ Jan 29 2007, 16:56) *
Нет, не правильно.
Переписывание из регистра сдвига в выходной регистр происходит по сигналу LE. Загрузив новыми данными всю "колбасу", достаточно подать единственный импульс на соотв. входы микросхем, и информация на выходах одновременно изменится.


Спасибо большое, на стенде все оказалось предельно просто, все работает как и задумано.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 02:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01419 секунд с 7
ELECTRONIX ©2004-2016