Цитата(ULUXA @ Jul 6 2006, 13:49)

Ура, зароботало!!! Увидел импульсы передатчика СС1021 на выходе приемника DP1203. Всем спасибо за помощь.
Цитата(Crystaly @ Jul 6 2006, 14:14)

Я в данный момент прорабатываю возможность организации протокола обмена между несколькими устройствами (группа один ведущий - три ведомых), типа простейшей радио-сети. Если у кого есть желание обсудить или подобный опыт присоединяйтесь плиз! Можно по почте vectorplus2002@mail.ru Евгений.
Желание обсудить имеется, т.к. может в будущем и у меня будет что-то подобное.
Задача следующая. Имеется группа устройств, которая состоит из одного ведущего и трех подчиненных. Далее для краткости ведущее устройство будет называться "папа", подчиненное устройство "сынок"

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

)
Хотелось бы чтобы внешне работа выглядела так. Имеется несколько пап и несколько сынков. Все они изначально одинаковы, то есть производство одинаковое - конструкция, схемы, программы. Каждый папа и каждый сынок имеет свой уникальный индивидуальный номер - задается любым способом после изготовления: прошивкой программы, перемычками на плате, с внешней клавиатуры(для папы), через внешний разъем(для сынка - с компьютера или терминала) или еще как нибудь. Далее - берутся конкретные сынки и конкретный папа, ему назначаются номера сынков с которыми он будет работатью
Когда включается папа и начинает опрашивать эфир в поисках своих сынков типа так:
- я папа № такой-то, сын мой № такой-то ты здесь? далее слушает ответ.
- я папа № такой-то, сын мой № такой-то ты здесь? далее слушает ответ.
- я папа № такой-то, сын мой № такой-то ты здесь? далее слушает ответ.
далее цикл опроса сынков повторяется. Цикл опроса одного сынка составляет Тп (период папы). Полный цикл опроса всех трех сынков составлят 3Тп. Пока нет ответа от сынка, папа выдает сообщение "сынок № такой-то не отвечает"
Получив ответ от сынка, папа выдает сообщение "сынок № такой-то на связи".
Когда включается сынок, периодически (с периодом Тс - период сынка) выходит на связь на время бОльшее 3Тп и слушает - не зовет ли его какой-нибудь папа? Услышав зов от папы № такого-то, запоминает номер своего папы и отвечает "папа № такой-то, это я, твой сынок № такой-то".
Если группы работают на разных частотах, то каждый сынок может просматривать все возможные частоты (каналы) и слушать - не зовет ли где-нибудь его папа? Услышав зов, запоминает рабочий канал и дальше слушает только его. Если после последнего сеанса связи с папой через некоторое время папа пропадает, начинается снова сканирование каналов.
Далее после установления связи со всеми сынками папа так же периодически опрашивает сынков, передавая приказы:
- я папа № такой-то, сын мой № такой-то, приказ такой-то, понял? далее слушает ответ.
- я папа № такой-то, сын мой № такой-то, приказ такой-то, понял? далее слушает ответ.
- я папа № такой-то, сын мой № такой-то, приказ такой-то, понял? далее слушает ответ.
Получив ответ от сынка о том, что приказ понял, начинает ждать исполнение приказа:
- я папа № такой-то, сын мой № такой-то, тебе есть что мне сказать? далее слушает ответ.
Если ответ получен, отвечает что ответ получен.
Далее все повторяется. Важно, чтобы период общения с каждым сынком был постоянным.
Если возникает ситуация, требующая скорейшей реакции (например авария), то не дожидаясь окончания времени Тс на первый же запрос от своего папы сынок отвечает и сообщает об этом.
Теперь - если групп может быть несколько на одной частоте(хотя я думаю что это сложно), то при включении папа сначала слушает эфир и смотрит - сколько пап кричат, запоминает их количество и номера. Чтобы присоединиться к ним, он должен дождаться запроса типа "новенькие есть?" ответить что "я тут", сообщить свой номер.
У меня была задумка чтобы право использования канала передавалось от группы к группе, то есть временно'е разделение. Но может возникнуть ситуация, когда одна группа (например в центре зала) видит две другие (расположенные по разные стороны зала), а эти две друг друга не видят (далеко друг от друга). И эта идея не подходит.
И еще. Для DP-1203 надо хотя бы 1 перепад на каждые 8 бит. Я делал так - каждый передаваемый байт я разбивал на две тетрады, из каждой тетрады и ее инверсии делал новый байт. Таким образом при любых исходных байтах (хоть все нули или единицы) получались перепады. Кроме этого дублирование информации - при приеме контроль ошибок. Правда размер данных увеличивается вдвое. Паттерн тоже использовал, только проверял его программно. То есть у меня цепочка регистров, через которые я гоню принятый сигнал. Регистры в начале цепочки (куда вталкивается очередной принятый бит) сравниваются с паттерном, при совпадении - в остальной части цепочки уже принятый пакет. Так в общем устроены все аппаратные устройства обработки. И вообще для таких целей лучше ПЛИСину использовать(в будущем наверно так и буду делать). Быстродействие резко возрастает, возможность аппаратной коррекции ошибок (кодирование-декодирование). Правда дороже получается чем на одном микроконтроллере.