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

 
 
> RFM01-RFM02 от Hope Microelectronics Есть несколько вопросов..., Кто нибудь включал?
Григорий2000
сообщение Feb 21 2009, 22:27
Сообщение #1


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

Группа: Участник
Сообщений: 77
Регистрация: 13-03-06
Пользователь №: 15 210



Включил передатчик, заставил передавать периодически пакет. Пакет передается(TV -Tuner принимает что-то). С приемника снимаю сигнал RSSI в нужном виде(огибающая длительности пакета) - то есть уже близко))).
Но не могу заставить принять именно данные - не формирует сигнал прерывания по заполнению буфера. Возможно неправильно настроил параметры передатчика/приемника. Делал как в примере за исключением команд передатчика 0xD040 (так как ненашел на нее описания ) вместо нее 0xD240, и скорость взял еще ниже(0xC88F). и соответственно только скорость в приемнике.
итак RX
SendWordRF(0x0000);
SendWordRF(0x898A);//433BAND,134kHz
SendWordRF(0xA640);//434MHz
SendWordRF(0xC8С7);//2.4kbps
SendWordRF(0xC69B);//AFC setting
SendWordRF(0xC42A);//Clock recovery manual control,Digital filter,DQD=4
SendWordRF(0xC260);//output 2MHz
SendWordRF(0xC080);
SendWordRF(0xCE84);//use FIFO
SendWordRF(0xCE87);
SendWordRF(0xC081);//OPEN RX


TX
SendWordRF(0xCC00);//Status Register read command - clear last service interrupt...
SendWordRF(0x8B61);//433BAND,+-60kHz, 2MHzOut
SendWordRF(0xA640);//434MHz
SendWordRF(0xD240);//(DRate/2)-было0xD040 - max DataRate 19.2
SendWordRF(0xC88F);//2.4kbps
SendWordRF(0xC220);//enable bit sync //
SendWordRF(0xC001);//CLOSE ALL
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Qwertty
сообщение Mar 6 2009, 14:00
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527



Четвертьволновой штырь имеет куда большую эффективность, чем печатные/чип антенны. Я так на чипконе связь запустил со штырем - все отлично было. Поставил чип антенну и дальность упала больше чем в два раза. sad.gif
Кстати в приемнике лучше использовать прерывание по низкому уровню - тогда никаких пропусков не будет. Кроме того это прерывание не требует включенного генератора в контроллере.
Действительно, генератором передатчика можно управлять через Power Management Command. И выключить и включить. Интересно, зачем тогда команда Sleep Command? smile.gif
Go to the top of the page
 
+Quote Post
Mad-man
сообщение Jun 26 2010, 17:13
Сообщение #3


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

Группа: Участник
Сообщений: 91
Регистрация: 5-11-06
Пользователь №: 21 995



Всем привет,

инициализирую чип RFM01 как китайском в примере (на прием), и нифига не приходит, не выставляется бит фифо, не приходит прерывание. (уже перепробовал несколько вариантов - из документации и 2 примера отсюда)

статус в цикле вычитывается одно из следущего
(описания битов статуса я взял от другого чипа, тк в даташите нету описания статуса!! они скорее неправильные)

0x4104 (LB CRLCK 01)
0x4105 (LB RSSI_AT CRLCK 01)
0xC104 (LB GDQD CRLCK 01)
0xC105 (LB RSSI_AT GDQD CRLCK 01)


Если пробовать читать фифо в цикле - там всегда все по нулям.

помогите cranky.gif

Антенка керамическая RainSun я вот думаю может мне ее на 868Мгц подсунули вместь 433


void RFXX_PORT_INIT(void)
{
PORTC = 0b00000000;
DDRC = 0b00000000;

PORTD = 0b00000000;
DDRD = 0b00000000;

HI_SEL();
HI_SDI();
LOW_SCK();

SEL_OUTPUT();
SDI_OUTPUT();
SDO_INPUT();
SCK_OUTPUT();
}


void RF01_ChipInit()
{
SendWordRF(0x0000);
SendWordRF(0xA000 | (unsigned int)(((434-430)/0.0025)));//434MHz
SendWordRF(0x8978);//898A - 433BAND,167kHz; 898C - 67kHz 0x8978-200kHz

SendWordRF(0xC800|((344828UL/19200)-1));//19200
SendWordRF(0xC6F7);//AFC setting
SendWordRF(0xC42A);//autolock-off, slowmode,,Digital filter,DQD=3
SendWordRF(0xC260);//output 2MHz
SendWordRF(0xC008);
SendWordRF(0xCE88);//use FIFO
SendWordRF(0xCE8B);
SendWordRF(0xC009);//OPEN RX

}

unsigned int RFXX_WRT_CMD(unsigned int aCmd)
{
unsigned char i;
unsigned int temp = 0;

LOW_SCK();
LOW_SEL(); // chip select
for (i=0; i<16; i++)
{
temp<<=1;
if (SDO_HI())
temp |= 0x0001;


LOW_SCK2();

if (aCmd & 0x8000)
HI_SDI();
else
LOW_SDI();

HI_SCK2();

aCmd <<= 1;
}
LOW_SCK();
HI_SEL();
return temp;
}



void RFXX_TEST()
{
_delay_ms(500);

RFXX_PORT_INIT();
RF01_ChipInit();
INT_INPUT();
MCUCR |= (1<<ISC01)|(0<<ISC00);
GICR |= (1<<INT0); // INT0 enabled



while (1)
{
if (INT_LOW())
{
Togle_LED_on();
}


Ret = RFXX_WRT_CMD(0b00000000);

if (Ret) // & 0b1000000000000000)
{
Print_Word(Ret); Send_UART(" "); PrintStatus(Ret);
}

}
}





тут дефинишины для полноты картины


#define PORT_SEL PORTC
#define PIN_SEL PINC
#define DDR_SEL DDRC

#define PORT_SDI PORTC
#define PIN_SDI PINC
#define DDR_SDI DDRC

#define PORT_SCK PORTC
#define PIN_SCK PINC
#define DDR_SCK DDRC

#define PORT_SDO PORTC
#define PIN_SDO PINC
#define DDR_SDO DDRC

#define PORT_INT PORTD
#define PIN_INT PIND
#define DDR_INT DDRD


#define RFXX_SCK 4 // PC4
#define RFXX_SDI 5 // PC5
#define RFXX_SEL 6 // PC6
#define RFXX_SDO 7 // PC7
#define RFXX_INT 2 // PD2

#define SEL_OUTPUT() DDR_SEL |= (1<<RFXX_SEL)
#define HI_SEL() PORT_SEL |= (1<<RFXX_SEL)
#define LOW_SEL() PORT_SEL &= ~(1<<RFXX_SEL)

#define SDI_OUTPUT() DDR_SDI |= (1<<RFXX_SDI)
#define HI_SDI() PORT_SDI |= (1<<RFXX_SDI)
#define LOW_SDI() PORT_SDI &= ~(1<<RFXX_SDI)

#define SDO_INPUT() DDR_SDO &= ~(1<<RFXX_SDO)
#define SDO_HI() PIN_SDO & (1<<RFXX_SDO)

#define SCK_OUTPUT() DDR_SCK |= (1<<RFXX_SCK)
#define HI_SCK() PORT_SCK |= (1<<RFXX_SCK)
#define LOW_SCK() PORT_SCK &= ~(1<<RFXX_SCK)

#define INT_INPUT() DDR_INT &= ~(1<<RFXX_INT)
#define INT_HI() (PIN_INT & (1<<RFXX_INT))
#define INT_LOW() (!INT_HI())

Сообщение отредактировал Mad-man - Jun 26 2010, 17:24
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Григорий2000   RFM01-RFM02 от Hope Microelectronics Есть несколько вопросов...   Feb 21 2009, 22:27
- - Григорий2000   Вопрос снят)) Дело было не в бобине...   Feb 24 2009, 11:36
|- - Qwertty   Цитата(Григорий2000 @ Feb 24 2009, 14:36)...   Mar 5 2009, 21:54
- - Григорий2000   У меня по невнимательности осталось две подпрограм...   Mar 5 2009, 22:03
- - Qwertty   Спасибо! У меня правда уже задышало. Обновил п...   Mar 6 2009, 00:08
- - Григорий2000   Нет непроверял еще, а антенна - кусок провода(окол...   Mar 6 2009, 05:38
- - Mad-man   Блин, пропали все ((( Зат**ся с этим RF01 ничего н...   Jun 27 2010, 11:43
|- - Qwertty   Цитата(Mad-man @ Jun 27 2010, 15:43)...   Jun 28 2010, 09:12
|- - Mad-man   Цитата(Qwertty @ Jun 28 2010, 13:12) Не р...   Jun 28 2010, 10:38
|- - ZyBEX   Цитата(Mad-man @ Jun 28 2010, 14:38)...   Jun 29 2010, 22:56
|- - Mad-man   Цитата(ZyBEX @ Jun 30 2010, 02:56) Это не...   Jun 29 2010, 23:09
|- - Qwertty   Цитата(Mad-man @ Jun 30 2010, 03:09)...   Jun 30 2010, 10:33
|- - Mad-man   Цитата(Qwertty @ Jun 30 2010, 14:33) У ме...   Jun 30 2010, 11:45
|- - Qwertty   Цитата(Mad-man @ Jun 30 2010, 15:45)...   Jun 30 2010, 12:37
|- - Mad-man   Цитата(Qwertty @ Jun 30 2010, 16:37) Тогд...   Jun 30 2010, 13:51
|- - Qwertty   Цитата(Mad-man @ Jun 30 2010, 17:51)...   Jun 30 2010, 15:35
- - Олежик   Тогда может передатчик тоже самому сделать ? Сразу...   Jun 30 2010, 16:23
|- - Mad-man   Цитата(Олежик @ Jun 30 2010, 20:23) Тогда...   Jun 30 2010, 16:56
|- - Qwertty   Цитата(Mad-man @ Jun 30 2010, 20:56)...   Jun 30 2010, 17:45
- - нечитатель   Из восьми приёмников RFM01 один "плохо ловит...   Jul 2 2011, 06:19
- - Михаил86   Добрый день! Вот уже неделю пытаюсь соединить...   Nov 29 2012, 11:40


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 13:34
Рейтинг@Mail.ru


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