реклама на сайте
подробности

 
 
20 страниц V  « < 8 9 10 11 12 > »   
Reply to this topicStart new topic
> CC2500 Приемопередатчик, Кто-то реально делал?
Zoltrix
сообщение Aug 21 2008, 09:41
Сообщение #136





Группа: Участник
Сообщений: 13
Регистрация: 8-08-08
Пользователь №: 39 500



Вообщем за базовый проект, взял файл swrc085a.zip с примером программы под СС2510 с сайта ТИ.
Беру главный файл проекта - per_test_main.c. В принципе во многом уже разобрался (повыкидал код относящийся к некому ЖКИ, подставил режимы конфигурирования радиочасти без выбора с меню, а просто жёстко в программе прописал параметры) и даже некоторому научился - например сейчас без проблем могу читать/писать в пины, так что светодиодами на плате мигаю и состояния с переключателей режимов снимаю. Далее пошёл на конфигурирование радиочасти, установил 2460 частоту, 250 кбод, и другие параметры, всё как в примере. Зациклил эту некую процедуру передачи программно и спаял небольшую схемку - высокочастотный выпрямитель с выходом на чувствительный микроамперметр, подсоединил всё к антенне через конденсатор малой ёмкости. Вообщем при передаче стрелка чуть отклоняется - значит ВЧ энергия с выхода СС2510 идёт в антенну. К сожалению других приборов способных мерять 2,4 ГГц у меня нет.
В цикле передачи потом поставил задержку на пол-секунды, прошил, смотрю на микроамперметр когда идёт передача стрелка отклоняется, потом на пол-секунды падает. Вообщем всё как в программе. Сделал вывод - что-то в антенну идёт это точно.
Вопросы:
1)Но вот что??? Не могу понять где в процедуре передатчика подсовываются сами передаваемые данные
вот смотрю в условие if (mode == RADIO_MODE_TX)
там есть radioPktBuffer[i] = 0xCC; --- А ЧТО ЭТО???
2) Далее там же burstSize = selectBurstSize(); --- А ЧТО ЭТО ТАКОЕ???
Я задал значение из тех 4-ёх, что можно было, задал жёстко burstSize = 1000; сам не понимая что оно значит. Но как бы при 1000 цикл передачи у меня проходит в 10 раз быстрее чем когда ставлю 10000.
3) также вообще не могу понять что оно значит --- pktSetSeqNum(seqNum);
4) далее вопросы по части if (mode == RADIO_MODE_RX)
perRssiSum -= perRssiBuf[perRssiBufCounter]; --- ЧТО И ЗАЧЕМ ЭТО??
Там и дальше по программе ещё раз 5 встречаются строки с RSSI, соответсственно зачем они тоже не понимаю.
5) И где в итоге вышли те данные которые я хотел передать, я тоже не могу найти
Вообщем не вижу ни того, что входит ни того, что выходит. )))
Go to the top of the page
 
+Quote Post
Zoltrix
сообщение Aug 21 2008, 18:03
Сообщение #137





Группа: Участник
Сообщений: 13
Регистрация: 8-08-08
Пользователь №: 39 500



[quote name='Zoltrix' date='Aug 21 2008, 12:41' post='457961']
Вообщем за базовый проект, взял файл swrc085a.zip с примером программы под СС2510 с сайта ТИ.
Беру главный файл проекта - per_test_main.c. В принципе во многом уже разобрался (повыкидал код относящийся к некому ЖКИ, подставил режимы конфигурирования радиочасти без выбора с меню, а просто жёстко в программе прописал параметры) и даже некоторому научился - например сейчас без проблем могу читать/писать в пины, так что светодиодами на плате мигаю и состояния с переключателей режимов снимаю. Далее пошёл на конфигурирование радиочасти, установил 2460 частоту, 250 кбод, и другие параметры, всё как в примере.
Случилось чудо - радиотракт запустил. Потом пол-дня бегал смотрел, где как принимает.
Вообщем там пакет в radioPktBuffer заполняется данными 0хСС - уже разобрался, я поставил проверку при чтении и если принимает 0хСС то горит светодиод, если нет то тухнет. Типа простейший индикатор принятых данных.
В помещении на 5 метров при любой ориентации антенны работает,
при 10м уже начинаются проблемы, антенну надо ориентировать.
На расстоянии 20м приём получить крайне тяжело, нужно найти определённую точку для приёма и ориентацию антенны. Метров с 30 приёма нет вообще.
Тоесть, в принципе, всё как можно было использовать пример с сайта ТИ - я использовал.

Теперь остаётся самое сложное, как мне правильно передать СОМ-порт.
Мне обязательно необходима безошибочная передача, т.е. мне надо сделать некий буфер, заполнять его данными, потом в какой-то момент их передавать пакетом по радиотракту. А если он на приёмной стороне примется не правильно, то надо как-то заставить передатчик опять передать те даные, а на приёмной стороне их надо как-то опять правильно собрать в один поток и отправить в СОМ-порт. Вообщем я так понимаю должен быть целый алгоритм приёмо-передачи с исправлением ошибок, с повтором пакетов.
Go to the top of the page
 
+Quote Post
zl3p
сообщение Nov 6 2008, 14:00
Сообщение #138


Участник
*

Группа: Новичок
Сообщений: 41
Регистрация: 12-11-06
Пользователь №: 22 234



Привет всем. Я проглядел данную тему и у меня сложилось впечатление, что при использовании данного девайса может возникнуть целая куча проблем. Даташит его выглядит для начинающего электронщика, не имевшего ранее дела с радиопередающими устройствами, весьма пугающе. У меня будет несколько общих вопросов:
1) так всё-таки, используется ли у кого-нибудь на практике сей девайс и как он себя проявляет?
2) как много времени уйдет на то, чтобы его заказать и получить? (ибо ждать два месяца нет возможности)
3) как много времени ушло у вас на то, чтобы научиться пользоваться этим приборам?
4) стоит ли с ним связываться? Возможно существуют аналоги немного более дорогие (до 20у.е), но более доработанные и удобные и использовании.

А задача всё та же - передать 3 бита информации на расстояние в 3 м.
Go to the top of the page
 
+Quote Post
ksv198
сообщение Nov 7 2008, 12:38
Сообщение #139


Частый гость
**

Группа: Участник
Сообщений: 177
Регистрация: 25-08-05
Из: Ставрополь
Пользователь №: 7 964



Цитата(zl3p @ Nov 6 2008, 17:00) *
Привет всем. Я проглядел данную тему и у меня сложилось впечатление, что при использовании данного девайса может возникнуть целая куча проблем. Даташит его выглядит для начинающего электронщика, не имевшего ранее дела с радиопередающими устройствами, весьма пугающе. У меня будет несколько общих вопросов:
1) так всё-таки, используется ли у кого-нибудь на практике сей девайс и как он себя проявляет?
2) как много времени уйдет на то, чтобы его заказать и получить? (ибо ждать два месяца нет возможности)
3) как много времени ушло у вас на то, чтобы научиться пользоваться этим приборам?
4) стоит ли с ним связываться? Возможно существуют аналоги немного более дорогие (до 20у.е), но более доработанные и удобные и использовании.

А задача всё та же - передать 3 бита информации на расстояние в 3 м.


1) И еще как! Провляет себя весьма положительно.
2) В Москве (если будут на складе фирмы) часа два, по России от почты зависит.
3) С нуля на первой версии даташита (где много чего не было) - около месяца, с учетом ручного домашнего изготовления плат.
4) Это Вам решать
Go to the top of the page
 
+Quote Post
andrikk
сообщение Nov 14 2008, 01:32
Сообщение #140


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 23-07-08
Пользователь №: 39 167



Ктот-то приделывал к нему RF-FrontEnd CC2591?
плату из референса разводили?
хочу попробовать на двухслойке, но боюсь возбуждения тракта.
Go to the top of the page
 
+Quote Post
ih_
сообщение Nov 14 2008, 07:07
Сообщение #141


Частый гость
**

Группа: Свой
Сообщений: 77
Регистрация: 2-04-08
Из: Россия, Киров
Пользователь №: 36 422



2All:
- в чем отличие CC2500 от CC2550?
- подбросте ссылочку, как индуктивность трассой сделать?
спасибо. )
Go to the top of the page
 
+Quote Post
VAI
сообщение Nov 14 2008, 07:42
Сообщение #142


Профессионал
*****

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



Цитата(ih_ @ Nov 14 2008, 11:07) *
2All:
- в чем отличие CC2500 от CC2550?
- подбросте ссылочку, как индуктивность трассой сделать?
спасибо. )

СС2550 - передатчик.
СС2500 - трансивер.


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
Zoltrix
сообщение Dec 19 2008, 07:02
Сообщение #143





Группа: Участник
Сообщений: 13
Регистрация: 8-08-08
Пользователь №: 39 500



Цитата(andrik.kiev.ua @ Nov 14 2008, 05:32) *
Ктот-то приделывал к нему RF-FrontEnd CC2591?
плату из референса разводили?
хочу попробовать на двухслойке, но боюсь возбуждения тракта.


делал как в РД,
в итоге при приёме получил возбуд, когда HGM=1.
Выкинул tl-индуктивности - всё ОК.
Надо ближе к корпусу МС располагать емкостя и возбуда не будет
Go to the top of the page
 
+Quote Post
andrikk
сообщение Dec 22 2008, 22:31
Сообщение #144


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 23-07-08
Пользователь №: 39 167



Цитата(Zoltrix @ Dec 19 2008, 09:02) *
делал как в РД,
в итоге при приёме получил возбуд, когда HGM=1.
Выкинул tl-индуктивности - всё ОК.
Надо ближе к корпусу МС располагать емкостя и возбуда не будет

спасибо за ответ.
в референсе многослойная плата. Сколько слоев у Вас?
как насчет дальности, стоит заморачиваться?
на зондах использую фолдед диполь, но не хватает дальности в городских условиях - хочу в базе поставить 2591.
Go to the top of the page
 
+Quote Post
Zoltrix
сообщение Jan 19 2009, 13:25
Сообщение #145





Группа: Участник
Сообщений: 13
Регистрация: 8-08-08
Пользователь №: 39 500



Цитата(andrik.kiev.ua @ Dec 23 2008, 02:31) *
спасибо за ответ.
в референсе многослойная плата. Сколько слоев у Вас?
как насчет дальности, стоит заморачиваться?
на зондах использую фолдед диполь, но не хватает дальности в городских условиях - хочу в базе поставить 2591.


У меня печатка всего 2 слоя. Антенна - псб-диполь на печатной плате. Длинна - 42 мм.
Расстояние без 2591 - около 20 метров при любом расположении антенн и около 100 метров при стогом направлении антенн друг на друга.
С усилителем 2591 - расстояния около 50 и 300 метров.
Кирпичную стену в 3 кирпича пробивает без проблем. Ж/Б плиту вниз на этаж, но с заметным затуханием - надо ориентировать антенны.
Всё очень сильно зависит от антенны - надо подбирать её длинну, так как хар-ки текстолита очень разные.
Go to the top of the page
 
+Quote Post
woodman
сообщение Jan 20 2009, 01:06
Сообщение #146


Участник
*

Группа: Новичок
Сообщений: 15
Регистрация: 30-05-05
Пользователь №: 5 537



А кто-нибудь использует трансивер-SOC СС2510?
ksv198 - Вы работаете с СС2500 уже 3 года, по крайней мере начинали.
На СС2510 не переходили?
Вопрос вообще-то ко всем кто использует этот чип.
Есть ли зависания встроенного контроллера при приеме пакетов с использованием ПДП и как боретесь с этим.
Еррата даташит от TI читаем но что-то слабо помогает.
Go to the top of the page
 
+Quote Post
ksv198
сообщение Jan 20 2009, 17:14
Сообщение #147


Частый гость
**

Группа: Участник
Сообщений: 177
Регистрация: 25-08-05
Из: Ставрополь
Пользователь №: 7 964



Цитата(woodman @ Jan 20 2009, 04:06) *
А кто-нибудь использует трансивер-SOC СС2510?
ksv198 - Вы работаете с СС2500 уже 3 года, по крайней мере начинали.
На СС2510 не переходили?
Вопрос вообще-то ко всем кто использует этот чип.
Есть ли зависания встроенного контроллера при приеме пакетов с использованием ПДП и как боретесь с этим.
Еррата даташит от TI читаем но что-то слабо помогает.

Добрый день! На СС2510 не переходил, просто применял в другом проекте. СС2500+АТМега48 дешевле одной СС2510, при этом для моих целей Меги хватает. При использовании СС2510 только один плюс для себя нашел - меньше места на плате занимает.
Go to the top of the page
 
+Quote Post
woodman
сообщение Jan 22 2009, 00:44
Сообщение #148


Участник
*

Группа: Новичок
Сообщений: 15
Регистрация: 30-05-05
Пользователь №: 5 537



Цитата(ksv198 @ Jan 20 2009, 20:14) *
Добрый день! На СС2510 не переходил, просто применял в другом проекте. СС2500+АТМега48 дешевле одной СС2510, при этом для моих целей Меги хватает. При использовании СС2510 только один плюс для себя нашел - меньше места на плате занимает.

Спасибо!
А зависания в режиме приема с СС2510 наблюдались?
И еще, использовали ли ПДП на приеме?
С передачей нет проблем, а вот прием (Пакеты ~24Bytes; 250kbps; FSK) какой-то глюкавый получается у нас.
Поэтому любой опыт работы с чипом будет интересен и полезен.
Go to the top of the page
 
+Quote Post
Zoltrix
сообщение Jan 26 2009, 12:34
Сообщение #149





Группа: Участник
Сообщений: 13
Регистрация: 8-08-08
Пользователь №: 39 500



Цитата(woodman @ Jan 22 2009, 04:44) *
Спасибо!
А зависания в режиме приема с СС2510 наблюдались?
И еще, использовали ли ПДП на приеме?
С передачей нет проблем, а вот прием (Пакеты ~24Bytes; 250kbps; FSK) какой-то глюкавый получается у нас.
Поэтому любой опыт работы с чипом будет интересен и полезен.


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

tick_t4 - таймер по прерыванию 500 мкс
tick_25ms - счётчик 25 мс интервалов


void RadioRXwork(void)
{
mode = RADIO_MODE_RX;
// Установка DMA для перемещения пакета в радиобуфер
dmaRadioSetup(RADIO_MODE_RX);
// Начало приёма
DMAARM = DMAARM_CHANNEL0; // Arm DMA channel 0
RFST = STROBE_RX; // Switch radio to RX
tick_25ms=0; // Обнуление ожидания приёма

while (TRUE)
{
// Опрос поступающего пакета принятого по радио
if (pktRcvdFlag) // TRUE значит пришёл пакет и его обрабатывают
{
pktRcvdFlag = FALSE;
// Проверка принятого пакета
if (pktCheckValidity())
{ // Определяется что должно быть в пакете чтобы приемник его принял
// Запись данных в буфер UART и выдача в UART

tick_t4=40; // Снхронизация таймеров приёмной и передающей части

SIZE_UART_TX_DATA=radioPktBuffer[1]-6;
for (temp_i=7; temp_i<=38; temp_i++) uartTxBuffer[temp_i-7] = radioPktBuffer[temp_i];

// Если пакет не пустой, то запрещение прерываний (иначе UART передавал по несколько байтов) и выдача в UART
if (SIZE_UART_TX_DATA > 0) {RX_TX_DATA++; uartStartTxForIsr();}
return;
}
// Нам не нужен буфер пакета больше, готовимся к следующему пакету
if (SIZE_UART_TX_DATA == 0) {DMAARM = DMAARM_CHANNEL0; RFST = STROBE_RX;} //// <<<<<<<< ЭТО ОБЯЗАТЕЛЬНО!!!
}
if (tick_25ms>40) // Если не было обмена более 1с - выключаем радиотракт (переводим в режим IDLE)
{
P2_0=0; RFST = 0x04; //// <<<<<<<< переводим в режим IDLE ЭТО ОБЯЗАТЕЛЬНО!!! Чтобы без термокалибровки в приём не переходило
halWait(10); P2_0=1; // Мигание светодиода в дежурном режиме
tick_t4=20; break;
}
}
}


Кстати, везде где есть проверка флагов использую конструкцию с привязкой по времени
while((!pktSentFlag) && (tick_t4!=25)); //////////// ЗДЕСЬ без (tick_t4!=25) ЗАВИСАЛО
pktSentFlag = FALSE;
Go to the top of the page
 
+Quote Post
slpo10
сообщение Jan 29 2009, 10:43
Сообщение #150





Группа: Новичок
Сообщений: 3
Регистрация: 29-01-09
Пользователь №: 44 121



Народ, наставьте на путь истинный. Завязался с СС2500 и СС2510. Сейчас в хозяйстве EZ430RF-CC2500 (родной TI) и самопальные СС2511 и СС2510 (макетки, кольцевая антенна).

Задача - беспроводной датчик с батарейным питанием (2хAAA). Период опроса - 10 - 60сек (не поллинг, сами просыпаются и отсылают). Размер помещения 6 на 40 метров, где будет работать штук шесть таких датчиков. Второй месяц разбираюсь с исходниками, и смотрю, что это еще на долго.

Вопрос к тем, кто уже бился smile3046.gif об эту стену. Надо ли мне simpliciti? В принципе датчик может не контролировать удачность приема - потеря нескольких измерений нестрашна. Может тогда СС2550 + какой-нибудь дешевый проц? Хотя из дополнительных функций теряется возможность изменения частоты опроса и смена номера канала (в соседнем помещении будет работать такой же комплект).

PS В EZ430RF в демо убила следующая вещь: при передергивании питания хоста, поинт не переподключается - надо передернуть и поинта.
Go to the top of the page
 
+Quote Post

20 страниц V  « < 8 9 10 11 12 > » 
Reply to this topicStart new topic
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 02:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01497 секунд с 7
ELECTRONIX ©2004-2016