форум Радиолюбительского ДВ портала > Технический раздел

Простой ДВ-маяк на AD9833 и микроконтроллере

<< < (2/2)

GM:
Немного не так. fOUT2 - никакая не разность, а такая же частота, как fOUT1.

Например,  fOUT1=137500.00, fOUT2=137500,10. Разность частот будет 0.1 Гц. Синтезатор с опорой 25 МГц может дать 0.09 с копейками герц, меньше он дать не в состоянии. Так что, в данном случае вы не сможете получить 0.05 Гц, но задать сможете. Программа посчитает и выставит две одинаковые частоты, или при определенном соотношении частот две частоты с разницей df. Повторюсь, для AD9833 формула такова df=fОПОРЫ/2^28.

Чтобы уменьшить шаг частоты от синтезатора, надо снизить частоту опорного генератора.

Нашел: ответ #10. Цитата оттуда
[Замечу в скобках, если взять некий опорник с частотой 2.0-2.6 МГц, то шаг перестройки частоты составит 0.00745..0.00931 Гц, т.е. меньше 0.01 Гц, как и завещал нам партайгеноссе :-) Роман RW3ADB, но частота будет генериться от 0.01 Гц до 1..1.3 МГц].

Формулу привёл выше.

Джордж.

[Странно, могу править все свои сообщения, почему это?]

GM:
Ну вот, подготовил файл для трансляции, проверил. Вставлю прямо в текст сообщения, благо он короткий.

;File:                EEBEACON.ASM
;Version:             1.3
;Last updated:        08.06.2020
;Author:              GM, a.k.a. George
;Target:              (ATtiny861, 8 MHz internal oscillator)
;
;Support E-mail:
;
;DESCRIPTION
;The programme produces the eeprom content for the LFBEACON project

         .nolist
         .include "tn861Adef.inc"          ;definitions for ATtiny861A
         .list
         .eseg
         .org     0x000
frqs:    .db      0x95,0x02,0x23,0xB8      ;fSAMPLE=24999454.00 Hz
frq1:    .db      0x00,0xD1,0xCE,0xF0      ;fOUT1=137500.00 Hz
frq2:    .db      0x00,0xD1,0xCE,0xF1      ;fOUT2=137501.00 Hz
tau0:    .db      0x00,0x01,0xD4,0xC0      ;in us units
t0d3:    .db      0x00,0x00,0x9C,0x40      ;1/3-rd duration of tau0 in us units
pause:   .db      0x00,0x07,0xA1,0x20      ;in us units
msg0:    .db      "THE CHASM GAPED BEFORE HIM",0,0
         .org     msg0+100
msg1:    .db      "CQ RA3TTS K",0
         .org     msg0+200
msg2:    .db      "CQ RN3AUS K",0
         .org     msg0+300
msg3:    .db      "CQ RW3ADB K",0
         .exit

Теперь каждый может подставить свои данные (константы fSAMPLE, fOUT1, fOUT2, TAU0, T0D3, PAUSE, сообщения msg0, msg1, msg2, msg 3), протранслировать с помощью AVRstudio (или что там есть под рукой), получить файл eeprom.eep и прошить его в МК вместе с хекс-файлом из первого сообщения темы. В общем и целом на этом всё. А, осталось добавить фильтр на выходе синтезатора.

GM:
Посчитал полосовой фильтр на 137 кГц.

Навигация

[0] Главная страница сообщений

[*] Предыдущая страница

Перейти к полной версии