PDA

Просмотр полной версии : Синтезатор, управляемый программой PowerSDR через LPT порт



RZ6AT
23.09.2007, 23:02
Приветствую всех энтузиастов Software Defined Radio!
Давно слежу за форумами по этой теме и решил внести свою лепту.
Вижу, что есть потребность в синтезаторе частот для самодельных SDR конструкций,
но с условием, что управление должно происходить от основной SDR программы.
В одном из вариантов решения этой задачи был предложен вариант синтезатора,
управляемым по СОМ порту компьютера + программа, берущая данные из основной
SDR программы, пререкодирующая их в свой формат и посылающая их в СОМ порт компьютера.
Считаю такой путь усложнённым и предлагаю вариант чистА аппаратного решения этой
задачи, который не требует использавания самодельных программ для управления частотой.
Основные его отличия следующие:
1. Подсоединяется к LPT порту компьютера и использует данные, выдаваемые программой PowerSDR
2. Содержит фапчёвый синтезатор частоты с шагом 3,051 кГц и с частотой сравнения 12,204кГц
для чистоты спектра
3. Источник опорной частоты - генератор 25000 кГц
4. Гун = один генератор 112-120 МГц используется на все диапазоны 10, 20, 40 и 80 метров
5. Выдает квадратурные цифровые сигналы на смеситель SDR
6. Выдает сигналы UP и DOWN для схемы управления ГУНом
6. Вся цифровая часть, в том числе и синтезатор собран на ПЛИС EPM3064ATC44
Схема устройства представлена в файле SDR1-GDF.pdf.

Serg
24.09.2007, 01:26
Задумку поддерживаю, вещь актуальная.

Но, почему не все диапазоны, если их коды дешифратор, по идее, выдает?

Давайте 2-3 ГУН-а поставим, проблема что ли, вариантов коммутации их достаточно уже было изобретено за эру "синтезаторостроения"... Или даже один , но с коммутацией витков контура диодами или реле , тот же UT2FW такое использует, схемотехника повторяемая вполне.


Эта ПЛИС сколько стоит и на сколько трудно ее приобретать, если в провинции находишся?

Как ее программировать, в смысле адаптеры-программаторы или просто 5 проводов на СОМ-порт?

Nicky
24.09.2007, 12:57
Отличная идея!

Хотел сам сделать такую вещь, но боялся.
Теперь, когда еще кто-то делает, решился.
В связи с этим у меня вопрос.
Если есть уже готовые схемы ГУНа на такие частоты,
особенно с подстройкой UP и DOWN, поделитесь пожалуйста
ссылками. Еще интересует преобразование в "цифру"
аналоговой частоты на таких частотах.
С цифровой частью мне более-менее понятно.
На мой взгляд ГУН надо сделать на частоты 60...120 МГц,
для сплошного частотного перекрытия.
При этом схему синтезатора можно оставить как есть
для простоты реализации, смирившись с ограничением
рабочих диапазонов, а в полной версии возможно надо
будет вставить DDS.

RZ6AT
24.09.2007, 19:24
To Serg: Да, легко можно ввести дополнительные любительские диапазоны, если, например, к выходу
дешифратора выбора диапазона подключить транзисторный ключ, который поключает дополнительную
ёмкость к контуру ГУНа и сдвигает частоту до нужного диапазона (с учётом коэффициента деления).
Просто я увлёкся идеей минимизации аппаратных и программных средств для этой задачи и вариант
с ключеванием доп. ёмкостей не рассматривал.
Микросхема стоит менее 3-х долларов и я на периферии заказываю её в фирме ЭФО http://www.efo.ru/
или в фирме Точка Опоры http://www.fulcrum.ru/ в Москве через знакомых. Описание работы с этими
микросхемами беру на сайте фирмы производителя Altera http://www.altera.com/ на английском языке.
Есть, правда, часть документов на русском языке на сайте http://www.altera.ru/. Программирую через
самодельный ByteBlasterMV через LPT порт.

To Nicky: Схем самодельных ГУНов в инете достаточно много, об этом лучше всего расскажет
http://www.google.com/, а про готовые ГУНы http://www.minicircuits.com/. Преобразование в "цифру"
частоты здесь нет, так как ГУН сделан на одном инверторе внутри ПЛИС и наружной индуктивности + варикап
и выходной сигнал ГУНа уже не синус, а сглаженный меандр, и он внутри ПЛИС уже делится триггерами до
нужной частоты. К выходам UP & DOWN подключаются комплементарные ключи (транзисторные, аналоговые,
оптронные) для отвязки от помех по "грязной" цифровой земле, которыми ключуются или аналоговая
земля или аналоговое питание и после интегрирующей цепочки подаются на вход управления частотой
(варикап) ГУНа. Сплошной диапазон пока не ставился задачей... а вот DDS "обратно" ставить смысла не
вижу. В этой конструкции мы постарались уйти от DDS с её "грязным" спектром, а тут же предлагается
вернуть её "взад".

Nicky
26.09.2007, 08:02
To RZ6AT:
Да, насчет DDS, это я погорячился.
У меня вопрос по поводу ГУНа на инверторе.
В datasheet-е не показана схема генератора,
а указана только задержка pin-to-pin = 4.5 nS.
Если у вас уже есть такая схемка или прототип,
не могли бы ее выложить?
И еще вопрос, в какой версии квартуса делаете проект?
И какой "speed grade" используете -4, -7, -10?
Попробовал поставить на компьютер PowerSDR1906,
но она требует ".NET Framework version 1.1.4322".
Инсталлировал Framework версии 2.0, но
PowerSDR ее игнорирует.
К сожалению, у меня мало времени для поиска
решения в интернете. Не могли бы подсказать,
какой версией PowerSDR вы пользуетесь?

Nicky
26.09.2007, 13:54
PowerSDR поставил. Вопрос снят.

RZ6AT
26.09.2007, 18:35
To Nicky:
Cхему ГУНа на инверторе в ПЛИСке прилагаю, правда номиналов не привожу, схемы не рисовал и за давностью уже точно не помню, надо измерять емкости, а это напряжно...Кому надо, сам посчитает.
ПЛИСку проектирую в МАХ+ (Квартус не прижился...) Использую самые медленные микросхемы -10, но даже они дают полосу пропускания инверторов ~200МГц. Правда чистоту спектра такого ГУНа не мерял - нечем, зато самый простой и дешёвый вариант.

Nicky
01.10.2007, 11:25
To RZ6AT:
Набросал схему ГУНа с управлением. Использовал
элементы, которые нашел в наличии.
На мой взгляд экономить на внешнем ГУНе не имеет смысла.
Не такие уж это большие затраты. Зато приемник будет
принимать и вещательные станции, в том числе и DRM.
А стабильность ГУНа и джиттер на инверторе, находящемся
в цифровой м/с, у меня вызывают большие опасения.
На этой неделе может уже смакетирую ГУН, но времени мало,
поэтому точно не обещаю. Если у кого есть замечания,
высказывайтесь. Вместо CPLD у меня есть
плата с Virtex-ом, на которой и хочу проверить.
Кстати, а питание CPLD (Vccint и Vccio) Вы планируете
одно на 3,3 В?

Genadi Zawidowski
01.10.2007, 12:08
Nicky, замечания по схеме sdr_vco1.gif такие:

Резистор R10 заменить на дроссель (максимум - с резистором 110 Ом последовательно)
Поседнее звено ФНЧ R8 С5 преесчитать на больший номинал конденсаитора и меньший номинал резистора
R5 R7 - то же самое - понизить до минимально подходящих номиналов (а еще лучше сделать на операционнике активный фильтр).
Про характеристики КР544УД2 что-нибудь известно? Например, работает ли (сохранеет ли параметры) при питании +/- 6 вольт? В документе написано +/- 13.5...16.5 (то есть - +/- 15 вольт с 10 процентным отклонением). По выходам это пхоже тожене rail-to-rail операционник, по два вольта как минимум (если не по три) напряжение насыщения выходного каскада будет - соответственно, перекрыть одним контуром весь диапазон вряд ли получится (с таким операционником).

RZ6AT
01.10.2007, 21:50
Похвально желание расширить диапазон перекрываемых частот, но пропорционально увеличиваются шумы генератора в ФАПЧе. Если в моей схеме диапазон перекрытия ГУНа выбран минимально необходимый для перекрытия самого широкого любительского диапазона 10м = 2МГц (у меня генерится учетверённая частота, но она потом делится на 4, а на других диапазонах и ещё сколько надо раз на 2)с запасом и напряжение на варикапе при этом меняется на 8 Вольт, тогда шум в 0,1мВ на варикапе приведёт в частотной девиации частоты генератора в 25Гц. В схеме же с перекрытием 120-60 и делённое на 4 = 15 МГц на примерно те же 8 вольт перекрытия - это в 7,5 раз хуже, да и не забывайте, что операционник усилил их в 10 раз, причём усилил логическую единицу и логический ноль цифровой микросхемы, а это "грязные" сигналы, так что можем в результате утонуть в шумах гетеродина.
Просто, с целью минимизации шумов гетеродина, я предложил схему синтезатора ТОЛЬКО для любительских диапазонов, но с ОДНИМ ГУНом, но у которого на разных диапазонах шаг НЕ меняется и для которого НЕ нужно дополнительное программное обеспечение, так как информацию о частоте настройки он берет из LPT порта, как в родной схеме, но при этом ему НЕ нужен DDS, который при шаге перестройки в 3 кГц уже на нужен, он только ухудшает своими, внутренне присущими ему побочными частотами, спектр гетеродина. А разработка синтезатора с обзорным диапазоном - это совсем другая задача, с другими критериями.

Serg
01.10.2007, 22:31
2 Nicky: на мой взгляд стоит отказаться от такого хлама в ГУН как КТ363. Есть BF998, КП327 или любые однозатвроные полевики (КП303, 2sk241). Обвязка намного меньше и работает генератор сходу.

2 ALL: Коллеги, ну объясните мне пожалуйста, что за мода пошла простенькие схемы в PDF выкладывать?

Зачем эти проблемы: нажимаешь по файлу он начинает скачиваться, запускается менеджер закачек (если используется что-то типа DownloadMaster) потом кликать в него и открывать Акробат, которы еще пол минуты просчитает "свои шрифты" пока запуститься...

В GIF или JPG все гараздо проще:

1.Браузер сам показывает графику;
2.Формируется миниатюра картинки, по которой можно уже сразу понять, что там, не кликая по файлы, если особо не интересно.

Уважайте читающих!

Спасибо...

RZ6AT
02.10.2007, 08:29
Serg, спасибо, учтём про PDF...
И насчёт полевика в ГУНе согласен, схема с ним гораздо проще!

Nicky
03.10.2007, 07:28
To RZ6AT:
Что касается увеличения шумов ГУНа при расширении диапазона - тут я с Вами согласен.
Но я планирую использовать синтезатор на прием не столько любительских диапазонов,
сколько вещательных. Если получится - хорошо, а нет - так и суда нет.

To Genadi Zawidowski:
Замечания принял к сведению. Спасибо. Параметры на КР544УД2 в моем справочнике такие:
Uп = +/-5...+/-16,5В (предельные значения).
Напряжение насыщения конкретно не указано, но на графиках якобы 2В.
Если макет даст удовлетворительные результаты, в качестве УПТ можно
использовать AD820.

To Serg:
Насчет хлама - это точно. Тут я исходил из того, что генератор собранный
по схеме емкостной трехточки уменьшает перекрытие по частоте, поэтому выбрал
такую схему. А для макета и хлам подойдет.

To All:
1. Может кто имеет опыт преобразования синусоиды в цифру.
Что лучше - компаратор или логика. Интересует прежде всего джиттер, хотя
важно это здесь или нет - не знаю.
2. Какое усиление должно быть у УПТ? Существуют какие-либо рассчеты для таких схем?

Genadi Zawidowski
03.10.2007, 10:24
Усилние у УПТ и остальные параметры петель Вам поможет программа ADISIMPLL с www.analog.com (бесплатная). Только придется сделать так, чтобы выход Вашего фазового дететора имел такую же чувствительность (mA/rad), как и у той микросхемы ФАПЧ, которую вы выберете в симуляторе (он только от AD позволяет, например ADF4001).

Посмотрите в сторону преобразователей LVDS -> LVTTL, но у них может быть гистерезис по входу, говорят, увеличивает джиттер (который у этих микросхем нормируктся). Из моего опыта - на частотах до 12 МГц обычный логический элемент 74HC00 с подтянутым к "половине" входом не увеличивал фазовых шумов сигнала с опорника (перед лог. элементом стоял дифусилитель на паре транзисторов).

А что мешает применить отдельную м.сх. фапч - типа ранее названой?

Nicky
24.10.2007, 12:42
To All:
Сделал генератор на односторонней макетной плате с опорными точками
в земляном слое. Результаты получились такие:
Индуктивность намотал эмалерованным проводом ПЭЛ-0,8 на оправке диаметром 5 мм.
Высота над земляным слоем - 3 мм. С четырьмя витками и одной парой варикапов
нижняя частота генерации (при напряжении управления = 0 В) составила около 40 МГц,
верхняя (при напряжении управления = 28 В) - около 60 МГц. Поставил последовательно
варикапам емкость 100 пФ и получил следующее:
нижняя частота = 57 МГц, верхняя - = 95 МГц. Отключил варикапы и частота генератора
стала = 125 МГц.
При количестве витков = 3 генератор перестал возбуждаться.
Пробовал сделать генератор на транзисторе 2П303Д по схеме емкостной трехточки,
но на этих частотах он не загенерил.
Похоже нужно использовать более высокочастотные транзисторы и варикапы с бОльшим
перекрытием по емкости.
Преобразователь в цифру на м/с КР1554ЛН1 отлично справлялся со своей задачей,
хотя потреблял 60 мА на частоте 125 МГц.

To Genadi Zawidowski:
К отдельной м/с фапч нужна еще обвязка.
Да и интересней сделать свое.

Nicky
13.11.2007, 13:59
To All:
Что-то тема не пользуется популярностью.
За прошедшее время экспериментировал с разными схемами генераторов.
И понял, что лучше классических емкостных (индуктивных) трехточек ничего нет.
Выжимал максимум коэффициента перекрытия по частоте (т.е. крутизну регулировки),
так как думаю стабильность выдаваемой частоты ГУН при замкнутой петле зависит от этого
(если не считать других факторов). Получилась схема, показанная во вложении.
Работал только с теми элементами, которые у меня есть в достаточном количестве
(остались еще с давних времен). При напряжении регулировки от 0 до 28 В коэффициент
перекрытия чуть-чуть не добирал до 2, поэтому в новой версии решил делать двойной ГУН
(60...90 МГц и 90...120 МГц) с напряжением регулировки от 0 до 12 В,
чтобы иметь запас по частоте. Элементы коммутации еще не проверял.

To RZ6AT:
Как абстоят дела у Вас? Пробовали делать генератор на инверторе?
Есть какие-либо результаты?

ur0vs
13.11.2007, 15:40
To All:
Что-то тема не пользуется популярностью.

Я думаю это связано с тем, что автор пременил "программируемую логику". Не у каждого есть возможность ее преобрести, а тем более запрограмитовать ее. Мне кажется было бы проще поставить какой нибудь микроконтролер, вместо всего этого "железа".

ut1wpr
13.11.2007, 16:22
To All:
Что-то тема не пользуется популярностью.

Я думаю это связано с тем, что автор пременил "программируемую логику". Не у каждого есть возможность ее преобрести, а тем более запрограмитовать ее. Мне кажется было бы проще поставить какой нибудь микроконтролер, вместо всего этого "железа".
Ничего не скажу насчет "приобрести", а вот насчет "запрограммировать" - уже много лет применяю один и тот же БайтБластер для программирования микроконтроллеров AVR и для прошивки ПЛИСов. Один чип и жменька резисторов. Но для Ксайлинкса нужен немного другой. Впрочем, пока разговор об этом производителе вроде и не поднимался... А вот заменить ПЛИС микроконтроллером - это немного не так. Разные задачи и разные решения. Не надо забывать, что любой микроконтроллер - это последовательный автомат. ПЛИС - параллельный.
На ПЛИСЕ можно собрать микроконтроллер. Наооборот - нет :-)

Serg
13.11.2007, 17:32
2 Nicky:

Хороший у вас "хлам" - кт368 А9 - это же smd?!
По схеме - что-то не пойму, что коммутирует самый верхний транзистор и каким образом?

Serg
13.11.2007, 17:48
Дошло, он просто включает ГУН, при том, что есть еще один такой же узел...

Немного нерационально сделали, можно выкинуть второй согласующий каскад, оставить один общий, а пин-диоды поставить в базе этого каскада, чтобы подключать или первый, или второй ГУН, так делают почти во всех синтезах и всё работает.

Genadi Zawidowski
14.11.2007, 04:42
За прошедшее время экспериментировал с разными схемами генераторов.
И понял, что лучше классических емкостных (индуктивных) трехточек ничего нет.

По Вашей схеме:
антипаразитные резисторы (1К, включенные последовательно с дросселями в цепи управления варикапами) - уменьшите до 200..200 Ом (уменьшает шумы). Что-то надо сделать и с резистором R4 - тоже заменить на дроссель+резистор?
Попробуйте последовательно с R11 включить дроссель.
Может, после этого можно будет поставить в эмиттер резистор ом на 20..51 (ООС).
Про назначение R10 & R14 пару слов можно?
R7,R8 & R9: раз в пять всех сделать меньше - только лучше будет. После этого возможно потребуется еще один дроссель последовательно с R9.

Вы подгоняете к диапазону управляющих напряжений от 0 вольт - попробуйте выбрать в качестве нижней границы 0.5 (или сколько нам ключи дают на выходе).
Если активный фильтр - то хорошие операционники не всегда rail-to-rail по выходу - ьывает и 1.8 вольта навпряжение насыщения выходных транзисторов.

Nicky
15.11.2007, 09:36
To Serg:
В существующем макете у меня используются транзисторы КТ368АМ в пластмассовых корпусах
и другие выводные элементы, не считая фильтрующих чип конденсаторов по питанию,
которые хорошо устанавливаются между опорными точками и "землей".
Следующий макет и рабочую плату буду изготавливать по лазерно-утюжной технологии, так как
уже набил руку на приемнике наблюдателя из соседней ветки форума (сделали с сыном).
И уже на новых платах решил применить SMD компоненты (не все), наиболее близкие к тем,
что использую сейчас. Верхний слой будет земляной с выводными компонентами
(ОУ AD820AN(Z) (КР544УД2А в макете), катушка ГУНа, и некоторые другие), а нижний слой
связей будет содержать SMD компоненты. Приведенная выше схема - это уже заготовка
для нового макета. Что касается диодов, то их можно вообще не ставить в данной схеме,
если амплитуда выходного сигнала не очень большая (у меня она не превышает 0,5 В).
На днях хочу проверить коммутацию ГУНа, за одно проверю разные схемы с диодами.

To Genadi Zawidowski:
Что касается дросселей, то я старался не использовать их без особой нужды.
Но проверить не помешает. Только что нашел в своих запасах "ДПМ 0,2 22мкГ".
Попробую с ними. Номиналы резисторов R1,R3...R5 изменю.
Несколько лет назад делал на работе СВЧ приемник (GPS/GLONASS).
В качестве последней квадратурной ПЧ (0...12,5 МГц) использовал каскодную схему
на транзисторах КТ368А9 с эммитерным повторителем на выходе. Столкнулся с паразитным
возбудом на ВЧ, устраняемым введением в цепь коллектора повторителя резистора 10...100 Ом.
С тех пор ставлю их где надо и не надо (это про R10,R14). Возможно в данной схеме они
не нужны.

To All:
Что-то не могу найти импортные сдвоенные варикапы SMD - это что, такая редкость?
На частоту 90...120 МГц хочу применить BB132, если не найду сдвоенных.

RZ6FY
16.03.2008, 11:15
Здесь ... я поделился идеей, как просто принимать коды с LPT от программы PowerSDR и подавать их на синтезатор на основе PLL. Точно так же можно это сделать не на ПЛИСке, а на микроконтроллере и там НЕ нужны будут операции деления.

После того, как благодаря RA9YTJ (http://forum.cqham.ru/viewtopic.php?t=1517 8) я получил возможность наблюдать не только импульсы на выходах LPT, но и числа, которые выдает в порт ПоверСДР и немного поигрался с формулой преобразования этих чисел в частоту, до меня, наконец-то, кажется, дошло понимание Вашей идеи...

Поэтому ПРОШУ ПРОЩЕНИЯ за то, что по недообразованности своей позволил себе усомниться!

...я не борец за чужие идеи - своих в избытке...
Посыпаю голову пеплом... :bad:

Жаль, что Вы, предлагая свою идею, не нашли возможность сразу разъяснить ее подоходчивей, может быть я (и не только я) стал ее сторонником гораздо раньше!
Сейчас же хотелось бы знать, в какой стадии ее реализация?
И еще, на том уровне понимания Вашей идеи, до которого я пока дошел, мне кажется, что возможно для ее реализации вообще обойтись и без ПЛИС и без микроконтроллера - несколько корпусов простой логики... Правда, это будет не синтезатор, а ГПД с электронной перестройкой с соответствующей стабильностью, но такие достаточно широко применяются в радиолюбительских разработках, да и для начальных экспериментов с простой схемотехникой СДР вполне могут устроить многих...
Или я еще недостаточно разобрался в этом вопросе...?
(сейчас "раздваиваюсь" между желанием научиться модифицировать dll и желанием поэкспериментировать в вышеизложенном направлении...)

С уважением,
Павел.

RZ6AT
16.03.2008, 15:03
Жаль, что Вы, предлагая свою идею, не нашли возможность сразу разъяснить ее подоходчивей, может быть я (и не только я) стал ее сторонником гораздо раньше!
Да, Павел, согласен с вами, это моё упущение. Надо было сначала на пальцах кратко рассказать в чём суть идеи построения такой схемы, а потом давать детальную схему. Может это из-за того, что я выступаю крайне редко и не имею нужного опыта, как надо правильно делиться своими наработками.
Итак, суть идеи заключается в том, что при анализе схемы SDR100 я пришёл к выводу, что применение DDS в нём мало оправдано и имеет несколько недостатков, такие как, большое токопотребление, сильный нагрев, необходимость применения сложных двух фильтров на его выходах, применение компараторов на выходах для преобразования синуса в меандр наводит на мысль сделать генератор, который сразу генерит меандр и в документе "SDR-1000 Hardware Manual V3.8.doc" вот такие строки "For greatest accuracy, the DDS has a capability of tuning in 1uHz steps. This does not, however; offer the best phase truncation spur performance. To reduce or eliminate phase truncation spurs it is necessary to step the DDS in roughly 3KHz increments (most significant 16 bits of the tuning word). The fine-tuning is then done in the DSP code" из которых видно, что в DDS изменяются только старшие 16 бит 32-х разрядного кода накопителя фазы и частота его перестройки равна (при 200МГц тактовой частоте DDSа) 200МГц/2^16=3051,7578125 Гц, что тоже наводит на мысль, а зачем тогда нужен DDS, если шаг перестройки относительно большой - может имеет смысл применить синтезатор с ФАПЧем, с частотой сравнения = 3051Гц, которую получать из частоты, кратной частоте 200МГц с коэффициентом = целой степени двойки. В моём случае взят генератор 25МГц. При таком выборе код, подаваемый на ДПКД синтезатора СОВПАДАЕТ с кодом, подаваемый на 16 старших разрядов DDSки со сдвигом на нужное число бит. Причём в ПЛИСке реализованы и защелки кодов из LPT и дешифраторы адреса для старших 16 битов и защёлки для кода ДПКД и сам ДПКД и делитель с 25МГЦ до частоты сравнения и частотнофазовый детектор и автоматический, в зависимости от диапазона, делитель частоты, позволяющий применить всего ОДИН ГУН 112-120МГЦ с малой перестройкой, что ведёт к снижению шумов. Также в ПЛИСке реализован регистр диапазона, выходы которого, можно подавать на ключи выбора диапазонных фильтров, а также схема расщепления выходной частоты на два квадратурных меандра, либо 4 импульса со сдвигим на 90 градусов, а так как расщепитель требует учетверённой частоты, то и ГУН выбран в 4 раза выше самого высокочастотного любительского диапазона, но это позволило и частоту сравнения повысить в 4 раза до 12кгц, чтобы пульсации её не попадали в звуковой тракт, а частота шага синтезатора осталась равной 3051Гц.
Но, как мне резонно указал RV3BJ, такой шаг синтезатора в SDR-1000 может иметь место только на приём, так как только на приём имеет смысл spure reductions, а на передачу там могут использоваться все 32 бита регистра частоты, так что в такой синтезатор с ФАПЧем необходимо вводить узел увода частоты в пределах 3КГц, например как у вас ЦАПом на варикап.
Но тот же метод можно реализовать не на ПЛИСке, а на микроконтроллере + микросхема ФАПЧ, важно подобрать частоты тактирования, чтобы не нужно было "делить и отнимать, а прибавлять и сдвигать".

rv3bj
16.03.2008, 16:34
RZ6AT
Тут моей заслуги нет. Я почерпнул эти данные из чтения форума.
Вообще у меня складывается впечатление, что совместными усилиями нам удастся решить проблему гетеродина, работающего с Power SDR. Я все-таки думаю, что использование AD9952 (возможно двух штук для получения I и Q без деления) весьма перспективное решение. Для этого надо просить помощи у квалифицированных программистов Relayer, RA9YTJ или у кого-то еще...

RZ6FY
16.03.2008, 17:43
Сегодня в Ставрополе паршивейшая погода, пилить, строгать и паять неохота, а помечтать - самое то...
Предлагаю вниманию почтенной публики схемку, родившуюся в моей голове в результате процесса "глубокого" изучения связки PowSDR-LPT. Предлагаемую схему я позиционирую, как ГПД, управляемый напряжением, получаемым преобразованием при помощи ЦАП цифрового кода, предназначенного для AD9854. Во как!
Наблюдения за физикой работы порта и анализ логов с него показали, что стробами по линии С2(16) порта на линии данных "защелкиваются" последовательно 6 байт, определяющих частоту DDS. Причем, при запуске и включении ПовСДР, а так же при переключении диапазонов по этой линии (С2) могут кратковременно "защелкиваться" и другие данные, но 6 байт для установки частоты всегда идут последними... Это позволяет предположить, что в предлагаемой схеме из цепочки шести регистров-защелок в этих регистрах всегда будут фиксироваться 6 байт кода, определяющего частоту... Для реализации ГПД достаточно трех старших байт, но поскольку они выводятся в порт раньше, приходится использовать шесть регистров (хотя, возможно, есть и другое решение - я сильно не думал...) Схема достаточно условная, поэтому все входы С регистров запараллелены, хотя здесь надо обеспечить такую логику их работы, чтобы данные сдвигались из регистра в регистр...
Использование 16-ти разрядного ЦАП именно так, как показано на схеме, позволяет при шаге около 12 Гц получить перестройку около 780 КГц... Хотя, лучше ограничиться шириной диапазона... Подчеркиваю - это ГПД, а не синтезатор, поэтому стабильность частоты будет полностью определяться конструкцией... Еще одни "грабли" - это нелинейность преобразования "управляющее напряжение-частота" в ГУН-ах... Хотя я при экспериментах с варикапами КВ132 в ГУН-ах, наблюдал достаточно протяженные линейные участки...
Понятно, что такое решение не для "серьезного" применения, но для эксперименто на одном-двух диапазонах для лучшего понимания процессов разве не пойдет?
Как основной "козырь" такого решения (если выяснится, что оно реализуемо) - не нужно ПЛИС, микроконтроллеров, дополнительных программ, модификации ПовСДР и т.п....
Ну, а некоторые минусы я уже назвал...
Я не макетировал эту схему (хоть это и не в моих правилах), но решил представить на суд форумчан - может я еще недостаточно изучил вопрос и в моем подходе есть грубые ошибки, не позволяющие вообще реализовать такую конструкцию? Поэтому конструктивная критика и возвращение меня "на путь истинный" будут приняты смиренно...

RZ6AT
16.03.2008, 18:16
Это позволяет предположить, что в предлагаемой схеме из цепочки шести регистров-защелок в этих регистрах всегда будут фиксироваться 6 байт кода, определяющего частоту...
Нет, это не позволяет сделать вывод о том, что все 6 байт представляют собой код частоты. Это вытекает из анализа схемы, приведённой в документе SDR-1000 Hardware Manual V3.8.doc на стр. 21, из которой видно, что для записи одного байта данных по одному адресу необходимо выдать 3 байта - в первом байте по сигналу С2 защёлкнуть нужные данные кода частоты в регистр IC11, затем необходимо в следующем байте по сигналу C3\ защёлкнуть в регистр IC8 адрес, куда мы хотим записать предыдущий байт кода частоты и одновременно установить на выводе WRB логическую единицу и в третьем байте оставить всё как было в предыдущем байте, кроме сигнала WRB - на нём мы должны выставить логический ноль. При записи последнего бита только происходит реальная запись нужного байта по нужному адресу. Из этого вытекает, что 6 байт - это только 2 байта кода частоты!

Relayer
16.03.2008, 19:19
Ну, а некоторые минусы я уже назвал...
минусы заключаются в том что все это можно сделать на программном уровне. т.е. почти все. но TX работать не будет. ибо такова специфика поверсдр - в режиме TX ему нужно выставлять частоту точно

RZ6FY
16.03.2008, 19:47
Для RZ6AT:

Я с Вами пока не соглашусь. Причину Вы найдете в своем же сообщении. Сигнал С3 меня вообще не интересует и в схеме не используется. Забудем про него. А вот защелкнутые по С2 данные в регистре, до прихода следующего С2 уже в нем не меняются. При приходе следующего С2 в первый регистр защелкивается следующий байт, а предыдущий сдвигается в следующий регистр. И снова эти данные В РЕГИСТРАХ! до прихода следующего С2 НЕ МЕНЯЮТСЯ! И так шесть раз (или больше, но в регистрах останутся последние шесть, а они и есть код частоты). Процедура, кот. Вы описали - для DDS, которой у нас нет и линия С3 вообще - свободна! Что на этой линии происходит физически я знаю, осциллограммы есть, я их просто не стал рисовать, поскольку в данном случае, повторюсь, это нас не интересует...
Конечно, точки над i расставит макетирование, но пока я остаюсь при своем мнении...

Для Relayer:

Андрей! Я обеими руками за программные решения, но ведь и так интересно попробовать! Тем более, что понимание процессов на аппаратном уровне поможет и при написании программ!

Итак, я на 99 процентов уверен, что в регистрах защелкнутся нужные данные. Если пока согласиться с этим - какие еще кому "грабли" видятся?

RU3GA
16.03.2008, 19:58
А вот заменить ПЛИС микроконтроллером - это немного не так. Разные задачи и разные решения. Не надо забывать, что любой микроконтроллер - это последовательный автомат. ПЛИС - параллельный.
На ПЛИСЕ можно собрать микроконтроллер. Наооборот - нет :-)

Я ПЛИСами реально не занимался ... поэтому может не прав , НО!
Виктор, а ты не ошибаешься случайно? :)
Я на контроллере --- любой ПЛИС "сделаю" , а ты на ПЛИСе --- упаришся даже простенький контроллер "сподобить" ...
А про последовательные и параллельные автоматы --- это классно лекции читать на третьем курсе радиофака :)
Давай на практике? :)

RU3GA

Relayer
16.03.2008, 20:06
RZ6FY
дело хозяйское - можно и паяльником. но я считаю что везде где можно без паяльника - лучше без него на программном уровне. результирующие решения получаются гибче.
но суть всеравно не в этом, а в том что поверсдр имеет принципиальное ограничение, которое заключается в том что в режиме TX требует точного выставления частоты. не удивлюсь если это сделано сознательно, чтобы программу не могли полноценно использовать с различным "левым" железом.
для сдр вполне достаточно "грубого" гетеродина. 10-20кгц шаг вполне достаточно. все остальное перекрывается на программном уровне.

RZ6FY
16.03.2008, 20:07
В дополнение к своему предыдущему посту быстренько набросал осциллограмму на С3. Длительность ипульса строба та же, между фронтами импульсов 5,5 мкС. На шине данных я оставил только те данные, кот. защелкиваютя по С2, для наглядности. В реальности они там меняются перед каждым импульсом строба (хоть С2, хоть С3 и даже С1, 4), но, повторюсь, все, что защелкивается не по С2 нас не интересует, поскольку остается в других регистрах...

RZ6AT
16.03.2008, 20:11
Сигнал С3 меня вообще не интересует и в схеме не используется. Забудем про него
Павел, схема, описание которой я дал выше, это схема SDR-1000 и я пытаюсь вам объяснить как она работает и как и какие данные куда нужно подать программе, чтобы кооректно работало железо. Из описания работы схемы станет ясно, как и в какой последовательности программа PowerSDR посылает байты и какие байты это адреса, а какие - байты кода частоты. Так вот в схеме SDR-1000 сигнал С3 очень важен - он защёлкивает адрес, по которому будет записан очередной байт кода частоты и формирует сигнал записи в регистр самой DDSки. Советую почитать pdf на DDS и там всё расписано, а когда уясним какие команды посылает программа, под которую мы хотим сделать свою схемы, тогда и станет ясно как делать свою схему, чтобы она понимала команды программы.

Relayer
16.03.2008, 20:19
Из описания работы схемы станет ясно, как и в какой последовательности программа PowerSDR посылает байты и какие байты это адреса, а какие - байты кода частоты.
221й раз повторяю - качаем сырцы поверсдр, открываем блокнотом hardware_v2.cs и спокойно изучаем что и куда пишет поверсдр. в соседней теме про лпт-порт я выложил отдельно этот файл.
зачем делать вид что поверсдр это "черный ящик" если есть исходный код???
PS все это мне напоминает что русский человек никогда не ищет легких решений. наш человек настолько "суров" что дизассемблирует в IDA код, несмотря на то что в соседней папке лежат полные исходники этого кода. мужики - с нас скоро весь интернет будет смеяться

RZ6FY
16.03.2008, 20:21
... в режиме TX требует точного выставления частоты.
...для сдр вполне достаточно "грубого" гетеродина. 10-20кгц шаг вполне достаточно. все остальное перекрывается на программном уровне.

Андрей! Я это все понял еще год назад, когда делал второй вариант синтеза с шагом 3 КГц и программной перестройкой внутри этих шагов (2-й вариант), но на передачу там можно было только с сеткой 3 Кгц, почему я и сделал 3-й вариант синтеза с уводом опоры.

В предлагаемом мной сейчас варианте (если он реализуем) никаких ограничений на передачу не будет, ибо это эмуляция работы DDS, как задумано создателями ПоверСДР, только "аналоговая"!

Relayer
16.03.2008, 20:23
В предлагаемом мной сейчас варианте (если он реализуем) никаких ограничений на передачу не будет, ибо это эмуляция работы DDS, как задумано создателями ПоверСДР, только "аналоговая"!
никаких проблем. только частота будет "плавать". что будет достаточно дискомфортно

RZ6FY
16.03.2008, 20:51
Для RZ6AT:

Наш диалог начинает немножко напоминать разговор "глухого" со "слепым"... :D
Схемы СДР-1000 я изучал очень внимательно еще год назад, даташит на 9854, в меру способностей (английский - туды его!...) тогда же... Я не отрицаю важности сигнала С3, как Вы сами пишете - ДЛЯ DDS-ки! Но у нас то ее НЕТ! И сигнал этот нам НЕ НУЖЕН! Какие сигналы посылает ПоверСДР в порт я смотрел РЕАЛЬНО! собственными глазами! Неужели мне надо выкладывать фото с экрана осциллографа, что бы Вы поверили?

Для Relayer:

Андрей! Не горячитесь! Я Вам не 221-й, но несколько раз точно уже пытался объяснить, что среди радиолюбителей, интересующихся СДР, не так много, точнее - едицы, кто может читать коды программ "с листа" ... Я считаю, что нам повезло (без иронии) в том, что Вы и еще несколько ребят, способны на такие "подвиги"! Но требовать такого от всех - некорректно...! Давайте вносить вклад в общее дело, кто как может... Желательно без ругани и трепотни...
А хорошо смеется тот, кто смеется последний!
Насчет стабильности частоты я писал уже, но насколько нестабильно - покажет только эксперимент...

RZ6AT
16.03.2008, 20:53
Спасибо Relyer'у, заглянул в сорцы и увидел подтверждение своих слов. Вот как без анализа схемы, без осциллоскопа посмотреть как происходит запись байта в DDS в SDR-1000:
private void DDSWrite(byte data, byte addr)
{
if(usb_present)
{
USB.Sdr1kDDSWrite(ad dr, data);
}
else
{
//Set up data bits
LatchRegister(lpt_ad dr, PIO_IC11, data);

//Set up address bits with WRB high
LatchRegister(lpt_ad dr, PIO_IC8, (byte)(addr | DDSWRB));

//Send write command with WRB low
LatchRegister(lpt_ad dr, PIO_IC8, addr);

//Return WRB high
LatchRegister(lpt_ad dr, PIO_IC8, DDSWRB);
}
}
даже не 3 а 4 байта для записи одного байта кода частоты.

RZ6AT
16.03.2008, 21:05
Павел, а вы уверены, что последовательные байты данных ВСЕГДА будут кодами частоты? и ВСЕГДА полным набором в 48 бит? а если нажата кнопка Spur Reduction, то он выбрасывает только старшие два байта кода частоты, а остальные нет, что будет делать схема в таком случае?

RZ6AT
16.03.2008, 21:13
Чувствую, разговор опять свернет на тропу кто кого умнее или опыта больше или чего-то подобного...
Предлагаю ради общей цели - создать оптимальный вариант народного СДР трансивера, забыть на время все свои амбиции и не доказывать всем даже завуалировано, что "я тоже не лыком шит"!

RZ6AT
16.03.2008, 21:24
Павел, но ведь кроме кода частоты, байты данных будут означать байты инициализации остальных регистров DDSа, а в вашей схеме они попадут в регистр кода частоты - как их отличить от кода частоты? В их схеме, их отличает регистр адреса, а в вашей что?

RZ6FY
16.03.2008, 23:15
Для RZ6AT:

1. Я не подвергаю сомнению правдивость Ваших слов, когда речь идет о записи данных в AD9854!
2. Я не анализировал код (увы!), но я смотрел "физику" и анализировал лог с порта при работе ПоверСДР. Я не собираюсь утверждать, что это правильнее, чем анализировать код, но это позволяет видеть, что РЕАЛЬНО! пишет программа в порт и в какой последовательности. Я приводил в теме по "перехвату LPT..." пример лога, посмотрите сами... Вы сможете там найти еще одно подтверждение СВОИХ слов, а если посмотрите внимательнее или сами проведете несколько экспериментов с записью лога в разных режимах - то, может быть, поверите и МНЕ...
Программа ВСЕГДА пишет шесть байт, только при нажатой кнопке SR младшие четыре байта со всеми нолями. На работе предложенной мной схемы это никак не отразится, просто ГПД будет перестраиваться с шагом около 3 КГц, как и родной DDS...
Предложенная мной схема не сможет отличить байты инициализации или управления внешними устройствами от кодов частоты. Мой расчет основан на анализе логов, из которого я сделал вывод, что ввод кода частоты всегда завершает любую операцию записи в порт, а значит в регистрах будет оставаться именно он - все остальное "проскочит" дольше, "в никуда"...
3. У меня нет никаких амбиций, я просто хочу, чтобы Вы поняли то, что для меня практически очевидно, хотя я не утверждаю, что прав на все сто! Просто не приводите в доказательство протокол записи данных в DDS - в предложенной мной схеме ее нет!
4. "Народный СДР" мы вряд ли создадим (уже был "народный трансивер"...), но от взаимовыгодного сотрудничества отказываться не буду - почему бы нет?!

RZ6AT
17.03.2008, 00:55
Павел, в принципе, ваша схема работоспособна!
Но, на чём основывается ваш вывод о том, что программа всегда пишет 6 байт и эти байты означают код частоты? Вы уверены, что перебрали ВСЕ возможные состояния программы? Боюсь, нет, так как это очень кропотливое занятие пребрать ВСЕ возможные состояния программы. Если попадётся случай, когда надо поменять какие-либо битики в регистрах DDSа и число байтов данных случайно при этом окажется равныл 6, то частота слетит до следующего изменения частоты. Или разработчики, прочитав наш форум возьмут и изменят программу так, что все последущие релизы работать с вашей схемой перестанут. Ну и применение ЦАПов без ФАПЧа - это радиолюбительское лихачество, мягко говоря. Давайте обсуждать более профессиональные решения. Или вы можете обсуждать только вами предложенное решение, а чужие нет? Подключайтесь к дискуссии о том, как лучше подключать синтезатор к поверсдр - изменять длльку или железяку приспосабливать к готовой программе. Вы предложили одно из решений - написали дополнительный софт, который надо запустить одновременно с поверсдр и он через компорт управляет синтезатором с ФАПЧем - честь вам и хвала. Но есть и другие решения - переписать длльку под новый DDS или синтезатор с ФАПЧем, ввести микроконтроллер или ПЛИС между лпт портом и новым DDSом либо ФАПЧ синтезатором. На сегодня стоит задача выбрать оптимум, не взирая на личности, кто предложил какой вариант.

Relayer
17.03.2008, 01:51
На сегодня стоит задача выбрать оптимум, не взирая на личности, кто предложил какой вариант.
вариант. переписанная porttalk.dll -> ft232r.dll -> [USB] -> [FT232R] -> синтез и прочее железо. мелкосхема FT232R есть одночиповый конвертор усб-com-port. дополнительные "фишки" - внутренняя память и наличие режима независимого выставления сигнала на выходных линиях (8штук, но надо уточнять)

RA9YTJ
17.03.2008, 08:01
Вариант:
Использовать СОМ порт, реальный или виртуальный, который через USB.
Все стандартные преобразователи такие выглядят с точки зрения программ как СТАНДАРТНЫЙ СОМ порт, в нем возможно считывать и устанавливать сигналы. Этот вариант очень выгоден, можно вообще забыть про проблемы портов и кабелей. Есть на мамке ком хорошо щепляй к нему, нету- беги в магазин покупай ЛЮБОЙ USB-COM кабель, подключай, ставь дрова что идут с ним и ОК, или платку PCI или PCI-E портов покупай, все без разницы.
Делаем синтезатор управляемый через ком, у нас есть 3 сигнала.
Пишем DLL PortTalk которая програмно переводит код от поувера в сигналы подаваемые на com порт.
Вся проблема это сделать нормальный синтезатор.
Если взять LM7001 , то при шаге 10Кгц и делении его в SDR на 4, получаем 2.5 КГц шаг, чтоб получить шаг 1Гц нам нужен 12Бит. ЦАП еще. Теоретически можно водить частоту опорника на 7.2Мгц в синтезе. Но там не все так просто, на разных частотах будет разное значение ЦАП для шага 1Гц.
Есть вариант такой, делаем Синтез на чем нибудь с гуном от 200-320 например, смешиваем с кварцевым генератором 200 Мгц, потом ФНЧ получаем сплошную частоту от 0 до 120Мгц. А подстройка ЦАП идет на Кварцевый генератор 200МГц.
Но если чесно то это все изврат.
Проще сделать простой синтез с большим шагом, а программу сделать новую, ни че там в PowerSDR крутого нет, Relayer прав проще новую прогу написать чем подстраиватся к PowerSDR.

ЕДИНСТВЕННЫЙ вариант имеющий смысл, это когда у вас есть SDR TRX отличный от SDR1000, с другим DDS, вот тут, проще написать длл переводчик.

RZ6FY
17.03.2008, 09:08
Павел, в принципе, ваша схема работоспособна!

Это, собственно, все, что я хотел услышать, поделившись с форумчанами радостью познания чего-то нового (для меня)... :D
Неужели Вы думаете, что прозанимавшись год синтезаторами, я всерьез перейду на ГПД?! Только не всерьез :crazy: - для прикола...

Если кого-то интересует мое мнение - как жить дальше, то:
1. Управление через СОМ (или USB-переходник);
2. Простой PLL синтезатор с крупным шагом и программная перестройка внутри шага;
3. Самодельная (в хорошем смысле) программа SDR, с заложенной возможностью модификации (в разумных пределах) под свое "железо".
Поскольку п.3 для меня неподъемный, а заниматься темой охота, оставляю в силе еще и...
4. "Извращенные" отношения с готовой "буржуйской" программой PowSDR, вплоть до разбора ее "по косточкам"...

Поскольку я сторонник "простой" схемотехники (а в SDR, тут я согласен с Relayer, "паяльника" должно быть поменьше), то касательно проектов с другой DDS, двумя DDS, синтезы на смешении нескольких ГУН-ов и прочими "сложностями" - я пас!

Relayer
17.03.2008, 10:52
а программу сделать новую, ни че там в PowerSDR крутого нет
а я о чем и глаголю. зацикливание на повере приводит только к тому что требуется мелкий шаг (а это ддс без вариантов) чтобы сделать полноценный RX/TX

RZ6FY
17.03.2008, 11:01
...Делаем синтезатор управляемый через ком, у нас есть 3 сигнала.
Пишем DLL PortTalk которая програмно переводит код от поувера в сигналы подаваемые на com порт...


Поскольку Вы с dll-кой уже на "ты", может согласитесь, для начала, на следующее предложение:

Я подготовлю фрагмент кода на Билдере с комментариями на русском (почти литературном), который у меня в программе управления синтезом с шагом 3 КГц переводит значение частоты, полученное по САТ в последовательный код упраления LM-кой. Для выдачи этого кода в LM-ку используются три линии СОМ-порта. Пока я предлагаю не связываться с СОМ-портом, ибо, поскольку нет DDS-ки, у нас освобождаются две линии в регистре Control LPT-порта - С2(16) и С3(17), которые совместно с одной из линий регистра данных (например D0(2)) дадут нам те же три линии. Протокол же вывода в порт практически не изменится (сужу по логам) - так же последовательно будут писАться данные в регистры DATA и Control, только длина "слова" будет 24 бита.
Поскольку использоваться будет разъем LPT-порта, обсуждение разработки не противоречит теме ветки :D ...
Понимаю, что использование такого режима (с шагом 3 КГц) - это "половинчатое" решение, т.к. не годится для полноценного TX, но RX получается вполне полноценный, что, я думаю, для многих тоже "находка", тем более, что есть рабочая схема синтезатора...

Павел.

RZ6FY
17.03.2008, 11:07
...а я о чем и глаголю. зацикливание на повере приводит только к... :killyourself: (смайлик мой, RZ6FY)

Андрей, я скачал Ваш SDRLab - попробую тоже :killyourself:...

RA9YTJ
17.03.2008, 11:35
Я подготовлю фрагмент кода на Билдере с комментариями на русском (почти литературном), который у меня в программе управления синтезом с шагом 3 КГц переводит значение частоты, полученное по САТ в последовательный код упраления LM-кой. Для выдачи этого кода в LM-ку используются три линии СОМ-порта. Пока я предлагаю не связываться с СОМ-портом, ибо, поскольку нет DDS-ки, у нас освобождаются две линии в регистре Control LPT-порта - С2(16) и С3(17), которые совместно с одной из линий регистра данных (например D0(2)) дадут нам те же три линии. Протокол же вывода в порт практически не изменится (сужу по логам) - так же последовательно будут писАться данные в регистры DATA и Control, только длина "слова" будет 24 бита.

Поскольку использоваться будет разъем LPT-порта, обсуждение разработки не противоречит теме ветки ...

Понимаю, что использование такого режима (с шагом 3 КГц) - это "половинчатое" решение, т.к. не годится для полноценного TX, но RX получается вполне полноценный, что, я думаю, для многих тоже "находка", тем более, что есть рабочая схема синтезатора...

Ни че не понял, чесслов :crazy:

RZ6FY
17.03.2008, 11:44
...Ни че не понял, чесслов :crazy:

Имелось ввиду, что мой фрагмент кода надо будет вставить в dll, чего я сам пока сделать не могу :oops:

RA9YTJ
17.03.2008, 12:04
скиньте, посмотрим, я не на билдере пишу.

RZ6FY
17.03.2008, 12:14
...я не на билдере пишу.

Почему я и предлагаю снабдить код комментариями, ибо в том виде, как он сейчас есть - там нет никаких комментариев и, вообще, все очень запущено :oops:
Код и так несложный, а с комментариями можно без особого труда перевести на любой язык, даже на матерный...
Но это не прям счас... - надо самому вспомнить, разобраться, отредактировать...
Но постараюсь в кратчайшие сроки...

RZ6FY
17.03.2008, 13:48
Для RA9YTJ:

Рискну обратиться к Вам еще с одной просьбой, в надежде, что выполнение ее возможно за незначительное время. Если это не так - просьбу можете проигнорировать...

Хочется мне все-таки смакетировать предложенную мной двумя страницами ранее схему, но паять шесть регистров как-то... неохота, тем более, что три из них надо использовать только из-за того, что выводится шесть байт и нужны как раз три тех, что выводятся первыми...
Вот если бы можно было или изменить порядок вывода на обратный (младшим байтом вперед), или вообще не выводить три младших байта, тогда при макетировании можно было бы обойтись тремя регистрами, что гораздо легче...
А "идеальным" решением было бы вообще не выводить в регистр, тактируемый по линииС2(16), ни при каких условиях, ничего, кроме старших трех байт кода частоты. Тогда не нужно было бы опасаться ситуации, предполагаемой RZ6AT, что при выводе сюда непонятно чего, частота собьется...
Если доработка dll-ки по какому либо из предложенных вариантов возможна и не займет много времени - буду признателен... :пиво:

Павел.

RZ6AT
17.03.2008, 14:10
Как вариант дешёвой реализации USB на микроконтроллере + он же адаптирует код в нужный нам формат для синтезатора предлагаю воспользоваться вот таким решением: http://www.obdev.at/products/avrusb/index.html

RA9YTJ
18.03.2008, 05:29
Рискну обратиться к Вам еще с одной просьбой, в надежде, что выполнение ее возможно за незначительное время. Если это не так - просьбу можете проигнорировать...
Если напишите описанный вами алгоритм на чистом С (ведь билдер это С) я попробую вставить его и сделать DLL, кстати там и на билдере недолжно быть сложно делать их, но если не хотите вникать то давайте код. А мне действительно долго просто вникать что нужно и как, я не разбирался в протоколе, а вы похоже вникли, вставить ваш код будет мне быстрее, попробуем так сработаться :rotate:

rv3bj
18.03.2008, 14:16
Если напишите описанный вами алгоритм на чистом С (ведь билдер это С) я попробую вставить его и сделать DLL, кстати там и на билдере недолжно быть сложно делать их, но если не хотите вникать то давайте код. А мне действительно долго просто вникать что нужно и как, я не разбирался в протоколе, а вы похоже вникли, вставить ваш код будет мне быстрее, попробуем так сработаться :rotate:
Подскажите, пожалуйста, что нужно чтобы собрать проект PowerSDR ?
Я полагаю Visual Studio(какой версии достаточно) и сам исходный код, скачаный с Flex. Я понимаю усмешки профи, что дескать прежде всего надо иметь "правильную прокладку между рулем и сидением" :)
Но все же!

expert_elk
18.03.2008, 14:36
To RZ6AT:
To All:
1. Может кто имеет опыт преобразования синусоиды в цифру.
Что лучше - компаратор или логика. Интересует прежде всего джиттер, хотя
важно это здесь или нет - не знаю.
2. Какое усиление должно быть у УПТ? Существуют какие-либо рассчеты для таких схем?

1. Если возможно - ограничитель
2. Существуют. Но лучше от него отказаться, потому, любой дополнительный активный элемент на входе ГУН вносит дополнительные шумы. Это самая уязвимая для шумов цепь в синтезаторах частот с ФАПЧ. Еще лучше в ФНЧ не использовать дроселя. Потому, они также способны улавливать и магнитные помехи и наводки, которые конденсатор никогда не уловит.

expert_elk
18.03.2008, 15:21
Прочитал всю ветку форума, увидел очень много танцев с бубном.

Например, чтобы узнать какие данные посылает Power SDR синтезатору DDS AD9854 достаточно было посмотреть документацию
в разделе режима параллельного программирования.
Что касается FT232 (эмулятора СОМ порта), да работать с ней легко
(кстати есть альтернатива CP2102 от SiLabs, которая дешевле), но что вы будете делать, когда выйдет новая версия PowerSDR? Конечно USB лучше чем лпт :) .

Немного о ФАПЧ. Главные недостатки по сравнению с DDS, это большое время установления (увеличивается когда расширяете полосу и уменьшаете шаг перестройки синтезатора). Главное достоинтсво - чистота спектральной линии. Можно соединить эти качества в один синтезатор! Как известно фапч умножает частоту стабильного опорного генератора, причем еще и давит его шумы в своей полосе пропускания, которая равна шагу сетки частот. Взять DDS в качесве опорного генератора ФАПЧ. Получается чистый спектр с

Собственно могу предложить варианты решения задачи:
1. Не трогать FTDI. Сделать прямой эмулятор DDS.
Решение:
Поставить дешевый мк ATMEGA48, который будет принимать данные, вместо AD9854. Поставить DDS с мелким шагом сетки AD9832.
Поставить микросхему ФАПЧ, например ту же AD4001. Написать прошивку эмулятора DDS, которая будет разруливать входные данные и комутировать все это железо.
Достоинтсва: Полная эмуляция DDS - не надо трограть исходники PowerSDR. Все параметры по перестройке сохраняются.
Недостатки: Количество рассыпухи возрастает и покупать сложнее.

2.Подключить FTDI к микроконтроллеру. Залезть в исходники PowerSDR и подкорректировать там интерфейс USB.

3. Уже был предложен, но немного повторюсь:
МК+(Синтезатор с ФАПЧ с грубым шагом)+Залезть в исходники и сделать программную перестройку.

Почему МК? - проше написать программу (можно на С/С++), уже есть аппаратная поддержка COM порта, низкая стоимость (1,5 - 2 доллара).

RA9YTJ
18.03.2008, 19:01
Подскажите, пожалуйста, что нужно чтобы собрать проект PowerSDR ?
Я полагаю Visual Studio(какой версии достаточно) и сам исходный код, скачаный с Flex.
Нужен MSVS2005, и еще DirectX SDK и кажись еще что то, что не помню. Я не стал качать SDK, по этому некомпилил...

RZ6FY
18.03.2008, 20:14
...Если напишите описанный вами алгоритм на чистом С (ведь билдер это С) я попробую вставить его и сделать DLL...А мне действительно долго просто вникать...


У меня есть книжка, которая называется "Программирование в С++Builder..." Где-то от кого-то я краем уха слышал, что С и С++ чем-то различаются, но, думаю, это не столь важно...

Немного разобравшись в своих программах, сочиненных почти год назад, я тоже пришел к выводу, что будет правильнее, если я дам Вам готовый отлаженный код, ибо то, что есть у меня сейчас, совершенно не годится для данного случая... Поэтому я сделаю тестовый вариант программы, напишу и отлажу код вплоть до вывода на LPT в макет синтезатора, и потом дам Вам исходник с максимальными комментариями в том фрагменте, который необходимо будет вставить в dll-ку...



кстати там и на билдере недолжно быть сложно делать их, но если не хотите вникать...

Вникать я хочу и буду, просто самостоятельно это делать довольно сложно, по переписке в форумах - отнимает очень много времени, которое требуется или на "настукивание" на клавиатуре развернутых "дурацких" вопросов, или на обдумывание коротких "умных" :D ...
Самый доходчивый способ обучения - это когда обучающий и обучаемый сидят за одним компьютером... У меня такая возможность иногда появляется, просто человек, который может мне помочь, как все хорошие прграммисты - ужасно занятой... Но я уже показал ему те исходники dll, что выложил Андрей, и мне было сказано, что вариант, написанный на С, Билдер должен "переварить", так что мне помогут разобраться с этой dll-кой... потом... когда-нибуть... может быть...

Но это и не к спеху... Тот фрагмент кода, о котором я с Вами договариваюсь, мне под силу написать и самому, потом, если получится, надо будет отлаживать "железо", потом... дальше загадывать не будем...

Для expert_elk (и не только...):

Исходя из опыта проекта по построению "народного трансивера", который благополучно загнулся потому, сто ВСЕ строили ОДИН трансивер, предлагаю строить параллельно НЕСКОЛЬКО вариантов синтезатора для SDR по разным схемным решениям и элементной базе (кому что ближе), обмениваясь на форуме своими наработками или даже идеями (желательно, хоть слегка проверенными)... Такой обмен может быть общеполезен потому, что у синтезаторов могут быть одинаковые решения некоторых узлов (ГУН, например), или кому-то чужая идея приглянется больше, чем своя (сам являюсь ярким тому примером)...
А какой вариант синтеза станет "лучшим" и "народным" - "вскрытие покажет..." :crazy:

RZ6AT
18.03.2008, 22:50
Исходя из опыта проекта по построению "народного трансивера", который благополучно загнулся потому, сто ВСЕ строили ОДИН трансивер, предлагаю строить параллельно НЕСКОЛЬКО вариантов синтезатора для SDR по разным схемным решениям и элементной базе
Полностью согласен с Павлом, надо дать народу разные варианты а он выберет сам и что станет народным, народ сам решит. а варианты должны делать специалисты, программисты адаптируют программу и делают свой вариант, схемотехники пусть предлагают свой вариант, а кто может и программы и схемотехнику, пусть предлагают свой или даже свои варианты.

RA9YTJ
19.03.2008, 05:44
OFF top: "народный трансивер"- это мечта не сбыточная, но к ней надо стремится!
С++ от С отличается в основном ООП, которое каждый компилятор понимает по своему.... А чистый С он везде одинаков. И на нем легко обмениваться идеями. Словесно трудно для понимания.

rv3bj
19.03.2008, 11:32
RA9YTJ
Как я понял, вы не компилировали весь проект PowerSDR и в тоже время модифицировали dll вывода в LPT. Можно ли несколько слов о процедуре, как вы это делали на практике. Какой компилятор вы пользовали ? Я себе представляю, что можно использовать разные. При этом надо ему сказать, что вы будете создавать dll, а не application. После этого взять исходный текст имеющейся dll и затем его модифицировать по своему усмотрению.
Так ли это на самом деле ?

RA9YTJ
19.03.2008, 11:55
Выяснил из каких функций состоит DLL и какие вх\вых значения нужны им и что ои делают, PortTalk.dll очень прост- 1мин.
Далее пишим новую dll, ведь интерфейс у него стандартен и не связан с компиляторами. А как создавать DLL зависит от среды программирования. Я в данном случаи использовал PureBasic4. На нем легко и быстро можно писать программы и DLL, есть много библиотек.

RA9YTJ
19.03.2008, 12:09
Вот на сайте всеми нами любимого Spectrum нашел ссылочку на интересный модуль http://www.kernelchip.ru/Product.php

expert_elk
19.03.2008, 12:56
Полностью согласен с Павлом, надо дать народу разные варианты а он выберет сам и что станет народным, народ сам решит. а варианты должны делать специалисты, программисты адаптируют программу и делают свой вариант, схемотехники пусть предлагают свой вариант, а кто может и программы и схемотехнику, пусть предлагают свой или даже свои варианты.

Это называется, пусть народ наступает на теже грабли, на которые наступал и я.

Про народный трансивер и детали к нему:

Для того, чтобы собрать народный синтезатор,надо продумать кое какие нюансы.
1. Должна быть высокая повторяемость. К примеру если вы собираете ГУН на транзисторах КТ315, а рядом в магазине лежит чип за 2 доллара, который и по параметрам лучше вашего изобретения инавесных элементов не требует, то предпочтение надо отдать ему.

2. Должно быть как можно меньше технологических трудностей при сборке. Например если у вас в схеме стоит штук 20 логических микросхем, то актуальней поставить одну плис и дать к ней схему простого программатора и прошивку. Паять одну микросхему куда легче, чем 20! Описать, как ее запрограммировать (это очень просто).

Кстати тут вопрос стоял на форуме, что лучше ставить полосовики или ФНЧ на SDR1000. Ответ: лучше немного помучаться и рассчитать ФНЧ.
Тогда не надо будет их самому мотать и настраивать (избавление от большого труда), поэтому конструкцию смогут повторить даже начинающие радиолюбители! А профессиональный радиолюбитель себе поставит собственной работы полосовики.

rv3bj
20.03.2008, 09:59
Про народный трансивер и детали к нему:

Для того, чтобы собрать народный синтезатор,надо продумать кое какие нюансы.
1. Должна быть высокая повторяемость. К примеру если вы собираете ГУН на транзисторах КТ315, а рядом в магазине лежит чип за 2 доллара, который и по параметрам лучше вашего изобретения инавесных элементов не требует, то предпочтение надо отдать ему.

2. Должно быть как можно меньше технологических трудностей при сборке. Например если у вас в схеме стоит штук 20 логических микросхем, то актуальней поставить одну плис и дать к ней схему простого программатора и прошивку. Паять одну микросхему куда легче, чем 20! Описать, как ее запрограммировать (это очень просто).
Кстати тут вопрос стоял на форуме, что лучше ставить полосовики или ФНЧ на SDR1000. Ответ: лучше немного помучаться и рассчитать ФНЧ.
Тогда не надо будет их самому мотать и настраивать (избавление от большого труда), поэтому конструкцию смогут повторить даже начинающие радиолюбители! А профессиональный радиолюбитель себе поставит собственной работы полосовики.
Уважаемый expert_elk, хотелось бы услышать не только ваши рассуждения о народном синтезаторе. Похоже вы знаете как его сделать. Так может поделитесь своими наработками. Тем более, что как вы пишите (это очень просто). На мой взгляд это действительно не очень сложно, но все-таки, поверьте, полезнее читать материалы готовых макетов и разработок(например синтезатор RZ6FY), а не просто пожелания экспертов. Кстати весьма спорно ваше экспертное утверждение, что ФНЧ на входе будет вполне достаточен. Почитайте соседние ветки и вы увидите, что даже не у народного фирменного SDR-1000, у которого не ФНЧ, а полосовики, существует проблема ограниченного динамического диапазона на 40 метрах. Так если вы используете ФНЧ с частотой среза в районе 15 мегагерц, то вы с теми же проблемами столкнетесь и на двадцатке.

Genadi Zawidowski
20.03.2008, 11:15
а рядом в магазине лежит чип за 2 доллара, который и по параметрам лучше вашего изобретения инавесных элементов не требует, то предпочтение надо отдать ему.
Тип чипа (можно не за два доллара) назовите пожалуйста.



лучше немного помучаться и рассчитать ФНЧ.
Тогда не надо будет их самому мотать и настраивать (избавление от большого труда), поэтому конструкцию смогут повторить даже начинающие радиолюбители! А профессиональный радиолюбитель себе поставит собственной работы полосовики.

Хорошие полосовики для SDR (или ап-конвершин) тоже делаются на стандартных индуктивностях. до 3 дБ затухание в полосе даже на ВЧ диапазонах.

expert_elk
20.03.2008, 13:06
а рядом в магазине лежит чип за 2 доллара, который и по параметрам лучше вашего изобретения и навесных элементов не требует, то предпочтение надо отдать ему.
Тип чипа (можно не за два доллара) назовите пожалуйста.


Дело в том, что низкочастотных ГУН (VCO) с большой полосой нет. Либо вы ставите несколько чипов на поддиапазон. Либо можно поставмть высокочастотный, например с перекрытием 100-160, и поставить ключ с ФНЧ который перенесет спектр этого сигнала на частоту гетеродина(к примеру на 99 МГц) , на выходе будет две составляющие Fг+Fvco = 199..259 Мгц и Fvco-Fг = 1-61 МГц. Первая подавится ФНЧ c полосой 61 МГц. Чем выше частота ГУН тем меньше
требования к ФНЧ.

Кое-что можно посмотреть здесь:
http://www.gaw.ru/html.cgi/txt/ic/Sirenza/signal_sources/vc/start.htm#190

Собственно: http://www.google.com/search?client=opera&rls=ru&q=VCO&sourceid=opera&ie=utf-8&oe=utf-8

Кое-какие обсуждения по синтезаторам:
http://electronix.ru/forum/lofiversion/index.php/t11138.html

Если устроят характеристики, есть уже синтезатор с ФАПЧ и встроенным ГУН - ADF4360-8 (к сожалению на него надо повесить 2 дроселя с индуктивностью порядка 200 нГ). У него не большая полоса перестройки (я как-то считал для шага 25 кГц получился диапазон перекрытия около 90-120 МГц). Сам не пробовал, но если увеличить выходную частоту синтезатора, можно получить большее перекрытие.


[quote=expert_elk]
Хорошие полосовики для SDR (или ап-конвершин) тоже делаются на стандартных индуктивностях. до 3 дБ затухание в полосе даже на ВЧ диапазонах.

Не совсем понял фразу, в SDR нет преобразования вверх (up convertion), там наоборот преобразование вниз. Да, при повыщении промежуточной частоты, требования к фильтрам снижаются в приемниках с таким преобразованием, поскольку на входе стоит ФНЧ или ПФ, равный полосе пропускания приемника. За счет высокой промежуточной частоты зеркальный канал оказывается за пределами полосы пропускания приемника. Чем она выше, тем хуже ФНЧ или ПФ можно ставить на вход.
Если в СДР применить вторую ПЧ (up convertion), то возможно с ФНЧ параметры возрастут, и количество ключей удвоится

Genadi Zawidowski
20.03.2008, 13:43
Не совсем понял фразу, в SDR нет преобразования вверх (up convertion), там наоборот преобразование вниз.

Я имел в виду субоктавные фильтры.


Если устроят характеристики, есть уже синтезатор с ФАПЧ и встроенным ГУН - ADF4360-8 (к сожалению на него надо повесить 2 дроселя с индуктивностью порядка 200 нГ).

Не устроят.

expert_elk
20.03.2008, 17:29
Не устроят.


Чем?

expert_elk
20.03.2008, 17:49
Уважаемый expert_elk, хотелось бы услышать не только ваши рассуждения о народном синтезаторе. Похоже вы знаете как его сделать. Так может поделитесь своими наработками.

Наработками не поделюсь, потому что я не делал народный трансивер :). Дело в том, что у меня очень мало свободного времени.
Слово "просто" относилось к программированию ПЛИС и выкладывание прошивки вместе со схемой программатора. Сделать народный трансивер, задача не из простых, требует очень много времени на продумывание мелочей, не только схематических, но и таких, как поставить детали, которые будут доступны всем. Если есть активные добровольцы, то можно двинуть проект.

Хотя бы начать с образа народного трансивера.
Например мое представление, это что-то похожее на SDR1000, только с учтением всех нюансов.

Есть предложение высказывать свои мнения про SDR1000 и способы доработки его.

Например мое мнение:
1. Недостаток: LPT port
Способ доработки: установка микросхемы FT245 с параллельным выходом и написание dll под нее, которую надо будет подменить в программе.
Коментарии: FT245 это USB-COM преобразователь с параллельным выходом, поэтому можно сделать некоторую эмуляцию LPT порта без дополнительных микросхем.
Предлагаю оставлять свои недовольства SDR1000 и способы их ликвидации.

Genadi Zawidowski
20.03.2008, 18:28
Не устроят.


Чем?
Вы сказали, что знаете микросхему, заменяющую дискретные генераторы с нехудшими параметрами. Предложенный чип - для большего перекрытия требует объединять неколько микросхем выходами. Несколько труднее делается, чем с дискретными деталями... уровень на выходе, скажем так, сильно меньше чем у классики. Если потребуется генератор для портативки - идеальное дело. Для настольного устройства - не покатит. Ну и "шумностью" этой микросхем кто-то из использовавших был недоволен.

expert_elk
20.03.2008, 18:47
Вы сказали, что знаете микросхему, заменяющую дискретные генераторы с нехудшими параметрами.
С шумами у нее действительно не совсем хорошо, зависит от полосы пропускания контура ФАПЧ, и находится около -100 дБ. Со сборкой не встретил особых проблем. Хорошим паяльником нормально пропаивается. Требовательна к правильности разводки платы.
Вот еще фирма:
http://www.raltron.com/products/vcxos/default.asp
на первой странице чип 1.00 TO 160.00 MHz. Там и с дифференциальным (LVDS) выходом есть.
Заказать можно здесь:
www.eltech.spb.ru :)

Genadi Zawidowski
20.03.2008, 19:25
на первой странице чип 1.00 TO 160.00 MHz. Там и с дифференциальным (LVDS) выходом есть.

Это не с диапазоном от 1 до 160. Это заказать можно на частоту в диапазоне. И подстраивается там кварц.

rv3bj
20.03.2008, 22:30
Наработками не поделюсь, потому что я не делал народный трансивер :). Дело в том, что у меня очень мало свободного времени.
Слово "просто" относилось к программированию ПЛИС и выкладывание прошивки вместе со схемой программатора. Сделать народный трансивер, задача не из простых, требует очень много времени на продумывание мелочей, не только схематических, но и таких, как поставить детали, которые будут доступны всем. Если есть активные добровольцы, то можно двинуть проект.

Хотя бы начать с образа народного трансивера.
Например мое представление, это что-то похожее на SDR1000, только с учтением всех нюансов.

Есть предложение высказывать свои мнения про SDR1000 и способы доработки его.

Например мое мнение:
1. Недостаток: LPT port
Способ доработки: установка микросхемы FT245 с параллельным выходом и написание dll под нее, которую надо будет подменить в программе.
Коментарии: FT245 это USB-COM преобразователь с параллельным выходом, поэтому можно сделать некоторую эмуляцию LPT порта без дополнительных микросхем.
Предлагаю оставлять свои недовольства SDR1000 и способы их ликвидации.
Похоже у вас действительно мало времени, настолько, что вы даже не успеваете прочитать название темы, а сразу начинаете что-то писать. Позвольте вам напомнить, что здесь изначально обсуждается проблема создания синтезатора, а не "народного трансивера", обсуждение которого происходит в другой месте. Мне кажется нецелесообразным смешивать эти вопросы в одной ветке. Почему бы вам не открыть новую тему с обсуждением достоинств и недостатков SDR-1000. Кроме того позвольте отметить некорректность вашего высказывания FT245 это USB-COM преобразователь с параллельным выходом
Это по крайней мере странно звучит USB-COM с параллельным выходом. Советую вам зайти на сайт производителя компании FTDI и посмотреть как она позиционирует свой чип. Это USB - FIFO преобразователь. Мне приходилось использовать в своих разработках м/сх FT232 того же производителя, которая и является USB - COM преобразователем. В общем она работает неплохо и используется многими фирмами в своих изделиях. Однако не все производители до конца соблюдают требования спецификации. В частности пренебрегают установкой дополнительной микросхемы EEPROM, в которой прописывается уникальный адрес данного USB клиента (аналог MAC адреса в Ethernet контроллерах). Как результат может возникнуть конфликт на USB хосте. Кроме того мне на этом форуме встречались сообщения о неудачных попытках использования стандартных USB - LPT преобразователей. При этом конечно никакая dll не дорабатывалась.

expert_elk
21.03.2008, 13:42
Похоже у вас действительно мало времени, настолько, что вы даже не успеваете прочитать название темы, а сразу начинаете что-то писать. Позвольте вам напомнить, что здесь изначально обсуждается проблема создания синтезатора, а не "народного трансивера", обсуждение которого происходит в другой месте. Мне кажется нецелесообразным смешивать эти вопросы в одной ветке. Почему бы вам не открыть новую тему с обсуждением достоинств и недостатков SDR-1000. Кроме того позвольте отметить некорректность вашего высказывания FT245 это USB-COM преобразователь с параллельным выходом
Это по крайней мере странно звучит USB-COM с параллельным выходом. Советую вам зайти на сайт производителя компании FTDI и посмотреть как она позиционирует свой чип. Это USB - FIFO преобразователь. Мне приходилось использовать в своих разработках м/сх FT232 того же производителя, которая и является USB - COM преобразователем. В общем она работает неплохо и используется многими фирмами в своих изделиях. Однако не все производители до конца соблюдают требования спецификации. В частности пренебрегают установкой дополнительной микросхемы EEPROM, в которой прописывается уникальный адрес данного USB клиента (аналог MAC адреса в Ethernet контроллерах). Как результат может возникнуть конфликт на USB хосте. Кроме того мне на этом форуме встречались сообщения о неудачных попытках использования стандартных USB - LPT преобразователей. При этом конечно никакая dll не дорабатывалась.

1. USB-COM преобразователь с параллельным выходом USB - FIFO в данном случае одно и тоже, FIFO к параллельности не имеет никакого отношения.
2. Компьютер видит и FT232 и FT245 как COM порт. Только на выходе FT232 вы получаете тоже, что и после ком порта, только с уровнями ТТЛ (последовательные данные). На выходе FT245 есть по-мимо служебных, еще выход шины данных
- 8 бит! Это 8 ног. На которые можно выводить информацию и с которых можно ее читать. LPT порт имеет 8 бит шины данных (настроенные на выход), еще 4 бита на выход (для нужд принтера), и 4 бита, с которых может читать компьютер, если интересны их названия, могу выложить. FT245 лучше тем, что для управления синтезатором достаточно повесить обычные логические схемы, а на FT232 надо повесить преобразователь протокола RS232 в параллельный код, т.е. то, что уже сделано в FT245.
2. Ни каких проблем с внешним EEPROM нет в новых сериях микросхем FTDI, они ее уже давно интегрировали в кристалл. И еще избавились от кварца, посмотрите FT232R. FT232R обычно применяют в связке с микроконтроллерами.
3. FIFO - First Input - First Output - это просто буфер, нужен для того, что если вы не успели вычитать данные из микросхемы, а уже пришли новые, то новые данные не запишутся по верх не прочитанных, а остануться в этом буфере. Тогда вы сможете считать сразу несколько байт данных, и данные теряться не будут. Этот буфер часто используется в цифровых схемах. В FT232R тоже есть FIFO. Из даташита:
FIFO TX Buffer (128 bytes) - Data from the USB data out endpoint is stored in the FIFO TX buffer and removed from the buffer to the UART transmit register under control of the UART FIFO controller.

rv3bj
21.03.2008, 16:39
expert_elk
То есть все что вы предлагаете так это создание альтернативы, выпускаемому самим FLEX переходником USB - паралаллельный интерфейс AD9854. Весьма спорное на мой взгляд решение, т.к. надо сделать собственно переходник и переписать DLL. По моему проще купить.
На мой взгляд, если уж переписывать DLL, то сразу применить более современную DDS, например AD9951/AD9952, с последовательной загрузкой. У нее внутренняя тактовая частота до 400 мгц и 14-битный ЦАП на выходе. При этом она существенно меньше потребляет.

expert_elk
21.03.2008, 17:03
На мой взгляд, если уж переписывать DLL, то сразу применить более современную DDS, например AD9951/AD9952, с последовательной загрузкой. У нее внутренняя тактовая частота до 400 мгц и 14-битный ЦАП на выходе. При этом она существенно меньше потребляет.
По потреблению они лучше, возможно не придется ставить радиатор. 14-битный ЦАП уменьшает (теоретически) на -12,04 дБ уровень побочных продуктов синтеза. Со времен изобретения SDR1000 много воды утекло. Намного улучшилась элементная база. Поэтому модернизация имеет смысл. Если пойти на это, тогда надо выкинуть все логические схемы, такие как 74НС595 и т.п. и поставить CPLD. На которую и повесить этот эмулятор старого синтезатора и плюс туда запихать схему всех этих микросхем. В этом случае в добавок выкинете кучу разнородных микросхем, и разводка будет проще. Микросхему все же лучше взять FT245R, так как на ПЛИС прошивку проще писать, нежеле под FT232.
Возможно скоро займусь за модернизацию.

RZ6AT
21.03.2008, 19:38
Если пойти на это, тогда надо выкинуть все логические схемы, такие как 74НС595 и т.п. и поставить CPLD
Но можно не СРLD, а микроконтроллер, скажем, мой любимый AVR.

expert_elk
22.03.2008, 14:25
Если пойти на это, тогда надо выкинуть все логические схемы, такие как 74НС595 и т.п. и поставить CPLD
Но можно не СРLD, а микроконтроллер, скажем, мой любимый AVR.

Можно и AVR, вот для него лучше поставить FT232, так как у него есть аппаратный COM порт. Но плис лучше тем, что можно еще кучу логики в нее запихать! На микроконтроллере этого не сделать

RZ6AT
22.03.2008, 18:39
Можно и AVR, вот для него лучше поставить FT232, так как у него есть аппаратный COM порт. Но плис лучше тем, что можно еще кучу логики в нее запихать! На микроконтроллере этого не сделать
А зачем AVRу FT232 если на нём USB можно реализовать программно
как это предлагается вот здесь http://www.obdev.at/products/avrusb/index.html
и зачем ещё пихать туда кучу логики, если AVR всё может сделать программно? И с чего это вы решили, что микроконтроллер этого не может сделать?

expert_elk
27.03.2008, 19:13
Можно и AVR, вот для него лучше поставить FT232, так как у него есть аппаратный COM порт. Но плис лучше тем, что можно еще кучу логики в нее запихать! На микроконтроллере этого не сделать
А зачем AVRу FT232 если на нём USB можно реализовать программно
как это предлагается вот здесь http://www.obdev.at/products/avrusb/index.html
и зачем ещё пихать туда кучу логики, если AVR всё может сделать программно? И с чего это вы решили, что микроконтроллер этого не может сделать?

Интересно, а вы пробовали программно реализовать USB? А написать драйвер под USB? (атмеловский пример программного USB кривой)

И еще вопрос, вы готовы отдать 100 рублей за написание драйверов и разработку программного USB на процессоре? Если да, тогда используйте связку FT232 (или CP2102) + AVR.
На разработку USB устройства с нуля у квалифицированного специалиста уходит минимум пол года. И еще надо кучу времени чтобы отладить драйвер на различных платформах Windows.

Можете заняться разработкой программного USB, который фирма Atmel до ума толком не довела. :) Облегчите жизнь разработчикам в интернете.

А уж логику программно реализовывать это вообще похоже на изврат. Сколько вам потребуется на программную реализацию например 4-х регистров сдвига с защелкой 74HC595, а скорости той вы на AVR не получите никогда, на которой могут работать эти микросхемы (до 125 МГц).
Не стоит забывать, что МК и ПЛИС предназначены для решения разного круга задач и сравнивать их не стоит!

п.с. Тема выходит за рамки топика

expert_elk
27.03.2008, 19:21
на первой странице чип 1.00 TO 160.00 MHz. Там и с дифференциальным (LVDS) выходом есть.

Это не с диапазоном от 1 до 160. Это заказать можно на частоту в диапазоне. И подстраивается там кварц.

Потратил некоторое время на поиск, который не принес больших результатов. Останусь при своем мнении, что ГУН с большой перестройкой пока нет. Только разбиванием на поддиапазоны можно решить задачу без дополнительного преобразования.

Думаю, что лучше все таки поставить синтезатор с дробным ДПКД мегагерц на 400 и перенести спектр вниз. Убьете двух зайцев.
1. Уменьшится шаг сетки частот
2. Спектр сигнала чище, чем у DDS

RZ6AT
06.06.2008, 20:34
Интересно, а вы пробовали программно реализовать USB? А написать драйвер под USB? (атмеловский пример программного USB кривой)

И еще вопрос, вы готовы отдать 100 рублей за написание драйверов и разработку программного USB на процессоре? Если да, тогда используйте связку FT232 (или CP2102) + AVR.
На разработку USB устройства с нуля у квалифицированного специалиста уходит минимум пол года. И еще надо кучу времени чтобы отладить драйвер на различных платформах Windows.

Можете заняться разработкой программного USB, который фирма Atmel до ума толком не довела. Smile Облегчите жизнь разработчикам в интернете.

А уж логику программно реализовывать это вообще похоже на изврат. Сколько вам потребуется на программную реализацию например 4-х регистров сдвига с защелкой 74HC595, а скорости той вы на AVR не получите никогда, на которой могут работать эти микросхемы (до 125 МГц).
Не стоит забывать, что МК и ПЛИС предназначены для решения разного круга задач и сравнивать их не стоит!


Принципиально долго не отвечал на такой флейм и прошу других не засорять ветку таким мусором, а говорить только по делу! А то тут всякий якобы эксперт будет требовать отчёта, что я делал и что не делал и командовать, какими разработками мне заняться.... Вот такие приходят во всякие ветки, чтобы себя пропиарить и отравляют всю атмосферу, что народ просто перестаёт ходить и продолжать обсуждения темы.