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

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

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

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

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

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

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

 
Опции темы
Непрочитано 01.04.2012, 22:12  
arav
Прохожий
 
Регистрация: 23.12.2009
Сообщений: 6
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
arav на пути к лучшему
По умолчанию Re: USB коннектор на AVR

Сообщение от Godzilla82 Посмотреть сообщение
Лучше же в прерывании:
Если используем прерывания, то возникает неопределенность количества циклов перед входом в прерывание (команда, на которой прервались, может быть 1-3х тактовой), если ждем на цикле whlie(1).
Чтобы задержка входа в прерывание всегда была стабильной, надо погружать проц в сон. Например:
PHP код:
  for( ; ; ){
    
set_sleep_mode(SLEEP_MODE_IDLE);
    
sleep_mode();
  } 
Тогда задержка обработки прерывания из состояния сна всегда будет стабильной и не будет дрожания фронтов выходного сигнала. Но задержка просыпания занимает кучу дополнительных тактов, поэтому вряд ли подойдет в этом случае.
Реклама:
arav вне форума  
Непрочитано 02.04.2012, 01:42  
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: USB коннектор на AVR

Сообщение от arav Посмотреть сообщение
Если используем прерывания, то возникает неопределенность количества циклов перед входом в прерывание (команда, на которой прервались, может быть 1-3х тактовой)...
Если уж мы используем прерывание, то у нас проц с тактовой под 200 МГц. И джиттер в ~10 нс нам погоды не сделает.
Godzilla82 вне форума  
Непрочитано 02.04.2012, 10:55  
a-fisher
Прописка
 
Аватар для a-fisher
 
Регистрация: 15.11.2007
Адрес: СПБ
Сообщений: 214
Сказал спасибо: 37
Сказали Спасибо 42 раз(а) в 34 сообщении(ях)
a-fisher на пути к лучшему
По умолчанию Re: USB коннектор на AVR

Сообщение от Godzilla82 Посмотреть сообщение
Если уж мы используем прерывание, то у нас проц с тактовой под 200 МГц. И джиттер в ~10 нс нам погоды не сделает.
Это точно. Зато интервал будет жестким. Вот только цикл ожидания в прерывании - некрасиво как-то... Лучше, чтобы прерывание успевало отработать до следующего вызова.

P.S. посмотрел семейство AVR - на таких частотах (до 200 МГц) могут работать AVR32, восмибитки - только до 20.

Последний раз редактировалось a-fisher; 02.04.2012 в 13:52.
a-fisher вне форума  
Непрочитано 02.04.2012, 16:44  
slavik.ksu
Частый гость
 
Регистрация: 20.02.2012
Сообщений: 30
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
slavik.ksu на пути к лучшему
По умолчанию Re: USB коннектор на AVR

Под 200МГц мы разогнать не сможем, так что этот вариант мне похоже не подходит ...
slavik.ksu вне форума  
Непрочитано 02.04.2012, 17:05  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: USB коннектор на AVR

Сообщение от a-fisher Посмотреть сообщение
P.S. посмотрел семейство AVR - на таких частотах (до 200 МГц) могут работать AVR32
Сообщение от omercury Посмотреть сообщение
Ну, есть же ещё и 32битные. Пошустрее...
............................
omercury вне форума  
Непрочитано 02.04.2012, 17:11  
a-fisher
Прописка
 
Аватар для a-fisher
 
Регистрация: 15.11.2007
Адрес: СПБ
Сообщений: 214
Сказал спасибо: 37
Сказали Спасибо 42 раз(а) в 34 сообщении(ях)
a-fisher на пути к лучшему
По умолчанию Re: USB коннектор на AVR

Тогда, IMHO 2 пути:
1. Снижать требование максимальной частоты сигнала хотя бы в 10 раз.
2. Использовать внешний регистр-защелку.
a-fisher вне форума  
Непрочитано 02.04.2012, 19:15  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: USB коннектор на AVR

Сообщение от a-fisher Посмотреть сообщение
Тогда, IMHO 2 пути
А начиналось с чего?
omercury вне форума  
Непрочитано 02.04.2012, 21:14  
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: USB коннектор на AVR

Сообщение от omercury Посмотреть сообщение
А начиналось с чего?
Ну ему сразу сказали, что при таких скоростях на таких камнях надо использовать логику.
Godzilla82 вне форума  
Непрочитано 05.04.2012, 11:02  
slavik.ksu
Частый гость
 
Регистрация: 20.02.2012
Сообщений: 30
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
slavik.ksu на пути к лучшему
По умолчанию 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нс
}
}
не ругайтесь сильно Си только начал изучать, понимаю что вопрос не сюда, но уж чтоб не отходить далеко от темы
slavik.ksu вне форума  
Непрочитано 06.04.2012, 00:21  
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: USB коннектор на AVR

Сообщение от slavik.ksu Посмотреть сообщение
Все таки начал реализовывать идею Someone на Си.
Хочу кнопку не в прерывании обрабатывать, а просто в главном цикле опрашивать
Тогда это идея не Someone, а ваша.

На ТЗ, я так понимаю, положили.

Чтобы правильно передавать состояние входов - смотрите пост 150.

Чтобы определить нажатие кнопки в главном цикле:

PHP код:
 
#define BUTTON 0b00000100
...
begin:
tmp PINB;
PORTD tmp;

if((
tmp BUTTON) == 0) {
                                   
// ну, пусть здесь будет задержка
                           
}
goto 
begin
В таком случае задержка будет вноситься всегда, пока нажата кнопка.
Никакой обработки дребезга и т.д...
Godzilla82 вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
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.


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