Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.
Страница 1 из 7 1234 ... ПоследняяПоследняя
Показано с 1 по 10 из 63

Тема: Мой синтезатор на AD9851 и Atmega8

  1. #1

    Мой синтезатор на AD9851 и Atmega8

    Поприветстую всех,во собрал синтезатор для своего будущего лампового трансивера.Выкладыва ю на всеобщее обозрение может кому пригодится.Как видно из названия он собран на AD9851 и Atmega8(последний лучше заменить на Atmega168,т.к в 8 катострофически нехватает памяти на всё).
    Вот его схема
    Нажмите на изображение для увеличения. 

Название:	Cинтезатор AD9851.JPG 
Просмотров:	10107 
Размер:	169.7 Кб 
ID:	133204
    Схема включения 9851 стандартная.Единстве нное что я генератор применил на 74НС04 т.к небыло КВ генераторов,зато появилась возможность применить любой высокочастотный кварц в районе 30мГц(у меня стоит на 27мГц).На Atmega8 подаётся сигнал Сметра (не более 5В,ставить стабилитроны на вход),2 входа под датчик КСВ,кнопки выведены на 1 ножку контроллера(вход АЦП) к стати в прошивке отключены кнопки Rit,lsb и АМ т.к нехватает места в контроллере.Их можно вообще не ставить.Диапазон переключения шага от 5 гц до 1 кГц.
    Перефирией управляет микросхема 74HC595,что она комутирует подписано,единственн ое уточню что на выходе ВКЛ Uанода появляется лог единица после 45 сек ,для включения анодного напряжения на лампах,а на выходе TX во время передачи появляется лог 1 (вывел так для кучи может пригодится).Также в синтезаторе есть выход на 155ид10 для комутации диапазонов.
    Кстати диапазонов 6 (основные),опять на все нехватает памяти контроллера.В режиме передачи ножку TX "заземляем"и на индикаторе появляется слово TX текущая частота и КСВ,ну и на 595 соответственно лог 1.
    Нажмите на изображение для увеличения. 

Название:	CH ad9851.JPG 
Просмотров:	2901 
Размер:	701.8 Кб 
ID:	133205
    Также имеется печатка на СМД деталях,небольшое уточнение на печатке имеются фильтровочные дросельки не указаные на схеме ,я их подписал и соответственно и блокировочные кондёрчики.Остальное соответствует схеме.
    Схема собрана и работает.Фьюзы ставить на 8мГц от внутреннего тактирования.
    Нажмите на изображение для увеличения. 

Название:	Fuse.jpg 
Просмотров:	1933 
Размер:	117.9 Кб 
ID:	133206
    Немножко об усовершенствованиях, в место Меги 8 лучше(да и нужно)поставить мегу 168,она 1 в 1 как и 8 только памяти в 2 раза больше.При замене в исходнике можно сделать все диапазоны(они там есть ,только строки закоментированы,их немного нужно будет подправить) сделать показ мощности при передаче(тоже имеется)расстройку и переключения боковых полос.Можно ешё ввести автоматический шаг,ну и ещё чего по желаню.Исходник особо не коментированый,если что непонятно спрашивайте.И под конец как установить другой кварц,измеряем частоту кварца (или КВ генератора)с точностью до десятых герца(от этого будет зависеть точность синтезатора) находим в исходнике подпрограмму Na9851, в ней находим строку Chastotar = Chastota9851 * 26.5031229247032 и меняем последнее число,расчитав его по формуле 2^32\частота ген.*6 и получим нужное число,это для генераторов до 30 мГц,а если имеется генератор не 100 мГц то формула будет такой м 2^32\частота ген. т.е ненужно делать умножение на 6(что кстати благотворно отразится на спектральной чистоте сигнала) при этом нужно ещё будет отредактировать строку Z = &B00000001 и заменить 1 на ноль,она как раз и устанавливает умножение генератора на 6.Повторюсь это только для высокочастотных генераторов,для "маленьких" кварцев меняем только 1 строку.Ещё в прошивке на индикатор выводится Русский текст,как его менять смотрим тут.
    Вот в принципе и всё единственное скажу,что 9851 можно заменить на 9850 или прикрутить 1 из таких модулей.В прошивке нужно отключить умножение на 6
    Z = &B00000000 ну и подстроить частоту кварцевого генератора 2^32\частота ген.
    В архиве схема ,прошивка на 27мГц,исходник на BascomAvr и печатка в лауте.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	123.jpg 
Просмотров:	2823 
Размер:	703.0 Кб 
ID:	133212  
    Вложения Вложения
    Последний раз редактировалось R2RBN; 24.02.2013 в 16:08.

  2. Спасибо от Atmega, EW4RF, R2PM, ROMAS-LY3CU, UN7RX


  3. #2
    Небольшое уточнение,забыл нарисовать.19 ножка AD9851 вешается на массу,на печатке всё как положено.

  4. #3
    SK Аватар для ut1wpr
    Регистрация
    19.10.2003
    Адрес
    Украина, Львов
    Сообщений
    2,652
    Позывной
    ut1wpr
    Опять Бейсик? Если да, то скоро и 328 будет мало. А с ножками вообще и говорить нечего. Надо переходить на TQFP48 кристаллы. Ну и посмотреть вокруг. А не иду ли я проторенными путями?
    73!
    ---
    Vic/ut1wpr

  5. #4
    Цитата Сообщение от ut1wpr Посмотреть сообщение
    Опять Бейсик? Если да, то скоро и 328 будет мало. А с ножками вообще и говорить нечего. Надо переходить на TQFP48 кристаллы. Ну и посмотреть вокруг. А не иду ли я проторенными путями?
    Да опять он,такой нехороший А не влазиет он лишь по тому что хотел очень много своих "хотелок" туда засунуть.Да и я ещё невидел полноценного синтезатора с контроллером памятью не меньше 16к,как некрути во всех известных синтезаторов контроллеры стоят не меньше 16к(RD3AY,RA9YTJ‎ и дт) хотя они пишут на сколько знаю на С.
    А на счёт путей я так понял что таких синтезаторов полно уже,только зачем мне они голова пока ещё на месте пускай думает и пишет какие нужны мне прошивки,для мозгов полезно думать
    А на счёт С ну незнаю пробывал и его начать изучать,но не лезит в мой мозг он некак со своими закорючками и скобочкамиМне Асм показался и то проше,но его я точно учить не буду, так поверхностно изучил и хватит.

  6. #5
    Цитата Сообщение от Сашоок Посмотреть сообщение
    но его я точно учить не буду, так поверхностно изучил и хватит.
    это зря, асм хоть и кажется сложным, но памяти как правило хватает и с быстродействием проблем нет
    хорошо сделанная работа это потерянный клиент

  7. #6
    Аватар для vadim_d
    Регистрация
    29.10.2006
    Адрес
    Санкт-Петербург
    Сообщений
    14,890
    Цитата Сообщение от Сашоок Посмотреть сообщение
    А на счёт С ну незнаю пробывал и его начать изучать,но не лезит в мой мозг он некак со своими закорючками и скобочками
    Это сильно зависит от предыстории. Мне пришлось учить Си после Бейсика и Фортрана (и ассемблера), и это было ну ооочень тяжко. Лучше начинать учить с Паскаля . Есть хороший проект у Геннадия, можно взять за основу и добавить "хотелки"

    Цитата Сообщение от Хигэ Посмотреть сообщение
    асм хоть и кажется сложным, но памяти как правило хватает и с быстродействием проблем нет
    Средний программист пишет от 5 до 20 отлаженных строчек кода в день независимо от языка. Никуда не уйти от языков высокого уровня
    Вадим

  8. #7
    Аватар для Genadi Zawidowski
    Регистрация
    22.07.2004
    Адрес
    Санкт-Петербург
    Сообщений
    11,093
    Записей в дневнике
    20
    Позывной
    UA1ARN
    Цитата Сообщение от vadim_d Посмотреть сообщение
    Мне пришлось учить Си после Бейсика и Фортрана (и ассемблера),
    И у меня точно в таком порядке.
    Для 8080 были b80 и f80 (насчёт последнего названия не уверен). Но фортран особенно не изучал - просто программы из книжек набивал. Статистика всякая, расчёты аналоговых узлов.
    ... Я там глубину сам промерял!

  9. Спасибо от Ансаган

  10. #8
    Цитата Сообщение от vadim_d Посмотреть сообщение
    Средний программист пишет от 5 до 20 отлаженных строчек кода в день независимо от языка. Никуда не уйти от языков высокого уровня
    ну, это от языка сильно зависит, от задачи и от стиля написания
    а при использовании условного ассемблирования и используя прежние наработки (библиотеки) особой разницы между языками высокого уровня и ассемблером нет, разве что результат существенно меньше весит
    хорошо сделанная работа это потерянный клиент

  11. #9
    Аватар для Genadi Zawidowski
    Регистрация
    22.07.2004
    Адрес
    Санкт-Петербург
    Сообщений
    11,093
    Записей в дневнике
    20
    Позывной
    UA1ARN
    Цитата Сообщение от Сашоок Посмотреть сообщение
    Небольшое уточнение
    В подпрограмме, вызываемой по
    Код:
    On Int0 Encode
    модифицируется переменная Chastota. В местах, где она используется вне прерывания, не предусмотренно никаких мер по защите от использования частично модифицированного значения (например, копирование куда-либо под запрещёнными прерываниями и потом использование копии).
    Сей метод создаёт предпосылки для странного поведения программы.

    А из фантазий...
    Назначить бы прерывания по обеим портам (PD2 и PD3) и любому перепаду на один обработчик. К ним присоединить валкодер. В обработчике предусмотреть 16 комбинаций из предыдущего состояния выводов (prevstate) и текущего (Pind.3 * 2 + Pind.2).

    Как-то так:
    Код:
    laststate = Pind.3 * 2 + Pind.2
    direction = Mid("0LR0R00LL00R0RL0", prevstate * 4 + laststate + 1, 1)
    prevstate = laststate
    if direction = "L" then chastota Chastota = Chastota - Chagi
    if direction = "R" then chastota Chastota = Chastota + Chagi
    На месте "0LR0R00LL00R0RL 0" поставить нужные буквы в количестве 16-ти штук. 0 - где никуда не надо идти (если не изменилось ничего или изменились состояния обоих выходов валкодера). Скорее всего то что я написал тут, правильно.
    И будет у Вас учетверение.
    Последний раз редактировалось Genadi Zawidowski; 25.02.2013 в 01:24.
    ... Я там глубину сам промерял!


  12. #10
    Аватар для vadim_d
    Регистрация
    29.10.2006
    Адрес
    Санкт-Петербург
    Сообщений
    14,890
    Цитата Сообщение от Хигэ Посмотреть сообщение
    а при использовании условного ассемблирования и используя прежние наработки (библиотеки)
    Ну да, еще делая макросы для формализации передачи аргументов и прочей техники, используемой компиляторами . Реальность такова, что читаемость ассемблерного кода все равно ниже, значит больше затраты на отладку и модификации. Цена железа и памяти падает, а рабочего времени - растет.
    Цитата Сообщение от Genadi Zawidowski Посмотреть сообщение
    и f80 (насчёт последнего названия не уверен)
    Он, родимый . Без комплексных чисел, но я в нем сделал расчет АЧХ диф.-мостового фильтра. Но вообще - если народ получает удовольствие от Бейсика, можно только радоваться.
    Вадим

Страница 1 из 7 1234 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Простой синтезатор на AD9835/AD9834/AD9851/Si570
    от Genadi Zawidowski в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 1404
    Последнее сообщение: 01.12.2019, 15:21
  2. синтезатор на PIC16F84 и AD9851(возвращаясь к теме)
    от US4MEZ в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 120
    Последнее сообщение: 21.02.2016, 20:32
  3. Управление синтезатором AD9851(UR4QBP) на Atmega8,PIC16F876
    от r0ahh в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 2
    Последнее сообщение: 25.09.2008, 03:32
  4. синтезатор на PIC16F84 и AD9851
    от r0ahh в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 2
    Последнее сообщение: 09.02.2007, 08:23
  5. Отличие Atmega8-16PI от Atmega8-16PU????
    от Toms в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 3
    Последнее сообщение: 26.06.2006, 22:46

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •