Соблюдай ТБ!

\главная\р.л. конструкции\трансиверы\...

Ещё раз про DDS.

Три года назад я принимал участие с группой инженеров по разработке одного крупного проэкта. С целью экономии времени было решено приобрести DDS как отдельный модуль одного из блоков. Я покапался в сети и набрёл на набор DDS. Автор по истине возвышая, описал в сети своё "детище", после чего я получил уведомление об наборе по электронной почте, короче набор был заказан мной. Спустя неделю набор прибыл и следуя инструкции и внимательно прочитав все настояния автора, собрав его... убедился что это была подколка, хотя переговоры велись с англичанами. Никак не удалось запустить синтесайзер, что мы не делали а результата нет, хотя до того как автор исчез со &106,00 (фунтами стерлингов) и вскоре его сайт погас как свечи в конце бала, но удалось (ура!) заставить автора ещё в начале переписки и это было одни из условий сделки - получить исходник. Теперь, спустя три года я снова засел за набор и обнаружив ошибки в монтаже печатной платы, в принципиальной электрической схеме и в самом исходнике программы, начал разгребать всё по маленьку. Начнём по порядку.

Предисловие.

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

Глядя на схему НИЧЕГО НОВОГО Я НЕ ИЗОБРЁЛ, да и последние ни как не было моей конечной целью. Данный синтесайзер является и включает в себя полный контроль для трансивера или приёмо-передатчика. Его так же можно применить в качестве ГСС или первого гетеродина связного приёмника.

Электическая схема: пояснения и заметки.

Данный DDS полностью контролируемый микроконтролером http://www.alldatasheet.co.kr/datasheet-pdf/pdf_kor/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_kor/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_kor/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

Я ЗАРАННЕЕ ПРЕДУПРЕЖДАЮ ЧТО НЕ "ЗАГНАВ" ДАННЫЕ ВТОРОЙ ПРОГРАММЫ СИНТЕСАЙЗЕР ПРАКТИЧЕСКИ НЕ ЗАПУСКАЕТСЯ И НА ДИСПЛЕЕ НЕ ВЫСВЕТИТСЯ АБСОЛЮТНО НИЧЕГО!!!.

Краткая спецификация:

При данных измерениях не использовался оконечный усилитель гетеродина Е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).

Полный комплект документации: схемы, прошивки, программатор. My_dds.zip (680kb).

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



Глас народа
23.03.2009 18:14 Добрый день,Леонид! Можно ли сей девайс "заточить" под AD9952 ? ...  --  Boghdan
15.03.2009 13:12 устройство путнее спору нет ,кто делал и работает подскажите ,не ...  --  алексей ur7is...
02.01.2009 18:41 зравствуйте леонид очень заинтересовался Вашей статьей(решил пов...  --  Александр
10.12.2007 18:07 k: RU3GA "проверено в Липецке" :)))))) ПИШИТЕ НА ПОЧТУ , ВЫШЛЮ ...  --  LEONID_S
22.09.2007 11:09 Обе прошивки , выложенные с статье --- сделаны с "поднятым" битом...  --  RU3GA
13.09.2007 19:05 very nice...  --  Baruch
11.05.2006 00:11 Здравствуйте Леонид! Хочу спросить, можно ли запрограммировать ...  --  ew2ah
30.07.2005 05:01 DataSheet Search Site........ http://www.datasheet4u.com ...  --  datasheet
06.05.2005 22:14 Хорошая статья! Я несколько лет назад зделал DDS для своего старо...  --  4z5cp
05.05.2005 19:27 Очень понравилось управление, и простота индикации. Всего четыре ...  --  Владимир UA9OCB...
03.05.2005 09:28 Все очень здорово, но это вчерашний день уже есть AD9951 который ...  --  Alexey
02.05.2005 20:51 И ещё одна деталь господа : надо быть вниматеьней - суффикс BRS ...  --  Автор статьи...
02.05.2005 20:42 Доброго времени суток всем ! Господа , давайте расберёмся в текст...  --  Автор статьи...
02.05.2005 12:49 По поводу "AD9851 за $300" - а что, суффикс "/FSPCB" ни на какие ...  --  VB
02.05.2005 12:21 ВОЗМОЖНО ЛИ ИСПОЛЬЗОВАНИЕ С ЧАСТОТОЙ ПЧ=5МГЦ ТРАНСИВЕР С ОДНИМ П...  --  UA4ANZ
02.05.2005 12:00 - AD9851/FSPCB $300.95 14.04.2005 - 17 Kb - http://www.einfo.ru/...  --  Sergey
01.05.2005 22:15 Спасибо Анатолию за пожелания ! 13 строка заполненна мнойради тог...  --  Автор статьи....
01.05.2005 21:26 Спасибо за Ваш труд,Леонид! Из описания ясно,что рассматривался в...  --  Анатолий
01.05.2005 16:08 $300 US СТОИЛ ВЕСь НАБОР С ПРОГРАММОЙ 3 ГОДА НАЗАД ....  --  Автор статьи...
01.05.2005 16:04 По поводу травы : Одна еденица DDS AD9851BRS стоит $25 US , Oдин ...  --  LEONID2
01.05.2005 13:35 9851 за $300 ? Где берут такую траву ? Его розничная цена ~$26 (...  --  VB
01.05.2005 13:07 Все это хорошо, но цена AD9851(~300у.е)... Проще готовое иделие к...  --  Sergey
01.05.2005 02:44 За исходник были заплоченны даньги . Тут и так 2-е версии програм...  --  Автор статьи...
01.05.2005 00:50 А исходники не выложите?...  -- 

Возврат