На главную страницу сайта
· Наш магазин · Объявления · Рейтинг · Статьи · Частоты · Копилка · Аэродромы · Live!
· Файлы · Диапазоны · Сигналы · Музей · Mods · LPD-форум · Клуб · Радиостанции
На сайте: гостей - 166,
участников - 28 [ briz, Greenland, ASH, Zmej, malaxit, evo, Модест Петрович, Vlad9, CheS, Mexico, YaroB, fox-nsk, Gurig13, 9CXX, crabocean, SS20, kurs, Iceice2003, 2017, AOR, DEN, pushta, ako, fantom1938, RV9CAT, ursus6267, Инструктор, Digital_Man]
 · Начало · Опросы · События · Статистика · Поиск · Регистрация · Правила · FAQ · Галерея ·
 Форум —› Главный раздел —› Широкополосный приёмник из DVB донгла 
Си-Би радиостанции в нашем магазине: Alan и Midland, Alinco, Intek, MegaJet, President, Yosan, Беркут, Таис


Alan 48 Excel
руб.

Alinco DR-135CBA New
руб.

MegaJet MJ-3031M Turbo
руб.

President Harry III ASC
руб.

Yosan Stealth 5
руб.
 Страница:  ««  1  2  ...  540  541  542  543  544  ...  554  555  »»Поиск в теме
Автор Сообщение
Avtomatizator
Участник
Offline2.9
с июн 2015
Ростов-на-Дону
Сообщений: 753

Дата: 18 Фев 2018 18:54:38 · Поправил: Avtomatizator (18 Фев 2018 18:56:03) #  

Igor 2 Так, тема то, не профильная. А, те, кто в этой теме, просто не ремонтировали БП Mastech HY5005E-2. Вот, никто и не ответил. Чему тут удивятся? :) Я, вот, ссылку на прогу(управление фильтрами "свистка") от megavoid потерял и не могу найти, вот, это я понимаю проблема! :)
killer258
Участник
Offline3.2
с янв 2010
Тула
Сообщений: 2145

Дата: 18 Фев 2018 19:07:03 · Поправил: killer258 (18 Фев 2018 20:12:28) #  

Идём дальше в нашем научном исследовании. Пытаюсь выяснить минимальный шаг.

центр.частота LO ____ регистр 15 _____ регистр 16
433.100.000 __________ 0xA5 _________ 0x86
433.100.001 __________ 0xA5 _________ 0x86 //разница на 1 гц не изменила регистр(ну, я так и думал)
433.100.200 __________ 0xA5 _________ 0x86 //разница на 200 гц не изменила
433.100.300 __________ 0xA5 _________ 0x86 //разница на 300 гц не изменила
433.100.350 __________ 0xA5 _________ 0x88 //разница на 350 гц (+ 2уе)
433.100.400 __________ 0xA5 _________ 0x88 //разница на 400 гц (+ 2уе)
433.100.500 __________ 0xA5 _________ 0x8А //разница на 500 гц (+ 4уе)
433.100.600 __________ 0xA5 _________ 0x8А //разница на 500 гц (+ 4уе)
433.100.700 __________ 0xA5 _________ 0x8С //разница на 700 гц (+ 6уе)
433.101.000 __________ 0xA5 _________ 0x8E // разница на 1 кгц вызвала инкремент на 8 у.е



//казалось бы, что 1 уе=1кгц/8=125 гц, но вот почему-то расстройка на 200 и 300 гц не изменила регистра 16 на одну условную единичку младшего разряда, а 400 гц уже инкремент сразу на 2 уе (может, дело в этих новомодных дробных делителях integer-fractional, принцип которых мне не до конца понятен в оличие от применявшихся ранее в синтезаторах целочисленных делителей)

и ещё одна закономерность. После записи этих14, 15 и 16 регистров, отвечающих за частоту, RTL2832 временно переключается на чтение и читает регистры 0..4, видимо, желая посмотреть результат- установился ли PLL в захват успешно или нет.
Затем он снова переключается на запись, и продолжает заполнять оставшиеся регистры.
Реклама
Google
Burr Master
Участник
Offline2.9
с ноя 2006
Самара
Сообщений: 543

Дата: 18 Фев 2018 20:06:02 #  

killer258
Разрешение по частоте похоже на таковое у безпроводного трансивера SI4432 - 312,5 Гц.
Сильно похож регистровый массив - 8 битный, самих регистров больше, но там однако и модем и передатчик.
killer258
Участник
Offline3.2
с янв 2010
Тула
Сообщений: 2145

Дата: 18 Фев 2018 20:15:45 #  

сейчас попробую поставить 433.100.312 и 433.100.313 и посмотрим, если инкремент произойдёт здесь, то похоже, что так и есть
Burr Master
Участник
Offline2.9
с ноя 2006
Самара
Сообщений: 543

Дата: 18 Фев 2018 20:17:48 #  

killer258
Не обязательно, там от номинала кварца зависит и его деления, но порядок может быть похожим.
killer258
Участник
Offline3.2
с янв 2010
Тула
Сообщений: 2145

Дата: 18 Фев 2018 20:26:18 · Поправил: killer258 (19 Фев 2018 07:07:32) #  

___Мгц______________рег_15 _________рег_16
433.100.300 __________ 0xA5 _________ 0x86
433.100.306 __________ 0xA5 _________ 0x86
433.100.309 __________ 0xA5 _________ 0x86
-------------------------------------------------------- 433.100.309.5
433.100.310 __________ 0xA5 _________ 0x88
433.100.312 __________ 0xA5 _________ 0x88
433.100.313 __________ 0xA5 _________ 0x88

433.100.400 __________ 0xA5 _________ 0x88
433.100.430 __________ 0xA5 _________ 0x88
433.100.433 __________ 0xA5 _________ 0x88
433.100.434 __________ 0xA5 _________ 0x88
-------------------------------------------------------- 433.100.434.5
433.100.435 __________ 0xA5 _________ 0x8А
433.100.440 __________ 0xA5 _________ 0x8А


434.5-309.5= 125 гц как-бы..
только вроде были где-то места, где и при расстройке более чем на 125 гц последний разряд не менялся.
(это видимо тонкости так называемых дробных делителей с нецелым коэфф деления, которых я не понимаю)

Хотя... вроде всё так и есть. примерно через сотню гц и меняется.
Можно проверить при работе свистка в SSB , если десятки гц не меняют тона, а потом скачок, значит, так оно и есть, шаг кратен 125 гц. При инкременте на 125 гц делитель меняется с шагом 2 младших единицы. (возможно, после VCO перед фазовым компаратором его частота делится ещё на два)
А делителей всего : один целый 8-битный, один дробный 16 битный, (за младшими 8 битами которого мы сейчас наблюдаем), один между VCO и смесителем(может делить на 8 либо на 4), и ещё один между кварцем и фазовым компаратором (может делить на два, либо не делить)

Судя по тем величинам, что перехвачены в обмене,(содержимое регистра 0х10, бит4 =0) делитель опорного кварца здесь устанавливается в 1:1, то есть частота сравнения = частоте кварца, то есть 28 мгц
что касается делителя между VCO и смесителем, то судя по содержимому регистра 0х10, (= 44 либо =22)он бывает когда на :8, а когда и на :4

Посмотрел на нижней частоте = 24 мгц ровно:

___Мгц______________рег_15 _________рег_16

24.000.000 __________ 0x43 _________ 0xBC
cодержимое 14-го регистра то же самое при этом, (0х80)

ну, и ещё посмотрел на 1 Ггц ровно:
___Мгц______________рег_15 _________рег_16

1.000.000.000 __________ 0xD8 _________ 0x52
cодержимое 14-го регистра то же самое при этом, (0х80)
но, возможно, что на гигагерце могли измениться и другие регистры (я не проверял пока)
во всяком случае, что-то переключается в RF фильтре, и какие-то lдобавочные конденсаторы внутри чипа коммутируются, судя по тексту исходника (наверное, они в контуре VCO)



теперь вроде, располагая результатами опытов, можно поразмышлять и над вводом произвольных частот
Burr Master
Участник
Offline2.9
с ноя 2006
Самара
Сообщений: 543

Дата: 18 Фев 2018 21:20:11 #  

killer258
шаг, кратный 125, как очевидно очень удобен и совместим.
AcidJazz
Участник
Offline1.1
с авг 2013
Краснодар
Сообщений: 46

Дата: 19 Фев 2018 14:16:50 #  

Идём дальше в нашем научном исследовании. Пытаюсь выяснить минимальный шаг.

Попробуйте еще модифицированный драйвер Василия http://rtl-sdr.ru/page/obnovlen-modificirovannyj-drajver-r820t
killer258
Участник
Offline3.2
с янв 2010
Тула
Сообщений: 2145

Дата: 19 Фев 2018 18:03:37 · Поправил: killer258 (19 Фев 2018 18:11:01) #  

там от номинала кварца зависит и его деления,

и видимо, ещё от чего-то. Потому что сравнивая содержимое регистров 15 и 16 при установке частоты приёма на 24 мгц и на 1 ггц, значения их не слишком-то сильно отличаются для такого большого перекрытия по частоте гетеродина. Видимо, надо будет внимательнее присмотреться к регистру 14 , делителю кварца и выходному делителю (между VCO и смесителем). Тут я думаю,могут поджидать "сюрпризы"наподобие одновременного скачкообразного изменения их содержимого при переходе через некоторые границы поддиапазонов
еще хотелось бы узнать, что в даташите означает " PLL autotune", которое , как следует из даташита, может принимать значения 8кгц и 128 кгц.
Burr Master
Участник
Offline2.9
с ноя 2006
Самара
Сообщений: 543

Дата: 19 Фев 2018 19:09:33 #  

killer258
Не знаю, но когда увидел, подумал что просто автонастройка, сканирование ТВ каналов с запоминанием.
killer258
Участник
Offline3.2
с янв 2010
Тула
Сообщений: 2145

Дата: 19 Фев 2018 21:30:33 · Поправил: killer258 (20 Фев 2018 16:27:25) #  

Сейчас отснифферил процесс I2C обмена между чипами во время запуска HDSDR и во время закрытия этой проги.

В первом случае обмен довольно длинный, и что примечательно, примерно аж 70% его занимают безуспешные попытки связаться всё с тем же упомянутым ранее несуществующим чипом или девайсом, RTL2832 всё время получает NACK, но тем не менее долго и упорно продолжает звать его (попытки как записи, так и чтения). Не раз, и не два, а очень много раз. Потом наконец обращается таки к R820T. Оставшаяся часть обмена довольно банальная. Идёт тупое прописывание подряд всех регистров , начиная с 0х05 и до последнего. На этот раз адреса идут строго по порядку. Видимо, данные вдуваются в чип из какого-то массива констант для его инициализации. Я не стал записывать, но попозже все же запишу, какие константы заносятся в чип при инициализации,это пригодится. Думаю, что они те самые, которые перечислены в исходнике драйвера с гитхаба:

r82xx_init_array[NUM_REGS] = {

0x83, 0x32, 0x75, /* 05 to 07 */
0xc0, 0x40, 0xd6, 0x6c, /* 08 to 0b */
0xf5, 0x63, 0x75, 0x68, /* 0c to 0f */
0x6c, 0x83, 0x80, 0x00, /* 10 to 13 */
0x0f, 0x00, 0xc0, 0x30, /* 14 to 17 */
0x48, 0xcc, 0x60, 0x00, /* 18 to 1b */
0x54, 0xae, 0x4a, 0xc0 /* 1c to 1f */

};


Процесс закрытия попроще. Запись в несколько регистров с небольшими адресами. Видимо, команды отключения питания узлов чипа, чтобы зря не грелся, когда HDSDR не запущен. Думаю, что если во время работы cвистка отключить USB, продолжая подавать на свисток питание, то первый чип так и будет продолжать свою работу на последней вводившейся частоте ,не выключаясь и продолжит выдавать на выходе свою ПЧ

ЗЫ: наблюдая за трафиком чтения регистров, прихожу к выводу, что обратный порядок следования битов при чтении регистра, указанный в даташите, это не опечатка.

То есть, когда пишешь регистр по I2C , то данные туда отправляешь побитно в виде D7,D6,D6,D5,D4,D3,D2,D1,D0
а вот когда читаешь регистр этого чипа по I2c, то его содержимое будет тебе приходить в виде D0,D1,D2,D3,D4,D5,D6,D7.
Я вначале-то этого не просёк, поэтому у меня при чтении регистра0х00 , в котором в даташите сказано, что там должно всегда быть 0х69, у меня упорно получалось 0х96, хотя записываемые данные читались правильно (судя по сравнению их с дефолтными значениями даташита и значениями массива инициализации исходника с гитхаба)

В ходе изучения материалов также было выяснено, что при задании частоты может управляться входной фильтр, три варианта его частоты настройки выбираются High,Middle и Low (регистр 0х1А). То есть весь диапазон приёма как-бы поделён на три части, и смотря от частоты входной фильтр включается на одну из них.

При любоми изменении частоты идёт запись в 19 регистров из имеющихся 32.

Но еесли не брать в расчёт всякие там настройки LNA и включения/выключения внутьренних модулей и задаания им напряжений питания, нас при перестройке частоты наибольший интерес вызывают пять вот этих регистров:

==================================================================
[0х10] --- (настр. делителя после опорного кварца(1:1 и 1:2) и делителя после VCO перед смесителем (1:8, 1:4, 1:2) (это вне петли ФАПЧ, как я понимаю)
[0х14] ---делитель integer(прешкалер?)
[0х15] --- старш байт делител фапч
[0х16] -- младш байт делители фапч
[0х1А] --- выбор средней частоты входного RF фильтра (одно из трёх возможных значений)
==================================================================
killer258
Участник
Offline3.2
с янв 2010
Тула
Сообщений: 2145

Дата: 20 Фев 2018 15:28:37 · Поправил: killer258 (20 Фев 2018 18:00:41) #  

Теперь остаётся со смыслом вот этого вот разобраться, и путь к установке произвольных частот будет открыт:
[imgs] [/imgs]

со смыслом аббревиатур бы разобраться, что значит SDM, SI2C, и Ni2c

Может быть, это означает просто лишь , что нужно взять содержимое регистров 0х15 и 0х16 как двухбайтовое число, прицепить к нему слева содержимое регистра 0х14 в качестве третьего, самого старшего байта,затем добавить 13, и потом всё это вместе взятое помножить на два, и получим общий коэффициент деления?
Или я не правильно понял это? По-моему, не так просто написаны все эти закорючки с отрицательными степенями числа 2
Burr Master
Участник
Offline2.9
с ноя 2006
Самара
Сообщений: 543

Дата: 20 Фев 2018 16:20:49 · Поправил: Burr Master (20 Фев 2018 16:35:14) #  

--удалено--
killer258
Участник
Offline3.2
с янв 2010
Тула
Сообщений: 2145

Дата: 20 Фев 2018 18:33:05 · Поправил: killer258 (20 Фев 2018 18:41:15) #  

Похоже, тут придётся временно взять тайм-аут , для ликвидации моей неграмотности в вопросе принципа работы синтезаторов частоты с дробным коэффициентом деления. Я имел дело до этого лишь с целочисленными делителями. Я помню только, читал когда-то, что в дробных делителях для нужного эффекта значения коэфф деления какого-то из делителей (кажется, прешкалера) всё время переключается между двумя положениями, одно из которых на единичку больше другого, и усредняя всё это по времени на цикле усреднения,когда сколько то раз был один коэф дел и сколько-то раз другой, на единицу больший, а в среднем получается некий средний между ними коэффициент деления.
Здесь видимо, что-то подобное применено. Пойду читать.
Burr Master
Участник
Offline2.9
с ноя 2006
Самара
Сообщений: 543

Дата: 20 Фев 2018 18:46:14 #  

killer258
Потом надо помнить, что в таких синтезаторах идет октавное деление ГУН (или группы ГУН в пределах октавы), и номер октавы видимо тоже должен гдето прописываться, в R82xx .
killer258
Участник
Offline3.2
с янв 2010
Тула
Сообщений: 2145

Дата: 20 Фев 2018 19:05:20 #  

Пока вот вычитал, что частота VCO будет вычисляться как

RF OUT= fPFD*(INT+ (FRAC/MOD)),

где fPFD– частота на входе частотнофазового детектора .(Я так понимаю, что в данном случае это частота F ref, равная частоте кварца при чипе R820T, либо деленная на 2 частота кварца. то есть 28 или 14 мгц)
INT-регистр целого, FRAC- регистр дробности, MOD- модуль

// INT -это наш регистр целого [0x14]
// FRAC- это по всей видимости, двухбайтовое слово из регистра дробности[0x15] и [0x16]

А вот где прячется таинственный MOD и чему он здесь равен, пока остается загадкой.. Но если узнать его, то, похоже, и всё, можно было бы уже вычислять.
killer258
Участник
Offline3.2
с янв 2010
Тула
Сообщений: 2145

Дата: 20 Фев 2018 19:09:48 · Поправил: killer258 (20 Фев 2018 19:27:08) #  

и номер октавы видимо тоже должен гдето прописываться, в R82xx .

там между выходом VCO и смесителем стоит ещё один настраиваемый делитель , который может делить сигнал VCO либо на 8, либо на 4, либо на 2 , это задается двумя битами в регистре 0х10. Вот наверное, это оно самое и есть
И этот же регистр еще одним битом определяет - делить частоту опорного кварца на два или не делить перед подачей на вход фазового детектора сравнения.
Burr Master
Участник
Offline2.9
с ноя 2006
Самара
Сообщений: 543

Дата: 20 Фев 2018 19:50:19 #  

killer258
Делим на MOD и получаем величину шага? Принимая в учет все остальное.
Burr Master
Участник
Offline2.9
с ноя 2006
Самара
Сообщений: 543

Дата: 21 Фев 2018 02:59:04 · Поправил: Burr Master (21 Фев 2018 03:08:34) #  

killer258
там между выходом VCO и смесителем стоит ещё один настраиваемый делитель ,
понятно, что этот делитель в расчете частоты играет самую наиключевую роль.
Вот только непонятно одно. На вход смесителя сигнал приходит уже деленным на 2 как минимум, для симметрирования и уменьшения гармоник. Диапазон чипа 42 to 1002 MHz .
Верхняя граница при делении на 4 будет 501мГц, на 8- 250,5 а нижняя при октавном ГУН - 125,25.
Как то не вяжется. Особо широкополосными такие ГУНы не делают, там 33В для варикапов нет, да и из шумовых соображений.
А может они туда ГУНов напхали штук 6 , и перекрытие больше октавы...
В генератор ADF4351 воткнули 3 переключаемых ГУНа на октаву, а в его аналог MAX2780 аж 4.
Для последнего я пару лет назад писал расчет регистров исходя из частоты, но он и документирован достаточно.
Много общего - СВЧ ГУНы, частота ФД миллион, а если хочется, то и 10, целый плюс дробный делитель.
killer258
Участник
Offline3.2
с янв 2010
Тула
Сообщений: 2145

Дата: 21 Фев 2018 07:15:17 · Поправил: killer258 (21 Фев 2018 16:04:21) #  

Диапазон чипа 42 to 1002 MHz .
Верхняя граница при делении на 4 будет 501мГц, на 8- 250,5 а нижняя при октавном ГУН - 125,25.
Как то не вяжется.


я тоже вчера мысленно по всякому прикидывал, как-то не совсем вяжется, даже если делать по их формулам, то не получается низких частот гереродина, необходимых для приёма, скажем, 24 мгц, поскольку опорная частота 28 мгц умножается на число, много большее единицы, настолько много, что даже если перед смесителем поделить на 8, всё равно много получается. тем более, что диапазон чипа ещё шире- от 24 до 1700 мгц.
Придётся экспериментально перехватить запись содержимого регистров 10, 14, 15 и 16 для ооочень большого числа всевоможных частот, тогда будет больше данных для анализа и проверки предположений
Burr Master
Участник
Offline2.9
с ноя 2006
Самара
Сообщений: 543

Дата: 21 Фев 2018 11:37:40 #  

killer258
тем более, что диапазон чипа ещё шире- от 24 до 1700 мгц.
Диапазон привел из даташита R820T:
Typical figures
Frequency range: 42 to 1002 MHz
ZayaTCCC
Участник
Offline1.6
с апр 2016
Краснодар
Сообщений: 271

Дата: 21 Фев 2018 21:10:38 #  
killer258
Участник
Offline3.2
с янв 2010
Тула
Сообщений: 2145

Дата: 21 Фев 2018 23:26:07 · Поправил: killer258 (22 Фев 2018 18:34:40) #  

Спасибо, камрад! Очень своевременно. Если бы это было здесь оставлено раньше, оно бы не помогло мне, так как я бы не сориентировался там. Но покурив последние дни даташит и возившись с регистрами 10,14,15,16, теперь стали понятными многие комментарии в исходнике и я добрался до того, что нужно.



vco_freq = (uint64_t)freq * (uint64_t)mix_div;
nint = vco_freq / (2 * pll_ref);
vco_fra = (vco_freq - 2 * pll_ref * nint) / 1000;

vco_freq = (uint64_t)freq * (uint64_t)mix_div;
// для требуемой частоты гетеродина требуемая частота VCO должна быть умножена на значение делителя перед смесителем, ну, это понятно, так как он там находится между ними и может иметь значение от 1:1 до 1:8

nint = vco_freq / (2 * pll_ref);
//целая часть , как я и предполагал,-это во сколько раз требуемая частота VCO окажется больше частоты опоры. Множитель "2" говорит о том, что видимо,делитель после опорного кварца всё-таки включен и делит на два, как говорится в даташите ,если кварц >24мгц, а у нас как раз такой. (То есть, частота сравнения =14.4 мгц)

vco_fra = (vco_freq - 2 * pll_ref * nint) / 1000;
//теперь по поводу дробной части, про тот самый недостающий кирпич в стене. На 1000 значит, оказывается, нужно делить эту разность, но это ещё далеко не N_sdm !

if (nint > ((128 / vco_power_ref) - 1)) {
fprintf(stderr, "[R82XX] No valid PLL values for %u Hz!\n", freq);
return -1;
}

ni = (nint - 13) / 4;
si = nint - 4 * ni - 13;

rc = r82xx_write_reg(priv, 0x14, ni + (si << 6));

// ну, тут собственно, после того, как получили целую часть nint, проверяется, не вылазит ли она за рамки, затем
её для чего-то разбивают на ni и si по уже встречавшейся формуле c вычитанием числа 13, затем эти два числа склеивают и загоняют в регистр 0x14. Не будем заморачиваться , почему именно такая формула, просто будем делать так же.

Для вычисления дробной части N_sdm (вписываемой затем в регистры 0х15 и 0х16), осталось раскурить вот этот кусок :


/* sdm calculator */
while (vco_fra > 1) {
if (vco_fra > (2 * pll_ref_khz / n_sdm)) {
sdm = sdm + 32768 / (n_sdm / 2);
vco_fra = vco_fra - 2 * pll_ref_khz / n_sdm;
if (n_sdm >= 0x8000)
break;
}
n_sdm <<= 1;
}

// Тут вроде выполняется в цикле какая-то итерационная процедура, повторяющаяся до выполнения определённого условия.

А дальше всё опять понятно. Это вычисленное число N_sdm разбивается на младший и старший байты и заносится в регистры 0х15 и 0х16.
Дальше тоже происходит всё в точности так же, как и в перехваченном трафике по I2C.
Происходит чтение нескольких первых регистров, содержимое одного из них сравнивается с 0х40 (один бит всего важен, судя по всему) и на основании результата сравнения делается заключение, есть захват в петле фапч или нет. В случае его отсутствия вначале повышают ток накачки, если и это не помогает, то выводтся сообщение "[R82XX] PLL not locked!\n"
Если захват фапч есть, дальше уже просто дописываются прочие регистры.

Вот вроде и всё прояснилось. Если поверить в то, что частота сравнения =14.4 мгц, а не 28.8 (несмотря на то, что бит 4 ргистра 0х10,равный нулю, и указывает на то, что Fref=F xtal !), то тогда вроде получается правдоподобно, хотя для частот порядка 24-27 мгц (которые чип на практике принимает, несмотря на заявленную в даташите минималку в 42 мгц)должно быть либо Nint очень маленьким, не больше 1 или 2, или делитель перед смесителем должен быть включен на максимум.(надо будет это проверить экспериментально на перехватах I2C траффика, что это действительно так)

Только осталось завтра собраться со свежей головой, понять, чем отличается sdm от N-sdm (что значит эта аббревиатура) и вкурить последний кусок, где вычисляется N_sdm и для чего там 32768 нужно, я же не могу в своей прошивке бездумно тупо повторять весь чужой код целиком, не разобравшись в смысле его отдельного куска.
killer258
Участник
Offline3.2
с янв 2010
Тула
Сообщений: 2145

Дата: 22 Фев 2018 14:02:50 · Поправил: killer258 (22 Фев 2018 18:29:09) #  

Вот только непонятно одно. На вход смесителя сигнал приходит уже деленным на 2 как минимум, для симметрирования и уменьшения гармоник. Диапазон чипа 42 to 1002 MHz .
Верхняя граница при делении на 4 будет 501мГц, на 8- 250,5 а нижняя при октавном ГУН - 125,25.
Как то не вяжется. Особо широкополосными такие ГУНы не делают, там 33В для варикапов нет, да и из шумовых соображений.
А может они туда ГУНов напхали штук 6 , и перекрытие больше октавы...


Мне тут тоже непонятно . С одной стороны, в исходнике пишут:

uint32_t vco_min = 1770000;
uint32_t vco_max = vco_min * 2;


значит, VCO действительно всего лишь октавный,
а вот из этого

/* Calculate divider */
while (mix_div <= 64) {
if (((freq_khz * mix_div) >= vco_min) &&
((freq_khz * mix_div) < vco_max)) {
div_buf = mix_div;
while (div_buf > 2) {
div_buf = div_buf >> 1;
div_num++;
}
break;
}
mix_div = mix_div << 1;
}


следует, что коэф деления перед смесителем подбирают, исходя из того, чтоб требуемая частота VCO оставалась в допустимых пределах всё той же одной октавы, в которой он работает от VCOmax до VCOmin.

но как-то не получается имхо, у VCO с его одной октавой перекрытия и с выбором только четырёх вариантов 1:1, 1:2, 1:4 и 1:8, перекрыть такой большой диапазон.
А меж тем чип принимает запросто от 24 мгц до 1700 мгц

вызывает удивление вот это while (mix_div <= 64) (64?? недокументированные возможности делителя перед смесителем?)
Burr Master
Участник
Offline2.9
с ноя 2006
Самара
Сообщений: 543

Дата: 23 Фев 2018 02:18:02 #  

killer258
вызывает удивление вот это while (mix_div <= 64) (64?? недокументированные возможности делителя перед смесителем?)
И это может быть.
killer258
Участник
Offline3.2
с янв 2010
Тула
Сообщений: 2145

Дата: 23 Фев 2018 16:08:53 · Поправил: killer258 (23 Фев 2018 16:16:21) #  

С шагом перестройки вообще происходят интересные вещи. Он не только на разных диапазонах другой, но он ещё и "плавает". Сегодня научное исследование было продолжено следующим образом: На HDSDR для начала была выставлена частота 27.570 000 мгц. Далее частота инкрементировалась, перехватывался обмен при этом ,декодировался, из полученного дампа находились значения регистров 0х10 (делители вне петли фапч), 0х14 (регистр целого), 0х15 (младш регистр дробной части), 0х16(старш.регистр дробной части).
Шаг перестройки по частоте был небольшой, десятки герц, было выставлено чуть больше сотни разных частот, соответственно столько же было записано дампов, диапазон перестройки был в пределах от 27.570000 до 27.571 728 (поледняя цифра- герцы)
Обнаружились следующие закономерности:
Содержимое регистров 0х10, 0х14, 0х16 в чипе не поменялось,([0х10]<-0xA4, [0x14]<-0x45,[[0x16]<-99,[0x15]<-0x4e) а младший регистр дробного 0х15 при инкременте частоты сначала стоял на месте, потом скачкообразно возрастал на 2 , потом стоял, потом ещё на 2 и тд. Интересным оказалось то, что изменение частоты настройки при этом не было величной постоянной при каждом увеличении регистра дробности на 2
При каждом последующем инкременте этого регистра на 2 разница в частоте настройки по сравненю с предыдущей получалась такой:
48гц,17гц,31гц,16 гц,
47гц,15гц,31гц,16гц,
47гц,16гц, 31гц,15гц,
47гц,16 гц, 31гц,16гц, и так далее с той же периодичностью.

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

Пок что возникает больше вопросов, чем ответов, об синтезаторе этого чипа (наверное, "техника секретная, физики могли и не знать" , или сильно отстали от своих зарубежных коллег)
killer258
Участник
Offline3.2
с янв 2010
Тула
Сообщений: 2145

Дата: 23 Фев 2018 16:37:56 · Поправил: killer258 (24 Фев 2018 10:06:58) #  

Я предположил , что разница в шаге на 27 мгц и на 433 мгц могла быть вызвана разными значениями делителя между VCO и смесителем,не охваченного петлёй ФАПЧ (Регистр 0х10) он может назначаться по даташиту битами 7,6,5:

000-.> VCO/2
001-> VC0/4
010 -> VCO/8
011-> VCO подает сигнал в смеситель напрямую

Да действительно, для 433 мгц этот регистр оказался =0х44, биты7,6,5= "010", то есть VCO перед смесителем делится на 8.
Теперь смотрим, что вдувалось в этот регистр на 27 мгц. Вдувалось 0х44
Смотрим биты 7,6, 5 и получаем "110". А нет такого значения в даташите!!! Но на что-то сигнал VCO всё же делится, ведь 27 мгц свисток-то исправно принимает!

Хоть немного картина прорисовывается. Сейчас попробуем тогда выяснить, какие значения принимает этот делитель на разных частотах приёма и где границы,при пересечении которых этот делитель мняется.
То есть, определим октавные диапазоны для VCO cинтезатора. УФФ.. скоро диссертацию по этому чипу можно будет писать

PS:
Ну вот, готово. Интересная табличка вырисовывается (границы приведены примерно с точностью до 1 мгц,выявлять их точнее экспериментальным путём у меня не было желания, так как это очень много лишней работы, да и на этом этапе в такой точности установки границ нет острой необходимости) :
--------------------------------------------------------------------------------------------------------
поддиап. __ Мгц _______ регистр[0х10] __ биты 765 __ деление перед смес _____ Fref
--------------------------------------------------------------------------------------------------------
__1) ______ 24-51.7 __1010 0100 (A4h) ___ 101 _____ 1:? (нет в даташите) ___ =Xtall
__2) ______51.8-107 __1000 0100 (84h) ___ 100 _____ 1:?(нет в даташите) ___ =Xtall
__3) ______108-217 __0110 0100 (64h) ____011 _____ 1:1 ________________=Xtall
__4) ______218-438 __0100 0100 (44h) ____010 _____ 1:8 ________________=Xtall
__5) ______439-881 __0010 0100 (24h) ____001 _____ 1:4 ________________=Xtall
__6) _____882-1760___0000 0100 (04h) ___000 ______ 1:2________________=Xtall

Значит, что было замечено. Учитывая, что (из исходника) VCOmin=1700 мгц, а VCOmax=2*VCOmin, то есть 3400 мгц, видно , что для трех последних поддиапазонов вроде всё правильно:
делим на VCO на 2, и получаем самый верхний диапазон 850-1700, (а если не делить? есть ведь и такое сочетание битов, чтоб напрямую, интересно, что будет, неужели приём до 3.4 гигагерц?) ,делим на 4, получаем поддиапазон поменьше, 440-880, делим на 8, получаем 218-440мгц, тут всё правдоподобно, а вот для первых трёх поддиапазонов всё уже идёт вразрез с даташитом или что-то не документировано в нём.. А именно- биты 6, 7,5 , принимающие значения 101 и 100, отсутствующие в даташите. Особенно поддиапазон 3, где 001 означает 1:2, но ведь ясно,что не напрямую же там сигнал VCO идёт в смеситель, это для 100-200 мгц-то?

Но вот глядя на эту колонку цифр, а именно на то, как меняется регистр 0х10 при переходе с диапазона на диапазон (A4h,-->84h,-->64h,-->44h,-->24h,-->04h (cмотреть надо на старшую тетраду)) создаётся подозрение(или предположение), что что-то даташиит не договаривает, что где-то затаился ещё один не отражённый здесь ещё более старший бит управления делением, помимо заявленных даташитом битов 7,6, 5, и тогда при таком предположении всё вроде как встает на свои места ,
то есть для первых трёх диапазонов на самом деле делится ещё больше чем на 8, то есть на 64, 32, и 16.
И тогда сразу перестает вызывать удивление вот эта строчка исходника while (mix_div <= 64) , что косвенно подтверждает мою гипотезу. Чем дальше в лес, тем толще партизаны.

И , кстати, если принять эту гипотезу как верную, то тогда автоматически снимается моё прежнее недоумение по поводу того, как на нижних поддиапазонах при частоте сравнения 28 мгц и целочисленном значении N integer намного большем единицы, они ухитряются получать на входе смесителя то, что нужно. Например, если принимаем 24 мгц (нижняя граница возможного), то в смеситель должно поступить 24+3.57(ПЧ)=27.57мгц, хотя значение регистра 0х14 равно 0x0C в данном случае, судя по содержимому соответствующего регистра.

Я сейчас посчитал, а ведь вроде сходится всё. Та ихняя формула, по которой из содежимого регистра получают коэфф деления: 4*Ni2c+Si2c+13
У нас содержимое регистра =0х0с , по таблице даташита получаем, чт Si2c равно нулю, Ni2c=0x0c, то бишь 12, умножаем на 4 и прибавляем, как они пишут, 13, и получаем Nint (целый коэффициент деления)=4*12+13=48+13=61

Вот что на самом деле является целым коэффициентом деления синтезатора, а не содержимое регистра 0х14 !


Теперь попробуем 61 помножить на опору 28.8 мгц, получаем 1756.8 мгц частоту VCO (что укладывается в рамки его октавы). Далее, если предположене о делении частоы VCO на 64 перед смесителем действительно имеет место, то тогда на меситель пойдёт 1756.8/64=27.45 мгц. Вычитаем ПЧ(3.57), получаем принимаемую частоту 23.88 мгц . Всё сходится !! Небольшое расхождение из-за того, что мы пренебрегли дробной частью.
Ура, с целой частью разобрались. Теперь бы с дробной разобраться.
К
TevatroN
Участник
Offline3.0
с дек 2010
Рига
Сообщений: 432

Дата: 23 Фев 2018 19:44:52 #  

Приветствую, давно не вытаскивал свой сдр свисток, ткните пожалуйста носом в последнюю версию СДР Шарпа,
плагины беру на http://rtl-sdr.ru
Avtomatizator
Участник
Offline2.9
с июн 2015
Ростов-на-Дону
Сообщений: 753

Дата: 23 Фев 2018 20:24:48 · Поправил: Avtomatizator (23 Фев 2018 20:27:11) #  

Del...
Avtomatizator
Участник
Offline2.9
с июн 2015
Ростов-на-Дону
Сообщений: 753

Дата: 23 Фев 2018 20:26:45 · Поправил: Avtomatizator (23 Фев 2018 20:27:54) #  

TevatroN
Это официальный сайт SDR# SDRSharp
Реклама
Google
 Страница:  ««  1  2  ...  540  541  542  543  544  ...  554  555  »» 

Создавать сообщения могут только зарегистрированные участники форума.
Войти в форум :: » Логин » Пароль
Начало
Средства связи, рации. Купить радиостанции Motorola, Yaesu, Vertex, приемники, антенны.
Время загрузки страницы (сек.): 0.384; miniBB ®