Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 20.02.2010, 23:14   #11
spballiance
Вид на жительство
 
Регистрация: 13.02.2010
Сообщений: 372
Сказал спасибо: 12
Сказали Спасибо 15 раз(а) в 12 сообщении(ях)
spballiance на пути к лучшему
По умолчанию Re: Регулировка частоты на контроллере

то есть он каждые сколько-то тиков Т1 прибавляет вычисленное ранее приращение?

AccFz ›› 24 - оставляет только 8 старших битов?
Реклама:
spballiance вне форума  
Непрочитано 20.02.2010, 23:20   #12
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Регулировка частоты на контроллере

Сообщение от spballiance Посмотреть сообщение
то есть он каждые сколько-то тиков Т1 прибавляет вычисленное ранее приращение?
Да. Страшно сложный алгоритм?
Сообщение от spballiance Посмотреть сообщение
AccFz ›› 24 - оставляет только 8 старших битов?
Да.
kison вне форума  
Непрочитано 20.02.2010, 23:35   #13
spballiance
Вид на жительство
 
Регистрация: 13.02.2010
Сообщений: 372
Сказал спасибо: 12
Сказали Спасибо 15 раз(а) в 12 сообщении(ях)
spballiance на пути к лучшему
По умолчанию Re: Регулировка частоты на контроллере

алгоритм нестрашный, но
.equ TVal = 40
затем
ldi temp,high(TVal-1) ;Load compare register
out OCR1AH,temp
ldi temp,low(TVal-1)
out OCR1AL,temp


зачем такие сложности
можно было прописать TVal = 39

Последний раз редактировалось spballiance; 20.02.2010 в 23:44.
spballiance вне форума  
Непрочитано 20.02.2010, 23:44   #14
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Регулировка частоты на контроллере

Да вроде все прозрачно.
40 - количество тактов между прерываниями.
Чтобы их получить, надо в регистр сравнения загрузить число меньшее на 1 такт, таймер будет считать от 0 до 39, т.е. ровно 40 тактов
Ну вместо
ldi temp,low(TVal-1)
out OCR1AH,temp
Можно было
ldi temp,0
out OCR1AH,temp
Но это ничего не меняет. Но в варианте Ридико сразу понятно что грузится в OCR1AH
kison вне форума  
Непрочитано 20.02.2010, 23:48   #15
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Регулировка частоты на контроллере

Да, при переносе алгоритма на С стоит учесть что считывать из памяти 8 байт и сохранять 4 не очень быстро. Лучше для этого регистры зарезервировать.
Да обработчик все же лучше написать на ассемблере.
kison вне форума  
Непрочитано 21.02.2010, 00:04   #16
spballiance
Вид на жительство
 
Регистрация: 13.02.2010
Сообщений: 372
Сказал спасибо: 12
Сказали Спасибо 15 раз(а) в 12 сообщении(ях)
spballiance на пути к лучшему
По умолчанию Re: Регулировка частоты на контроллере

эх, асмовский код с большими цифрами читается тяжко
spballiance вне форума  
Непрочитано 21.02.2010, 00:39   #17
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Регулировка частоты на контроллере

Сообщение от spballiance Посмотреть сообщение
эх, асмовский код с большими цифрами читается тяжко
Там вообще ни одной цифры не будет.
Удивительное высказывание для человека писавшего на асме по 60 страниц...
Одно сложение двух 32 битных переменных это не то что бы просто, а очень просто. Получить старший байт от результата тоже не сложно. Добавить его к адресу массива и по результирующему адресу извлечь данные для ЦАП. Три простейшие операции.
kison вне форума  
Непрочитано 21.02.2010, 01:02   #18
spballiance
Вид на жительство
 
Регистрация: 13.02.2010
Сообщений: 372
Сказал спасибо: 12
Сказали Спасибо 15 раз(а) в 12 сообщении(ях)
spballiance на пути к лучшему
По умолчанию Re: Регулировка частоты на контроллере

Сообщение от kison Посмотреть сообщение
Там вообще ни одной цифры не будет.
Удивительное высказывание для человека писавшего на асме по 60 страниц...
читать свой код и чужой большая разница. большие цифры - 3-4 байта, я уже не про приращение...

Цитата:
Одно сложение двух 32 битных переменных это не то что бы просто, а очень просто.
только вариантов реализации может быть несколько, тем более там еще накладываются операции умножения

сижу прокручиваю асмовский код по ссылке, разбираюсь с константами

;Freq = Fval x Calib / 16777216
;Nominal Calib = 180143985

16777216=2^24
откуда Nominal Calib = 180143985?

Последний раз редактировалось spballiance; 21.02.2010 в 01:10.
spballiance вне форума  
Непрочитано 21.02.2010, 01:49   #19
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Регулировка частоты на контроллере

Сообщение от spballiance Посмотреть сообщение
только вариантов реализации может быть несколько, тем более там еще накладываются операции умножения
Я знаю только один вариант сложения. И других себе даже представить не могу. Так же как и при чем тут умножение. Это вообще заинтересовало, я сейчас мало пользуюсь ассемблером и может какие хитрые методики в сложении появились? Расскажите о этом поподробнее - куда накладывается умножение???
kison вне форума  
Непрочитано 21.02.2010, 01:55   #20
spballiance
Вид на жительство
 
Регистрация: 13.02.2010
Сообщений: 372
Сказал спасибо: 12
Сказали Спасибо 15 раз(а) в 12 сообщении(ях)
spballiance на пути к лучшему
По умолчанию Re: Регулировка частоты на контроллере

Сообщение от kison Посмотреть сообщение
Расскажите о этом поподробнее - куда накладывается умножение???
еще раз говорю, с приращением все понятно, я теперь разбираюсь с вычислением этого приращения. вот тут и появляется умножение.
его алгоритм не заканчивается приращением фазы.
spballiance вне форума  
Закрытая тема

Закладки


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение частоты на ATmega8 lextorg Микроконтроллеры, АЦП, память и т.д 22 14.01.2010 14:48
Контроль частоты вращения Faxa Электроника - это просто 6 06.01.2010 23:43
Делитель частоты Gladkih TTL и CMOS логика 7 07.12.2009 18:31
Генератор частоты на Mega - как? code-by Микроконтроллеры, АЦП, память и т.д 9 10.11.2009 15:02


Часовой пояс GMT +4, время: 08:21.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot