форум Радиолюбительского ДВ портала > Технический раздел
Простой ДВ-маяк на AD9833 и микроконтроллере
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 кГц.
Навигация
Перейти к полной версии