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

 
 
> 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
Ответов
Mad-man
сообщение Jun 27 2010, 11:43
Сообщение #2


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

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



Блин, пропали все ((( Зат**ся с этим RF01 ничего не выходит, перепаял антенку,

теперь командой SendWordRF(0x0000);
вычитываются нолики (( молчит, гадюка, как партизан...
похоже что даже инициализация не проходит..

У меня еще 2 вороса

1. Обязательно ли использовать кристал на 10Мгц на avr? У мня кристал на 3.57Мгц. Как я понял чип работает в слейв режиме и ему должно быть фиолетово с какой частотой приходит SCK?
2. Нужно ли использовать ногу DATA? Она на схеме подтянута к VCC, а в коде поднимается
командой DDRB |=(1<<RFXX_DATA); сразу после инициализации чипа!

Сообщение отредактировал Mad-man - Jun 27 2010, 11:45
Go to the top of the page
 
+Quote Post
Qwertty
сообщение Jun 28 2010, 09:12
Сообщение #3


Местный
***

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



Цитата(Mad-man @ Jun 27 2010, 15:43) *
Блин, пропали все ((( Зат**ся с этим RF01 ничего не выходит, перепаял антенку,

Не расстраивайтесь раньше времени, сейчас разберемся.

Цитата(Mad-man @ Jun 27 2010, 15:43) *
1. Обязательно ли использовать кристал на 10Мгц на avr?

Нет конечно. Я вообще с внутренними RC использовал.

Цитата(Mad-man @ Jun 27 2010, 15:43) *
2. Нужно ли использовать ногу DATA? Она на схеме подтянута к VCC, а в коде поднимается
командой DDRB |=(1<<RFXX_DATA); сразу после инициализации чипа!

Нет, если используется FIFO. В этом режиме все управление/обмен данными идет через SPI.
В коде либо не используется FIFO, либо под RFXX_DATA подразумевается MOSI.
Я с RFM01 не закончил, появились более приоритетные дела. Но связь с RFM02 была.
Инициализация RFM01 была такая
Код
#define        RFM01_BAUD_2400        ((uint8_t)((344827.58/2400)+0.5)-1)
#define        RFM01_BAUD_4800        ((uint8_t)((344827.58/4800)+0.5)-1)
#define        RFM01_BAUD_9600        ((uint8_t)((344827.58/9600)+0.5)-1)
#define        RFM01_BAUD_19200    ((uint8_t)((344827.58/19200)+0.5)-1)
#define        RFM01_BAUD_38400    ((uint8_t)((344827.58/38400)+0.5)-1)
#define        RFM01_BAUD_115200    ((uint8_t)((344827.58/115200)+0.5)-1)

#define RFM01FREQ(freq)    ((uint16_t)((freq-430.0)/0.0025))

#define        RFM01_CONFIG        0x8000
    #define    RFM01_BANDWIDTH_400KHZ            (0x01<<1)
    #define    RFM01_BANDWIDTH_340KHZ            (0x02<<1)
    #define    RFM01_BANDWIDTH_270KHZ            (0x03<<1)
    #define    RFM01_BANDWIDTH_200KHZ            (0x04<<1)
    #define    RFM01_BANDWIDTH_134KHZ            (0x05<<1)
    #define    RFM01_BANDWIDTH_67KHZ            (0x06<<1)

    #define    RFM01_BAND_315MHZ                (0x00<<11)
    #define    RFM01_BAND_433MHZ                (0x01<<11)
    #define    RFM01_BAND_868MHZ                (0x02<<11)
    #define    RFM01_BAND_915MHZ                (0x03<<11)

    #define    RFM01_CONFIG_DC                    (0x01<<0)
    #define    RFM01_CONFIG_EX                    (0x01<<8)

#define        RFM01_SET_FREQ        0xA000
#define        RFM01_RX_SETTING    0xC000
#define        RFM01_SET_BAUDRATE    0xC800
#define        RFM01_FIFO_MODE        0xCE00
    
#define        RFM01_DATA_FILTER    0xC400
#define        RFM01_AFC_SETTING    0xC600


Код
RFM01_WrCommand(0x0000);
RFM01_WrCommand(RFM01_CONFIG | RFM01_BAND_433MHZ | RFM01_BANDWIDTH_134KHZ | RFM01_CONFIG_EX);
RFM01_WrCommand(RFM01_SET_FREQ | RFM01FREQ(434.00));    // 434
RFM01_WrCommand(RFM01_SET_BAUDRATE | RFM01_BAUD_4800);                        // 4800
RFM01_WrCommand(RFM01_AFC_SETTING | 0x0097);                        // AFC // 0xC69B
RFM01_WrCommand(RFM01_DATA_FILTER | 0x002A);                        // filter
RFM01_WrCommand(0xC240);                        // 2Мгц, просто для контроля
RFM01_WrCommand(RFM01_RX_SETTING | 0x0080);
RFM01_WrCommand(RFM01_FIFO_MODE | 0x0084);                        //  FIFO Off
RFM01_WrCommand(RFM01_FIFO_MODE | 0x0087);                        //  FIFO On

Потом в коде включение приема
Код
    RFM01_WrCommand(RFM01_RX_SETTING | 0x0081);                        //
    RFM01_WrCommand(RFM01_FIFO_MODE | 0x0088);                        //
    RFM01_WrCommand(RFM01_FIFO_MODE | 0x008B);                        //  

    cli();
    MCUCR  &= ~((1<<ISC11)|(1<<ISC10));    // INT1 - low level interrupt
    GICR |= (1<<INT1);                    // INT1 interrupt enable
    GIFR = (1<<INT1);                    // clear interrupt flag INT1
    sei();

nIRQ подключен к INT1 8-ой меги. Тут есть перекрытие инициализации, но это рабочая версия, не законченная и не причесанная. Так что - как есть smile.gif
Go to the top of the page
 
+Quote Post
Mad-man
сообщение Jun 28 2010, 10:38
Сообщение #4


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

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



Цитата(Qwertty @ Jun 28 2010, 13:12) *
Не расстраивайтесь раньше времени, сейчас разберемся.



Спасибо, я сегодня ночью копался с RF01 3 раза перепроверил все выходы и входы, спаял второй приемник
на каком-то форуме нашел что нужно ожидать POR около 1-2 сек и задержки перед инициализацией

сделал гиганские задержки начали сыпаться данные в режиме полинга rolleyes.gif НУ ХОТЬ УЖЕ ЧТО-ТО!!

кстати оказалось что купленный пульт KEYFOB на 433 (на базе HCS301) вообще не шлет данных! maniac.gif
я его разобрал и если прижимать пальцем землю и клеммы (к которым нужно резисторы/конденсаторв подпаивать что-ли?? в мануале на него написано что серийный номер - программируется или "подпаивается"? rolleyes.gif )
и одновременно жать кнопку - отправляется данные. короче с пультом разбираться нужно

nIRQ пока не дергается но думаю получится - эта тема уже обсуждалась и здесь и на радиокоте.


Кстати нашел библиотечку для RF01 (FR12b даже есть) может кому будет полезна

http://myfablab.wordpress.com/2010/06/22/r...18-version-0-1/


сейчас данные бьются видимо из-за больших задержек - но все равно я доволен как мытый слон biggrin.gif

Сообщение отредактировал Mad-man - Jun 28 2010, 10:44
Go to the top of the page
 
+Quote Post
ZyBEX
сообщение Jun 29 2010, 22:56
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 5-05-08
Пользователь №: 37 279



Цитата(Mad-man @ Jun 28 2010, 14:38) *
на каком-то форуме нашел что нужно ожидать POR около 1-2 сек и задержки перед инициализацией

Это не только на RFM01/02. Буквально неделю назад точно также обжегся на модулях RFM31/43. По незнанию пренебрег задержками после включения модуля и половина команд инициализации улетало в пустоту.
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
- - Qwertty   Четвертьволновой штырь имеет куда большую эффектив...   Mar 6 2009, 14:00
|- - Mad-man   Всем привет, инициализирую чип RFM01 как китайско...   Jun 26 2010, 17:13
|- - 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 09:14
Рейтинг@Mail.ru


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