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

 
 
 
Reply to this topicStart new topic
> ШИМ на таймере в LPC21xx, LPC23xx, можно ли сгенерить
zhek
сообщение Sep 30 2008, 09:30
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 29-12-05
Из: Екатеринбург
Пользователь №: 12 692



PWM уже занят, остались только таймеры, а нужно получить еще ШИМ сигнал с переменной скважностью. Когда делал проект на LPC2148, обошелся toggl-ами пинов. Сейчас взял LPC2366, опять та же проблема. Можно сбросить/установить пин, используя регистр сравнения таймера. А чем его обратно возвращать в момент сброса счетчика? Получается, что ШИМ таймером не сделать.
Я что-то не понял в даташите или может есть обходные пути?
Go to the top of the page
 
+Quote Post
Ivan A-R
сообщение Sep 30 2008, 11:09
Сообщение #2


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

Группа: Участник
Сообщений: 92
Регистрация: 21-06-07
Из: Saint-Petersburg
Пользователь №: 28 607



http://www.k9spud.com/traxmod/devel.html версию 0.5.х посмотри. Там я так понял сделано тоже через таймер. Файл audio.c
Go to the top of the page
 
+Quote Post
zhek
сообщение Sep 30 2008, 11:24
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 29-12-05
Из: Екатеринбург
Пользователь №: 12 692



Цитата(Ivan A-R @ Sep 30 2008, 17:09) *
Там я так понял сделано тоже через таймер. Файл audio.c

Спасибо за ссылочку. Но там применен LPC2103. Почитал даташиты. В LPC210x есть режимы PWM в таймерах и про это явно написано. А в последующих камнях этой возможности нет. Видимо, в этом и ответ на мой вопрос. Хочешь много ШИМов - применяй другие камни.
Но все-таки паскудство. 100 ног - и всего один PWM.
Go to the top of the page
 
+Quote Post
etoja
сообщение Sep 30 2008, 13:27
Сообщение #4


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

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



LPC2103 - более новый процессор по сравнению с LPC2138/2148/2104/2105/2106.
В нём многое улучшено, например UARTы, скорость дёргания пинов, ШИМ.
Go to the top of the page
 
+Quote Post
Ivan A-R
сообщение Sep 30 2008, 15:15
Сообщение #5


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

Группа: Участник
Сообщений: 92
Регистрация: 21-06-07
Из: Saint-Petersburg
Пользователь №: 28 607



Цитата(zhek @ Sep 30 2008, 15:24) *
Спасибо за ссылочку. Но там применен LPC2103. Почитал даташиты. В LPC210x есть режимы PWM в таймерах и про это явно написано.

Можно проверить, сбрасывается ли пин при сбросе счётчика.
А можно вызывать прерывание по сбросу счётчика и пин сбрасывать в ручную. А поднимать его прописав EMR регистр (10 - Set the corresponding External Match bit/output to 1 (MATn.m pin is HIGH if pinned out).). Или в твоём кристалле и этого нет?

Вот как-то так.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Sep 30 2008, 15:55
Сообщение #6


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(zhek @ Sep 30 2008, 13:30) *
Можно сбросить/установить пин, используя регистр сравнения таймера. А чем его обратно возвращать в момент сброса счетчика? Получается, что ШИМ таймером не сделать.

чё-то я не понимаю. Если по регистру сравнения можно сбросить/установить пин, то в чём собственно проблема? Сначала настраиваете таймер на установку ноги по совпадению, а в прерывании по совпадению настраиваете на сброс по следующему совпадению. Да и наверняка есть различные режимы для выхода таймера (установка, сброс, переключение, установка-сброс, сброс-установка и т.д.)


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Ivan A-R
сообщение Sep 30 2008, 16:12
Сообщение #7


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

Группа: Участник
Сообщений: 92
Регистрация: 21-06-07
Из: Saint-Petersburg
Пользователь №: 28 607



Цитата(MrYuran @ Sep 30 2008, 19:55) *
чё-то я не понимаю. Если по регистру сравнения можно сбросить/установить пин, то в чём собственно проблема?

Каждому Math Register соответствует своя нога =((( То бишь автоматом можно либо сбрасывать, либо устанавливать либо менять состояние (toggle)

P.S. Я тоже буду рад если это не так )

Сообщение отредактировал Ivan A-R - Sep 30 2008, 16:15
Go to the top of the page
 
+Quote Post
zhek
сообщение Oct 1 2008, 04:15
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 29-12-05
Из: Екатеринбург
Пользователь №: 12 692



Главная проблема-то в том, что частота ШИМ требуется 72 кГц. Чтобы устанавливать и сбрасывать пин, нужно дергаться в прерывания 2 раза за период, т. е. каждые 7 мкс. Для АРМа это напряжно, да еще и считать нужно много, иначе зачем он. А при маленьких значениях коэффициента заполнения вообще не успеть перенастроить.
А вот насчет того, что LPC2103 более новые - я этого не знал. Надо поглядеть в их сторону.
Спасибо всем ответившим.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 02:00
Рейтинг@Mail.ru


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