Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
01.04.2012, 22:12
|
|
Прохожий
Регистрация: 23.12.2009
Сообщений: 6
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Re: USB коннектор на AVR
Сообщение от Godzilla82
|
Лучше же в прерывании:
|
Если используем прерывания, то возникает неопределенность количества циклов перед входом в прерывание (команда, на которой прервались, может быть 1-3х тактовой), если ждем на цикле whlie(1).
Чтобы задержка входа в прерывание всегда была стабильной, надо погружать проц в сон. Например:
PHP код:
|
for( ; ; ){
set_sleep_mode(SLEEP_MODE_IDLE);
sleep_mode();
}
|
Тогда задержка обработки прерывания из состояния сна всегда будет стабильной и не будет дрожания фронтов выходного сигнала. Но задержка просыпания занимает кучу дополнительных тактов, поэтому вряд ли подойдет в этом случае.
|
|
|
|
02.04.2012, 01:42
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
|
Re: USB коннектор на AVR
Сообщение от arav
|
Если используем прерывания, то возникает неопределенность количества циклов перед входом в прерывание (команда, на которой прервались, может быть 1-3х тактовой)...
|
Если уж мы используем прерывание, то у нас проц с тактовой под 200 МГц. И джиттер в ~10 нс нам погоды не сделает.
|
|
|
|
02.04.2012, 10:55
|
|
Прописка
Регистрация: 15.11.2007
Адрес: СПБ
Сообщений: 214
Сказал спасибо: 37
Сказали Спасибо 42 раз(а) в 34 сообщении(ях)
|
Re: USB коннектор на AVR
Сообщение от Godzilla82
|
Если уж мы используем прерывание, то у нас проц с тактовой под 200 МГц. И джиттер в ~10 нс нам погоды не сделает.
|
Это точно. Зато интервал будет жестким. Вот только цикл ожидания в прерывании - некрасиво как-то... Лучше, чтобы прерывание успевало отработать до следующего вызова.
P.S. посмотрел семейство AVR - на таких частотах (до 200 МГц) могут работать AVR32, восмибитки - только до 20.
Последний раз редактировалось a-fisher; 02.04.2012 в 13:52.
|
|
|
|
02.04.2012, 16:44
|
|
Частый гость
Регистрация: 20.02.2012
Сообщений: 30
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: USB коннектор на AVR
Под 200МГц мы разогнать не сможем, так что этот вариант мне похоже не подходит ...
|
|
|
|
02.04.2012, 17:05
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: USB коннектор на AVR
Сообщение от a-fisher
|
P.S. посмотрел семейство AVR - на таких частотах (до 200 МГц) могут работать AVR32
|
Сообщение от omercury
|
Ну, есть же ещё и 32битные. Пошустрее...
|
............................
|
|
|
|
02.04.2012, 17:11
|
|
Прописка
Регистрация: 15.11.2007
Адрес: СПБ
Сообщений: 214
Сказал спасибо: 37
Сказали Спасибо 42 раз(а) в 34 сообщении(ях)
|
Re: USB коннектор на AVR
Тогда, IMHO 2 пути:
1. Снижать требование максимальной частоты сигнала хотя бы в 10 раз.
2. Использовать внешний регистр-защелку.
|
|
|
|
02.04.2012, 19:15
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: USB коннектор на AVR
Сообщение от a-fisher
|
Тогда, IMHO 2 пути
|
А начиналось с чего?
|
|
|
|
02.04.2012, 21:14
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
|
Re: USB коннектор на AVR
Сообщение от omercury
|
А начиналось с чего?
|
Ну ему сразу сказали, что при таких скоростях на таких камнях надо использовать логику.
|
|
|
|
05.04.2012, 11:02
|
|
Частый гость
Регистрация: 20.02.2012
Сообщений: 30
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: USB коннектор на AVR
Все таки начал реализовывать идею Someone на Си.
Хочу кнопку не в прерывании обрабатывать, а просто в главном цикле опрашивать нет ли нажатия, на ассемблере это команда SBIC (SBIS). А на Си это как лучше написать? я сделал так
#define MASKA 0b00000100 // маска для кнопки, он на PB2 выводе.
while(1)
{
a=VHOD_PIN;
VIHOD_PORT = a;
a = a & MASKA;
if (a!=4) выводе
{
a++; \\здесь задержка на 666нс
}
}
не ругайтесь сильно ![Улыбка](images/smilies/icon_smile.gif) Си только начал изучать, понимаю что вопрос не сюда, но уж чтоб не отходить далеко от темы
|
|
|
|
06.04.2012, 00:21
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
|
Re: USB коннектор на AVR
Сообщение от slavik.ksu
|
Все таки начал реализовывать идею Someone на Си.
Хочу кнопку не в прерывании обрабатывать, а просто в главном цикле опрашивать
|
Тогда это идея не Someone, а ваша.
На ТЗ, я так понимаю, положили.
Чтобы правильно передавать состояние входов - смотрите пост 150.
Чтобы определить нажатие кнопки в главном цикле:
PHP код:
|
#define BUTTON 0b00000100
...
begin:
tmp = PINB;
PORTD = tmp;
if((tmp & BUTTON) == 0) {
// ну, пусть здесь будет задержка
}
goto begin;
|
В таком случае задержка будет вноситься всегда, пока нажата кнопка.
Никакой обработки дребезга и т.д...
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
usb джойстик на avr
|
bobrozub |
Микроконтроллеры, АЦП, память и т.д |
7 |
14.03.2012 20:24 |
USB клавиатура + AVR
|
Serdgo96 |
Микроконтроллеры, АЦП, память и т.д |
2 |
25.02.2010 22:55 |
USB Коннектор, разпиновка
|
nerozero |
Информация по радиокомпонентам |
2 |
05.10.2007 14:20 |
AVR...USB
|
Edd-Layer |
Микроконтроллеры, АЦП, память и т.д |
4 |
11.04.2007 21:37 |
Часовой пояс GMT +4, время: 04:24.
|
|