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

 
 
 
Reply to this topicStart new topic
> Настройка скорости RFM23BP, Как настроить скорость приёмника?
BSACPLD
сообщение Jul 29 2016, 21:50
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056



Коллеги, работал ли кто-нибудь с RFM23BP на скоростиях отличных от стандартных?
С настройкой скорости передачи вроде разобрался, а вот с приёмной скоростью никак не получается добится приёма данных.
В общем если я оставляю дефолтные 40кбит/с, то всё работатет. Если пытаюсь выставить 250кбит/с, то пакеты отпраляются, но не принимаются sad.gif
Вот код инициализации RFM23BP:
CODE
// init_RFM23BP.cpp

#include "AVR_CPU.h"
#include "main.h"
#include "system.h"
#include "control_rfm.h"

#include "init_RFM23BP.h"

#define RFM_ID 0x08

//---------------------------------------------------------------------------
void init_RFM23BP (void)
{
__delay_cycles (const20ms) ;

// Reset ALL registers
wr_rfm_byte (0x07, 0x81) ;
__delay_cycles (const1ms) ;

// Check DEVICE_TYPE
if (rd_rfm_byte(0) != RFM_ID)
LED_PORT |= (1<<LED1) ;

// FREQ = 868.95MHz
wr_rfm_byte (0x75, 0x73) ; // sbsel=1, hbsel=1, fb=19
wr_rfm_byte (0x76, HIBYTE(28640)) ; // fc=28640 (868.95MHz)
wr_rfm_byte (0x77, LOBYTE(28640)) ; //
wr_rfm_byte (0x74, HIBYTE(0)) ; // fo=0
wr_rfm_byte (0x73, LOBYTE(0)) ; //
wr_rfm_byte (0x79, 0x00) ; // fhch=0
wr_rfm_byte (0x7A, 0x00) ; // fhs=0

// Modulation
wr_rfm_byte (0x70, 0xC0) ; // txdtrtscale=0, enphpwdn=0, manppol=1, enmaninv=1, enmanch=0, enwhite=0
wr_rfm_byte (0x71, 0x23) ; // dtmod=FIFO, modtyp=GFSK, fd=160 (100kHz)
//wr_rfm_byte (0x72, 0xA0) ; //

wr_rfm_byte (0x34, 64) ;

/*
// TX data rate
wr_rfm_byte (0x58, 0xC0) ; // if >100kbps 0xC0, else 0x80
wr_rfm_byte (0x6E, HIBYTE(16384)) ; // txdr=16384 (250kbps)
wr_rfm_byte (0x6F, LOBYTE(16384)) ; //
*/

// TX power = 10dBm
wr_rfm_byte (0x6D, 0x1B) ;

/*
// RX
wr_rfm_byte (0x1C, 0x8B) ; // dwn3_bypass=1, ndec_exp=0, filset=11
wr_rfm_byte (0x20, 48) ;
wr_rfm_byte (0x21, HIWORD(LOBYTE(174763))) ;
wr_rfm_byte (0x22, LOWORD(HIBYTE(174763))) ;
wr_rfm_byte (0x23, LOWORD(LOBYTE(174763))) ;
wr_rfm_byte (0x24, 0x0E) ; // rxncocomp=1, cgainx2=1, crgain=1708
wr_rfm_byte (0x25, 0xAC) ; //
*/

// PLL ON
wr_rfm_byte (0x07, 0x03) ;
__delay_cycles (const1ms) ;
}
//---------------------------------------------------------------------------

Если убрать комментарии, то данные перестают приниматься.
Подскажите, как правильно настраивать приёмную скорость для данного модуля.
Go to the top of the page
 
+Quote Post
Alex11
сообщение Jul 31 2016, 23:14
Сообщение #2


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

Группа: Свой
Сообщений: 1 975
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



А Вы видели такой полезный файлик?
Прикрепленный файл  RF22B_23B_31B_42B_43B_Register_Settings_RevB1_v5.xls.zip ( 254.46 килобайт ) Кол-во скачиваний: 36

И то, что у меня получалось - нужно манчестер отключать на высоких скоростях.
Go to the top of the page
 
+Quote Post
BSACPLD
сообщение Aug 1 2016, 16:51
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056



Цитата(Alex11 @ Aug 1 2016, 03:14) *
А Вы видели такой полезный файлик?
Прикрепленный файл  RF22B_23B_31B_42B_43B_Register_Settings_RevB1_v5.xls.zip ( 254.46 килобайт ) Кол-во скачиваний: 36

И то, что у меня получалось - нужно манчестер отключать на высоких скоростях.

По нему как раз и считал.
Дело было не в настройках.
Покупные антенны оказались бракованные плюс я поставил слишком маленький конденсатор по цепи питания.
Конденсатор заменил на 100мкФ электролит, а вместо покупных антенн поставил самодельные GP антенны.
Теперь связь стабильная на 250кбит/с sm.gif.
Дальность пока не тестировал.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 26th April 2017 - 15:47
Рейтинг@Mail.ru


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