PDA

Просмотр полной версии : проект трансиверa "RAPTOR"



SoundMaster
10.06.2012, 19:09
Представляю модернезированный вариант ТР-14. Синтезатор DDS, телеграф, раздельные тракты приема и передачи, доступные реле, УПЧ на BF998, единственное что затрудняет сделать нормальные записи - нужно время чтобы разобраться с управлением DDS. Опорный генератор 16 МГц, есть плата BIGAVR2, если у кого есть возможность - выложите код чтобы микросхема генерировала 4 МГц, а еще лучше интервал 4-4,3 МГц, хотябы с шагом 1 кГц - тогда очень скоро выложу записи, заранее спасибо
PA5 = FSYNC
PA3 = SCLK
PA1 = SDATA
AtMega128
Хотелось бы объединенными усилиями поскорее разработать контроллер. Дисплей 2*8 (по габаритам аппарата0
АЦП для S-метра - имеется в ATmega128
Сейчас сам разбираюсь с программированием, но постоянно появляются вопросы

SoundMaster
11.06.2012, 06:47
Вот моя разроаботка, правда по габаритам больше сигаретной пачки. Содержит
Синтезатор DDS, телеграф, раздельные тракты приема и передачи, доступные реле, УПЧ на BF998, единственное что затрудняет сделать нормальные записи - нужно время чтобы разобраться с управлением DDS. Опорный генератор 16 МГц, есть плата BIGAVR2, если у кого есть возможность - выложите код чтобы микросхема генерировала 4 МГц, а еще лучше интервал 4-4,3 МГц, хотябы с шагом 1 кГц - тогда очень скоро выложу записи, заранее спасибо
PA5 = FSYNC
PA3 = SCLK
PA1 = SDATA
AtMega128
Сейчас все упирается в цифровую часть т.е контроллер

Genadi Zawidowski
11.06.2012, 13:03
чтобы микросхема генерировала
Не обещаю... но тип микросхемыы DDS хорошо бы указать...

Есть предложение кросспостингом (дублированием одинаковых сообщение в разных темах) не заниматься.

Genadi Zawidowski
12.06.2012, 01:32
Опорный генератор 16 МГц, есть плата BIGAVR2, если у кого есть возможность - выложите код чтобы микросхема генерировала 4 МГц, а еще лучше интервал 4-4,3 МГц, хотябы с шагом 1 кГц - тогда очень скоро выложу записи, заранее спасибо
PA5 = FSYNC
PA3 = SCLK
PA1 = SDATA
Решил не вырезать из проекта куски (файл AD9832.C содержит и так достаточно примеров программирвания).
Вот прошивка для BigAVR.
На индикаторе после включения должна появится частота 14010.00, кнопки PF7..PF1 должны работать, можно попробовать поуправлять через CAT по Кенвудовски на порту RS232-A (9600,8N1).
Управление единственной DDS на указанных ножках.
PF0 - вход S-метра (обратный - 0 - максимальный сигнал).

Очень хотелось бы знать результат во всех деталях (есть ли частота, есть и индикация, работает ли CAT).
Исходники выложу после проверки прошивки Вами.
ps: А зачем в окончательную схему atmega128 закладывать? Хватит любой 40/44 ногой атмеги на 32 и больше килобайт.

SoundMaster
12.06.2012, 08:13
Добрый день, Генадий! dds AD9835BRUZ. Код загрузил, но на дисплее 16*2 верхняя строка - все закрашенные сегменты, Дисплей если что - 128*64 чистый. ВЧ синала с dds тоже нет. Вобще с этой платой такое бывает - некоторые коды учебных примеров тоже не шли, хотя все джамперы были поставлены как надо. Насчет МК - выбор ATmega128 не окончательный, просто отладочная плата на этот контроллер а вообще - в планах был контроллер с графическим дисплеем, например тот же 128*64 развернуть вертикально - он впишется в габариты, в простом случае думаю сделать контроллер с 8*2 ЖКИ

Genadi Zawidowski
12.06.2012, 10:40
ВЧ синала с dds тоже нет

на дисплее 16*2 верхняя строка - все закрашенные сегменты
Ждём появления изображения именно на нём.
Всё, "сниаю свою кандидатуру".
Без проверки на железе вашу проблему не решить...
Довольно экзотичская DDS, мне не попадалась...
На всякий случай, проверьте перемычки, подключающие дисплей к процессору.
upd: а перемычек-то там и нет... LCD 16*2 должен запускаться...
Попробуйте ещё версию.

SoundMaster
12.06.2012, 15:19
Нет, к сожалению программа тоже не пошла. Как раз некоторые tutorial файлы, касавшиеся обоих дисплеев и не шли. Самостоятельно я выводил мигающий курсор по 4-бит на 16*2 и символы на этот же дисплей по 8-бит (по самодельному шлейфу) так что он исправен. Попробую самостоятельно написать код чтобы для начала получить гетеродин на 4 МГц.
Программы пока писал в одну функцию
Получается SCLK должен взвестись в 1 и упасть в ноль, и так 64 раза (с произвольным интервалом, например 10us - намного больше приведенных в даташите пареметров быстродействия цепей dds)
Одновременно FSYNC падает в ноль на весь этот процесс передачи, а после 64-го тика SCLK взводится
А вот самое трудоемкое - SDATA
3 слова по 16 бит
по даташиту насколько я понял первые 4 бита С3...0 будут 0011
затем для 1-го слова следующий бит - A3 будет 1, А2..0 - нули (вначале ведь идет А3? или наоборот)
а затем информация о частоте 8 бит D7...0
для опорного генератора 16 МГц чтобы получить 4 МГц нужно в регистр записать 40'000'000H это 0100 и затем 7 нулевых полубайтов
То есть А3 0100 0000
а А2...0 все нули
Я правильно все понял или здесь есть ошибки? Не затруднит это проверить?

Genadi Zawidowski
13.06.2012, 02:08
Проект (из одного файла), в котором я попытался сделать всё понятным.
После запуска перестраивает частоту с 4 МГц вверх шагами по 10 герц (с задержкой 20 мс), потом останавливается после 5000 шагов.
Скомпилированный файл (.hex) так же в архиве. Можно сразу прошивать.

Добавлено через 5 минут(ы):


Я правильно все понял или здесь есть ошибки? Не затруднит это проверить?
кроме передачи инфомации о частоте, надо ещё выбрать один из двух регистров частоты для рабты генератора.
Возможно, после включения питания выбран 0-й и он определяется внутренними регистрами DDS, а е входом FSEL.
ПРоверить всё затруднительно... смотрите проект и попробуйте заставит его работать если что не так.
Насчёт того, надо ли обрамлять 16 битов данных своим FSYNC или можно на всех - сейчас не скажу, с даташите искать надо - а уже поздновато... В ad9834, например, можно объединять, пары байтов отсчитывабтся после первого перехода FSYNC в "0".
В проекте я сделал наиболее безопасным (с точки зрения невнимательного чтения даташита) способом.
upd: прочитал внимательно - явно требуется разделять 16-ти битные слова подъёмом FSYNC.
Да, я сразу заложл в демонстрацию "безщелчковую" перестройку - с заполнением нерабочего регистра управления частотой и с переключеним на него.

upd: проект проверил (исходник, меняя выводы под свой макет) - работает.

SoundMaster
13.06.2012, 07:35
Спасибо, вечером проверю в работе

SoundMaster
14.06.2012, 11:18
Загрузил прошивку в МК, но сигнала с dds не обнаружил (на другой приемник) Светодиоды PA1 и PA3 горят, PA5. Я правильно представляю, что у dds свой опорник а у МК свой и они друг от друга не зависят, или они должны тактироваться от одного генератора?

Genadi Zawidowski
14.06.2012, 11:59
В радиоприёмном устройстве налиие двух опорников на близкие частоты приводит к свисту в наушниках.
Для тестирования без разницы, откуда идёт тактовая частота DDS.
Дальше могу предложить читать документ и править программу.
Или ждать советов/проверки от того, у кого есть такая DDS AD9835.

Добавлено через 20 минут(ы):
после десятимикросекундных задержек поставьте по 0.1 секунде - увидите ли мерцание свтодиодов?

вот такую строчку добавить во всех местах:
_delay_ms(100);

SoundMaster
14.06.2012, 12:13
Хорошо, поэкспериментирую

df9fxk
14.06.2012, 12:19
Вот моя разроаботка, правда по габаритам больше сигаретной пачки. Содержит
Синтезатор DDS, телеграф, раздельные тракты приема и передачи, доступные реле, УПЧ на BF998, единственное что затрудняет сделать нормальные записи - нужно время чтобы разобраться с управлением DDS. Опорный генератор 16 МГц, есть плата BIGAVR2, если у кого есть возможность - выложите код чтобы микросхема генерировала 4 МГц, а еще лучше интервал 4-4,3 МГц, хотябы с шагом 1 кГц - тогда очень скоро выложу записи, заранее спасибо
Интересно ваша разработка но вы спаршиваетс советов по ней же.. К сожалению насчёт синтезатора нечего сказать вам не смогу.. А насчёт компоновки.. Это генератор шума и не более того.. Выбросить и забыть..

VOVA080808
14.06.2012, 12:27
сразу заложл в демонстрацию "безщелчковую" перестройку - с заполнением нерабочего регистра управления частотой и с переключеним на него
за счет чего получается безщелковость ?

Genadi Zawidowski
14.06.2012, 12:31
за счет чего получается безщелковость ?
За счёт того, что при смене частоты по частям (по 16 бит, за два раза) заполняется регистр частоты неиспользуемого в данный момент профиля (32 бита), а потом идёт переключение на него. И так переключаясь дальше.

ur3qkc
14.06.2012, 12:32
за счет чего получается безщелковость ?
заполнением нерабочего регистра управления частотой и с переключеним на него - написано же

VOVA080808
14.06.2012, 12:39
За счёт того, что при смене частоты по частям (по 16 бит, за два раза) заполняется регистр частоты неиспользуемого в данный момент профиля (32 бита), а потом идёт переключение на него. И так переключаясь дальше.
это я понял .
непонял какая разница пихать все в один регистр или в два по очереди ?
как и почему это влияет на щелчки, ведь новая частота вылазит, если неошибаюсь, после 8 MСLK импульсов после записи, независимо от способа записи .
или это экспериментальный результат ?

Genadi Zawidowski
14.06.2012, 12:48
непонял какая разница пихать все в один регистр или в два по очереди ?
Ещё раз пишу - на этой микросхеме я не проверял. Аналогичная проблема была с ad9834 - там решал таким способом.
Просто, если при последовательной перестройке частот изменились обе 16-битные половины - то если не применять этот метод, при промежуточной записи частота будет уходить далеко в сторону от требуемой - и это слышится как щелчёк.
Насчёт 8 тактов mclk - это не значит, что процессор притактовой частоте 16 МГц ждёт 2 мкс, пока соберётся новая частота в регистре. Это время на конвеер - просто задержка появления данных на выходе ЦАП в соответствии с новым значением. Это может относиться и к арифметике (сумматору) и к косинусному перобразователю, если он сделан не на ПЗУ, а с прмиенением каких-то алгоритмов вычисления функции.
upd: проверил работу проекта с AD9835 - всё работает как и хотел.

VOVA080808
14.06.2012, 12:51
проблема была с ad9834 - там решал таким способом.
Просто, если при последовательной перестройке частот изменились обе 16-битные половины - то если не применять этот метод, при промежуточной записи частота будет уходить далеко в сторону от требуемой - и это слышится как щелчёк.
все ясно, у меня 9834 поэтому и поинтересовался .

Genadi Zawidowski
14.06.2012, 13:13
у меня 9834 поэтому и поинтересовался
Вот уж код для AD9834 у меня отлажен достаточно, берите и пользуйтесь. В SW2011RDX она не перестраивается по диапазону, но в "Воронёнке" она применяется как опора для ФАПЧ - и там со щелчками я боролся.

VOVA080808
14.06.2012, 13:19
Вот уж код для AD9834 у меня отлажен достаточно, берите и пользуйтесь. В SW2011RDX она не перестраивается по диапазону, но в "Воронёнке" она применяется как опора для ФАПЧ - и там со щелчками я боролся.
у меня свой для пика , кроме индикации, как-то работает.
интересуют больше особенности управления (одну про щелчки в этой теме узнал) ,
может есть еще подводные камни ?

Genadi Zawidowski
14.06.2012, 13:26
есть еще подводные камни ?
Нету.

SoundMaster
14.06.2012, 13:58
А насчёт компоновки.. Это генератор шума и не более того.. Выбросить и забыть..
Не говорите о том чего не знаете. Я ППП без применения SMD и не так компоновал, Чувствительность была такая что на провод меньше метра спокойно принимались и американцы и многие другие корреспонденты. Правда я живу в стороне от города и эфир здесь довольно чистый

SoundMaster
14.06.2012, 16:30
С прошивкой и ее загрузкой все нормально - светодиоды мигают, надо работать с сигнальной платой

VOVA080808
14.06.2012, 17:40
извиняюсь вопрос не по теме :
какая необходима минимальная амплитуда мсlк генератора для ддс ?
при использовании самопального кварцевого 25МГц на ттлш 1533лн1 - ддс не заводится .
с абраконом на 80МГц -как ни странно, работает .
в даташите указаны только временные параметры - они там не жесткие .
как быть с амплитудой хз ...

Genadi Zawidowski
14.06.2012, 20:54
даташите
Тип dds?

VOVA080808
14.06.2012, 20:57
AD9834

Genadi Zawidowski
14.06.2012, 21:05
в даташите указаны только временные параметры - они там не жесткие .
как быть с амплитудой хз
Это логический вход (без внутренней подтяжки к полпитания, как это бывает у микросхем ФАПЧ).
Параметры по напряжению написаны в Table 1, раздел Logic Inputs
При 3.3 вольта питания надо больше чем от 0.6 до 1.7 вольта.
to SoundMaster: если офтопик разрастётся и скажете чтобы убирались из темы - мы пойдём...

df9fxk
14.06.2012, 22:03
Не говорите о том чего не знаете. Я ППП без применения SMD и не так компоновал, Чувствительность была такая что на провод меньше метра спокойно принимались и американцы и многие другие корреспонденты. Правда я живу в стороне от города и эфир здесь довольно чистый
Ну предположим я говорю что вы собрали платку мягко говоря, не так как нужно..:) Мне вы не верите, так спросите у остальных, ну хотябы и у Геннадия Завидовского?..

Genadi Zawidowski
08.07.2012, 18:59
Хорошо, поэкспериментирую
Как дела? Как я писал, у меня прошивка работала (частота генератора плавно менялась).

SoundMaster
17.07.2012, 11:49
С dds мне надо разбираться, хотя монтаж проверял. Сейчас работу над трансивером временно отложил