Специальные радиосистемы
Логин  Пароль   Регистрация   
На главную
наш магазин радио
объявления
радиорейтинг
радиостанции
радиоприемники
диапазоны частот
таблица частот
аэродромы
статьи
файлы
форум
поиск
Профессиональная радиостанция Vertex VX-231
Ещё раз про DDS
Начало » Оборудование радиосвязи » Различное оборудование
Разместил: LEONID_S 1.8
Авторские права Леонид, Израиль
Прикрепленные файлы 1. файл zip Весь пакет файлов к статье. (679.4 Kb)


Ещё раз про DDS


Три года назад я принимал участие с группой инженеров по разработке одного крупного проекта. С целью экономии времени было решено приобрести DDS как отдельный модуль одного из блоков. Я покопался в сети и набрёл на набор DDS. Автор по истине возвышая, описал в сети своё "детище", после чего я получил уведомление о наборе по электронной почте, короче набор был заказан мной. Спустя неделю набор прибыл и, следуя инструкции и внимательно прочитав все настояния автора, собрав его... убедился, что это была подколка, хотя переговоры велись с англичанами. Никак не удалось запустить синтесайзер, что мы не делали, а результата нет, хотя до того как автор исчез со &106,00 (фунтами стерлингов) и вскоре его сайт погас как свечи в конце бала, но удалось (ура!) заставить автора ещё в начале переписки и это было одни из условий сделки - получить исходник. Теперь, спустя три года я снова засел за набор и, обнаружив ошибки в монтаже печатной платы, в принципиальной электрической схеме и в самом исходнике программы, начал разгребать всё помаленьку. Начнём по порядку.
Предисловие.
Доводя "до ума" данный набор и исходя из того, что автор "сбежал", кстати, я долго искал эго след, но, находя в сети каждый раз, в форумах "горячие" высказывания разочарованных радиолюбителей, я окончательно решил что, переделывая данный синтесайзер я не пересеку черту закона, тем более что я не занимаюсь коммерцией, а всего лишь публикую статью на тему DDS.
Глядя на схему НИЧЕГО НОВОГО Я НЕ ИЗОБРЁЛ, да и последние ни как не было моей конечной целью. Данный синтесайзер является и включает в себя полный контроль для трансивера или приёмо-передатчика. Его так же можно применить в качестве ГСС или первого гетеродина связного приёмника.
Электрическая схема: пояснения и заметки.
Данный DDS полностью контролируемый микроконтроллером http://www.alldatasheet.co.kr/datasheet-pdf/pdf_ko r/MICROCHIP/PIC16F84A-10/SO.html PIC16F84/A-10, с изменением частот в пределах от 0 до 62,5 MHz. В модуле применён валкодер для изменения частоты и переключения диапазонов. Шаг перестройки, программируемый в 8-и значениях и может быть изменён и запрограммирован в пределах от 1Hz до 65535Hz.
Благодаря применению 4-х HC595, удалось получить расширение шины с применением минимального кол-ва данных портов контролера. Первые два HC595 дают возможность подключения и коммутации 16-ти фильтров и тем самым переключением 16-ти диапазонов. 16 ячеек памяти, предоставленные с этой целью и позволяют ввести все любительские диапазоны, включая 1,2 GHz. Выбранный диапазон (один из 16-ти) открывает порт и переводит его в режим логической "1" что и позволяет коммутировать реле диапазонных фильтров. Не бесполезно предупредить что порт HC595 способен "толкать " ток величиной не более 25 мА. http://www.semiconductors.philips.com/pip/74HC595N .html. Это говорит о том, что, применяя реле с 5-ти вольтовой катушкой следует применять драйвер типа ULN2003 http://www.alldatasheet.co.kr/datasheet-pdf/pdf_ko r/STMICROELECTRONICS/ULN2003.html либо схему на транзисторе. Обычно такие реле потребляют около 30 мА, и поэтому не следует рисковать граничным значением. Данный модуль снабжён так же стандартным LCD дисплеем, позволяющим контролировать визуально все операции как загрузка и скачивание памяти, показание изменений частоты и данный статус. Каждый изменяемый шаг перестройки показан тоже. LCD получает информацию в сериальной форме через свободный поток данных от микроконтроллера и конвертируется в параллельную шину данных (D0~D7) при помощи последнего HC595. С целью получения полной передачи данных на дисплей (RS, E), предпоследний HC595 применяет участие так же. Практически можно применить любой LCD со стандартным расширением. Не рекомендуется запитывать подсветку LCD от источника на плате, т.к. сама подсветка потребляет около 0,4 ампера !!!.


Принципиальная электрическая схема модуля DDS synthesizer.
В схеме применён низкочастотный эллиптический фильтр 3-го порядка, у которого указанны 2 вида номиналов. Значения без скобок для точки среза в 42МHz Значения в скобках предназначены для точки среза в 72МHz и с подавлением второй гармошки на уровне -85 dB. Усилитель типа ММIC, ERA-3sm http://www.alldatasheet.co.kr/datasheet-pdf/pdf_ko r/MINI/ERA-3SM.html, указанный на схеме опционален. В случае если он не применяется, на монтаже между входом и выходом припаивают сопротивление с номиналом 0 Ом. Мной этот тип усилителя был выбран по следующим критериям: низкий показатель уровня шума NF=3,5 dB, рабочее напряжение ниже 5-ти вольт при сравнительно низком токе 35 мА, усиление 22,5 dB и пределом рабочих частот до 8 GHz.
Его сопротивление ограничителя тока R=41 om, по требованию изготовителя обязательно должно быть применено и рассчитано следующим образом:
VA=Vcc-VR => Vcc=5v, VA=3,5v: 35mA, VR=5v-3,5v=1,5v, R=1,5v:35mA = 42,8 om
Самый приближённый номинал, который был у меня 41R. Оно и было применено в схеме.
Применяя данный усилитель и низкочастотный фильтр, выходная мощность на выходе модуля составит около +15 dBm/50 Ом, что оставляет широкие возможности применить 5-ти dB аттенюатор с целью подгонки импеданса промышленного смесителя (ооочень не линейная штука) и применить смеситель с уровнем +10dBm в порте Lo. Данная процедура во многих случаях избавляет от вечной борьбы со спуриусами.
Все резисторы с номиналом 0R применённые мной в схеме, используются в некоторых местах с целью перемычек на печатной плате, а так же с целью отладки модуля и возможностью отключения подачи напряжения питания во многих точках.
Микроконтроллер работает с тактовой частотой в 9,8 МHz. Возможно применение кристалла с частотой в 10 МHz, но тогда существует реальная возможность повоевать со спуриусами на круглых частотах (10х2, 10х3, 10х4, 10х5 и.т.д.). Программа работает безотказно в обоих случаях. Микроконтроллер считывает так же информацию валкодера http://www.bourns.com/pdfs/ECW1J.pdf и с помощью всего четырёх кнопок клавиатуры меняет слово для DDS. Это предоставляет последнему возможность работы, в разных режимах включая SPLIT MODE.
Что касается программы: в этом проекте участвуют две программы. Первая и о ней вкратце. Первая программа относится к микроконтроллеру PIC16А84/А-10 (тактовая частота 10MHz, возможно применение 20-ти МHz контролера) и она (программа) существует в двух версиях. Версия А позволяет применить генератор с частотой до 150 МHz в прямом подключении к DDS не используя внутреннею функцию при программировании - умножение входной частоты на 6 (х6).
Версия Б предусматривает использование внутреннего умножителя частоты в 6 раз (х6) т.е. применяя версию Б программы контролера, можно применить кристаллический осциллятор с максимальной рабочей частотой в 30 МHz и тем самым используя информацию ANALOG DEVICES об DDS AD9851(BRS) http://www.analog.com/en/prod/0,,770_843_AD9851,00 .html, получим в обоих версиях максимальное значение частоты выходного сигнала с DDS в пределах
fout=fin(x6): 2 = 30 MHz *6: 2= 90 MHz.
Программируя микроконтроллер необходимо выставить следующие значения регистров для программатора:
PWRT-ON
WDT-OFF
OSC-HS
CP-OFF
Вторая программа напоминает базу данных и позволяет программировать модуль таким образом, что DDS СТАНОВИТСЯ ПРИМЕНЯЕМ ПРАКТИЧЕСКИ ДЛЯ ЛЮБОЙ РАДИОЛЮБИТЕЛьСКОЙ КОНСТРУКЦИИ, ТАК ЧТО, ПРОГРАММИРУЯ ПАМЯТь Я МОГУ НА ПРИМЕР ЗАДАТь ЗНАЧЕНИЕ РАБОЧЕЙ ЧАСТОТЫ в 3,5MHz И ИСПОЛьЗУЯ ПЧ С ЧАСТОТОЙ В 11,4MHz, НА ДИСПЛЕЕ ВЫСВЕТИТСЯ 3,5MHz А НА ВЫХОДЕ МОДУЛЯ РЕАЛьНО МОЖНО ЗАМЕРИТь 11,4+3,5=14,9MHz. А так же применяя другое значение ПЧ, на пример 500KHz выходит тот же расчёт. Т.е. построив правильно данный модуль и запрограммировав DDS, он применим практически в ЛЮБОЙ КОНСТРУКЦИИ, исходя из расчёта низкочастотного фильтра.
Вторая программа грузится через DOS (желательно во избежание ошибок передачи данных через платформу WINDOWS). О ней и её применении будет подробно описано подробнее немного позднее. С версией WINDOWS XP моя программа не работает вообще - желательно WIN-98.
ДАННЫЕ ЗАГОНЯЮТ ОДИН РАЗ ЧЕРЕЗ ПАРАЛЛЕЛьНЫЙ ПОРТ КОМПьЮТЕРА И ПОСЛЕ ЭТОГО ПРОГРАММИРОВАННИЕ НЕ ТРЕБУЕТСЯ. ДАННЫЕ - СВОЕГО РОДА ТАБЛИЦЫ, расположены так что часть данных пригоняется в память микроконтроллера а часть в EEPROM 93C46. http://www.atmel.com/dyn/products/product_card.asp ?part_id=2491
Я ЗАРАННЕЕ ПРЕДУПРЕЖДАЮ ЧТО, НЕ "ЗАГНАВ" ДАННЫЕ ВТОРОЙ ПРОГРАММЫ СИНТЕСАЙЗЕР ПРАКТИЧЕСКИ НЕ ЗАПУСКАЕТСЯ И НА ДИСПЛЕЕ НЕ ВЫСВЕТИТСЯ АБСОЛЮТНО НИЧЕГО!!!.
Краткая спецификация:
• Полное перекрытие частот: 0~62,5 МHz. (fClk=25 MHz)
(применяя генератор с значением частоты равным 33,33333 MHz, значение выходной частоты доходит до половины Clk х 6 = 99,99 MHz).
• данный низкочастотный фильтр позволяет перекрытие частот до 42 / 70 MHz,так же зависит на прямую от самого AD9851/50
• Шаг перестройки: от 1 Hz до 65535 Hz
• 16 логических выходов как индикация выбранной ячейки памяти. 16 ячеек памяти (программируя EEPROM)
• 8 значений шага перестройки от 1 Hz до 65535 Hz, возможность установки через параллельный порт компьютера.
• Программирование частоты опорного генератора для более аккуратной настройке.
• Возможность высветить на дисплее шкалу частот от DC до 4,29 GHz.
• Автонастройка или ручная настройки с применением валкодера.
• Симуляция двойного VFO, "SPLIT Freq. MODE" позволяется переключением логикой Rx – Tx.
• Уровень побочных помех (спуриус) на отрезке = 1 МHz от сигнала не более 15 dB
• Измерение уровня фазового шума на отрезке = 5 KHz от сигнала = -128 dBc/Hz.
• Дополнительные функции: RESET, МЕМ А/B, FREQUENCY SPLIT, STEP.
• Полное потребление тока (без подсветки LCD) < 110 mA @ 12VDC.
При данных измерениях не использовался оконечный усилитель гетеродина ЕRА-3sm. Уровень сигнала без усилителя составил -4 dBm/50 om.
Инструкция использования второй программы.
Вторая программа - DDS.EXE. Необходимо запрограммировать PIC перед использованием. DDS.EXE лучше всего управлять из DOSa из-за того, что запуская программу из Windows существует вероятность большей погрешности в передаче данных в память модуля. В любом случае, работая с программой DDS.ЕХЕ под платформой WINDOWS строго рекомендуется закрыть все рабочие программы - окна и после этого запустить DDS.EXE.


Так выглядит первый скриншот программы DDS.EXE.
Между 4-мя окнами программы передвигаются с помощью клавиш Page-Up & Page-Down.
* для изменения данных введите новое значение и нажмите Enter. если максимальное число цифр введено нет никакой надобности нажимать Enter.
* производить запись/ввод данных программы следует начать с ввода значения частоты генератора Clock(Hz)
Каждое новое введённое данное проверяется программой, так что бы не перейти махимального значения позволенного DDS_ом следующим образом:
Output Freq. Max = Clock Freq: 2
Display Freq. Max = 2^32 – 2^16 – 1 = 4294901759 Hz (4,29 GHz)
Clock Freq. Max. = 125 MHz (if use AD9850)
Clock Freq. Max. = 180 MHz (if use AD9851)
ДЛЯ ТОГО ЧТО БЫ ВВЕСТИ САМ МОДУЛь В РЕЖИМ ПРОГРАММИРОВАНИЯ ПАМЯТИ (ЧАСТОТ/ШАГА НАСТРОЙКИ), СЛЕДУЕТ НАЖАТь КНОПКУ "SPLIT FREQ" И ПРОДАЛЖАЯ ДЕРЖАТь ЕЁ НАЖАТОЙ, НАЖАТь НА КНОПКУ RESET (ЛИБО НАЖАТь КНОПКУ "SPLIT FREQ" И ПОДАТь ПИТАНИЕ). ЕСЛИ МОДУЛь СОБРАН ПРАВИЛьНО И КОНТРОЛЕР ЗАПРОГРАММИРОВАН "БЕЗ ЭКСПЕРИМЕНТОВ" НЕ ИЗОБРЕТАЯ КОЛЕСА ПО НОВОЙ, ДОЛЖНА ВЫСВЕТИТСЯ БУКВА "Р" В ЛЕВОМ ВЕРХНЕМ УГЛУ ДИСПЛЕЯ. ЭТО ГОВОРИТ ЧТО МОДУЛь НАХОДИТСЯ В РЕЖИМЕ ПРОГРАММИРОВАНИЯ. В ТО ВРЕМЯ КОГДА ДАННЫЕ БУДУТ СЧИТЫВАТЬСЯ С МОДУЛЯ В ПРОГРАММУ (ФУНКЦИЯ READ) ДОЛЖНА ВЫСВЕТИТСЯ БУКВА "P" В ЛЕВОМ ВЕРХНЕМ УГЛУ ДИСПЛЕЯ. Удостоверьтесь в том, что программа находится в состояние связи между PC & DDS и не выбрасывает сообщения типа " No response. Please reset and try again."
Связь модуля с компьютером производится с помощью кабеля из 3-х проводов.
Длина кабеля не должна превышать 2 метра.
Параллельный порт PC DDS Synthesizer Module PCB
Connector type: DB-25 Male. 3-Wire connections.
Pin 25 = GND to Point GND on DDS Module PCB
Pin 10 = ACK to Point Din on DDS Module PCB


Pin 2 = D0 to Point Dout on DDS Module PCB
Часть платы со стороны печатного монтажа. Подключение программатора и параллельного порта PC.
Помимо ввода данных их можно сохранять Save в файл без расширения (программа сама даёт расширение "DDS", на пример mytable.dds), и так же загружать Load сохранённый зараннее файл, укаав названия файла не указывая расширение. Создать файл можно так же без проблем, считав данные (если они существуют) с памяти – Read. После заполнения всех таблиц запись в память производится с помощью Program. Как вы уже заметили, что первая буква каждой функции высвечена. Это значит что нажимая на клавишу этой буквы можно запросить нужную функцию.
НЕ СТОИТ ЗАБЫВАТь, ЧТО РАБОТАЯ В ПЛАТФОРМЕ DOS, НЕ ДОПУСТИМО ДАВАТь ИМЯ ФАЙЛА РАЗМЕРОМ БОЛЕЕ ЧЕМ В 8 БУКВ, НЕ ВКЛЮЧАЯ РАСШИРЕНИЕ (КОТОРОЕ ПРОГРАММА ДОПОЛНЯЕТ САМОСТОЯТЕЛьНО).
В режиме программированния или чтения памяти программа пройдёт по всем инстанциям от начала и до конца не смотря на то что, перепрограммируя изменено всего одно значение. Это занимает несколько секунд.
Выйти из программы - Quit, следует нажать на клавишу Q.
Данная версия программы даёт возможность ввести 8 значений шага перестройки Step(Hz). При заполнении этого окна введите 8 значений от 1Hz до 65535Hz.
В окне Memory -- Output(Hz) -- Display(Hz) каждый вводит данные по своему расчёту, о котором я писал уже. Начиная с первой ячейки памяти я ввожу значение той рабочей частоты Output(Hz) на которой должен работать гетеродин моей конструкции. Следующее значение – Display(Hz) я ввожу значение принимаемой частоты, т.е в конечном результате LCD модуль показывает частоту, которую как бы принимает приёмник или передаёт передатчик на данный момент, а на самом деле мы получили сумму частот (fRF + fIF = fLO) для первого смесителя системы - т.е. частоту LO. В ЭТОМ И ЕСТь ОДНО БОЛьШОЕ ПРИЕМУЩЕСТВО ЭТОЙ КОНСТРУКЦИИ В ПРОСТОТЕ ПОДГОНКИ ПОД ЛЮБОЙ ПРИЁМО-ПЕРЕДАТЧИК.


Пример заполнения таблиц данными.
применяя генератор с значением частоты равным 33,33333 MHz
Использование модуля DDS.
Закончив этап программирования, переходим в рабочее состояние (нажав на кнопку Reset на плате модуля), можно перейти к работе и эксплуатации модуля DDS.
Запрограммированный модуль показывает на дисплее последние показание значения частоты, значение шага перестройки, либо последнее состояние включения DDS, т.е. последнее выбранную ячейку памяти, а так же последнее значение шага перестройки сохраняется.
Настройка.
Увеличение или уменьшение значения частоты от исходной точки изменится после поворота оси валкодера по или против часовой стрелки. Если какой то из диапазонов получил значение нуля вместо числа, то этот диапазон никак не сможет быть выбранным DDS. Настройка (вверх-вниз по частоте) будет продолжаться до тех пор валкодер не дойдёт до следующих лимитов:

1) Значение выходной частоты равно нулю.
2) Значение выходной частоты равно половине частоты генератора (Clk).
3) Значение показываемой частоты на дисплее равно нулю.
4) Значение показываемой частоты на дисплее равно 4294901759Hz.

Если один из вышеуказанных лимитов был достигнут, тогда с целью предотвращения данных ошибок необходимо уменьшить значение шага настройки.
Если во время настройки валкодером вы прошли до конца выбранного диапазона, и появилась необходимость вернуться в его начало, это можно сделать, нажав на кнопку Reset. Нет надобности крутить ручку валкодера обратно.
Изменение шага настройки.
Нажимая на кнопку функции Step, поочерёдно выбираем значение заранее запрограммированного шага настройки (1~8). Выбранное значение будет введено в память ЕЕPROМа. Номер шага высветится в правом верхнем углу дисплея и не исчезнет до тех пор, пока не будет нажата другая кнопка функции или ось валкодера не будет сдвинута с места, тем самым, изменяя значение частоты. После повторного включения DDS, значение шага настройки приобретёт последние значение и останется неизменным до следующего нажатия на кнопку Step.
Изменение/Выбор памяти или диапазона.
Для того, что бы выбрать определённую ячейку памяти EEPROMа или в той же степени переключить диапазон (по шкале вверх-вниз), необходимо нажав кнопку функции МЕМ А/B и продолжая её держать в нажатом состоянии, затем покрутить ось валкодера. В зависимости от направления поворота оси валкодера произойдёт изменение значения выбранного диапазона по кругу, т.е. дойдя до "верхнего" диапазона, дополнительный сдвиг оси валкодера приведёт к переходу на самый "низкий диапазон", и наоборот.
Функция Split Frequency.
Кнопка функции Split Freq. применяется для выбора разрешения и запрета режима Split Freq. Если эта функция выбрана (нажатием кнопки), то значение частоты, которое отображается дисплеем в данный момент будет скопировано и перенесено как дополнительно в нижний ряд дисплея. Верхний ряд дисплея покажет значение частоты RХ, а нижний ряд дисплея покажет значение частоты ТХ. Стрелка в нижнем ряду дисплея укажет на то, что выбрано значение частоты ТХ для настройки и тем самым для изменения значения выходной частоты DDS. Нажимая в данный момент на кнопку функции МЕМ А/В поочерёдно между значением частот ТХ & RХ, будет видно, как стрелка указывает каждый раз, в каком режиме RХ или ТХ находится DDS. Переключение приём - передача предусмотрено так же и путём "железа" т.е. порт RB4 микроконтроллера (нога 10) так же способен переключать между RX и TX. Этот порт (RB4) внутри контролера постоянно находится в состояние логической единицы, но можно его принудить в режим нуля для переключения режима. Если модуль DDS будет применён в трансивере, следует подать логическую единицу на точку RX (база транзистора через 1К5) чтобы заблокировать приём и разрешить режим ТХ Only.
Применение модуля DDS в трансивере.
Для проведения связей с применением и использованием функции Split Freq. сначала требуется установить значение частоты, которая будет применена для приёма. Выберите Split Freq. и настройте на нужную частоту передачи. Вернитесь к значению частоты приёма нажатием на кнопку функции МЕМ А/В. Напряжение контроля передачи трансивера будет переключать режим RX - ТХ так же как PTT. Возможно применение Split Freq. как функцию RIT. Необходимо настроится на избранную станцию по приёму, затем выбрать функцию Split Freq., после этого подстраивают значение частоты передачи, используя функцию МЕМ А/В. Сейчас значение частоты приёма может быть настроено на проведение связи без повторного изменения настройки ТХ.
Калибровка точности выходной частоты.
Данный DDS может быть откалиброван с применением точного FREQUENCY COUNTERa, либо с помощью частот применяемых как Стандартный Частотный Сервис для аппаратуры класса HF. Последняя опция возможна при использование шага настройки в 1 Hz, при приёме точных источников частот в радиовещательном сервисе, существующих на частотах 5MHz и 10MHz.Калибровка DDS заключается в точности перепрограммирования через программу DDS.ЕХЕ и делают это следующим образом:
Предположим что частота Clock=125 MHz ׂ(5х25 MHz).Вводим данные значение частоты для дисплея = 10 MHz и выходная частота равна тому же значению - 10 MHz. Производим измерение и получаем fOUT=9,99998 MHz, т.е. погрешность вниз. Определяем значение частоты на входе DDS следующим образом: (9,99998:10) * 125 = 124.999750 MHz. Перепрограммируем снова с помощью DDS. ЕХЕ значение частоты Clock на входе DDS, и вносим полученный результат с погрешностью как оконечное значение в окно Clock(Hz).

Леонид, Израиль

Добавлять комментарии могут только зарегистрированные, активировавшие регистрацию и не ограниченные в доступе участники сайта!
Файл создан: 10 Дек 2007 18:36, посл. исправление: 11 Дек 2007 09:55
© radioscanner.ru, miniBB® 2006 | загрузка: с.