Измерения | DDS генератор из журнала ELEKTOR |
|
---|---|---|
Набрел я как-то на октябрьскую статью 2003 года журнала ELEKTOR - DDS RF signal generator.Оригинал статьи тут: http://aliot.com.ua/uploads/dds/e03a014.pdf Очень выгодно отличалась сия конструкция наличием регулируемого цифрового аттенюатора на базе AD8321 а не просто каскадом на одном транзисторе, наличием AM и FM модуляции, толковой менюшкой и т.д и т.п.... Вобщем сама DDS-ка AD9851 была найдена очень быстро, MAX7400 (AM модуляция) вобщем тоже, AT90S8515 был успешно заменен на ATMEGA8515, немного пришлось повозиться с AD8321 - ВЧ магистральный усилитель с управлением по I2C, но тоже нашел... Вобщем приборчик был собран, но какова была обида когда он оказался полу-коммерческим. То есть та прошивка которая лежала на сайте была "несколько" облегчена, но с ней был исходник (тоже естественно облегченный). Оригинальное readme можно почитать тут: http://aliot.com.ua/uploads/dds/read_me.txt Ну и теперь собственно предложение к гуру программирования на ассемблере. Предлагаю дописать недостающее. Проблем возникнуть у знающего человека не должно. Ну разве что кроме пункта 2.... Тем более что собранный "в железе" один экземпляр уже есть. В итоге получим очень достойный DDS генератор функционально ничем не хуже их коммерческих аналогов. И напоследок: Оригинальная прошивка - http://aliot.com.ua/uploads/dds/firmware_original.zip |
|
|
Ну и где исправленная прошивка ? Пункт один можно легко побороть, всего 10 строк кода, любой напишет, надо только знать, куда вставлять...Также и с пунктом два, кто бы только объяснил, как увязать девиацию со значением частоты. В оригинальном коде не нашёл ограничения на масимальную частоту 10 МГц, хотя увы смотрел код по диагонали. В программе не понравился принцип формирования кода фазы суммированиемчастных фаз для набора частот, в результате может набежать приличная ошибка. Видимо поэтому сделано ограничение низшей частоты в 50 Гц, хотя чип может генерить хоть с 1 Гц. На мой взгляд, для вычисления фазы проще сделать умножение 32-битной заданной частоты на единичную 32-битную фазу. В железе не понравилось использование двух кварцев 10 МГц, можно было бы обойтись одним (упростится схема и можно ВPSK/QPSK модуляцию ввести), ну и не понравился умножитель на 3, мне кажется, он даст дополнительный джиттер. А так ничо изделие, имеет право на существование. |
|
|
В честь того что хоть кто-то заинтересовался - прошивка теперь тут: http://aliot.com.ua/uploads/dds/firmware71mhz.zip. Касаемо утроения частоты - в статье оригинале рассматривался "на словах" вариант с кварцевым генератором на 30MHz с оговоркой "если найдете". Я почти нашел... Почти Насчет программы - ничего не скажу - к сожалению не программист. Платку разработать, красиво потравить а потом довести это все "до ума" это я могу, а вот с программированием - увы. Если кому интересно выложу фото почти готового железа. Почти - это еще нет передней панели. А так - все чудесно работает. |
|
|
electra: прошивка теперь тут |
|
|
В zip файл с исправленной прошивкой - добавил исправленный .asm Искать строки с комментарием vvv. Выглядело где-то так: "cpi r17,$0a"."0a" был заменен на FF и все заработало. Ранее при попытке ввода 11 000 000 hz контроллер сбрасывал значение на предыдущее. Так что все по-честному Как насчет дорисовать недостающее? Хотя бы ту часть про энкодер? |
|
|
electra: Так что все по-честному |
|
|
И снова Вы меня не поняли.... Две прошивки которые лежат и есть оригинальные но "фриварные". Единственное что у меня получилось как у не-программиста это поменять во второй прошивке в трех или четырех местах "0A" на "FF". Стал вводиться 71Mhz вместо ограничения в 10Mhz. Вот и все... Прошивку писал не я. GM: Другими словами, вы меня как бы нанимаете. Если так, то надо обговорить условия. Хотя идею Вы, GM, к сожалению так и не поняли Если бы я просто хотел заполучить все функции за деньги - я бы просто купил бы у электоров в европе прошитый контроллер. Затея не в этом. Все мои изыскания в интернете по поиску радиолюбительского генератора до 100мгц доступного для повторения и не ограничивающегося простым выходом с DDS-ки как это было в журнале Радио - привели меня только к этой схеме. Еще чего-то видел у индусов, но чем-то не понравилось. Мне кажется конкретно этот прибор был бы достойным дополнением радиолюбительской лаборатории к такого рода open source самоделкам как RLC-2 уважаемого GO и -Johns-, обсуждаемый в соседней ветке. Могу и нанять... А потом положу здесь же абсолютно за бесплатно. Или все таки найдутся энтузиасты? GM: 0 - энкодер управляет шагом перестройки частоты |
|
|
Немножко добавлю до кучи, может проще написать новую прошивку? Я сейчас как раз нечто подобное делаю, правда на AD9954 соотв там можно АМ модуляцию делать программно тк есть встроенный аттенюатор. А что из себя представляет старая прошивка? какие меню? какие возможности в плане интерфейса пользователя? нельзя скриншотов наделать? |
|
|
Знаком етой конструкцией, думал повторить, но когда понял что софт демо, притормозил. Однако нашел сайт немца кот. сделал по новому программу на бейсике, кое что дополнил. Сайта почемуто уже нет (http://dili.dyn.ee/dds-generator/dds-generator.php). Все все что отутуда скачал положил сюда: |
|
|
Есть все в первом посте - но повторюсь: Касаемо интерфейса - все просто и удобно. клавиатура 4x3 и энкодер. Если ввод начинается с 1-9 - то это будет воспринято как ввод частоты. подтверждаем ввод клавишей D. Клавиша "*"- переключает энкодер в регулировку шага частоты (вырезано). Клавиша "0" (с нуля частота не может начинаться) переключает энкодер в регулировку частоты согласно выбранного шага (вырезано). Клавиша # переключает энкодер в режим регулировки уровня (работает). Клавиша "A" AM/FM/off модуляция (вырезано). Клавиша "B" переключает формат отображения уровня V/dBm (работает). Клавиша "С" переключает девиацию для FM, C0-C9, C0 - 3kHz, C1-9 10-90kHz соответственно (вырезано) . Лучшего придумать довольно тяжело. Все помещается на дисплее 16x2 без каких либо листаний. Если хотите - завтра сфотографирую. Знающему человеку дописать секцию про энкодер чтобы прибор реагировал дожным образом на клавиши #0* труда составить не должно. AM модуляцию по нажатию "A" и "засветить" меандр на 1kHz c 15ноги меги - думаю тоже невелика проблема. Вот с FM - думаю будет сложнее... |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |