PDA

Просмотр полной версии : В меру простой и в меру сложный



www
20.08.2007, 07:42
Привет всем. Давно сдесь не был , так уж жизнь сложилась. Сейчас вновь проснулся интерес к КВ. Хочу собрать не сложный и не совсем уж простенький аппарат.
Идея заключается в следующем:
-DDS(самый настоящий без PLL);
-прямое преобразование(может даже DSB,но качественное);
Что касается аналоговой части пока не определился, а сейчас вот продумываю синтезатор. Имеется на руках 9852, про 9954(а тем более 9910) даже и не думаю ведь её трудно достать, придётся лепить из того что есть.
Так вот позвольте задать некаторые бопросы
-Какую чевствительность можно получить при применении 9852(300МГц) напрямую?
-Как было бы лучше реализовать непрерывный диапазон хотябы от 1 до 15 МГц?

EU1ME
20.08.2007, 09:44
Трансивер Пилигрим:
http://forum.cqham.ru/viewtopic.php?t=1148 0&start=0

www
20.08.2007, 17:11
А всё таки никто не пробовал применять 9852 напрямую? Какая же реально может получиться чувствительность?

EU1ME
20.08.2007, 17:22
Чувствительность будет определяться схемотехникой аппарата и в самом плохом случае шумами опорного генератора 9852. Не стоит на этом заморачиваться.

www
20.08.2007, 17:58
Ещё забыл сказать что основную задачу для себя поставил уложиться в минимальные габариты, что бы совсем карманный получился, но при этом не менее трёх диапазонов, синтезатор частоты , хороший звук и простая конструкция "выходного дня". С современной элементной базой думаю задача не такая уж сложная, главное найти ту золотую середину между простотой и качеством.

Жду советов и коментариев

RK4FB
20.08.2007, 18:16
Жду советов и коментариев

Крайне опрометчиво :lol:
Уфф... Сори... Анекдот про площадь вспомнил и секс на ней... :D
А из прямых DDS может вот это подойдет - как раз есть вариант под заявленные массогабариты http://forum.cqham.ru/viewtopic.php?t=1071 9

www
21.08.2007, 18:28
Так как сейчас занимаюсь синтезатором, то очень нужна помощь, знатоков. Буду очень благодарен.


Сегодня развёл плату синтезатора :-) получилась всего 45х85. Решил применить проц -ADuC841! Да конечно проц не очень(не дешовый и не очень современный) , но по работе имею часто с ним дело. Програмирую на С в Keil. К сожалению в програмировании МК пока не силён. Сегодня написал модуль начальной конфигурации DDS(установка множителя, напряжения на выходе, стартовая частота и др), и заточил под себя библиотеки работы с ЖКИ. И вот сталкнулся с первой проблемой. Не могу придумать алгоритм вычисления TuningWord, а точнее его реализовать. Проблема для меня заключается в том что не могу оперировать 48-битным числом. Дайте пожалусто подсказаку

EU1ME
21.08.2007, 20:02
Дайте пожалусто подсказаку

Это для 32 бит (AD9951)

// Array of multiplication factors used to convert frequency to the FTW.
//code unsigned long DDS_MULT[DDS_FREQ_TO_FTW_DIGI TS] = { 10, 7, 3, 7, 4, 1, 8, 2, 4 }; //400MHz
code unsigned long DDS_MULT[DDS_FREQ_TO_FTW_DIGI TS] = { 42, 9, 4, 9, 6, 7, 2, 9, 6 }; //400MHz F=4x
// code unsigned long DDS_MULT[DDS_FREQ_TO_FTW_DIGI TS] = { 21, 4, 7, 4, 8, 3, 6, 4, 8 }; //200MHz
// code unsigned long DDS_MULT[DDS_FREQ_TO_FTW_DIGI TS] = { 22, 3, 6, 9, 6, 2, 1, 3, 3 }; //192MHz

// Array of divisors used to convert frequency to the FTW.
code unsigned long DDS_DIVISOR[DDS_FREQ_TO_FTW_DIGI TS - 1] = { 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000 };


/////////////////////////
bla-bla
/////////////////////////

void ddsSetFreq(unsigned long freq)
{
unsigned char i;
unsigned long ftw;

// To avoid rounding errors with floating point math, we do a long multiply on the data.
ftw = freq * DDS_MULT[0];

for (i = 0; i < DDS_FREQ_TO_FTW_DIGI TS - 1; ++i)
ftw += (freq * DDS_MULT[i+1]) / DDS_DIVISOR[i];

ddsSetFTW (ftw);
}

ПС
48битную математику придется делать наверно самому, вот здесь есть вся 32х битная,
http://www.8052.com/codelib/math8051.asm
на ее основе и надо лепить
Здесь еще всякого
http://www.8052.com/codelib.phtml