Перейти к содержимому

Добро пожаловать на Первый форум сообщества радиолюбителей Одессы и Одесской области!

Добро пожаловать на Первый форум сообщества радиолюбителей Одессы и Одесской области. Чтобы общаться на форуме, скачивать файлы и использовать другие возможности, Вам необходимо зарегистрироваться. Или войти под своим логином. Так же вы можете войти на форум через свою учетную запись в Facebook или Twitter.
Внимание!
Наш форум не поддерживает регистрацию с почтового сервера mail.ru, bk.ru, inbox.ru, list.ru, mail.ua! Если вы всё же решили использовать эту почту, и не получили письмо подтверждения, то возможно оно попало в спам. В этом случае не забудьте его отметить как не спам!
Проблемы с регистрацией? Читаем эту тему.
Чтобы сменить фон форума, внизу с лева нажмите "Изменить Стиль".
Форум полностью поддерживает Русский язык.

Фотография

Универсальный синтезатор Si570/Si5351


Сообщений в теме: 78

#61
RA4DB

RA4DB

    Любопытный

  • Пользователи
  • 66 сообщений
  • 0 тем
  • Позывной:RA4DB
  • Город:Саратов

В общем, не знаю, что было  - скачал скетч заново, все скомпилировалось, залил. Пока все же синтез не работает - белый экран, сишка не генерит - может быть, в железе проблема, буду искать. Пока такой вопрос:  я поставил PCF8574 без буквы А, соответственно изменил адреса, получилось так:

 

// I2C адреса устройств
#define I2C_ADR_KEYPAD_7      0x26
#define I2C_ADR_KEYPAD_12     0x26
#define I2C_ADR_DISPLAY_1602  0x27
#define I2C_ADR_EE24C32       0x50
#define I2C_ADR_BAND_CTRL     0x23

 

согласно таблице из даташита:

 

Прикрепленный файл  map.JPG   17,88К   Количество загрузок: 11

 

Смущает, что теперь есть две строки с одинаковым адресом.

Что делать?

1. Оставить так.

2. Закомментировать строку #define I2C_ADR_KEYPAD_12     0x26

3. Что-то еще?

 

Валкодера пока нет, так что закомментировал одну строку. Получилось так:

 

// закоментировать если нет валкодера
//#define ENCODER_ENABLE
// количество импульсов на оборот примененного энкодера
#define ENCODER_PULSE_PER_TURN    360
// изменение частоты в Гц на один оборот в обычном режиме
#define ENCODER_FREQ_LO_STEP      3000
// изменение частоты в Гц на один оборот в ускоренном режиме
#define ENCODER_FREQ_HI_STEP      12000
// порог переключения в ускоренный режим. если частота изменится более
// чем на ENCODER_FREQ_HI_LO_TRASH Гц за секунду то переходим в ускоренный режим
#define ENCODER_FREQ_HI_LO_TRASH  8000                   
// кратность перестройки частоты при нажатой кнопке Fn
#define ENCODER_FN_MULT           10

 

Остальные строки этого блока тоже закомментировать или оставить так?

 

TinyRTC тоже еще не ставил, но в конфиге в связи с этим, насколько я вижу, ничего менять не надо?

 



#62
Relayer

Две строки с один адресом - не страшно. Клавиатура то физически стоит одна. Для отключения валкодера достаточно закоментарить только ENCODER_ENABLE. Если нет TinyRTC то ничего делать не надо - автоматом определяет.

И закоментарьте VFO_SI570 - он по умолчанию включен а у вас скорее всего не установлен.

 

Для начала я бы рекомендовал загрузить i2c_scaner и посмотреть что он найдет по I2C шине и на каких адресах. От этого и отталкиваться - если не найдет сишку, то смотреть пайку возле нее



#63
RA4DB

RA4DB

    Любопытный

  • Пользователи
  • 66 сообщений
  • 0 тем
  • Позывной:RA4DB
  • Город:Саратов

В общем, разобрался.  Замыкание на общий провод было на шине I2C. Сканер теперь выдает адреса:

0х26 - клавиатура

0х23 - управление диапазонами

0х60 - сишка, видимо?

 

Красивые циферки на дисплее) сишка что-то генерит на двух выводах, на клавиатуру реагирует. Осталось энкодер найти и поиграться с ним. 

Спасибо!!



#64
RA4DB

RA4DB

    Любопытный

  • Пользователи
  • 66 сообщений
  • 0 тем
  • Позывной:RA4DB
  • Город:Саратов

Заработал и энкодер. Механический, правда, пока. Что удивило - настроился на долгую борьбу с дребезгом, а его нет. Программно подавлен? 

Теперь буду ждать RTC - когда подойдет с алика, и когда у разработчика найдется время, чтобы допилить телеграф. 

Спасибо за очередную конструкцию.



#65
RA4DB

RA4DB

    Любопытный

  • Пользователи
  • 66 сообщений
  • 0 тем
  • Позывной:RA4DB
  • Город:Саратов

Руки дошли поставить RTC (переделал под батарейку). Заработали часы и кое-что стало запоминаться. Запоминается режим А/В, включение аттенюатора/преампа.. может еще что-нибудь, еще не тестировал полностью. Не запоминается выбранный диапазон  и частота, введенная перед выключением. При включении без RTC сразу включалась частота 3600, теперь или 1840 или 28200. Все это ведет к такой ситуации: допустим, перед выключением у меня был включен преамп на частоте 14100. Выключаю питание - включаю. Частота 1840 с включенным преампом. Переключаю кнопкой Up диапазон 3,5 мгц (чтоб дойти до 14 мгц) -  выключается преамп. То есть, особого толка от такого запоминания нет. Так задумывалось?



#66
Relayer

Настройки запоминаются персонально для каждого диапазона. Текущий диапазон и частота также запоминаются. Запоминание происходит через некоторое время после того как вы перестанете крутить валкодер и нажимать кнопки.



#67
RA4DB

RA4DB

    Любопытный

  • Пользователи
  • 66 сообщений
  • 0 тем
  • Позывной:RA4DB
  • Город:Саратов

Ага.. понял, значит, паузу надо брать.  Стесняюсь спросить: а идея с введением телеграфа в сей синтез еще жива?



#68
Relayer

Идея то жива. Но времени катастрофически не хватает



#69
RA4DB

RA4DB

    Любопытный

  • Пользователи
  • 66 сообщений
  • 0 тем
  • Позывной:RA4DB
  • Город:Саратов

Изменил немного скетч, и синтез стал всякую фигню выдавать. Посмотрите, пожалуйста, правильно ли я конфиг сделал для драгонфлая? Извиняюсь, что комментарии не удалил.

 

//  Конфиг для DragonFly Pro http://dspview.com/v...c.php?f=8&t=196
//  Одна ПЧ 8MHz, фильтр USB, гетеродины не переключаемые, 
//  Первый гетеродин выше частоты приема при LSB и ниже при USB
 
#ifndef CONFIG_SW_H
#define CONFIG_SW_H
 
// необходимо раскоментировать требуемую моду (только одну!)
 
// режим прямого преобразования. частота формируется на 1ом выводе. установить
// CLK0_MULT в значение 1/2/4 в зависимости от коэффициента деления частоты гетеродина
// второй и третий гетеродины отключены
//#define MODE_DC
 
// режим прямого преобразования с формированием квадратурн
// частота формируется на выводах CLK0,CLK1 со сдвигом фаз 90град
// CLK2 отключен. Минимальная частота настройки 2MHz (по даташиту 4MHz) может зависеть от экземпляра Si5351
// режим работает только при использовании Si5351
//#define MODE_DC_QUADRATURE
 
// одна промежуточная частота. требуемая боковая формируется на счет переключения
// первого гетеродина с инверсией боковой либо без инверсии. второй гетеродин формируется на выходе CLK1
// тип КФ зависит от параметров SSBDetectorFreq_LSB/USB. если фильтр симметричный (определены две частоты SSBDetectorFreq_*)
// то частота первого гетеродина всегда сверху (меньше пораженок) а боковая выбирается изменением частоты второго гетеродина
#define MODE_SINGLE_IF
 
// аналогично MODE_SINGLE_IF но второй гетеродин генерируется на CLK1 при RX и
// на CLK2 в режиме TX
//#define MODE_SINGLE_IF_RXTX
 
// аналогично MODE_SINGLE_IF но в режиме передачи гетеродины комутируются,
// тоесть первый формируется на CLK1, а второй - на CLK0
// для трактов где необходимо переключение гетеродинов при смене RX/TX (например Аматор)
//#define MODE_SINGLE_IF_SWAP
 
// две промежуточные частоты. гетеродины формируются 1й - CLK0, 2й - CLK1, 3й - CLK2
// первый гетеродин всегда "сверху". выбор боковой полосы производится сменой частоты
// второго гетеродина для режимов MODE_DOUBLE_IF_USB/LSB, или сменой частоты третьего гетеродина MODE_DOUBLE_IF
// в режиме MODE_DOUBLE_IF второй гетеродин выше первой ПЧ
//#define MODE_DOUBLE_IF
//#define MODE_DOUBLE_IF_USB
//#define MODE_DOUBLE_IF_LSB
 
// режим аналогичен MODE_DOUBLE_IF но в режиме передачи 2й и 3й гетеродины комутируются,
// тоесть второй формируется на CLK2, а третий - на CLK1
// для трактов с двумя промежуточными частотами где необходимо переключение
// гетеродинов при смене RX/TX
//#define MODE_DOUBLE_IF_SWAP23
//#define MODE_DOUBLE_IF_USB_SWAP23
//#define MODE_DOUBLE_IF_LSB_SWAP23
 
// множители частоты на выходах. в случае необходимости получения на выводе 2/4 кратной
// частоты установить в соответствующее значение
const long CLK0_MULT = 1;
const long CLK1_MULT = 1;
const long CLK2_MULT = 1;
 
// Частота 2го (3го для двойного преобразования) гетеродина в детекторе SSB. 
// Может быть определена как одна константа для верхнего/нижнего ската
// так и обе. При определении только одной константы изменение боковой полосы производится 
// 1ым (2ым для двойного преобразования) гетеродином
// При определении обеих констант они должны находится на соответствующих скатах фидьтра.
// Если используется два раздельных фильтра для выделения LSB/USB то выбор их осуществляется
// с помощью сигнала BCPN_SB на порту дешифратора диапазонов
#define SSBDetectorFreq_LSB   7998347L
#define SSBDetectorFreq_USB   8001183L
 
// Первая промежуточная частота для трактов с двойным преобразованием частоты
// Используется только если выбрана одна из мод MODE_DOUBLE_*
const long IFreqEx = 45000000;
 
#endif


#70
Scaf

Scaf

    Новичок

  • Пользователи
  • 6 сообщений
  • 0 тем
  • Город:Кострома

Прошу помощи. Синтезатор заработал без проблем. Единственно, не включается аттенюатор. Дешифратор диапазонов  на ИД10, а так как аттенюатор находится на плате ДПФ (6 диапазонов) , то и управляться он должен по тем же 4-м линиям (Р0 - Р3). К сожалению в С++ я не разбираюсь и по-этому прошу помочь. С уважением, Сергей.



#71
IvanPetkov

IvanPetkov

    Любопытный

  • Пользователи
  • 15 сообщений
  • 0 тем
  • Город:Силистра

Прошу помощи. Синтезатор заработал без проблем. Единственно, не включается аттенюатор. Дешифратор диапазонов  на ИД10, а так как аттенюатор находится на плате ДПФ (6 диапазонов) , то и управляться он должен по тем же 4-м линиям (Р0 - Р3). К сожалению в С++ я не разбираюсь и по-этому прошу помочь. С уважением, Сергей.

 

          Зравей Сергей.

         На PC8574 - P4 = Атеннюатор

                               Р5 = Усилитель

                               Р6 = ?

                               Р7 = USB/LSB.

          ИД10 толко ДПФ. 



#72
Scaf

Scaf

    Новичок

  • Пользователи
  • 6 сообщений
  • 0 тем
  • Город:Кострома

IvanPetkov, Спасибо за ответ, Иван! Просто нужно сформировать сигнал для следующего диапазона после 28 мгц, а уж он будет сигналом для аттенюатора. С уважением, Сергей.

 

Band     P0     P1     P2    P3

1.8         0       0       0      0

3.5         1       0       0      0

7            0       1       0      0

14          1       1       0      0

21          0       0       1      0

28          1       0       1      0

ATT        0       1       1     0



#73
IvanPetkov

IvanPetkov

    Любопытный

  • Пользователи
  • 15 сообщений
  • 0 тем
  • Город:Силистра

IvanPetkov, Спасибо за ответ, Иван! Просто нужно сформировать сигнал для следующего диапазона после 28 мгц, а уж он будет сигналом для аттенюатора. С уважением, Сергей.

 

Band     P0     P1     P2    P3

1.8         0       0       0      0

3.5         1       0       0      0

7            0       1       0      0

14          1       1       0      0

21          0       0       1      0

28          1       0       1      0

ATT        0       1       1     0

 


Этого не произойдет, потому что ID10 может иметь только один активный выход, а затем фильтры будут отключены. Он реализован с дополнительным проводником P4 интегральной схемы PCF8574. Имеется аттенюатор, нет фильтра. Схема такая


#74
Relayer

Изменил немного скетч, и синтез стал всякую фигню выдавать

Вы бы более подробно изъяснялись. А то ведь непонятно что он стал вам выдавать. Может кофе в постель или из него просто песок сыпется?

 

#define SSBDetectorFreq_LSB 7998347L

#define SSBDetectorFreq_USB 8001183L

 

Неправильно указаны частоты. Для выделения LSB частота должна быть на верхнем скате, а для USB соответственно на нижнем. Если значения этих частот правильные для вашего фильтра то поменяйте их местами.

Только учтите что если фильтр с изменяемой полосой пропускания (с варикапами) то у него частота верхнего ската меняется и его можно использовать только как USB-фильтр. Для этого задается SSBDetectorFreq_USB а SSBDetectorFreq_LSB закоментаривается



#75
RA4DB

RA4DB

    Любопытный

  • Пользователи
  • 66 сообщений
  • 0 тем
  • Позывной:RA4DB
  • Город:Саратов

Вы бы более подробно изъяснялись.

Вот такие вещи стал выдавать (частоту замерял частотомером, на 100% в точности не уверен, но осциллом видно частоты того же порядка, а до модернизации скетча кривыми руками было все похоже на правду)

Прикрепленный файл  Замеры.JPG   21,04К   Количество загрузок: 8

 

 

 Неправильно указаны частоты. 

Да, я потом заметил, все поправил - принципиальных изменений не увидел.

 

 

 Только учтите что если фильтр с изменяемой полосой пропускания (с варикапами) то у него частота верхнего ската меняется и его можно использовать только как USB-фильтр.

Упс... вот над этим я не думал... получается, что на 40 м и ниже можно сужать полосу только при работе цифрой (и телеграфом??). Ну ладно, это небольшое неудобство.



#76
Relayer

Вот такие вещи стал выдавать

Ну так все правильно. Вы задали частоты верхнего и нижнего скатов, тем самым разрешив использовать фильтр как LSB так и USB за счет изменения частоты второго гетеродина. В этом случае первый гетеродин всегда выше принимаемого сигнала на частоту ПЧ (так меньше пораженных точек).

Если вы закоментарите один из дефайнов то тем самым укажете синтезатору что фильтр можно использовать только как LSB или только как USB. При этом второй гетеродин будет всегда иметь одну и ту же частоту. А выбор боковой полосы будет осуществляться с помощью изменения частоты первого гетеродина т.к. при вычитании входного сигнала из гетеродина происходит инверсия

 

получается, что на 40 м и ниже можно сужать полосу только при работе цифрой (и телеграфом??)

Для раскладки "гетеродин всегда сверху" сужение полосы варикапами неприемлемо. Нарисуйте полосы пропускания разные, посмотрите где должен быть гетеродин второй для приема и формирования SSB и вы все поймете



#77
RA4DB

RA4DB

    Любопытный

  • Пользователи
  • 66 сообщений
  • 0 тем
  • Позывной:RA4DB
  • Город:Саратов

Хорошо. Понял. Оставил только #define SSBDetectorFreq_USB 7998347L

При 7 000 МГц на шкале синтезатора в режиме LSB на выходе имеем 16 190 450, разница - 9 190 450.

Похоже на ПЧ, хотя и не очень. Несколько больше разница, и предстоит разобраться, почему. 

Переключаемся в режим USB - захотели цифрой поработать, к примеру. Имеем показания частотомера 4 310 280. Впадаем в ступор.



#78
Relayer

Частота кварца правильно прописана? Калибровка сишки проведена?



#79
RA4DB

RA4DB

    Любопытный

  • Пользователи
  • 66 сообщений
  • 0 тем
  • Позывной:RA4DB
  • Город:Саратов

Частота кварца правильно прописана?

Да ёперный же театр....херсонский драматический....Второй раз - на те же грабли. Первый раз был с АЧХ-метром.  Конечно, неправильно. Прописал 27 мгц - все стало верно. За исключением режима 7 мгц USB - выдает 4 мгц, и все тут. Или этот режим запретный в данной конфигурации?






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных