|
|
 |
Ответов
|
May 6 2009, 07:32
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 15-10-08
Из: Воронеж
Пользователь №: 40 984

|
Цитата(Палыч @ May 6 2009, 11:16)  Формула частоты приведена в даташите. Там написано, что в режиме Clear Timer on Compare Match (CTC) Mode f=FclkI_O/(2(1+OCRnx)). Я правильно понял, что управляя регистром OCRnx, можно регулировать выходную частоту. Цитата(Палыч @ May 6 2009, 11:16)  Сдвиг по фазе - это сдвиг при изменении ширины импульса? Нужно, чтобы, на 4х выводах импульсы были сдвинуты по фазе друг относительно друга, т.е. передние фронты импульсов начинаются в разное время.
|
|
|
|
|
May 6 2009, 08:15
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(vv_gulyaev @ May 6 2009, 10:32)  Там написано, что в режиме Clear Timer on Compare Match (CTC) Mode f=FclkI_O/(2(1+OCRnx)). Я правильно понял, что управляя регистром OCRnx, можно регулировать выходную частоту. Вам ведь не просто частота нужна, а ШИМ - т.е. другой режим таймера: один из PWM mode. В обоих этих режимах у t25 частота зависит от частоты генератора и установленного прескалера - и всё! Цитата(vv_gulyaev @ May 6 2009, 10:32)  Нужно, чтобы, на 4х выводах импульсы были сдвинуты по фазе друг относительно друга, т.е. передние фронты импульсов начинаются в разное время. Это Вы - большой мечтатель! У t25 только один таймер и его выход можно получить на одной ноге. Не получится получить аппаратно четыре ШИМа. Только - программно! Сделать это можно, но точности по длительности будут, конечно, хуже, чем при аппаратной реализации... Вы озвучте: какая частота следования импульсов Вам нужна; какие длительности импульсов (от... до...), сдвиги фаз между импульсами на разных ногах; требуемые точности всего этого... Попробуйте сформулировать стоящую перед Вами задачу.
|
|
|
|
|
May 6 2009, 08:23
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 15-10-08
Из: Воронеж
Пользователь №: 40 984

|
Цитата(Палыч @ May 6 2009, 12:15)  Попробуйте сформулировать стоящую перед Вами задачу. Нужно получить 4 сигнала одинаковой частоты сдвинутые друг относительно друга на 1/4 периода. Частота примерно 100КГц. Также интересует какую минимальную длительность импульса можно получить программно.
Сообщение отредактировал vv_gulyaev - May 6 2009, 08:34
|
|
|
|
|
May 6 2009, 09:04
|

внештатный сотрудник
     
Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401

|
Цитата(Палыч @ May 6 2009, 12:55)  Товарищ, конечно, погорячился... Длительности импульсов откуда берутся? Как определяется их ширина? не погорячился, хотя конечно времени на обработку не много. но если длительность берется из таблицы, а ширину получаем (допустим) из непрерывного АЦП, то почему Вы считаете, что за 10мкс нельзя сформировать программно 8 переключений портов?
Сообщение отредактировал stells - May 6 2009, 09:05
|
|
|
|
|
May 6 2009, 10:02
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(stells @ May 6 2009, 12:40)  80 команд на цикл - это теоретически 1,25%. реально конечно хуже получится Вот именно - реально хуже получится. Имхо, при однократном задании длительности импульсов (т.е. задали длительность и не меняем) можно, наверное, получить временные интервалы с погрешностью менее 5%, если же длительности импульсов будут меняться на каждом периоде (даже если и "очень плавно"), то погрешности, наверное, будут под 50%. Может быть, автору решить задачу иначе: МК генерит один сигнал ШИМ, а внешний сдвигающий регистр формирует недостающие три; тактирование сдвигающего регистра - от МК?
|
|
|
|
|
May 6 2009, 10:45
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 15-10-08
Из: Воронеж
Пользователь №: 40 984

|
Цитата(Палыч @ May 6 2009, 14:02)  Может быть, автору решить задачу иначе: МК генерит один сигнал ШИМ, а внешний сдвигающий регистр формирует недостающие три; тактирование сдвигающего регистра - от МК? Спасибо, за советы. Наверное я остановлюсь на том, чтобы задать длительность жестко и выдавать импульсы с 4 выходов. На сколько я понял из обсуждения это получить реально.
|
|
|
|
|
May 6 2009, 11:48
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(vv_gulyaev @ May 6 2009, 13:45)  Наверное я остановлюсь на том, чтобы задать длительность жестко и выдавать импульсы с 4 выходов. Если это - то, что Вам нужно (в чём я сомневаюсь), то реализовать можно. Писать программу нужно будет на ассемблере, на языке высокого уровня вряд ли получится что-то путное. Основной цикл программы будет довольно примитивный: 1.Вывод "значение 1" в порт В 2.Задержка 1 3.Вывод "значение 2" в порт В 4.Задержка 2 5.Вывод "значение 3" в порт В 6.Задержка 3 ........... 15.Вывод "значение 8" в порт В 16.Задержка 8 17.Переход на п.1 Значения, выводимые в порт, и величины задержек будут зависить от длительности импульсов. Кроме того, общее время выполнения цикла должно быть 80 тактов для частоты 100кГц и частоты тактирования МК 8МГц. Можно значения, выводимые в порт, и величины задержек хранить в виде двух массивов, а программу упростить до: 1.Вывод "значение i" в порт В 2.Задержка i 3.Взять следующее i 4.Переход на п.1 Однако, такая программа хоть и станет "более настраиваемой", но точность выдержки задержек - резко упадёт. Если это не критично, то второй вариант мне кажется предпочтительней...
|
|
|
|
|
May 8 2009, 08:34
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 15-10-08
Из: Воронеж
Пользователь №: 40 984

|
Еще возник вопрос по поводу программирования tiny25. Имеется программатор ByteBlasterII и программа Avreal Shell. В списке доступных микросхем нет tiny25, хотя в сети видел упоминания, что она должна поддерживаться этим программатором. В наличии микросхем пока нет, поэтому хотелось бы узнать возможно ли использовать BBII для программирования tiny25, или нужно покупать/паять AVRISP.
|
|
|
|
Сообщений в этой теме
vv_gulyaev ШИМ на ATtiny25 May 6 2009, 06:41    Палыч Цитата(vv_gulyaev @ May 6 2009, 11:23) Ча... May 6 2009, 08:36             stells Цитата(vv_gulyaev @ May 6 2009, 14:45) Сп... May 6 2009, 10:57             Microwatt Цитата(vv_gulyaev @ May 6 2009, 13:45) Сп... May 6 2009, 11:08              vv_gulyaev Цитата(Microwatt @ May 6 2009, 15:08) На ... May 6 2009, 11:22               ReAl Цитата(vv_gulyaev @ May 8 2009, 11:34) В ... May 8 2009, 08:55                vv_gulyaev Цитата(ReAl @ May 8 2009, 12:55) просто a... May 8 2009, 10:41   stells Цитата(Палыч @ May 6 2009, 12:15) Это Вы ... May 6 2009, 08:35 stells Цитата(vv_gulyaev @ May 6 2009, 10:41) во... May 6 2009, 07:20 Microwatt MK такого калибра для этого принципиально не годи... May 6 2009, 09:06 stells Цитата(Microwatt @ May 6 2009, 13:06) Мож... May 6 2009, 09:19
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|