Перейти к содержанию
    

CC1021 + DP1203-C433

Проблема с СС1021. Регистры пишутся/читаются нормально. Не работает PLL, т.е. не проходит процедура так называемой калибровки (не устанавливается бит в соответствующем регистре). Кварц работает на номинальной частоте, значения индуктивностей, емкостей, резисторов PLL согласно ПО Chipcon SmartRFStudio.

Кто еще что может посоветовать?

Будет ли рабоать приемник/передатчик в этом случае?

А вообще возможно совместить СС1021 с DP1203-C433?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вообще из-за чего может не рабоать PLL? Хотелось бы узнать возможные аппаратные и программные причины. Может кто-нибудь знает, на значения каких регистров следует обратить внимание.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вообще из-за чего может не рабоать PLL? Хотелось бы узнать возможные аппаратные и программные причины. Может кто-нибудь знает, на значения каких регистров следует обратить внимание.

 

Делал связь на сс1020. Думаю, это похоже. Так вот, инициализация не проходила, если были некорректные значения в регистрах FREQ, CLOCK, DEVIATION (слишком узкая полоса фильтра), INTERFACE (выбран неправильно источник клока - внешний или внутренний) и ещё какие-то влияли. в общем, если калибровка прошла, значит, почти заработало. самое главное - правильная частота, правильный клок, правильная модуляция и соотношение между датарэйт и бодрэйт (см даташит). лучше всего сделать так: взять пример от чипкона, посмотреть их настройки (железо тоже лучше такое же подбирать) и повторить - добиться работы на 2400 бод. а там виднее уже будет. подбирать с нуля - это очень геморно, если опыта нет. кстати, RF STUDIO не факт, что правильные комбинации генерит, то есть, явные баги она исправляет, но далеко не всё из допущенных комбинаций будет работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вообще из-за чего может не рабоать PLL? Хотелось бы узнать возможные аппаратные и программные причины. Может кто-нибудь знает, на значения каких регистров следует обратить внимание.

 

Делал связь на сс1020. Думаю, это похоже. Так вот, инициализация не проходила, если были некорректные значения в регистрах FREQ, CLOCK, DEVIATION (слишком узкая полоса фильтра), INTERFACE (выбран неправильно источник клока - внешний или внутренний) и ещё какие-то влияли. в общем, если калибровка прошла, значит, почти заработало. самое главное - правильная частота, правильный клок, правильная модуляция и соотношение между датарэйт и бодрэйт (см даташит). лучше всего сделать так: взять пример от чипкона, посмотреть их настройки (железо тоже лучше такое же подбирать) и повторить - добиться работы на 2400 бод. а там виднее уже будет. подбирать с нуля - это очень геморно, если опыта нет. кстати, RF STUDIO не факт, что правильные комбинации генерит, то есть, явные баги она исправляет, но далеко не всё из допущенных комбинаций будет работать.

Спасибо, добился того, что калибровка стала проиходить.

Теперь такие вопросы:

1) Как простыми методами можно проверить, передает в эфир трансивер или нет?

2)Приемник из DP1203-С433 не видит сигналы от СС1021(я на трансивер посулаю меандр, на выходе приемника наблюдаю только цифровой шум). Может ли быть из за несовпадения несущих частот (у DP1203-С433 в даташите написано, что минимальная несущая 433МГц, максимально возможная 435МГц, но она никак не программируется; у СС1021 же несущая прогарммируется с точностью до 300Гц, по даташиту). Какие еще могут быть причины отсутствия связи?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вообще из-за чего может не рабоать PLL? Хотелось бы узнать возможные аппаратные и программные причины. Может кто-нибудь знает, на значения каких регистров следует обратить внимание.

 

Делал связь на сс1020. Думаю, это похоже. Так вот, инициализация не проходила, если были некорректные значения в регистрах FREQ, CLOCK, DEVIATION (слишком узкая полоса фильтра), INTERFACE (выбран неправильно источник клока - внешний или внутренний) и ещё какие-то влияли. в общем, если калибровка прошла, значит, почти заработало. самое главное - правильная частота, правильный клок, правильная модуляция и соотношение между датарэйт и бодрэйт (см даташит). лучше всего сделать так: взять пример от чипкона, посмотреть их настройки (железо тоже лучше такое же подбирать) и повторить - добиться работы на 2400 бод. а там виднее уже будет. подбирать с нуля - это очень геморно, если опыта нет. кстати, RF STUDIO не факт, что правильные комбинации генерит, то есть, явные баги она исправляет, но далеко не всё из допущенных комбинаций будет работать.

Спасибо, добился того, что калибровка стала проиходить.

Теперь такие вопросы:

1) Как простыми методами можно проверить, передает в эфир трансивер или нет?

2)Приемник из DP1203-С433 не видит сигналы от СС1021(я на трансивер посулаю меандр, на выходе приемника наблюдаю только цифровой шум). Может ли быть из за несовпадения несущих частот (у DP1203-С433 в даташите написано, что минимальная несущая 433МГц, максимально возможная 435МГц, но она никак не программируется; у СС1021 же несущая прогарммируется с точностью до 300Гц, по даташиту). Какие еще могут быть причины отсутствия связи?

Я делал (и сейчас делаю) связь на двух одинаковых модулях DP-1203. У меня все работает. В твоем случае возможны следующие варианты:

1) несовместимость модулей из-за различия в:

а) вид модуляции (в DP-1203 "двух-уровневая FSK модуляция с непрерыв-

ной фазовой функцией"-из даташита)

б) девиация

в) несущая частота (кстати в DP-1203 несущая выставляется c шагом 500Гц через регистры SWParam_Freq на 32767 шагов в плюс и на столько же в минус от середины)

2) кто-то дохлый (у меня сначала тоже не было связи (смотри http://www.caxapa.ru/mcu/wwwboard.html?id=38267), я долго не понимал почему. заменил модули - все заработало)

Проверить излучение можно простым индикатором поля - два СВЧ-диода + измерительная головка на 100мкА + пара конденсаторов.

Я в данный момент прорабатываю возможность организации протокола обмена между несколькими устройствами (группа один ведущий - три ведомых), типа простейшей радио-сети. Если у кого есть желание обсудить или подобный опыт присоединяйтесь плиз! Можно по почте [email protected] Евгений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ура, зароботало!!! Увидел импульсы передатчика СС1021 на выходе приемника DP1203. Всем спасибо за помощь.

Я в данный момент прорабатываю возможность организации протокола обмена между несколькими устройствами (группа один ведущий - три ведомых), типа простейшей радио-сети. Если у кого есть желание обсудить или подобный опыт присоединяйтесь плиз! Можно по почте [email protected] Евгений.

Желание обсудить имеется, т.к. может в будущем и у меня будет что-то подобное.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теперь следующая проблема: невозможно выставить необходимую выходную мощность . Т.е. при записи в регистр PA_POWER(который отвечает за уровень выходной мощности) значения более 0х40 (проверено опытным путем) передатчик перестает работать (т.е. сигнал на выходе приемника DP1203 исчезает и остается только шум). В даташите ничего по этому поводу не сказано, там дан график, судя по которому можно записывать в PA_POWER значения вплоть до 0хff. С чем может быть связана такая проблема?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ура, зароботало!!! Увидел импульсы передатчика СС1021 на выходе приемника DP1203. Всем спасибо за помощь.

Я в данный момент прорабатываю возможность организации протокола обмена между несколькими устройствами (группа один ведущий - три ведомых), типа простейшей радио-сети. Если у кого есть желание обсудить или подобный опыт присоединяйтесь плиз! Можно по почте [email protected] Евгений.

Желание обсудить имеется, т.к. может в будущем и у меня будет что-то подобное.

Задача следующая. Имеется группа устройств, которая состоит из одного ведущего и трех подчиненных. Далее для краткости ведущее устройство будет называться "папа", подчиненное устройство "сынок" :)

Папа общается с каждым сынком. Сынки друг с другом не общаются. Расстояние между устройствами в группе порядка 10м. Радиосигнал - частотная манипуляция. То есть сигнал может принимать два значения частоты.

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

 

Существует ли кодовое разделение для ЧМ (повторюсь - не Модуляция а Манипуляция) типа Уолша, ШПС или подобное? Или это только для АМ? Для меня пока ясно такое решение - в группе разделение по времени (режим полудуплексный - каждое устройство(хоть папа, хоть сынок) в каждый момент времени или принимает или передает), а между группами частотное, чтобы группы на разных частотах работали. Но можно ли чтобы все группы работали на одной частоте и не мешали друг другу?

 

Теперь вот еще что. Все сынки - это автономные устройства с батарейным питанием. С целью снижения энергопотребления они бОльшую часть времени отключены, периодически выходя на связь на короткое время. Папа на связи всегда (подключен к розетке :) )

 

Хотелось бы чтобы внешне работа выглядела так. Имеется несколько пап и несколько сынков. Все они изначально одинаковы, то есть производство одинаковое - конструкция, схемы, программы. Каждый папа и каждый сынок имеет свой уникальный индивидуальный номер - задается любым способом после изготовления: прошивкой программы, перемычками на плате, с внешней клавиатуры(для папы), через внешний разъем(для сынка - с компьютера или терминала) или еще как нибудь. Далее - берутся конкретные сынки и конкретный папа, ему назначаются номера сынков с которыми он будет работатью

 

Когда включается папа и начинает опрашивать эфир в поисках своих сынков типа так:

- я папа № такой-то, сын мой № такой-то ты здесь? далее слушает ответ.

- я папа № такой-то, сын мой № такой-то ты здесь? далее слушает ответ.

- я папа № такой-то, сын мой № такой-то ты здесь? далее слушает ответ.

далее цикл опроса сынков повторяется. Цикл опроса одного сынка составляет Тп (период папы). Полный цикл опроса всех трех сынков составлят 3Тп. Пока нет ответа от сынка, папа выдает сообщение "сынок № такой-то не отвечает"

Получив ответ от сынка, папа выдает сообщение "сынок № такой-то на связи".

 

Когда включается сынок, периодически (с периодом Тс - период сынка) выходит на связь на время бОльшее 3Тп и слушает - не зовет ли его какой-нибудь папа? Услышав зов от папы № такого-то, запоминает номер своего папы и отвечает "папа № такой-то, это я, твой сынок № такой-то".

 

Если группы работают на разных частотах, то каждый сынок может просматривать все возможные частоты (каналы) и слушать - не зовет ли где-нибудь его папа? Услышав зов, запоминает рабочий канал и дальше слушает только его. Если после последнего сеанса связи с папой через некоторое время папа пропадает, начинается снова сканирование каналов.

 

Далее после установления связи со всеми сынками папа так же периодически опрашивает сынков, передавая приказы:

- я папа № такой-то, сын мой № такой-то, приказ такой-то, понял? далее слушает ответ.

- я папа № такой-то, сын мой № такой-то, приказ такой-то, понял? далее слушает ответ.

- я папа № такой-то, сын мой № такой-то, приказ такой-то, понял? далее слушает ответ.

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

 

- я папа № такой-то, сын мой № такой-то, тебе есть что мне сказать? далее слушает ответ.

 

Если ответ получен, отвечает что ответ получен.

 

Далее все повторяется. Важно, чтобы период общения с каждым сынком был постоянным.

 

Если возникает ситуация, требующая скорейшей реакции (например авария), то не дожидаясь окончания времени Тс на первый же запрос от своего папы сынок отвечает и сообщает об этом.

 

Теперь - если групп может быть несколько на одной частоте(хотя я думаю что это сложно), то при включении папа сначала слушает эфир и смотрит - сколько пап кричат, запоминает их количество и номера. Чтобы присоединиться к ним, он должен дождаться запроса типа "новенькие есть?" ответить что "я тут", сообщить свой номер.

 

У меня была задумка чтобы право использования канала передавалось от группы к группе, то есть временно'е разделение. Но может возникнуть ситуация, когда одна группа (например в центре зала) видит две другие (расположенные по разные стороны зала), а эти две друг друга не видят (далеко друг от друга). И эта идея не подходит.

 

И еще. Для DP-1203 надо хотя бы 1 перепад на каждые 8 бит. Я делал так - каждый передаваемый байт я разбивал на две тетрады, из каждой тетрады и ее инверсии делал новый байт. Таким образом при любых исходных байтах (хоть все нули или единицы) получались перепады. Кроме этого дублирование информации - при приеме контроль ошибок. Правда размер данных увеличивается вдвое. Паттерн тоже использовал, только проверял его программно. То есть у меня цепочка регистров, через которые я гоню принятый сигнал. Регистры в начале цепочки (куда вталкивается очередной принятый бит) сравниваются с паттерном, при совпадении - в остальной части цепочки уже принятый пакет. Так в общем устроены все аппаратные устройства обработки. И вообще для таких целей лучше ПЛИСину использовать(в будущем наверно так и буду делать). Быстродействие резко возрастает, возможность аппаратной коррекции ошибок (кодирование-декодирование). Правда дороже получается чем на одном микроконтроллере.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теперь следующая проблема: невозможно выставить необходимую выходную мощность . Т.е. при записи в регистр PA_POWER(который отвечает за уровень выходной мощности) значения более 0х40 (проверено опытным путем) передатчик перестает работать (т.е. сигнал на выходе приемника DP1203 исчезает и остается только шум). В даташите ничего по этому поводу не сказано, там дан график, судя по которому можно записывать в PA_POWER значения вплоть до 0хff. С чем может быть связана такая проблема?

 

проблема с этим у меня тоже была. выручил, как всегда, пример производителя. Там в регистр по умолчанию записывется 0xf0. суть в том, что в регистре различные биты (в левой и правой половине) работают при разных уровнях (больше-меньше какого-то уровня). при установлении бит в старшей половине регистра биты в нижней нужно сбросить (установлено экспериментально, что 0xff Не работает)

как я уже советовал, возьмите пример от чипкона и ПОВТОРИТЕ тот пример, правда, нужно два одинаково настроенных модуля, насчёт xemics я не в курсе.

 

 

Когда включается папа и начинает опрашивать эфир в поисках своих сынков типа так:

- я папа № такой-то, сын мой № такой-то ты здесь? далее слушает ответ.

- я папа № такой-то, сын мой № такой-то ты здесь? далее слушает ответ.

- я папа № такой-то, сын мой № такой-то ты здесь? далее слушает ответ.

далее цикл опроса сынков повторяется. Цикл опроса одного сынка составляет Тп (период папы). Полный цикл опроса всех трех сынков составлят 3Тп. Пока нет ответа от сынка, папа выдает сообщение "сынок № такой-то не отвечает"

Получив ответ от сынка, папа выдает сообщение "сынок № такой-то на связи".

 

Когда включается сынок, периодически (с периодом Тс - период сынка) выходит на связь на время бОльшее 3Тп и слушает - не зовет ли его какой-нибудь папа? Услышав зов от папы № такого-то, запоминает номер своего папы и отвечает "папа № такой-то, это я, твой сынок № такой-то".

 

 

:biggrin: Это новое семейство приёмопередатчиков?

 

Есть же нормальная терминология, к чему здесь Отцы и Дети?

Изменено пользователем Lem

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

проблема с этим у меня тоже была. выручил, как всегда, пример производителя. Там в регистр по умолчанию записывется 0xf0. суть в том, что в регистре различные биты (в левой и правой половине) работают при разных уровнях (больше-меньше какого-то уровня). при установлении бит в старшей половине регистра биты в нижней нужно сбросить (установлено экспериментально, что 0xff Не работает)

как я уже советовал, возьмите пример от чипкона и ПОВТОРИТЕ тот пример, правда, нужно два одинаково настроенных модуля, насчёт xemics я не в курсе.

 

Не помогает. Перепробовал самые разные варианты (0хf0 тоже не работает)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...