|
Генерация сигнала прямоугольной формы, реалиация линейного изменения |
|
|
|
 |
Ответов
|
Aug 29 2008, 02:47
|
Местный
  
Группа: Свой
Сообщений: 404
Регистрация: 3-12-04
Из: Новосибирск
Пользователь №: 1 304

|
Цитата(rezident @ Aug 29 2008, 08:57)  Сначала уточните с какой точностью нужно формировать частоту? Или это не периодическая частота, а сигналы произвольной длительности? Точность формирования частоты может быть в пределах: от +-1 до +-10 Гц. Цитата(igorenja @ Aug 29 2008, 09:20)  Я бы взял маааленькую плисину подовал на неё значение частоты от МК. 200кГц на АВР сгенерировать достаточно гиморойно да и с плавностью регулировки частоты проблемы будут. Генерация 200кГц для АВР не проблема.
|
|
|
|
|
Aug 29 2008, 05:14
|
Местный
  
Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527

|
Цитата(KSN @ Aug 29 2008, 06:47)  Точность формирования частоты может быть в пределах: от +-1 до +-10 Гц. Генерация 200кГц для АВР не проблема. Напрасно Вы так думаете. С помощью таймера на частоте 200КГц разрешение в +-10Гц получить не удастся. Вам даже разрешения в 1КГц не достичь.
|
|
|
|
|
Aug 29 2008, 05:48
|
Местный
  
Группа: Свой
Сообщений: 404
Регистрация: 3-12-04
Из: Новосибирск
Пользователь №: 1 304

|
Цитата(Qwertty @ Aug 29 2008, 12:14)  Напрасно Вы так думаете. С помощью таймера на частоте 200КГц разрешение в +-10Гц получить не удастся. Вам даже разрешения в 1КГц не достичь. Фраза "генерация 200кГц на АВР не проблема" относится только к возможности генерации такого сигнала. Линейно изменять с точностью 10Гц - да, невозможно. Буду рассматривать возможность изменения частоты с большим шагом.
|
|
|
|
|
Aug 29 2008, 09:13
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(rx3apf @ Aug 29 2008, 07:29)  Возможно и 10 Hz, и 1 Hz, и даже доли Hz. Вот только форма при этом будет далека от меандра. Можно сделать извращенный вариант - программный DDS, фильтр, а потом поставить компаратор... Почему же извращённый? Это единственный вариант на авр, дешёвый к тому же. Недавно прорабатывал вариант НЧ свип-генератора синусоидального сигнала 0,3 Гц-500кГц на таком принципе, пмсм получалось неплохо, правда, руки пока не дошли до реализации в железе. Частота выдачи самплов составляла 4000 кГц со скоростью перестройки частоты от 0.3 Гц и выше за период. Если без перестройки то можно было увеличить частоту выборки до 5000 кГц.
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Aug 29 2008, 11:59
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(=GM= @ Aug 29 2008, 13:13)  Почему же извращённый? Это единственный вариант на авр, дешёвый к тому же. Недостаток - при перестройке генерация прекращается. Ну и аналоговой обвески много - DAC и фильтр. Цитата(Qwertty @ Aug 29 2008, 15:50)  По другому тоже можно - генерить прямоугольник сразу, с частотой в два раза больше требуемой, затем внешним триггером делить на два. На прямоугольник не надо так много выборок как на синус. И меандр будет чище, чем после фильтра->компаратора. Нельзя. Сигнал надо делать чистым, а если фаза будет дрожать (а без преобразования в синус и последующей фильтрации это неизбежно), то и после делителя картина останется прежней. Ничего, даже отдаленно напоминающего меандр, уже не получится. А вот через аналоговое преобразование - получится.
|
|
|
|
|
Aug 29 2008, 12:28
|
Местный
  
Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527

|
Цитата(rx3apf @ Aug 29 2008, 15:59)  Нельзя. Сигнал надо делать чистым, а если фаза будет дрожать (а без преобразования в синус и последующей фильтрации это неизбежно), то и после делителя картина останется прежней. Ничего, даже отдаленно напоминающего меандр, уже не получится. А вот через аналоговое преобразование - получится. У меня и так получается нормально. Не знаю как насчет отдаленно, но я по осцилу от меандра сигнал после делителя отличить не могу.
|
|
|
|
|
Aug 29 2008, 12:48
|
Местный
  
Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527

|
Цитата(rx3apf @ Aug 29 2008, 16:34)  Тогда какая принципиальная разница, генерить сразу меандр или делать его потом триггером ? Вариант с накоплением фазы не дает возможность получить меандр Сразу не выходит, получается что-то типа 11100_11000_11100_11000...То есть при неизменном периоде длительность импульса скачет достаточно серьезно.
|
|
|
|
|
Aug 29 2008, 12:59
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(Qwertty @ Aug 29 2008, 16:48)  Сразу не выходит, получается что-то типа 11100_11000_11100_11000...То есть при неизменном периоде длительность импульса скачет достаточно серьезно. И после делителя на 2 внешним триггером она будет скакать точно так же. Вроде бы самоочевидно, нет ? Цитата(=GM= @ Aug 29 2008, 16:53)  Всё просто. Если вы до запуска цикла перенесёте таблицу синуса из флеша в озу, а в программе из поста #13 вместо команды lpm поставите команду ld r0,z - получите уже 8 тактов. А, ну такой вариант я предполагал. Просто когда я развлекался с таким генератором, использовался 2313, а у него такой фокус не пройдет из-за ограниченности памяти.
Сообщение отредактировал rx3apf - Aug 29 2008, 12:57
|
|
|
|
|
Aug 29 2008, 14:22
|
Местный
  
Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527

|
Цитата(rx3apf @ Aug 29 2008, 16:59)  И после делителя на 2 внешним триггером она будет скакать точно так же. Вроде бы самоочевидно, нет ? Нет  11100_11000_11100_11000... 11111_00000_11111_00000... после делителя
|
|
|
|
|
Aug 29 2008, 14:45
|
Местный
  
Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527

|
Цитата(rx3apf @ Aug 29 2008, 18:30)  И если программно генерировать вдвое более низкую частоту, то картина будет _в точности_ такой же, как после триггера-делителя. Вполне возможно. Просто мне нужно было две таких частоты со сдвигом на 90 градусов. Поэтому частоту пришлось поднять вдвое, а потом делить.
|
|
|
|
Сообщений в этой теме
KSN Генерация сигнала прямоугольной формы Aug 29 2008, 01:55      KSN Цитата(=GM= @ Aug 29 2008, 16:13) Почему ... Aug 29 2008, 09:39       =GM= Базовая программа генерации синуса
Кодloop: ... Aug 29 2008, 09:58        rx3apf Цитата(=GM= @ Aug 29 2008, 13:58) Цикл ле... Aug 29 2008, 12:06         =GM= Цитата(rx3apf @ Aug 29 2008, 11:06) А вот... Aug 29 2008, 12:53       =GM= Цитата(rx3apf @ Aug 29 2008, 10:59) Недос... Aug 29 2008, 13:09        rx3apf Цитата(=GM= @ Aug 29 2008, 17:09) о не на... Aug 29 2008, 13:14         =GM= Цитата(rx3apf @ Aug 29 2008, 12:14) А вот... Aug 29 2008, 13:37          rx3apf Цитата(=GM= @ Aug 29 2008, 17:37) Ну, это... Aug 29 2008, 13:42 igorenja Цитата(KSN @ Aug 29 2008, 07:55) Необходи... Aug 29 2008, 02:20 kamil yaminov Можно на ГУНе каком-нить собрать без АВР и ПЛИСины Aug 29 2008, 02:40 SasaVitebsk +1
Если это единственная задача однокристалки, - т... Aug 29 2008, 09:25 =GM= Цитата(SasaVitebsk @ Aug 29 2008, 08:25) ... Aug 29 2008, 09:39  AHTOXA Цитата(=GM= @ Aug 29 2008, 15:39) Чтобы с... Aug 29 2008, 10:11   =GM= Прозевали вы сообщение уважаемого rx3apf (пост #8)... Aug 29 2008, 10:31    Qwertty Цитата(=GM= @ Aug 29 2008, 14:31) по-друг... Aug 29 2008, 11:50 AHTOXA Цитата(=GM= @ Aug 29 2008, 16:31) Прозева... Aug 29 2008, 12:02 =GM= Цитата(AHTOXA @ Aug 29 2008, 11:02) А, эт... Aug 29 2008, 13:51
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|