Страница 1 из 2
Помогите с генератором!
Добавлено: Вт мар 25, 2008 16:30:28
Demontrup
Здравствуйте уважаемые электронщики!!
Уже около полугода сижу на вашем сайте. Очень интересно и доступно!!
Но вот решил собрать генератор двуполярных прямоугольных импульсов
на микроконтроллере семейства АВР, дабы научиться работать с ним,
и сделать полезную вещь для себя.
По моей задумке максимальная частота импульсов должна быть равной 10 МГц,
а минимальная - 50 КГц. Я хочу сделать автономный генератор без связи с ПК,
но нужно как-то регулировать длительность импульсов.Я только начинаю
программировать МК и пишу пока на ассемблере.
Я не могу придумать кусок кода для формирования столь малой задержки.
И пытался сделать ее пустым гашением тактов, путем декрименирования чисел,
подаваемых в двоичном коде с портов. Но что-то не получается.
ПОМОГИТЕ ПОЖАЛУЙСТА придумать либо иной способ аппаратного формирования задержки с новым кодом,
либо подскажите что у меня не так. Потому что задержки в моем случае не формируются
и все равны независимо от положения переключателей.
Заранее спасибо!!
Тут схема в протеус и программа на асм:
Re: Помогите с генератором!
Добавлено: Вт мар 25, 2008 16:42:16
tych
Demontrup писал(а):По моей задумке максимальная частота импульсов должна быть равной 10 МГц
Советую почитать
Устройство AVR и затем задаваться техпараметрами которые подсилу AVR.
ИМХО частота слишком высока. Для таких частот применяют внешник генератор, возможно DDS от analog.com и управляют им уже с помощью AVR.
http://forum.cqham.ru/viewtopic.php?t=4 ... &&start=15
Добавлено: Вт мар 25, 2008 16:46:25
Demontrup
Но ведь можно поставить кварц не на 10 МГц ,а больше например 15 МГц а АВР потянет я пробывал
Добавлено: Вт мар 25, 2008 16:48:54
Demontrup
Вот диаграммы нужных мне задержек. Я хотел бы выжать из МК все возможное и работать на максимально возможной частоте
Добавлено: Вт мар 25, 2008 16:54:54
tych
Demontrup писал(а):Но ведь можно поставить кварц не на 10 МГц ,а больше например 15 МГц а АВР потянет я пробывал
Да и 20 МГц кварц потянет ... Но лучше ПОЧИТАТЬ ! как устроен AVR.
Добавлено: Вт мар 25, 2008 17:05:22
Demontrup
Устройство АВР я прочел уже несколько раз. и на русском и на англиском. Все авр похожи. Насколько я понимаю, 1 команда выполняется МК за 1 такт ну или за 2 если есть переходы! Т.е если МК прожигает 10 милионов тактов в секунду то 1 такт это как раз 10 МГц., ну со всякими там переходами это 5 ну и меньше .....МГц. А команда 'nop' прекрасно формирует нужные мне длительности , но тут нет управление скважностями импульсов!
Добавлено: Вт мар 25, 2008 17:18:43
tych
Те AVR которые симулятся в PROTEUS могут дергать ногой в два раза реже чем такт. Некоторые AVR (про них сказано в курсе) могут дергать ногой с частотой такта но с перерывами.
Добавлено: Вт мар 25, 2008 17:49:18
Demontrup
но симулирует временные интервалы он правильно с помощью логического анализатора....я мерил где-то 120 нс. Но это в статической программе. Весь ВОПРОС в том чтобы можно было менять интервалы
Добавлено: Вт мар 25, 2008 21:14:28
lexmulya
10мгц с авр не получишь.
Сам щас занимаюсь темой генератора. Пришол к выводу что это либо микры типа AD9851(50б 32), MAX038 и т.д. или второй вариант по которому наверное и буду делать это ПЛИС внешняя память и быстрый цап. Второй вариант нравиться больше т.к. можно разные сигналы генерить хоть тв....
Добавлено: Вт мар 25, 2008 21:54:31
Reboot_s
Могу сказать сразу - МК с кварцом на 10 Мгц, частоту на 10 Мгц гененрировать не будет. Генератор я не делал, но случилось делать частотомер, так вот удобоваримая измеряемая там верхняя частота была примерно на уровне 1-2 Мгц. Аналогия слабоватая, но паралель с циклами роботы провести можно.
На мой взгляд генерировать частоту с помощью команды"nop" - это изврат) Нужно выжимать возможности встроенного таймера на пределе.
Генераторы ВЧ на МК, что я видел во всяких журналах строились наиспользовании внешних специальных микросхем, а Мк ими просто управляло.
Добавлено: Вт мар 25, 2008 22:18:37
Demontrup
НО!!! если верить протеусу то частота которую я получаю сейчас (без влияния внешней цепи: кнопки и.т.д.) равна 7 МГц при кварце на 15 МГЦ
Добавлено: Ср мар 26, 2008 17:35:36
lexmulya
Практика из жизни, Протеусу особо верить не стоит....
Добавлено: Ср мар 26, 2008 18:39:47
tych
Demontrup писал(а):НО!!! если верить протеусу то частота которую я получаю сейчас (без влияния внешней цепи: кнопки и.т.д.) равна 7 МГц при кварце на 15 МГЦ
НЕ СЛУШАЙТЕ БРЕД который вам тут пишут !
Я уже выше вам сказал как есть В ЖИЗНИ - т.е. на самом деле -
Те AVR которые симулятся в PROTEUS могут дергать ногой в два раза реже чем такт. Некоторые AVR (про них сказано в курсе) могут дергать ногой с частотой такта но с перерывами.
Добавлено: Ср мар 26, 2008 20:55:30
Demontrup
Я попробую в реальный МК залить прогу и посмотреть что получится
Добавлено: Ср мар 26, 2008 21:03:39
tych
Очевидно получится то что запрограммировали.
VMLAB имхо удобней тут явно ! и 4 Мб всего и тоже под известной кнопкой.
Добавлено: Ср мар 26, 2008 21:14:05
Demontrup
tych писал(а):
VMLAB имхо удобней тут явно !.
ОН симулирует нормально? в режиме реал-тайм и без задержек как в протеусе?
Добавлено: Чт мар 27, 2008 07:54:41
tych
Конечно не "в реал-тайм" - зачем вам это если система не связана ни с какими внешними рельными устройствами ? Просто удобный и простой симулятор без замеченых глюков. БЕСПЛАТНЫЙ при том.
Добавлено: Чт мар 27, 2008 20:17:04
lexmulya
Решил не создавать новую тему, по возможности отпишитесь кому что нужно от генератора?
Мне вот нужно 2 канала и частота 10МГц + любые виды сигнала.
Видится это так: AVR или ARM +Плис+Внешняя память+цап.
Добавлено: Чт мар 27, 2008 20:18:14
tych
lexmulya писал(а):Видится это так: AVR или ARM +Плис+Внешняя память+цап.
Посмотрите второй пост топика.
Добавлено: Чт мар 27, 2008 20:31:54
lexmulya
tych писал(а):Посмотрите второй пост топика.
Девятый пост.
З.Ы. Прошу прощения за флуд не удержался.