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

 
 
 
Reply to this topicStart new topic
> Многоканальный ШИМ, spi + 10 RGB LED
uragan90
сообщение Sep 18 2013, 05:30
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 248
Регистрация: 2-02-09
Из: Тверь
Пользователь №: 44 309



Здавствуйте Уважаемые!!!
Помогите выбрать правельный подход для реализации шим процессора на ПЛИС.
Я хочу связать avr и плис по spi для того чтоб управлять десятком "РГБ" светодиодов, но у меня не хватает ресурсов плис, а именно epm540 может есть какое нибудь экономичное решение данной проблемы???
Я делаю так:
В плис создал сдвиговой регистр по принципу 74hc595 150bit в него гружу код всех 30 каналов шима, по 5 на канал цвета, счётчик 12bit (шим 12 бит) и 30 компараторов которые из регистра выделяют шим на каждый канал цвета (всего 30 каналов).
Всё это кушает огромное кол-во LE.
Вопрос:
Каким образом снизить количество лэ для подобного дела???
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Sep 18 2013, 09:16
Сообщение #2


Знающий
****

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



Цитата(uragan90 @ Sep 18 2013, 09:30) *
чтоб управлять десятком "РГБ" светодиодов, но у меня не хватает ресурсов плис, а именно epm540 может есть какое нибудь экономичное решение данной проблемы???
Специальные драйверы для светодиодов (походите там по сайту, есть и другие драйверы с другим количеством каналов).
Всё-таки, 3*10 светодиодов это приличный суммарный ток для ПЛИСки, не говоря уже про нецелесообразность её применения.
upd: ссылку подправил


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
uragan90
сообщение Sep 18 2013, 09:38
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 248
Регистрация: 2-02-09
Из: Тверь
Пользователь №: 44 309



Ооо! Спасибо!!!
Действительно то что нужно :-)
Go to the top of the page
 
+Quote Post
uragan90
сообщение Sep 18 2013, 13:01
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 248
Регистрация: 2-02-09
Из: Тверь
Пользователь №: 44 309



Это конечно всё здорово драйверы и прочее, но я уже заразился интересом реализации такого драйвера на плис попробую сам заделать.
Структуру драйвера глянул в даташите, осталось по структурной схеме драйвера сбацать свой :-)
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Sep 18 2013, 13:25
Сообщение #5


Знающий
****

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



Рабочие напряжение и ток синего светодиода посмотрели? EPMка позволяет выйти на уровень вменяемого свечения?
"Счётчики" и "компараторы" - это да, классика жанра. Но более экономично по структуре и равномернее в плане мерцания свечения будет следующая реализация ШИМа:
Код
module Modulator(in, clk, out);
parameter WIDTH = 9;
input[WIDTH-1:0] in;
input clk;
output out;

reg[WIDTH:0] acc = 0;
assign out = acc[WIDTH];

always @(posedge clk) acc <= acc + in + out - (out << WIDTH);

endmodule

Повзаимствовал её откуда-то отсюда с электроникса же, но уже не помню откуда именно.


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
uragan90
сообщение Sep 18 2013, 13:45
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 248
Регистрация: 2-02-09
Из: Тверь
Пользователь №: 44 309



Да! Я в курсе "ерм" не суть важно по токовым режимам, можно задействовать несколько ног на один канал если можно :-)
Да и не в этом дело, можно ULN2003 поставить для уверенности, самое главное шим реализовать или как вы предложили сигма-дельта модулятор но он жрёт больше ресурсов чем шим!!!
Сумматор в нём сложнее устроен чем компаратор

Я просто не соображу можно ли сделать многоканальный шим на одном только модуле шима, раскидывая его по каналам с помощью например счётчика и демультиплексора?
Или нужно шимить все каналы своим модулем шима?
Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 18 2013, 13:55
Сообщение #7


Гуру
******

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



Цитата(uragan90 @ Sep 18 2013, 17:45) *
Я просто не соображу можно ли сделать многоканальный шим на одном только модуле шима, раскидывая его по каналам с помощью например счётчика и демультиплексора?
Или нужно шимить все каналы своим модулем шима?


В принципе можно. У меня на сайте найдите "Краткий Курс", глава о многопоточности...
Выглядеть будет так:
Кольцевой регистр 30 раз по 12 разрядов (или память) в котором хранятся пороги сравнения, еще один такой-же + к нему аккумулятор для инкремента значений, 1 схема сравнения, 12 RS триггеров и немного управления...
Кольцо переписываете по кругу, 1 регистр сравниваете и выход сравнения записываете в выходной триггер, соотв. номеру канала...
А схема управления по очереди взводит RS триггера.


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
uragan90
сообщение Sep 18 2013, 14:01
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 248
Регистрация: 2-02-09
Из: Тверь
Пользователь №: 44 309



Цитата(iosifk @ Sep 18 2013, 17:55) *
В принципе можно. У меня на сайте найдите "Краткий Курс", глава о многопоточности...
Выглядеть будет так:
Кольцевой регистр 30 раз по 12 разрядов (или память) в котором хранятся пороги сравнения, еще один такой-же + к нему аккумулятор для инкремента значений, 1 схема сравнения, 12 RS триггеров и немного управления...
Кольцо переписываете по кругу, 1 регистр сравниваете и выход сравнения записываете в выходной триггер, соотв. номеру канала...
А схема управления по очереди взводит RS триггера.

Оооо!
Спасибо!!!
Надо попробовать, хоть какая то мысль интересная :-)
Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 18 2013, 14:08
Сообщение #9


Гуру
******

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



Цитата(uragan90 @ Sep 18 2013, 18:01) *
Оооо!
Спасибо!!!
Надо попробовать, хоть какая то мысль интересная :-)


Читайте, там же все с картинками нарисовано... И с примерами...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
uragan90
сообщение Sep 18 2013, 14:19
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 248
Регистрация: 2-02-09
Из: Тверь
Пользователь №: 44 309



iosifk,
Спасибо огромное!!!
Я уже читал рание эти труды!
А тут вы напомнили и у меня родилась идея... Ща попробую написать на Veriloge 08.gif
Go to the top of the page
 
+Quote Post
нечитатель
сообщение Sep 25 2013, 21:38
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 235
Регистрация: 20-11-10
Пользователь №: 61 032



Для 30 каналов достаточно просто AVR, если вместо "ШИМ" написать "MIBAM".
Go to the top of the page
 
+Quote Post
Corner
сообщение Sep 30 2013, 15:36
Сообщение #12


Профессионал
*****

Группа: Участник
Сообщений: 1 072
Регистрация: 11-12-12
Пользователь №: 74 815



Реверсивный счетчик в помощь...
Go to the top of the page
 
+Quote Post
stu
сообщение Oct 4 2013, 06:31
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 235
Регистрация: 11-11-09
Пользователь №: 53 561



все же порекомендую микруху типа MBI5030 c PWM
или http://www.ti.com/lsds/ti/power-management....page#p2192=PWM per Pin


--------------------
Мы ведь работаем, чтобы жить, а не живем, чтобы работать??? ;)
Go to the top of the page
 
+Quote Post

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

 


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


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