Просмотр полной версии : В меру простой и в меру сложный
Привет всем. Давно сдесь не был , так уж жизнь сложилась. Сейчас вновь проснулся интерес к КВ. Хочу собрать не сложный и не совсем уж простенький аппарат.
Идея заключается в следующем:
-DDS(самый настоящий без PLL);
-прямое преобразование(может даже DSB,но качественное);
Что касается аналоговой части пока не определился, а сейчас вот продумываю синтезатор. Имеется на руках 9852, про 9954(а тем более 9910) даже и не думаю ведь её трудно достать, придётся лепить из того что есть.
Так вот позвольте задать некаторые бопросы
-Какую чевствительность можно получить при применении 9852(300МГц) напрямую?
-Как было бы лучше реализовать непрерывный диапазон хотябы от 1 до 15 МГц?
Трансивер Пилигрим:
http://forum.cqham.ru/viewtopic.php?t=1148 0&start=0
А всё таки никто не пробовал применять 9852 напрямую? Какая же реально может получиться чувствительность?
Чувствительность будет определяться схемотехникой аппарата и в самом плохом случае шумами опорного генератора 9852. Не стоит на этом заморачиваться.
Ещё забыл сказать что основную задачу для себя поставил уложиться в минимальные габариты, что бы совсем карманный получился, но при этом не менее трёх диапазонов, синтезатор частоты , хороший звук и простая конструкция "выходного дня". С современной элементной базой думаю задача не такая уж сложная, главное найти ту золотую середину между простотой и качеством.
Жду советов и коментариев
Жду советов и коментариев
Крайне опрометчиво :lol:
Уфф... Сори... Анекдот про площадь вспомнил и секс на ней... :D
А из прямых DDS может вот это подойдет - как раз есть вариант под заявленные массогабариты http://forum.cqham.ru/viewtopic.php?t=1071 9
Так как сейчас занимаюсь синтезатором, то очень нужна помощь, знатоков. Буду очень благодарен.
Сегодня развёл плату синтезатора :-) получилась всего 45х85. Решил применить проц -ADuC841! Да конечно проц не очень(не дешовый и не очень современный) , но по работе имею часто с ним дело. Програмирую на С в Keil. К сожалению в програмировании МК пока не силён. Сегодня написал модуль начальной конфигурации DDS(установка множителя, напряжения на выходе, стартовая частота и др), и заточил под себя библиотеки работы с ЖКИ. И вот сталкнулся с первой проблемой. Не могу придумать алгоритм вычисления TuningWord, а точнее его реализовать. Проблема для меня заключается в том что не могу оперировать 48-битным числом. Дайте пожалусто подсказаку
Дайте пожалусто подсказаку
Это для 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
Powered by vBulletin® Version 4.1.12 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot