Технический форум по робототехнике.
BESTWIZARD » 17 дек 2008, 14:51
ПОМОГИТЕ ПОЖАЛУЙСТА !!!
Уже несколко месяцев не могу найти хотя-бы примерно нормальную принципиальную схему микроконтроллера AVR чтобы подключить к компьютеру счётчик-делитель.
Конкретно надо сделать следующее:
Генератор на 300 МГц подключить к счётчику-делителю, который непосредственно подключен ко входам AVR, а AVR непосредственно к LPT или COM-порту компьютера.
Но данные со счётчика-делителя не поступают напрямую через AVR в порт компьютера. А происходит следующее: компьютер подаёт через LPT или COM-порт сигнал на AVR, при получении сигнала от компьютера AVR либо обнуляет счётчик-делитель, либо просто подаёт значения счётчика-делителя через LPT или COM-порт непосредственно в компьютер. Вот и вся задача.
Пожалуйста, прошу очень, помогите хоть чем-нибудь кто чем сможет.
ЗАРАНЕЕ БОЛЬШОЕ СПАСИБО.
blindman » 17 дек 2008, 14:56
А какая разрядность счетчика нужна?
BESTWIZARD » 17 дек 2008, 15:15
Разрядность счетчика чем больше - тем лучше. Думаю, 24-х бит вполне достаточно будет.
Хмммммм.....
Там планируется измерять большие промежутки времени и есть схема делителя частоты на регистрах сдвига - самая быстрая и стабильная получается вроде-бы. Числа в диапазоне от 0 до 9 000 000 000 000. Если подключить разные генераторы к счётчику, то максимально большое количество передаваемых данных за один раз будет от килобайта до нескольких килобайт максимум.
Добавлено спустя 5 минут 55 секунд:
Мне-бы хоть какую принципиальную схему AVR - сложности - куда какие выводы от счётчика-делителя подавать и как это соединить с компьютером, точнее вся загвоздка в схеме AVR-контроллера и всё. Остальное вроди посчитал и элементарную базу подобрал примерно.
blindman » 17 дек 2008, 15:21
Бессмыслица какая-то. Зачем использовать тактовую частоту 300МГц если АВР максимум на 20 МГц работает - 5о нс на цикл? А реально точность измерения будет куда как меньше - надо объяснять почему?
Добавлено спустя 5 минут 30 секунд:
А если еще подумать - нафига ваще внешним счетчиком время мерять? Компьютер сам это может прекрасно делать
BESTWIZARD » 17 дек 2008, 15:27
Да, я знаю, что AVR максимум на 20 МГц работает. Но я-же не AVR-ом частоту меряю-то, а счётчиком-делителем. Ведь там происходит понижение частоты вплоть до герц, а в AVR передаётся только в строго нужный момент значение всех "переключателей" регистров сдвига. То есть AVR ничего сам не меряет, а просто в определённый момент снимает данные со счётчика-делителя и всё. Таким образом подходит любой AVR.
Дак вы с подобным хоть раз сталкивались ?
Добавлено спустя 3 минуты 9 секунд:
НЕТ !!!
Тактовая частота процессора слишком нестабильна и не подходит для таких целей.
Уже пробовал - там расхождение при тактовой частое процессора 3 Ггц примерно +- 87000000. То есть в один такт может выполнятся больше действий, а в другой меньше - процессоры - слишком нестабильны - не подходит.
blindman » 17 дек 2008, 15:38
Процессоры нестабильны
Ответь пожалуйста на вопросы, это поможет тебе понять, что затея бесперспективна:
1. Сколько времени пройдет между моментом, когда программа на компьютере решит, что нужно прочитать значение счетчика, и моментом, когда внешний контроллер получит команду?
2. Сколько времени нужно контроллеру, чтобы передать данные в компьютер?
3. Через сколько времени данные дойдут до программы на компьютере?
4. И самое главное, насколько стабильны будут вышеозначенные временные интервалы?
BESTWIZARD » 17 дек 2008, 17:10
По пунктам:
1) Время от посылки программой не важно - это происходит в то время, как я нажму кнопку и не имеет значения - так как важно значение таймера тогда, когда сигнал дошёл, а не тогда, когда он был послан.
2) Не имеет значения - передаётся значение, которое есть на данный момент на счётчике-делителе.
3) Не имеет значения - снимок значения осуществлён один раз, он то и нужен.
4) 100% стабильность. +-0,000001 % отклонения.
Добавлено спустя 3 минуты 42 секунды:
Уважаемый blindman. Если Вы не уверены в результате моих целей, пожалуйста, больше не пишите мне - задолбался опровергать Вас, лучше бы подумали как это сделать, а не что этому мешает !!!
=DeaD= » 17 дек 2008, 17:13
BESTWIZARD писал(а):4) 100% стабильность. +-0,000001 % отклонения.
Это откуда такая точность возьмётся? Генератор такую точность заявляет?
И вообще какую задачу решаете - точно отмерять временные интервалы?
BESTWIZARD » 17 дек 2008, 17:23
=DeaD=.
Нет, не временные интервалы, а частоту генератора.
blindman » 17 дек 2008, 17:27
BESTWIZARD, формулируй свои мысли правильно. Задача в том виде как она описана - бессмысленна. Это все равно как если бы ты у меня спросил сколько сейчас времени, а я бы ответил 23 часа 26 минут 48 секунд, только ответил бы может через15 минут, а может через час, в зависимости от моего настроения и фазы луны.
BESTWIZARD » 17 дек 2008, 17:31
Точность - скорость подачи импульса: значения со счётчик-делителя на AVR --- равна скорости света, так что точночность определения количества импульсов генератора вообще-то ещё выше, можно сказать со 100% точностью количество импульсов генератора можно измерить в требемый момент.
blindman
Вот именно, Вы правильно поняли мою задачу - не важно через сколько, да, можно и через 15 минут - но ТОЧНО ! А так как я буду знать, что Вы ответили через 15 минут, то скажу сколько импульсов 100% дал генератор 15 минут назад.
Да-да, задача именно в точност, а не в скорости измерения.
Задача сформулирована правильно, правильней некуда. Может ещё только на пальцах проще будет.
EdGull » 17 дек 2008, 17:34
это нынче студетов такой фигнёй грузят?
blindman » 17 дек 2008, 17:35
BESTWIZARD писал(а):А так как я буду знать, что Вы ответили через 15 минут, то скажу сколько импульсов 100% дал генератор 15 минут назад.
И откуда интересно ты узнаешь, через сколько времени я тебе дал этот ответ? По часам наручным будешь засекать? Или по внутренним часам компьютера?
Digit » 17 дек 2008, 17:37
BESTWIZARD писал(а):blindman
Вот именно, Вы правильно поняли мою задачу - не важно через сколько, да, можно и через 15 минут - но ТОЧНО ! А так как я буду знать, что Вы ответили через 15 минут, то скажу сколько импульсов 100% дал генератор 15 минут назад.
А с чего б это Вы будете знать, что ответ поступил через 15 минут?
Добавлено спустя 34 секунды:о, blindman опередил
BESTWIZARD » 17 дек 2008, 17:40
А для этого собственный таймер-счётчик отдельно - но это я уже сделал. Мне надо мерять импульсы от генератора.
Аспирантов на физ-мате.