30.09.2010, 13:20
|
|
Временная регистрация
Регистрация: 10.02.2009
Сообщений: 74
Сказал спасибо: 5
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Как отлаживать работу компаратора в AVR?
Конкретно мой экземпляр - tiny13, но при необходимости могу выбрать и другой микроконтроллер. Сделал программку, подключающую нулевой вход к внутреннему опорному источнику, и понаблюдал, как ведет себя выход компаратора. А он почему-то сравнивает входное напряжение по AIN1 c 5в.
Может, протеус 7.6 sp4 вообще не умеет эмулировать опорник?
Последний раз редактировалось nictrace; 30.09.2010 в 14:40.
|
|
|
Сказали "Спасибо" nictrace
|
|
|
30.09.2010, 14:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 01.04.2009
Адрес: Рязань
Сообщений: 1,140
Сказал спасибо: 21
Сказали Спасибо 635 раз(а) в 344 сообщении(ях)
|
Re: Как отлаживать работу компаратора в AVR?
Код инициализации выложите пожалусто. А то штатный телепат отсутствует.
|
|
|
Сказали "Спасибо" _guardianangel
|
|
|
30.09.2010, 14:40
|
|
Временная регистрация
Регистрация: 10.02.2009
Сообщений: 74
Сказал спасибо: 5
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Как отлаживать работу компаратора в AVR?
пожалуйста, и код и прожект.
Код дублирую:
Цитата:
|
start: ldi tmp, RAMEND
out SPL, tmp
ldi tmp, 5
out DDRB, tmp
out PORTB, tmp
; установка компаратора
ldi tmp, (1‹‹AIN1D)|(1‹‹AIN0D)
out DIDR0, tmp ; запрет цифрового входа
ldi tmp, (1‹‹ACBG)
out ACSR, tmp
end: sbis ACSR, ACO
rjmp clas
sbi PORTB, PORTB2
rjmp end
clas: cbi PORTB, PORTB2
rjmp end
|
|
|
|
Сказали "Спасибо" nictrace
|
|
|
30.09.2010, 18:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Как отлаживать работу компаратора в AVR?
Сообщение от nictrace
|
ldi tmp, (1‹‹AIN1D)|(1‹‹AIN0D)
out DIDR0, tmp ; запрет цифрового входа
|
Уверены что запрет? И что за DIDR0? Может DDRB?
Попробуйте вместо этих строк так:
in tmp,DDRB
andi tmp,0xFC // ~((1‹‹PB0)|(1‹‹PB1))
out DDRB,tmp
Вы еще выше зачем то делаете одну из ножек компаратора выходом:
ldi tmp, 5
out DDRB, tmp
Зачем?
Последний раз редактировалось kison; 30.09.2010 в 18:20.
|
|
|
|
30.09.2010, 19:51
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
|
Re: Как отлаживать работу компаратора в AVR?
Сообщение от nictrace
|
Может, протеус 7.6 sp4 вообще не умеет эмулировать опорник?
|
А оно ему надо?
Смотрим "женерал модел лимиташион" для всех AVR в Протеусе:
Цитата:
|
· Brown-out Reset is not implemented.
· Power supply voltage changing is not supported.
|
А теперь на минуту поставьте себя на место программиста модели микроконтроллера. На фига ему лишний гемор с внутренним ИОН. Логично предположить, что он на это место впрендюрил "заглушку" на будущее развитие модели и "припаял" ее к VCC. Что вы и "имеете лицезреть".
А на вопрос: "Как отлаживать?" - от внешнего. Ставите на AN0 1,1V и с ним отлаживаете. А в реалити шоу потом включите внутренний. Только не забудьте про "гулеж" внутреннего ИОН плюс/минус 0,1V. Хорошую точность с таким разбросом (9%) получить проблематично.
|
|
|
Эти 2 пользователя(ей) сказали Спасибо Halex07 за это сообщение:
|
|
|
30.09.2010, 22:54
|
|
Временная регистрация
Регистрация: 10.02.2009
Сообщений: 74
Сказал спасибо: 5
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Как отлаживать работу компаратора в AVR?
kison, да, косяк есть. Все началось с того, что я пытался заставить работать одновременно компаратор и ШИМ. А они на общих ногах. Тут надо было либо в DIDR0 бит не трогать, либо в DDRB его не ставить. Но при любой раскладке компаратор как надо не работает... Даже если таймер вне игры.
Halex07, видимо, тако оно и есть. Ради интереса попробовал на tiny2313. Там компаратор как бы работает, но на ACBG плевал: как сравнивал с AIN0 так и продолжает... ![Улыбка](images/smilies/icon_smile.gif)
Ладно, буду юзать для модели внешний компаратор и внешний ИОН. А точность не особо важна.
Последний раз редактировалось nictrace; 30.09.2010 в 22:59.
|
|
|
Сказали "Спасибо" nictrace
|
|
|
02.10.2010, 20:51
|
|
Временная регистрация
Регистрация: 10.02.2009
Сообщений: 74
Сказал спасибо: 5
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Как отлаживать работу компаратора в AVR?
Ура, в версии 7.7.02 источник опорного работает правильно!
Судя по тому, что все AVR в одной библиотеке - исправили эту фишку для всех чипов
|
|
|
Сказали "Спасибо" nictrace
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:12.
|
|