Например TDA7294

Форум РадиоКот • Просмотр темы - Некорректная работа прерываний T1 с двух каналов (CTC)
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Сб дек 13, 2025 10:44:43

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 32 ]    , 2
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Некорректная работа прерываний T1 с двух каналов (CTC)
СообщениеДобавлено: Вт сен 07, 2021 23:37:12 
Открыл глаза

Зарегистрирован: Ср янв 04, 2017 14:32:28
Сообщений: 46
Рейтинг сообщения: 0
akl,
Цитата:
Команды LDI в прерывании разрешая один канал запрещают другой

Вроде бы похоже на истину, если прерывания включались бы одномоментно, но прерывание по каналу В стартует раньше А и должно хоть что-то успеть хрюкнуть на соответствующей ноге (т.к. по В разрешаем вывод). По каналу А то аналогично. :shock:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Некорректная работа прерываний T1 с двух каналов (CTC)
СообщениеДобавлено: Ср сен 08, 2021 05:11:17 
Друг Кота

Карма: 64
Рейтинг сообщений: 1020
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4369
Откуда: Ижевск
Рейтинг сообщения: 0
Если вернуться обратно к исходному коду, только в прерывании B разрешать канал A и в прерывании A разрешать канал B, то работают оба канала. Но! Картинка крепко меняется. Появляются очень узкие импульсы при сравнении в разрешенном канале перед его отключением. И сами импульсы становятся уже и на приблизительный меандр не похожи.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Некорректная работа прерываний T1 с двух каналов (CTC)
СообщениеДобавлено: Ср сен 08, 2021 09:37:30 
Мудрый кот

Карма: 11
Рейтинг сообщений: 114
Зарегистрирован: Пт июн 01, 2018 07:28:45
Сообщений: 1759
Рейтинг сообщения: 0
Для шагового двигателя лучше взять что-то другое, что формирует мёртвое время.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Некорректная работа прерываний T1 с двух каналов (CTC)
СообщениеДобавлено: Ср сен 08, 2021 15:10:36 
Открыл глаза

Зарегистрирован: Ср янв 04, 2017 14:32:28
Сообщений: 46
Рейтинг сообщения: 0
akl, прикладываю осциллограммы для иллюстрации:

Изображение Изображение Изображение

Соответственно, там, где каждый канал активен в своем прерывании - тишь да гладь


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Некорректная работа прерываний T1 с двух каналов (CTC)
СообщениеДобавлено: Ср сен 08, 2021 20:19:10 
Мудрый кот

Карма: 11
Рейтинг сообщений: 114
Зарегистрирован: Пт июн 01, 2018 07:28:45
Сообщений: 1759
Рейтинг сообщения: 0
Вот за такие фокусы я и не люблю таймеры древних AVR.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Некорректная работа прерываний T1 с двух каналов (CTC)
СообщениеДобавлено: Чт сен 09, 2021 05:07:39 
Друг Кота

Карма: 64
Рейтинг сообщений: 1020
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4369
Откуда: Ижевск
Рейтинг сообщения: 4
akl, прикладываю осциллограммы для иллюстрации:
...Соответственно, там, где каждый канал активен в своем прерывании - тишь да гладь
Обратите внимание на длительность импульсов на первой фотке, которая примерно в 2 раза больше. Фотка работы переключаемых в прерываниях каналов. Видны узкие импульсы.
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Некорректная работа прерываний T1 с двух каналов (CTC)
СообщениеДобавлено: Пт сен 10, 2021 00:17:36 
Открыл глаза

Зарегистрирован: Ср янв 04, 2017 14:32:28
Сообщений: 46
Рейтинг сообщения: 0
Ребят, всем спасибо за наводку!

Оказалось, достаточно было в конце модуля инициализации перед разрешением глобальных прерываний сразу установить PORTB в "1"
Интересная особенность, однако :shock:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Некорректная работа прерываний T1 с двух каналов (CTC)
СообщениеДобавлено: Пт сен 10, 2021 09:17:29 
Друг Кота

Карма: 64
Рейтинг сообщений: 1020
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4369
Откуда: Ижевск
Рейтинг сообщения: 0
Установил PORTB в 1. Те же фаберже только инверсные.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Некорректная работа прерываний T1 с двух каналов (CTC)
СообщениеДобавлено: Пт сен 10, 2021 11:26:13 
Открыл глаза

Зарегистрирован: Ср янв 04, 2017 14:32:28
Сообщений: 46
Рейтинг сообщения: 0
Все очень и очень странно.
Почему с "0" не заводится? Или есть какой-то секрет.

А главное, какую роль тут играет PORTB, если мы уже ноги переключили на альтернативную функцию OC1A/OC1B


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Некорректная работа прерываний T1 с двух каналов (CTC)
СообщениеДобавлено: Пн сен 27, 2021 12:30:13 
Открыл глаза

Зарегистрирован: Ср янв 04, 2017 14:32:28
Сообщений: 46
Рейтинг сообщения: 0
akl,
вот это не очень понял:
Код:
LDI   R16,1<<COM1A1|1<<COM1B1|1<<COM1A0|0<<COM1B0|1<<WGM11;|1<<WGM10
OUT   TCCR1A,R16   ;противофазные импульсы A и B

Не нашел конкретно эту комбинацию в таблице
Изображение
Разве можно выставлять 0 и 1 отдельно для COM1A0 и COM1B0? :shock:
Они же, вроде, парой идут в одном столбике.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Некорректная работа прерываний T1 с двух каналов (CTC)
СообщениеДобавлено: Пн сен 27, 2021 13:11:47 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2926
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18889
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
а что, разве трудно понять, что одинаковый функционал можно объединить в один столбик?
или тебе нужно, чтобы было 2 одинаковых таблицы - но отдельно для канала А и отдельно для канала В?

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Некорректная работа прерываний T1 с двух каналов (CTC)
СообщениеДобавлено: Пн сен 27, 2021 14:13:01 
Открыл глаза

Зарегистрирован: Ср янв 04, 2017 14:32:28
Сообщений: 46
Рейтинг сообщения: 0
Теперь понял.

Это режимы Set и Clear для OC1A и OC1B соответственно.
Просто зациклился ранее, что только Toggle используется для генерации сигнала.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 32 ]    , 2

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y