Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Кстати, ШИМ по Брезенхему на AHDL: кто-то говорил, что три строчки, а у меня что-то страшненькое получилось:

Отправлено Леонид Иванович 09 мая 2008 г. 19:22
В ответ на: Да, вот как раз Брезенхем и паяльник на столе регулирует :) отправлено Леонид Иванович 09 мая 2008 г. 19:19


CONSTANT MAXPOW = 100;
CONSTANT HALF_MAXPOW = MAXPOW / 2;
CONSTANT WIDTHAD = CEIL(LOG2(MAXPOW));
SUBDESIGN S2PWM
(
Clk : INPUT;
Power[WIDTHAD-1..0] : INPUT;
PWM : OUTPUT;
)
VARIABLE
Value[WIDTHAD..0] : DFF;
Phase[WIDTHAD..0] : DFF;
Delta[WIDTHAD..0] : NODE;
BEGIN
Value[].clk = Clk;
Phase[].clk = Clk;
if Phase[] == 0 then
Phase[] = MAXPOW - 1;
Delta[] = HALF_MAXPOW;
else
Phase[] = Phase[] - 1;
if Value[WIDTHAD] then
Delta[] = Value[] + MAXPOW;
else
Delta[] = Value[];
end if;
end if;
Value[] = Delta[] - (0, Power[]);
PWM = Value[WIDTHAD];
END;


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 47:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru