Последние сообщения

Страницы: 1 [2] 3 4 ... 10
11
Прием на длинных волнах / Re: Сегодня в эфире
« Последний ответ от Сергей RA1ADF 18 Апрель 2019, 08:44:44 »
Радио любителей нет ни кого на диапазоне, так хоть на это полюбоваться  :)
12
Технический раздел / Re: DDS синтезатор передатчика
« Последний ответ от GM 15 Апрель 2019, 17:52:54 »
Код под 12.8 разместил чуть выше. И немного подправил константы.
14
Технический раздел / Re: DDS синтезатор передатчика
« Последний ответ от rn3aus 15 Апрель 2019, 07:19:07 »
Отлично,  спасибо!
Если не трудно - прошивку еще под 12,8 МГц.
15
Технический раздел / Re: DDS для диапазона ДВ на микроконтроллере
« Последний ответ от GM 15 Апрель 2019, 00:01:51 »
По просьбе Александра RN3AUS переработал программу синтезатора (http://136.su/index.php/topic,117.195.html). Протокол обмена немного изменился, но старый протокол можно по-прежнему использовать для управления частотой синтезатора.

ПРОТОКОЛ УПРАВЛЕНИЯ СИНТЕЗАТОРОМ

Программа написана для МК ATtiny2313, синхронизируемого кварцем 20 МГц. Программа затрачивает 10 тактов на одну выборку, т.е. частота выборок fS=2000 кГц.

Программа управляется по последовательному каналу уарт, скорость 115200 бод, формат данных 8N1.

В протоколе передачи используются пакеты двух типов. Первый тип используется для управления частотой, второй тип – для изменения фазы, сохранения когерентности сигнала и управления усилителем мощности. Оба пакета состоят из 4 байт. Нумерация байт слева направо, т.е. 1,2,3,4. Старший байт (№ 1) передаётся первым. Нумерация бит в байте справа налево, т.е. 7,6,..,0. 7-й бит первого байта является битом модификации. В качестве признака работоспособности программа возвращает по уарту принятый пакет, как квитанцию. Передача любого пакета заканчивается тайм-аутом 100 мкс.

1. Для установки частоты передается пакет, содержащий приращение фазы (так называемый код частоты). Признаком передачи первого пакета является наличие 0 в бите модификации. Допускаются любые значения от 0х00000000 до 0х7FFFFFFF. Переход к заданной частоте осуществляется примерно через 2 мкс после приёма последнего байта пакета.

2. Признаком передачи второго типа пакета является наличие 1 в бите модификации. Биты 6, 5 и 4 используются для указания контроллеру информации об изменении фазы, тона и PTT соответственно. Все биты независимы и могут передаваться в одном пакете.

2.1. Для передачи относительной фазы 6-й бит старшего байта устанавливается в 1. Код фазы передаётся во втором и третьем байтах. Второй байт является старшим байтом фазы. Дискретность фазы определяется единицей младшего бита 360/65536 = 0,0054932 градуса. Последний 4-й байт не несёт никакой информации и передается исключительно для получения равной длины обоих типов пакетов.

2.2. Для выключения тона (но сохранения когерентности синтезируемого сигнала) необходимо сбросить 5-й бит старшего байта. Для включения – соответственно установить его в 1.

2.3. Для включения передатчика (PD6 микроконтроллера) необходимо установить 4-й бит старшего байта. Для выключения – соответственно сбросить его в 0.

3. Программа микроконтроллера принимает пакеты и выполняет соответствующие действия, не прерывая генерации сигнала заданной частоты. После подачи питания программа вырабатывает синусоидальный сигнал частотой 137,5 кГц. Передатчик выключен.
16
Технический раздел / Re: DDS синтезатор передатчика
« Последний ответ от GM 14 Апрель 2019, 23:55:55 »
Вот код программы, скомилированный под 20 МГц тактовой частоты.

Получите и распишитесь :-).


ПРОТОКОЛ УПРАВЛЕНИЯ СИНТЕЗАТОРОМ

Программа написана для МК ATtiny2313, синхронизируемого кварцем 20 МГц. Программа затрачивает 10 тактов на одну выборку, т.е. частота выборок fS=2000 кГц. Используется 32-битный аккумулятор линейной фазы.

Программа управляется по последовательному каналу уарт, скорость 115200 бод, формат данных 8N1.

В протоколе передачи используются пакеты двух типов. Первый тип используется для управления частотой, второй тип – для изменения фазы, сохранения когерентности сигнала и управления усилителем мощности. Оба пакета состоят из 4 байт. Нумерация байт слева направо, т.е. 1,2,3,4. Старший байт (№ 1) передаётся первым. Нумерация бит в байте справа налево, т.е. 7,6,..,0. 7-й бит первого байта является битом модификации. В качестве признака работоспособности программа возвращает по уарту принятый пакет, как квитанцию.
Передача любого пакета заканчивается тайм-аутом 100 мкс.

1. Для установки частоты передается пакет, содержащий приращение фазы (так называемый код частоты). Признаком передачи первого пакета является наличие 0 в бите модификации. Допускаются любые значения от 0х00000000 до 0х7FFFFFFF. Переход к заданной частоте осуществляется примерно через 2 мкс после приёма последнего байта пакета.

2. Признаком передачи второго типа пакета является наличие 1 в бите модификации. Биты 6, 5 и 4 используются для указания информации контроллеру об изменении фазы, тона и PTT соответственно. Все биты независимы и могут передаваться в одном пакете.

2.1. Для передачи относительной фазы 6-й бит старшего байта устанавливается в 1. Код фазы передаётся во втором и третьем байтах. Второй байт является старшим байтом фазы. Дискретность фазы определяется единицей младшего бита 360/65536 = 0,0054932 градуса. Последний 4-й байт не несёт никакой информации и передается исключительно для получения равной длины обоих типов пакетов.

2.2. Для выключения тона (но сохранения когерентности синтезируемого сигнала) необходимо сбросить 5-й бит старшего байта. Для включения – соответственно установить его в 1.

2.3. Для включения передатчика (PD6 микроконтроллера) необходимо установить 4-й бит старшего байта. Для выключения – соответственно сбросить его в 0.

3. Программа микроконтроллера принимает пакеты и выполняет соответствующие действия, не прерывая генерации сигнала заданной частоты. После подачи питания программа вырабатывает синусоидальный сигнал частотой 137,5 кГц. Передатчик выключен.

Добавил ещё код под 12,8 МГц кварц.
Продублировал здесь http://136.su/index.php?action=post;msg=23549;topic=374.0.
17
Технический раздел / Re: DDS синтезатор передатчика
« Последний ответ от rn3aus 14 Апрель 2019, 18:05:46 »
Можно было бы, да по просьбе UT7GH на нее был выведен сигнал Band Switch. Когда частота больше 200 кГц я (МК) туда 1 формирую. Это чтобы желающие могли этим сигналом переключать выходной фильтр с 137 кгц на 470 кГц.
Самая последняя схема и все прочее в файле http://rn3aus.narod.ru/dds_tx/DDS_Ctrl_Help_Rus.pdf,
 в конце.
18
Технический раздел / Re: DDS синтезатор передатчика
« Последний ответ от GM 14 Апрель 2019, 17:50:14 »
Можно и с нулевой таблицей сделать, но как-то некошерно...

А нельзя подключить ногу PD2, она свободная, к базе транзистора VT1 (схема DDS-137beacon_CW.JPG из DDS-ctr_v13.0.0.0.zip)?
Когда Upd2=0, транзистор будет капитально заперт.
19
Технический раздел / Re: DDS синтезатор передатчика
« Последний ответ от rn3aus 14 Апрель 2019, 17:25:44 »
А можно просто отключить передатчик? У меня синтезатор всё время работает, так что когерентность будет получена автоматически?
Не совсем хорошо будет - там должны реле срабатывать, подающие питание на выходной каскад. И так будет грохать каждые несколько секунд.
Нельзя ли, допустим, сохраняя работу синтезатора, дополнить алгоритм условно говоря умножением отсчета на единицу, когда тон включен, и на 0, когда тон выключен? Или как-то еще.
(У меня, Вы видели, для этой цели две таблицы - одна с синусом, другая с нулями. Фаза приращается все время, для манипуляции тона переключаются таблицы, откуда берутся отсчеты)
20
Технический раздел / Re: DDS синтезатор передатчика
« Последний ответ от GM 14 Апрель 2019, 17:19:51 »
А можно просто отключить передатчик? У меня синтезатор всё время работает, так что когерентность будет получена автоматически?
Страницы: 1 [2] 3 4 ... 10