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

 
 
> EPM240 кучка енкодеров, кнопок и новичек., подключение енкодеров
light_junior
сообщение Feb 16 2017, 19:03
Сообщение #1





Группа: Участник
Сообщений: 5
Регистрация: 16-02-17
Пользователь №: 95 481



Добрый день всем форумчанам.

Я, будем откровенны, совершенный новичек в ПЛИС, до этого работал только с МК ARM, поэтому прошу небольшой помощи или советов по вопросу:
Нужно с помощью cpld работать с приличным количеством энкодеров, в данный момент 8, после достижения первичной цели будет в районе 30-36, далее информация должна будет передаваться на МК, по SPI-slave интерфейсу
Пока только организовал саму схему работы с одним инкрементальным энкодером, получаю такты енкодера, и направление 0(по часам)/1(против), и задумался как грамотно обрабатывать все в куче. Задача состоит в том, что в SPI данные должны приходить только по требованию (в момент когда только какой либо енкодер активный), и оттуда их потом будет забирать мастер-SPI МК. Вот некоторая дополнительная информация:
- энкодеры являют обычными поворотными, и важно знать не угол вращение, а инкрементальную часть, то есть повернули на 4 такта скажем (суммарных тактов), соответственно должно быть 4 пакета с данными {номер енкодера, дикремент, инкремент}
- энкодеры вращаются независимо, то есть может один/два, могут с одинаковым фронтом (чисто теоретически, но все же).
- помимо енкодеров, есть еще много кнопок, их тоже необходимо опрашивать независимо (матричная схема включения не подходит), то есть информация так же должна уходить в SPI - как разрешать тогда проблему приходжения данных в SPI от двух источников? буфер? FIFO на тригерах?
- желательно что бы все это добро поместилось в EPM240.

Буду благодарен за любую помощь
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
light_junior
сообщение Feb 21 2017, 09:39
Сообщение #2





Группа: Участник
Сообщений: 5
Регистрация: 16-02-17
Пользователь №: 95 481



Цитата(Koluchiy @ Feb 20 2017, 04:41) *
Я честно говоря не очень понимаю, какую помощь хочет получить ТС.
Судя по прочитанному, проект несложный, я такие еще на MAX3000 делал sm.gif.
Но за ТСа его никто здесь не разработает.
Можно отвечать на конкретные вопросы, но их должно быть ограниченное количество, а то пока что глаза разбегаются sm.gif.
Влезет или не влезет 240 - ну это вообще вопрос 20й. Если не влезет, то впаять в те же ноги микросхему большего размера. Если на это денег нет - ну, думать, как утрамбовать.

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

Цитата(Timmy @ Feb 20 2017, 23:36) *
Если максимальная частота ниже примерно 10000 четвёртых цикла в секунду, то 32 энкодера можно и на микроконтроллере обсчитать с антидребезгом, если выше - можно использовать Lattice MachXO на 1200LE, туда точно всё влезет.

Энкодеры поворотные, по примеру вот таких
Да, Вы правы, можно на МК обрабатывать так и делал ранее, но я хочу вынести всю подключаемую "периферию" на ПЛИС, а МК использовать только как декодер команд. Таким образом поддерживается модульность всего устройства, и обеспечена масштабируемость, для достижения большего количества периферии достаточно будет использовать ПЛИС с большим количеством выводов.
До этого, рассматривал вариант, для кнопок и светодиодов, сдвиговые регистры 74CH, но отказался по причине наращивания корпусов, слишком много выходит, есть правда еще аналоговая часть для МК, но там без мультиплексоров не обойтись.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Feb 21 2017, 11:31
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(light_junior @ Feb 21 2017, 12:39) *
Вопрос был по сути один - каким образом достигнуть согласования нескольких источников сигнала, для передачи на один выход, в данном случае последовательный интерфейс SPI, ключевое слово "концепция", "архитектура",

Могу рассказать, как это делается.
По скайпу голосом...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- light_junior   EPM240 кучка енкодеров, кнопок и новичек.   Feb 16 2017, 19:03
- - krux   имхо не стоит даже и пытаться запихнуть всё это в ...   Feb 16 2017, 19:25
|- - light_junior   Цитата(krux @ Feb 16 2017, 13:25) имхо не...   Feb 16 2017, 19:35
|- - krux   Цитата(light_junior @ Feb 16 2017, 22:35)...   Feb 16 2017, 20:11
|- - iosifk   Цитата(light_junior @ Feb 16 2017, 22:35)...   Feb 16 2017, 20:31
- - light_junior   Цитата(krux @ Feb 16 2017, 14:11) 1. вы д...   Feb 17 2017, 15:15
- - Koluchiy   Я честно говоря не очень понимаю, какую помощь хоч...   Feb 20 2017, 10:41
|- - Timmy   Если максимальная частота ниже примерно 10000 четв...   Feb 21 2017, 05:36
|- - Maverick   Цитата(light_junior @ Feb 21 2017, 11:39)...   Feb 21 2017, 10:26
|- - x736C   Цитата(iosifk @ Feb 21 2017, 14:31) Могу ...   Feb 21 2017, 11:52
|- - Maverick   Цитата(x736C @ Feb 21 2017, 13:52) Здравс...   Feb 21 2017, 12:00
|- - iosifk   Цитата(x736C @ Feb 21 2017, 14:52) Здравс...   Feb 21 2017, 12:54
- - krux   по вопросу кнопок. уточняюще-наводящий вопрос. соб...   Feb 21 2017, 18:32
- - light_junior   Maverick, Так как информация редкая достаточно, то...   Feb 21 2017, 20:30


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

 


RSS Текстовая версия Сейчас: 26th June 2025 - 08:17
Рейтинг@Mail.ru


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