Например TDA7294

Форум РадиоКот • Просмотр темы - AVR: Синхронизация исполнения кода к значению таймера Т1
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вт окт 21, 2025 06:50:50

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


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



Начать новую тему Ответить на тему  [ Сообщений: 30 ]    , 2
Автор Сообщение
 Заголовок сообщения: Re: AVR: Синхронизация исполнения кода к значению таймера Т1
СообщениеДобавлено: Вт сен 04, 2012 19:01:21 
Так и симулировал. Брякпоинт в начале. брякпоинт в конце (NOP только дописал). Остановился на первом, обнулил счётчик тактов, запустил, после останова на втором брякпоинте смотрю количество тактов.
В качестве девайса была выбрана мега16.

И, кстати, вначале программы у вас написано LDI R16, TCNT1L, а правильно наверное IN R16, TCNT1L


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: AVR: Синхронизация исполнения кода к значению таймера Т1
СообщениеДобавлено: Вт сен 04, 2012 19:09:57 
Вымогатель припоя

Карма: 1
Рейтинг сообщений: 101
Зарегистрирован: Ср фев 24, 2010 19:16:07
Сообщений: 680
Рейтинг сообщения: 0
orinoko писал(а):
И, кстати, вначале программы у вас написано LDI R16, TCNT1L, а правильно наверное IN R16, TCNT1L


Ой.. ну да, конечно ! это я просто отлаживал и поставил LDI.. поправлю !

я в конце поставил sleep

И смотрел счетчик циклов.. а не PC...
гм.. не может быть разницы при исполнении на меге16 и 32..

может быть в разные места смотрим ?

В принципе команд мало, так что даже вручную просчитать легко..
breq - 1 такт если условие не исполняется, и 2 такта если осуществляется переход по условию..
все остальные команды 1 такт..

скоро я этот код проверю в работе.. так что если будут еще правки то я напишу.


Вернуться наверх
 
 Заголовок сообщения: Re: AVR: Синхронизация исполнения кода к значению таймера Т1
СообщениеДобавлено: Вт сен 04, 2012 21:16:48 
Цитата:
не может быть разницы при исполнении на меге16 и 32..

По этому вопросу разницы нет


Вложения:
taktctr.png [28.44 KiB]
Скачиваний: 342
Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: AVR: Синхронизация исполнения кода к значению таймера Т1
СообщениеДобавлено: Вт сен 04, 2012 21:50:50 
Вымогатель припоя

Карма: 1
Рейтинг сообщений: 101
Зарегистрирован: Ср фев 24, 2010 19:16:07
Сообщений: 680
Рейтинг сообщения: 0
ну еще такт прибавьте на nop который в последнем брейке и будет 8...
плюс считаем что на 5 тактов задержались при входе
итого 8 + 5 = 13...


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения: Re: AVR: Синхронизация исполнения кода к значению таймера Т1
СообщениеДобавлено: Ср сен 05, 2012 07:38:35 
На картинке я показал при R16=5. А при 4 счётчик равен 8, а при 3 - 9. То, что выше первого брейка, меня не интересует. Я проверял только критическую часть. Или вы невнимательно прочли мой пост с табличкой. А на картинке я просто показал, откуда у меня эти результаты


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: AVR: Синхронизация исполнения кода к значению таймера Т1
СообщениеДобавлено: Ср сен 05, 2012 09:23:22 
Вымогатель припоя

Карма: 1
Рейтинг сообщений: 101
Зарегистрирован: Ср фев 24, 2010 19:16:07
Сообщений: 680
Рейтинг сообщения: 0
orinoko писал(а):
На картинке я показал при R16=5. А при 4 счётчик равен 8, а при 3 - 9.
А на картинке я просто показал, откуда у меня эти результаты


Ну то что вы привели и является ПРАВИЛЬНОЙ работой кода !

еще раз напишу...
если счетчик TCNT1=5 - значит мы уже потеряли 5 тактов на вход в процедуру.. прибавляем сюда полученные вами 7 и получаем 12 тактов ОТ МОМЕНТА ГЕНЕРАЦИИ ЗАПРОСА НА ПРЕРЫВАНИЕ... - именно это число (константа) мне важно..

если счетчик TCNT1=4 - значит мы потеряли 4 такта на вход в процедуру, прибавляем полученные вами 8 - и получаем 12 тактов ОТ того же МОМЕНТА ГЕНЕРАЦИИ ЗАПРОСА НА ПРЕРЫВАНЕ - заметьте - опять 12!! константа !!

и так далее...

Результат мы смотрим одинаково, я тоже на этот счетчик смотрел когда проверял код в симуляции...


Вернуться наверх
 
 Заголовок сообщения: Re: AVR: Синхронизация исполнения кода к значению таймера Т1
СообщениеДобавлено: Ср сен 05, 2012 09:37:39 
А, ну да. Тормознул, сорри.
Мне интересно всё же, как у вас будет работать конечный результат. Всё изделие, так сказать


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: AVR: Синхронизация исполнения кода к значению таймера Т1
СообщениеДобавлено: Ср сен 05, 2012 09:48:33 
Вымогатель припоя

Карма: 1
Рейтинг сообщений: 101
Зарегистрирован: Ср фев 24, 2010 19:16:07
Сообщений: 680
Рейтинг сообщения: 0
Ну разработка устройства уже проведена

здесь можно размещать ссылки на мой же ресурс, но не здесь ?

Модуль генерации TV видео сигнала на atmega16

то что готово Библиотека вывода изображения на телевизор v 1.0

исходники свободные, прокомментированы мною полностью (подтирать не стал).

Ну и пишу статью про генерацию видео (вдруг кто нить придумает что нить еще интересное)

Генерация видеосигнала при помощи контроллеров AVR. Часть 1. Аппаратная подготовка.

Генерация видеосигнала при помощи контроллеров AVR. Часть 2. Синхроимпульсы

эта часть еще пишется:
Генерация видеосигнала при помощи контроллеров AVR. Часть 3. Ассемблер

Недостаток текущей разработки в синхронизации исполнения кода командой sleep - что делает невозможным использование аппаратных прерываний...
поэтому буду внедрять разработанный код синхронизации..

p.s. кстати, а какие требования существуют для статей которые размещаются здесь ? где про это прочитать ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR: Синхронизация исполнения кода к значению таймера Т1
СообщениеДобавлено: Вт сен 11, 2012 19:57:12 
Мудрый кот
Аватар пользователя

Карма: 24
Рейтинг сообщений: 286
Зарегистрирован: Чт июн 10, 2010 08:55:35
Сообщений: 1810
Откуда: Сибирские Афины
Рейтинг сообщения: 0
ВитГо писал(а):
ладно, вопрос снят, ларчик открылся просто

А если ещё подумать!? :)
Или поискать? :))
Спойлер; !!!! SET TIMER1 TO CTC MODE WITH NO PRESCALE

; EQUALIZE INTERRUPT LATENCY
lds r16,tcnt1l ;2
cpi r16,10 ;1
brlo LATFIX1 ;1/2
LATFIX1:
cpi r16,11 ;1
brlo LATFIX2 ;1/2
LATFIX2:
cpi r16,12 ;1
brlo LATFIX3 ;1/2
LATFIX3:

Естественно, циферки подправить под свои нужды.

Хм... Плохо ищите. Или английского не знаете? avrfreaks.net , форум, 2007 год.

_________________
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR: Синхронизация исполнения кода к значению таймера Т1
СообщениеДобавлено: Вт сен 11, 2012 22:43:13 
Вымогатель припоя

Карма: 1
Рейтинг сообщений: 101
Зарегистрирован: Ср фев 24, 2010 19:16:07
Сообщений: 680
Рейтинг сообщения: 0
ну в принципе это вариант моего кода, только свернутый и без нопов :-))

спасибо !

p.s. приятно осознавать что не только я озадачился такой синхронизацией, и не только мне она нужна.. значит не фигню придумал :-)


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

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


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

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


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

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


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