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

 
 
> 30 каналов сравнения
oleg_d
сообщение May 13 2006, 18:55
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 12-05-06
Из: Latvija
Пользователь №: 17 041



С ПЛИС я раньше не работал. Поэтому прошу вас, уважаемые участники форума, подскажите возможно ли на ПЛИС решить следующую задачу. Нужно сделать один таймер 24 бита, 30 каналов сравнения все по 24 бита. Выход каждого канала сравнения идет на свою ножку ПЛИС. Значения для каналов сравнения задаем через внешнюю 8 бит шину. Частота на входе таймера 1.5 МГц. И какой девайс потянет такую задачу.
Go to the top of the page
 
+Quote Post
2 страниц V  < 1 2  
Start new topic
Ответов (15 - 23)
oleg_d
сообщение May 15 2006, 22:50
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 12-05-06
Из: Latvija
Пользователь №: 17 041



Цитата(SpyBot @ May 15 2006, 11:06) *
Цитата(oleg_d @ May 14 2006, 15:19) *

Вход только один для регистра захвата счетчика если нещитать 8 битную шину.

Имелся ввиду вход от датчика оборотов. У вас же какой-то двигатель?


Да мотор, и формированием импульсов с датчика вращения
занимается LM1815 и еще микроконтроллер.
Go to the top of the page
 
+Quote Post
oleg_d
сообщение May 15 2006, 23:09
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 12-05-06
Из: Latvija
Пользователь №: 17 041



Цитата(iosifk @ May 15 2006, 12:24) *
Цитата(Gate @ May 15 2006, 12:47) *


Если нужно в fpga запихнуть что-то еще, то можно заниматься оптимизацией, по типу предложенной iosifk: увеличить частоту в N раз, константы для компараторов запихать в память, за 1 такт делать М сравнений (M*N>=30) - это потребует М компараторов.

. Повторяю, проблема по ресурсам упирается в первую очередь в память для хранения констант для компараторов.


Еще раз - нужен ОДИН счетчик для таймера и ОДИН компаратор,
Еще нужен ОДИН счетчик и ОДИН сумматор, как указатели на память.
И двухпортовка 24х30х2 - одна часть для значений таймеров, другая для значений, с которыми надо сравнивать. Возможно при 30х1,5 Мег потребуется конвейер для цепи сравнения.
поднимаем частоту в 30 раз относительно частоты сэмплирования
А вот результат сравнения недо разнести по 30 битам через мультиплексор.

Вот только можно здесь добавить - а зачем нужно сравнивать с каким-то значением? Почему нельзя загружать код и декрементировать до нуля? При этом еще чуть-чуть будет экономии...
Я не задаю вопрос: "А для чего нужно 24 бита, нельзя ли сделать предделитель так, чтобы было несколько диапазонов"? Это дело того, кто отправил пост.
Удачи!


Обороты должны плавно менятса от 0.5 до 20000 в минуту.
Переключение диапазонов сделать можно, и тогда хватило бы и 16 битного
счетчика, но алгоритм работы микроконтроллера усложнится.
Как писали выше CPLD для этой задачи маловат. Значит буду использовать
FPGA младшей модели, ведь ее ресурсов достаточно для выполнения
моей задачи с 24 битным разрешением. Ну а раз ресурсов хватает, то думаю
лучше упростиь алгоритм.
Go to the top of the page
 
+Quote Post
SpyBot
сообщение May 16 2006, 18:10
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 285
Регистрация: 5-11-05
Пользователь №: 10 491



Цитата(oleg_d @ May 16 2006, 02:50) *
Да мотор, и формированием импульсов с датчика вращения
занимается LM1815 и еще микроконтроллер.

А, ну тогда фильтрация в самой ПЛИС не требуется. Просто как-то тоже работал с двигателем и именно на этом моменте потерял много времени smile.gif
Go to the top of the page
 
+Quote Post
Kazap
сообщение May 17 2006, 19:36
Сообщение #19


Частый гость
**

Группа: Свой
Сообщений: 93
Регистрация: 8-05-06
Пользователь №: 16 880



Можно совсем просто сделать, если использовать MAX2-
- поднять входную частоту в 32 раз
-сделать счетчик не 24, а 29 разрядов
- для хранения констант использовать UFM с организацией 30х24
- старшие 5 разрядов адреса использовать для выборки UFM
- 1 цифровой компаратор exclus OR сравнивает по очереди содержимое
ячеек UFM с остальными разрядами счетчика
- при совпадении дв.-десдешифратор, подключенный к 5 старшим разрядам
переключает Dтриггер,подключенный на соотвествующий выход
Что касается вашего вопроса- в чем сложность- в вашем заголовке-
вы начинающий, а осваивать и ПЛИС, и способы загрузки..
Go to the top of the page
 
+Quote Post
Gate
сообщение May 18 2006, 08:59
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 859
Регистрация: 7-04-05
Из: Санкт-Петербург
Пользователь №: 3 943



Цитата(Kazap @ May 17 2006, 23:36) *
Можно совсем просто сделать, если использовать MAX2-
- поднять входную частоту в 32 раз
-сделать счетчик не 24, а 29 разрядов
- для хранения констант использовать UFM с организацией 30х24

А Вы уверены, что UFM сможет выдавать 24бит данные с частотой 32*1.5=48 Мгц? У меня сложилось впечатление, что она _гораздо_ медленнее.


--------------------
"Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается." (с) С.Лем
Go to the top of the page
 
+Quote Post
Kazap
сообщение May 22 2006, 15:09
Сообщение #21


Частый гость
**

Группа: Свой
Сообщений: 93
Регистрация: 8-05-06
Пользователь №: 16 880



Цитата(Gate @ May 18 2006, 13:59) *
Цитата(Kazap @ May 17 2006, 23:36) *

Можно совсем просто сделать, если использовать MAX2-
- поднять входную частоту в 32 раз
-сделать счетчик не 24, а 29 разрядов
- для хранения констант использовать UFM с организацией 30х24

А Вы уверены, что UFM сможет выдавать 24бит данные с частотой 32*1.5=48 Мгц? У меня сложилось впечатление, что она _гораздо_ медленнее.


Вообще-то откуда такое впячетление, что flash медленна- на запись, естественно, но на чтение?
Есть какой нибудь даташит, откуда вы это взяли?
Я еще не использовал UFM в max2 ,но собираюсь. Но если судить по контроллерам, то огромное количество работают на таких скоростях.
Go to the top of the page
 
+Quote Post
Gate
сообщение May 22 2006, 18:21
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 859
Регистрация: 7-04-05
Из: Санкт-Петербург
Пользователь №: 3 943



Цитата(Kazap @ May 22 2006, 19:09) *
Вообще-то откуда такое впячетление, что flash медленна- на запись, естественно, но на чтение?
Есть какой нибудь даташит, откуда вы это взяли?

Ответ очевиден: даташит на max II с сайта альтеры tongue.gif


--------------------
"Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается." (с) С.Лем
Go to the top of the page
 
+Quote Post
Kazap
сообщение May 23 2006, 18:55
Сообщение #23


Частый гость
**

Группа: Свой
Сообщений: 93
Регистрация: 8-05-06
Пользователь №: 16 880



Посмотрел. Да, действительно, маленько не хватит быстродействия smile.gif . Но у алтеры по max2 есть двe противоречивых цифры- в одном случае они дают мах. гарантированную частоту регистра адреса UFM 10 МГц, в другом- предлагают заменить AT25080a с тактовой частотой 20МГц
1)tACLK Address register 100 ns
2)EEPROM AT25080A 8,192 20 MHz
Go to the top of the page
 
+Quote Post
Gate
сообщение May 24 2006, 07:45
Сообщение #24


Знающий
****

Группа: Свой
Сообщений: 859
Регистрация: 7-04-05
Из: Санкт-Петербург
Пользователь №: 3 943



Цитата(Kazap @ May 23 2006, 22:55) *
Но у алтеры по max2 есть двe противоречивых цифры- в одном случае они дают мах. гарантированную частоту регистра адреса UFM 10 МГц, в другом- предлагают заменить AT25080a с тактовой частотой 20МГц

Все еще хуже, чем кажется - у UFM _последовательный_ интерфейс для адреса и данных с максимальной тактовой 10 мгц.


--------------------
"Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается." (с) С.Лем
Go to the top of the page
 
+Quote Post

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

 


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


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