2,4ГГц GFSK-радиомодули Spirit-ON
Версия для печати (стр. 2)

Конференция: Конференция iXBT.com (http://forum.ixbt.com/)
Форум: Электронные устройства и компоненты (http://forum.ixbt.com/?id=48)
URL: http://forum.ixbt.com/topic.cgi?id=48:7870

Время GMT +03. Даты в формате dd.mm.yyyy.

Страницы: назад · 1 2 3 · далее / все сообщения темы на одной странице

100. *Vix*, 11.03.2009 11:08
Ну что, как успехи? Какие результаты?

Проверял код китайца (By Brian @Taiwan).
Прием исправно работает. А передача - один раз при включении питания. Пока не знаю с чем связано. Дальность не проверял, но явно более двух метров.

101. *Vix*, 14.03.2009 09:54
Нашел "неправильность" в разводке SPI. F_FIFO от TR24A приходит на SS (mega8). У меня F_FIFO с инверсией. После отправки данных TR24A выставляет на SS "0" и mega8 из мастера переходит в слейв и все, приехали.

Вообщем код китайца рабочий.

Дальность 20 м по прямой. Если больше, то пакеты теряются, а потом и вообще приемник перестает реагировать, даже если поднести его к передатчику. Есть идеи как корректно восстанавливать прием?

И куда все пропали?

102. Different, 16.03.2009 08:50
*Vix*
Есть идеи как корректно восстанавливать прием?
Может ввести какую-нибудь циклическую проверку на наличие приема?

P.S. 20 метров по прямой что-то маловато. Какая скорость передачи? Насколько хорошо разведена земля в месте монтажа модуля? И при какой направленности по отношению к антенне измерялась дальность?

103. *Vix*, 17.03.2009 08:52
Different
Может ввести какую-нибудь циклическую проверку на наличие приема?
Не очень интересно. Интереснее проверять флаги ошибок (либо "правильность" состояния) нужного регистра.
Вопрос - какой это регистр?

Какая скорость передачи?
Если про модуль - то она фиксирована (1Мбит/сек). Если про трафик - то 5 пакетов в сек, размер пакета 4 байта. Понятно что это не предел модуля - пока задача не ставилась на пропускную способность.

Насколько хорошо разведена земля в месте монтажа модуля?
А чем мерять эту хорошесть? Модуль тремя контактами подключен к земле (два из них боковые).

И при какой направленности по отношению к антенне измерялась дальность?
Различная. Длинный коридор (кирпичное здание).Передатчик лежал на подоконнике. Приемник вертел в руках.

104. *Vix*, 20.03.2009 13:27
Прием не прерывается. Те же грабли - на приемнике убрал F_FIFO c SS (mega8).

Добавление от 20.03.2009 21:33:

Удалось выжать 1000 пакетов приемо-передачи в сек.

105. v_v_p, 24.03.2009 10:29
а какая программа тестировалась ? подсчет кол-ва переданных пакетов был, а достоверность передачи данных ?

106. *Vix*, 25.03.2009 16:24
Алгоритм программы:
Инициализация, передача пакета. Переключние на прием.
Ожидание F_PKT либо таймаута. Если F_PKT - прием пакета. Передача пакета.
Если таймаут - Передача пакета. Переключние на прием.

F_PKT дергается с частотой 2 кГц (1 раз при отправке пакета и 1 раз при приеме х 1000 циклов).
Принятые пакеты выводил на экран. Визульно ошибок не замечал. Точной статистики нет.
Связь прерывается (единицы секунд), и восстанавливается (чаще не восстанавливается), возможно чего-то в алгоритме не хватает.
Еще - когда есть связь - слышится очень слабый писк (наверное с частотой F_PKT ). Пока не понял - источник писка на модуле, или в моей обвязке. Писк прослушивается на 3-х устройствах (отличающихся).

Программа написана на основе "китайской". Но использованы прерывания (F_PKT, SPI).

107. HexfeT, 28.03.2009 01:08
Привет всем! Собрал две макетки на основе Мега16L, но пока не удается наладить связь, передача кажись идет, а вот с приемом проблемы... И каналы совпадают и по току потребления правильно... Может поможете? С CVAVR работаю, на основе китайского исходника... Дело стоит...

108. Different, 30.03.2009 08:50
А с F_FIFO у вас всё в порядке?

109. *Vix*, 30.03.2009 18:17
HexfeT
Рассказывайте или показывайте, как прием организован.
При передаче F_PKT устанавливается?

110. litzendrat, 02.04.2009 20:10
*Vix*
Можете поделиться исходником к atmega8? Я, что-то, совсем с регистрами порта B запутался

111. *Vix*, 03.04.2009 08:06
Замечания и предложения приветствуются.
Проект WMLAB+WinVAR. ATmega8-16AI (5 В), TR24A (3.3 В). согласование уровней.
Линия F_PKT инвертирована. F_FIFO не используется.

К сообщению приложены файлы: 1.rar, 42Кb

112. litzendrat, 03.04.2009 21:41
*Vix*
А в коде F_PKT тоже не используется? Не могу найти, где. И надо ли её подтягивать к питанию (внешним, внутренним резистором)?

113. *Vix*, 06.04.2009 12:00
Схема неполная, но достаточная, чтобы посмотреть подключение TR24 и мега8.
В файле tr24_pp.c

enum PINS{
MOSI=PB3, F_PKT=PD2, ...


далее инициализация прерывания Int0 (он же F_PKT)

void InitMCU(void){
...
//Sleep & Int0 (falling edge)
MCUCR = _BV(SE) | _BV(ISC01);
GICR = _BV(INT0);
...
}

К сообщению приложены файлы: 1.rar, 16Кb

114. *Vix*, 07.04.2009 06:12
Обновленный код - исправлена ошибка реализации таймаута.
Теперь связь восстанавливается.

К сообщению приложены файлы: 1.rar, 2Кb

115. mrengineer, 12.04.2009 15:44
Здравствуйте,

осваиваю TR24A на основе кода китайца на ATMega16L + CVAVR
Переписал код для отправки данных, но излучения от модуля не регистрирую. Может, кто глянет свежим взглядом и обнаружит ошибку? Помогите, пожалуйста! Заработавшим кодом с удовольствием поделюсь с общественностью.

код:

//Code for ATMega8L + TR24A

#include <mega8.h>
#include <delay.h>

#define IN 0
#define OUT 1

// Pins definitions Îïðåäåëåíèå ïèíîâ ATMega8L - TR24A
#define nRST PORTB.1 // PB1 (OC1A) - RESET_n Ñáðîñ. Àêòèâíûé ïðè íèçêîì ñèãíàëå.
#define SS PORTB.2 // PB2 (SS) - SPI_SS Slave select input Âûáîð àêòèâíîãî óñòðîéñòâà ñ SPI (âûñîêèé - àêòèâåí?)
#define MOSI PORTB.3 // PB3 (MOSI) - SPI_MOSI Master Output Slave Input
#define MISO PORTB.4 // PB4 (MISO) - SPI_MISO Master Input Slave Out
#define CLK PORTB.5 // PB5 (SCK) - SPI_CLK SPI Clock. Òàêòèðîâàíèå îáìåíà ïî SPI
#define FIFO PORTC.5 // PC5 - FIFO_FLAG First input First out buffer full/empty
#define TXRX PORTC.4 // PC4 - PKT_FLAG Transfer/Recive packet Îòïðàêà/ïðèåì ïàêåòà

// Pins init Èíèôèàëèçàöèÿ ïèíîâ
void init_pins(void){
//Direction set. Óñòàíîâêà ïèíîâ
//Èçìåíèòå èìÿ ïîðòà è íîìåð ïèíà, åñëè òðåáóåòñÿ: DDRB.4 -> DDRC.3 Ïîðò B, ïèí 4 -> Ïîðò Ñ, ïèí 3
DDRB.1 = OUT; // nRST as out pin of MC ATMega8L
DDRB.2 = OUT; // SS as out pin
DDRB.3 = OUT; // MOSI
DDRB.4 = IN; // MISO as input
DDRB.5 = OUT; // CLK
DDRC.5 = IN; // FIFO
DDRC.4 = IN; // TXRX flag

//Î÷èñòêà ñîñòîÿíèé ïèíîâ Default pin states setting
nRST = 0;
SS = 0;
MOSI = 0;
CLK = 0;
}


// Sends char (8 bits) through SPI to the module
// Ïîñûëàåò ñèìâîë (8 áèò) ÷åðåç SPI ìîäóëþ
void Spi_Tx_Loop(unsigned char tx_data){
unsigned char temp;
int i;

for(i=0;i<8;i++){ // Send 8 bits
CLK = 1; // SPI_CLK high

temp = tx_data & 1;
if(temp) MOSI=1; //if first bit of tx_data = 1 then MOSI = 1
else MOSI=0; //else MOSI=0

tx_data<<=1; //Shift bit: 101000 -> 010001
delay_ms(1); // delay 1 ms
CLK = 0; // SPI_CLK low
delay_ms(1); // delay 1 ms
}
}

// Send register to SPI. Îòïðàâëÿåò ðåãèñòð ïî SPI.
void SpiTxReg(unsigned char rf_com, unsigned char rf_hb, unsigned char rf_lb){
SS = 1; // SS high (nonactive)
CLK = 0; // CLK low
SS = 0; // SS low (active)

Spi_Tx_Loop(rf_com); // command send
Spi_Tx_Loop(rf_hb); // high byte send
Spi_Tx_Loop(rf_lb); // low byte send

SS = 1; // SS high (nonactive)
CLK = 0; // CLK low
}

void INTO_TX(void){
SpiTxReg(0x52,0x80,0x00); //RESET TX
delay_ms(5);
SpiTxReg(0x07,0x01,0x10); //INTO TX
delay_ms(5);
}

// RF module init
void init_TR24A(void){
nRST = 0; // Reset active
delay_ms(30); // Wait 30 ms
nRST = 1; // Reset not active
delay_ms(30); // Wait 30 ms

//unsigned int rec_data; debug answer
//INITIAL REG48~REG58
SpiTxReg(0x30,0x98,0x00); //reg48
// rec_data=SpiRxReg(0x30);
SpiTxReg(0x31,0xFF,0x0F); //reg49
// rec_data=SpiRxReg(0x31);
SpiTxReg(0x32,0x80,0x28); //reg50
SpiTxReg(0x33,0x80,0x56); //reg51
SpiTxReg(0x34,0x4E,0xF6); //reg52
SpiTxReg(0x35,0xF6,0xF5); //reg53
SpiTxReg(0x36,0x18,0x5C); //reg54
SpiTxReg(0x37,0xD6,0x51); //reg55
SpiTxReg(0x38,0x44,0x04); //reg56
SpiTxReg(0x39,0xE0,0x00); //reg57
SpiTxReg(0x3a,0x00,0x00); //reg58
delay_ms(20); // delay for 20 ms
//INITIAL REG0~REG28
SpiTxReg(0x00,0x35,0x4F); //reg00
SpiTxReg(0x02,0x1F,0x01); //reg02
SpiTxReg(0x04,0x38,0xD8); //reg04
SpiTxReg(0x05,0x00,0xA1); //reg05
SpiTxReg(0x07,0x12,0x4C); //reg07
SpiTxReg(0x08,0x80,0x08); //reg08
SpiTxReg(0x09,0x21,0x01); //reg09
SpiTxReg(0x0A,0x00,0x04); //reg10
SpiTxReg(0x0B,0x40,0x41); //reg11
SpiTxReg(0x0C,0x7E,0x00); //reg12
SpiTxReg(0x0D,0x00,0x00); //reg13
SpiTxReg(0x0E,0x16,0x9D); //reg14
SpiTxReg(0x0F,0x80,0x2F); //reg15
SpiTxReg(0x10,0xB0,0xF8); //reg16
// SpiTxReg(0x11,0x00,0x66); //reg17
SpiTxReg(0x12,0xE0,0x00); //reg18
SpiTxReg(0x13,0xA1,0x14); //reg19
SpiTxReg(0x14,0x81,0x91); //reg20
SpiTxReg(0x15,0x69,0x62); //reg21
SpiTxReg(0x16,0x00,0x02); //reg22
SpiTxReg(0x17,0x00,0x02); //reg23
SpiTxReg(0x18,0xB1,0x40); //reg24
SpiTxReg(0x19,0x78,0x0F); //reg25
SpiTxReg(0x1A,0x3F,0x04); //reg26
// SpiTxReg(0x1B,0x80,0x00); //reg27
SpiTxReg(0x1C,0x58,0x00); //reg28
SpiTxReg(0x07,0x00,0x00); //Completed to enter the Idle Mode
}

void Write_FIFO_Start(unsigned char rf_com,unsigned char tx_leng){
// FIFO write start Íà÷àëî çàïèñè â áóôôåð FIFO
SS = 1;
CLK = 0;
SS = 0;
Spi_Tx_Loop(rf_com); //SPI command
Spi_Tx_Loop(tx_leng); //SPI TX length
}

void Write_FIFO_End(void){
SS = 1;
CLK = 0;
}

void Write_FIFO_data(unsigned char tx_data){ Spi_Tx_Loop(tx_data); }

void WRITE_FIFO(unsigned char tx_leng,unsigned char tx_data){
// Write data in First-in-first-out buffer to TX
// Çàïèñü äàííûõ â áóôôåð FIFO äëÿ ïåðåäà÷è
int i;
SpiTxReg(0x52,0x80,0x00); //RESET TX Ñáðîñ ïåðåäà÷è
delay_ms(5); //delay 5 ms

Write_FIFO_Start(0x50,tx_leng); //WRITE FIFO Çàïóñê çàïèñè â FIFO

for(i=0; i<tx_leng; i++) Write_FIFO_data(tx_data); //Çàïèñü äàííûõ

Write_FIFO_End(); //Îêîí÷àíèå çàïèñè â FIFO
SpiTxReg(0x07,0x01,0x10); //INTO TX  ðåæèì ïåðåäà÷è
delay_ms(5); //delay 5 ms
// i = 0;
//while( i == 0) //If PKT_FLAG = 0 while waiting, one down the implementation of equal
//{
//i = Port_B; //But here there is no role Application Notes Say io can read this data to determine whether the transfer is complete
//i &= PKT_FLAG; //Check pkt_flag
//}
SpiTxReg(0x52,0x80,0x00); //RESET TX
delay_ms(5); //delay 5 ms
SpiTxReg(0x07,0x00,0x00); //TX completed, enter the Idle Mode
delay_ms(5);
}


void main(void){
init_pins(); //Microcontroller's pins init
init_TR24A();

//TX. Îòïðàâêà äàííûõ
INTO_TX();
while (1){
WRITE_FIFO(0x04,0x99); //SEND 4BYTE LENGTH 0x99 0x99 0x99 0x99
}
}

116. HexfeT, 13.04.2009 02:21
Привет всем! Прошу прощение за молчание. F_FIFO не подключал, просто по SPI передавал данные, прием - простая проверка регистра данных, с выводом на ЛСД... Вчера попробовал код, от *Vix*, за что огромное спасибо от лентяя! Ping-Pong с XOR и сравнением с эталоном и вывод на светик. (библиотеки LCD для gcc нет). Да и этого достаточно. Конкретное применение этого модуля очевидно - охранный комплекс авто. А то всякие фрикеры с самодельными грабберами/глушилками мучают! Пущай 2.4 - осваивают! Еще раз спасибки!

117. mrengineer, 14.04.2009 17:22
*Vix*, а Вы в чем программировали? В Avr Studio? Хочу попробовать ваш код, но для этого нужна соответствующая IDE

118. *Vix*, 16.04.2009 07:21
mrengineer
Проект VMLAB+WinVAR.

119. HexfeT, 19.04.2009 23:26
Кстати, кому интересно есть еще обсуждения по реализации кода для TR24 - http://bitbucket.org/plumbum/rf-tr24/changeset/2beddb616f9a/ хотя я GCC недолюбливаю из-за его накрученность, мозг у меня другого расклада, но как говорится - всем спасибо за помощь!

120. Sonny80, 22.04.2009 14:49
Интересно узнать, какого же все-таки расстояния удалось добиться в итоге на открытой местности? 20м и предел?

121. *Vix*, 23.04.2009 07:08
Sonny80
На открытой местности будет больше 20-ти метров. На выходных постараюсь проверить.

122. Sonny80, 24.04.2009 08:40
В общем, мой результат соответсвует даташитовской диаграмме направленности.
На открытой местности вышли обещанные 100 м при правильном позиционировании.
Пакет 40 байт отсылался мастером раз в секунду, принимался слэйвом и гнался обратно к мастеру, где проверялся на правильность. Все это дело освещалось свтодиодами.

В помещении, конечно, 2.4 ГГц затухают ну-очень быстро, но с физикой ничего не поделаешь...

123. Different, 25.04.2009 20:35
Sonny80
Нижайший поклон вам за ваш героический труд!

124. san822, 27.04.2009 15:22
Sonny80, а листинг с конфигурациями можете выложить, с которым получились 100 метров дальности ?

125. Pit87, 27.04.2009 18:53
Приветствую всех. Может кто эксперементировал соединять MSP430 и трансивер TR24a. Я соединил только SPI выходы. До этого с SPI не общался. Может кто подскажет, как передать что-либо, без разницы что, и принять переданное? Соответственно у меня есть 2 платки на каждой из которых мк MSP430 соединнённый с TR24a 4 выводами. И ещё вопрос, можно ли пользоваться только выводами SPI, или необходимо подключить ещё какие ни будь?

126. Sonny80, 28.04.2009 11:29
san822

попробуйте для начала с рекомендованными настройками, я вот для эксперимента делал такую конфигурацию:

{0x30,0x98,0x00},
{0x31,0xff,0x8f},
{0x32,0xA0,0x28},
{0x33,0xA0,0x56},
{0x34,0x4E,0xF6},
{0x35,0xF6,0xF5},
{0x36,0x18,0x5C},
{0x37,0xD6,0x51},
{0x38,0x44,0x04},
{0x39,0xE0,0x00}

{0x09,0x00,0x01}, // передатчик на максимум
{0x00,0X01,0X4D}, // убрал LOW-POWER mode и MIXER_GAIN в 0

{0x02,0X1F,0X01},
{0x04,0xBC,0xF0},
{0x05,0x00,0xA1},{0x07,0x12,0x4C}, {0x08,0x80,0x08},{0x0a,0X00,0X04},
{0x0b,0X40,0X41},{0x0c,0X7E,0X00},{0x0d,0X00,0X00},{0x0e,0x16,0x9d},
{0x0f,0x80,0x2f},{0x10,0xb0,0xf8},{0x12,0xe0,0x00},{0x13,0xa1,0x14},
{0x14,0x81,0x91},{0x15,0x69,0x62},{0x16,0x00,0x02},{0x17,0x00,0x02},
{0x18,0xb1,0x40},{0x19,0x78,0x0f},{0x1a,0x3f,0x04},{0x1c,0x58,0x00}

Отпишитесь, как у Вас получится...

127. JE, 28.04.2009 20:13
Sonny80
попробуйте для начала с рекомендованными настройками, я вот для эксперимента делал такую конфигурацию:
Я делал именно так
Получил максимум 20 метров на улице

128. Sonny80, 29.04.2009 09:45
JE
А считываемые значения регистров совпадают у Вас с тем, что Вы записываете?
Соблюдаете ли порядок инициализации согласно разделу "Power on and register initialize sequence" в AN011?
Посмотрите, что читается из регистра 64 (0x40) после прописывания верхних регистров (REG48~REG58) после паузы 5мс на калибровку RFIC.
При нормальной инициализации должно выдать Framer/RFIC_st=0xC0 (IDLE).
Потом только прописывайте нижние регистры.
30 метров на школьном стадионе у меня брало без каких-либо ухищрений... Работало от двух батарей AA.

129. JE, 29.04.2009 13:06
Sonny80
При нормальной инициализации должно выдать Framer/RFIC_st=0xC0 (IDLE).
Именно!

Причем флаг CRC мигал как хотел, я сравнивал содержимое блоков

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

130. Sonny80, 29.04.2009 16:44
Вполне возможно и питание, ну я выложил исходники на C свои, посмотрите.. (Проект под IAR5.11b)
http://code.google.com/p/spiriton-tr24a-demo

131. Arseniy67, 30.04.2009 19:57
Хорошая платка...

132. JE, 30.04.2009 21:56
Да, после долгих мытарств все стало прописываться как надо... но дальность от этого больше не стала... Правда у мнея "под ухом" у модуля гуляло полтора киловатта на 45 КГц и около 100 кВольт на 100КГц... С выключенной нагрузкой дальность была 20-30 метров в максимуме, т.е. когда хотя бы каждый 20-й 30-й пакет доходил без ошибок, а со всем включенным дальность становилась 1 метр и то 10% целых пакетов... (хотя мне этого было достаточно )
А что у тебя с CRC? Тоже флаг врет?

133. Arseniy67, 30.04.2009 22:30
Вы не подскажите как работать с RSSI?

134. JE, 06.05.2009 01:40
в упор не понял, как его усыпить
говорю "SLEEP", а генератор продолжает работать... ничего не понял (

135. Sonny80, 06.05.2009 11:57
цитата:
JE:
в упор не понял, как его усыпить
говорю "SLEEP", а генератор продолжает работать... ничего не понял (
А статус говорит что он в спящем режиме? Надо будет попробовать, осциллографа нет под рукой...

136. JE, 06.05.2009 16:50
Да, статус говорит 00100
там еще фреймер можно выключить, тогда связь пропадает с модулем вообще, а генератор так и работает.
Более того, нашел с пяток регистров, отвечающих за генератор, всем сказал DOWN, но он хуже генерить не стал...
Вот если опускаю RESET, тогда генератор останавливается, но правильно ли это с точки зрения потребления? Общали в SLEEP 3.5мкА, у меня каждый мкА на счету...

137. slpo10, 14.05.2009 14:29
Что все замолчали? У кого еще какой опыт с TR24? Прицепил к пику, писал на Паскале, в основе код китайца. Дальность особо не щупал, но две гипсокартоновые стенки на 18 метров пробивает.

138. JE, 14.05.2009 15:11
я сделал несколько девайсов на самом чипе. метров на 15 работают, мне хватит, вот только в SLEEP никак не хотят уходить. Коммутирую питанием... два TR-а с чистым питанием метров 50 на улице пробивают (80% хороших пакетов)

139. R2-D2, 14.05.2009 22:48
цитата:
slpo10:
Что все замолчали? У кого еще какой опыт с TR24? Прицепил к пику, писал на Паскале, в основе код китайца. Дальность особо не щупал, но две гипсокартоновые стенки на 18 метров пробивает.

не могли бы поделиться кодом к пику...есть пару модулей TR24 хочу попробовать

140. JE, 15.05.2009 00:15
Arseniy67
не подскажите как работать с RSSI?
А чего с ним работать? считывай из регистра да радуйся
Только радость продлится не долго - он работает только в процессе приема, т.е. если совпали все заголовки. Сканер сделать не получится.

141. slpo10, 15.05.2009 14:39
цитата:
JE:
Да, статус говорит 00100
там еще фреймер можно выключить, тогда связь пропадает с модулем вообще, а генератор так и работает.
Более того, нашел с пяток регистров, отвечающих за генератор, всем сказал DOWN, но он хуже генерить не стал...
Вот если опускаю RESET, тогда генератор останавливается, но правильно ли это с точки зрения потребления? Общали в SLEEP 3.5мкА, у меня каждый мкА на счету...

Померял у себя - неинициализированный модуль в RESETе потребляет 58мкА

142. slpo10, 15.05.2009 15:06
цитата:
R2-D2:
цитата:
slpo10:
Что все замолчали? У кого еще какой опыт с TR24? Прицепил к пику, писал на Паскале, в основе код китайца. Дальность особо не щупал, но две гипсокартоновые стенки на 18 метров пробивает.
не могли бы поделиться кодом к пику...есть пару модулей TR24 хочу попробовать

Для PIC18F252, хотя не важно. Кварц 10МГц. Компилятор от Mikroelektronika.
Передающая сторона из data1[] отправляет данные.
Принимающая отправляет их в UART.

К сообщению приложены файлы: 1.zip, 1 file(s), 2Кb

143. R2-D2, 15.05.2009 22:39
slpo10- Спасибо, на выходных попробую разобраться!

144. slpo10, 16.05.2009 12:37
цитата:
JE:
в упор не понял, как его усыпить
говорю "SLEEP", а генератор продолжает работать... ничего не понял (

Аналогично. Говорю Sleep - 1.3 мА, держу Reset - 80мкА.
Можно, конечно, работать Resetом, но инициализация где-то 5мс 15мА

145. JE, 16.05.2009 22:13
я коммутирую питанием... прям с порта AVR подаю. Не тянет - просадка до 0.5В... но работает отлично

146. slpo10, 22.05.2009 16:48
Я с порта то же пытался, но у пика при питание 3 вольта просадка очень сильная, буду ставить внешний транзистор. Но я так же считаю такую работу неправильной. Как минимум каждый раз тратить энергию на инициализацию. Максимум, что добился без удерживания Reseta, это 58мкА, но при этом после каждой передачи надо делать сброс, после этого делать инициализацию REG48~REG58, а уже после этого в 48ой писать 0x980C , а не 9804, как в pdf. Кроме этого при инициализации в 49 писать 0xFF8F, а не 0хFF0F.

147. JE, 22.05.2009 18:22
а теперь посчитай энергию на инициализацию и 58мкА, что лучше?

148. slpo10, 22.05.2009 22:25
цитата:
JE:
а теперь посчитай энергию на инициализацию и 58мкА, что лучше?

При одной передаче в минуту за час съедим 1,25мкА*ч. Т.е. энергия инициализации фигня по сравнению сколько съедим в паузе.

149. JE, 22.05.2009 23:33
ну у меня он вообще включается по запросу... раз где-нибудь в месяц-два

150. x893, 05.06.2009 14:19
У меня работает всё
http://akb77.com/g/avr/usb-dongle-with-tr24a-radio-module/

151. slpo10, 05.06.2009 14:20
В помещении склада между полками затухает очень быстро . Разницы в дальности при инициализации от китайца и инициализации отсюда (макс вых.мощность) не увидел.

152. slpo10, 06.06.2009 10:04
цитата:
x893:
У меня работает всё
http://akb77.com/g/avr/usb-dongle-with-tr24a-radio-module/

Очень информативно.
Режим SLEEP 3мкА работает? Какая дальность?

А правильная ссылка, наверно, эта:
http://akb77.com/g/gps/handmake-gsm-gps-tracker-second-edition/ ?

153. Pit87, 10.06.2009 15:12
Народ, а можно как ни будь используя только SPI передать и принять чего-либо. Т.е. использовать только MISO, MOSI, CLK, SS на TR24a?

154. Different, 23.06.2009 15:52
К концу июля в продажу на территории России и СНГ поступят модули TR24P (http://delanet.ru/content/view/555/39/) с повышенной мощностью.

155. JE, 29.06.2009 00:19
Different
К концу июля в продажу на территории России и СНГ поступят модули TR24P с повышенной мощностью.
1) Скока (где-то) будет стоить?
2) а наборы "сделай сам" будут продаваться? У TI есть чип - умощнитель, тут тот же путь выбран? Будут чипы отдельно?
А то модуль 24a слишком большой и дорогой, мне понравилось использовать сами EM-ки (на дальностях до 5 метров)

156. Different, 29.06.2009 08:40
Цена примерно 8.2USD
TR24P в руках еще не держал, но судя по фоткам, там просто транзисторы в УРЧ и в УМ (схемы, увы, нет). Как приедут, сделаю увеличенное фото.
Наверняка можно будет применить любой широкополосный СВЧ усилитель AVAGO или Sirenza.

157. Angelo, 27.07.2009 18:57
Почитал ветку, так и не понял толком, сначала отзывы на модули были так себе, потом вроде запустили их боле менее…
Получится ли из заявленного 1мбит/с сделать 800кбит/с (20% на Рида-Соломона) на прямой видимости 3..5 метров (в пределах комнаты)????

158. mmv16, 29.07.2009 16:45
Привет всем! планирую делать небольшой дэвайс на TR24 c батарейным питанием, потому очень важно чтоб модуль уходил в SLEEP. вопрос такой: у кого-то получилось уложить это "чудо" в SLEEP и заставить его питать обьявленые 3,5мкА??? заранее благодарен за ответы...

159. Qwertty, 29.07.2009 18:11
mmv16
Привет всем! планирую делать небольшой дэвайс на TR24 c батарейным питанием, потому очень важно чтоб модуль уходил в SLEEP.
Поставьте ключ на питание и перестанете зависеть от "уйдет в слип/не уйдет".

160. JE, 03.08.2009 12:21
Angelo
Не не надо Соломона, пакеты либо оборванные, либо смещенные в случае ошибки приходят. Тупо CRC и повтор пакета
3-5 метров пробъет

161. Angelo, 03.08.2009 19:50
цитата:
JE:
Angelo
Не не надо Соломона, пакеты либо оборванные, либо смещенные в случае ошибки приходят. Тупо CRC и повтор пакета
3-5 метров пробъет

А на вскидку, какой % битых пакетов будет на 3...5 метров по прямой, при скорости 1мбит?

162. JE, 04.08.2009 01:47
Angelo
А на вскидку, какой % битых пакетов будет на 3...5 метров по прямой, при скорости 1мбит?
если питание хорошее и все хорошо сделано, то при активном вращении аппаратов в руках я думаю на 3-5 метров будет 2-5% битых пакетов. Если в руках не вращать, то можно ожидать и 0.5%

163. Angelo, 04.08.2009 17:09
Вы написали, что на 5ти метрах понравились ЕМ чипы, а не модули. Т.е. можно рассчитывать, что копия антенны на плате (ЛУТ) будет работать весьма неплохо, плюс небольшая экономия места. Интересно, а сэкономить кварц и затактироваться с МК получиться? Впрочем, видимо лучше сделать наоборот и затактироваться с ЕМ/модуля. Основным преимуществом для вас от использования чипов вместо модуля была стоимость или именно техническая сторона?

164. Qwertty, 10.08.2009 21:13
В Терре появились TR24P Желающим погасить Wi-Fi в своем доме срочно закупаться
Цена вполне гуманная - 261.85р. Правда теперь уже не "all-in-one", антенну надо будет делать самому.

165. tui, 19.08.2009 21:53
ДОброго времени суток все участникам. Ознакомился со всей веткой - есть люди, которые относительно успешно смогли использовать tr24. Просьба - прокомментируйте, пожалуйста, процесс связи по SPI с данным модулем. Сам я пишу только на ассемблере (начинающий ), потому все примеры на С (включая "код китайца") для меня достаточно сложны. Уже несколько дней не могу вообще добиться ответа от модуля. А очень хочееется!
ЗЫ: SPI организовываю программно! Потому важны все необходимые задержки и т.п. Или может есть код на ассемблере?

166. JE, 20.08.2009 00:24
Для начала надо прочитать даташит, там все написано.
Я читал три раза Ответа не было. Потом прочитал еще раз, внимательно, понял, что при обращении к некоторым регистрам надо делать задержку. К каким и какую? - надо читать даташит

167. tui, 20.08.2009 08:23
Я бы не стал постить, не прочитав даташит. И тоже не один раз. Но Вы правы, вопрос не совсем корректен, даже коды не предоставил, прошу прощения. У меня ощущение, что я где-то путаю именно в протоколе SPI, потому как все необходимые для радиомодуля задержки я соблюдаю (даже с избытком). Время выполнения одной команды в моем случае 0,5 мкс.
ВОт, мб взглянете:
; ***********************************************************************
; Подпрограмма последовательного приема RECEIVE_BYTE по линии SDI (8 бит)
;************************************************************************
receive_byte
movlw 0x08 ; число битов
movwf num_spi ; в регистр num_spi
receiv_0
bsf SCLK ; выставляем тактовый
btfsc SDI ; считываем данные
bsf _C
btfss SDI
bcf _C
bcf SCLK ; сбрасываем тактовый
rlf RECEIVE_BYTE ; сохраняем принятый бит в регистр и сдвигаем его
decfsz num_spi ; так 8 раз
goto receiv_0
return

; ***********************************************************************
; Подпрограмма последовательной передачи TRANS_BYTE в линию SDO (8 бит)
;************************************************************************
transmit_byte
movlw 0x08 ; число битов
movwf num_spi ; в регистр Num
trans_0
btfsc TRANS_BYTE,7 ; выставляем данные на шину
bsf SDO
btfss TRANS_BYTE,7
bcf SDO
nop
bsf SCLK ; формируем тактовый импульс
nop
bcf SCLK
rlf TRANS_BYTE
decfsz num_spi
goto trans_0
return

Добавление от 20.08.2009 10:33:

имеет ли значение тот факт, что у меня сигнал SCLK не носит строго периодического характера? а то, что у паузы между передними фронтами SCLK составляют единицы мкс (а по даташиту тактовый сигнал имеет период 83нс)?
зы: пробовал работать и по заднему фронту тактового - ничего не могу считать , считывать пытаюсь значения регистров по умолчанию, т.е. подаю питание на tr24, затем выставляю reset_n в 1, жду 3мс, выставляю SPI_SS в 0 и после этого читаю. Кстати, при записи во внутренние регистры tr24 бит r/w необходимо выставлять "0", а при чтении "1"? Или что-то я путаю?

168. ender11, 24.08.2009 20:46
сдох ресурс на delanet'е

169. VSt, 27.08.2009 14:56
Господа, а как у вас обстоят дела с питанием этого модуля? В частности, про СС25хх пишут, что важно держать VCC стабильным (не то что в диапазоне питающих напряжений, а именно стабильным - источник с малым внутренним сопротивлением), т.к. даже незначительные просадки при работе на передачу приводят к смещению несущей и рандомным потерям пакетов.

170. Qwertty, 27.08.2009 20:10
VSt
В частности, про СС25хх пишут, что важно держать VCC стабильным
В EM198810AW есть встроенный стабилизатор на 1,8В. Так что видимо этой проблемы тут нет.

171. tui, 14.09.2009 23:42
Народ, у можно ли уменьшить потребляемый ток в режиме приема за счет, например, снижения пропускной способности? Девайс большую часть времени сидит в режиме приема и потребляет 30мА, что неприемлемо в моем случае.

172. Different, 16.09.2009 08:48
цитата:
ender11:
сдох ресурс на delanet'е
Живее всех живых: http://delanet.ru/

173. bioname, 28.10.2009 04:08
таки получилось заставить парочку tr24a передавать-принимать. Пока всё упрощённо - передача пакета в одну сторону. Конфиг - тот что и у всех. завтра попробую проверить дальность.
завтра наступило. на улице дождь. проверял в длинном коридоре. метров 20-25 берёт вроде как без особых проблем (возможно то что коридор переотражает чтоли) весь коридор - дет больше 50м - принять таки может. вот бы лазерный дальномер пригодился....

174. Dismon, 02.11.2009 09:10
bioname

А как в разных комнатах, т.е. без прямой видимости?

175. bioname, 02.11.2009 11:53
ну это первое что я мог проверить в три часа ночи
Результат - метров 12 не по прямой через три дверных проёма. стены пеноблок и белый кирпич. два последних проёма впринципе на одной линии, если напротив них - то дальше думаю можно было бы отойти, но там спальня где спала супруга, не хотелось её будить. На против первого проёма - окно кухни на улицу. так вот на улице под окном +/- ~метр от окна влево-вправо можно отойти, дальше приём прерывается.
Потом уже на улице получил как раз довольно большое расстояние. Тестил так - на заднюю полку машины положил передающий модуль. а в руках - приёмный. и отходил контроллируя приём. Ну никак не меньше 30м на глаз.
Ещё буду проводить тесты, то сообщу что и как тестил и что получил. Пока только предполагаю что в спальне приём будет только в дверях...

176. Dismon, 02.11.2009 16:29
Кстати, шарясь по инету в поисках где купить нашел такую фигню:

http://www.megachip.ru/item.php?item_id=664145

Кто нибудь использовал такие антены? И если да, как они в сравнении с антеной в виде дорожки на плате?

177. Different, 05.11.2009 08:04
Чип-антенны дороже, занимают меньше места на плате, стабильнее по параметрам.

178. Andrey_T, 16.11.2009 18:25
Доброго Всем времени суток. У меня к Вам вопрос поразительно схожий с tui, но я не tui . А вопрос такого порядка, я включил этот передатчик на 3,3 В и захотел получить от него хоть какой-нибудь признак жизни. Для начала RESET=1, интересно должна ли быть на 9 ноге (BRCLK) частота 12 Мгц, как пишут в даташит? После того как частоты не обнаружил пробую читать регистры, но передатчик всеровно молчит, даташит я читал много раз сразу говорю, подскажите что не так?
кусок проги для mega16:
sbi portb, RESET_n ;RESET
rcall wait ;20ms
sbi portb, ss
nop
nop
ldi r16,$04
out spdr, r16
sbis spsr,spif
rjmp PC-1

ldi r16,$0f
out spdr, r16
sbis spsr,spif
rjmp PC-1

in r16, spdr
out portc, r16

ldi r16,$0f
out spdr, r16
sbis spsr,spif
rjmp PC-1

in r16, spdr
out portc, r16
nop
nop
cbi portb, ss

Для тех кто не сильно в асме, поясняю RESET=1, пауза 20 мс, ss=1, далее пакет из 3х байт пауза между пакетами 500 нс, ss=0, после 2го и третьего байта читаю данные из SPI и шлю с порт С. SPI настроен так(1<<SPE|1<<MSTR|0<<CPHA|1<<DORD|0<<CPOL). Пробовал разные варианты но передатчик молчит как рыба. Помогите разобраться что надо сделать чтобы прочесть с него значения регистров?

179. bioname, 16.11.2009 18:43
там на самой платке есть ли смд-деталька возле той заветной ноги?
верно ли в 1 выставлять то?
мой вариант для пиков:
#define SELECT() PORTA.F5 = 0 // Ножка SELECT
#define DESELECT() PORTA.F5 = 1

#define RESET() PORTA.F3 = 0 // Ножка RESET
#define START() PORTA.F3 = 1

Как вариант - загнать в тот же протеус и посмотреть свою диаграмму, + сравнить с даташитом.

180. Andrey_T, 17.11.2009 15:19
Да резистора там нет но площадка к которой можно стать щупом есть, там ничего нет. На счет RESET=0 я честно говоря не проверял, если это так я буду очень смеяться, я ж как нормальный человек, написано low active так значит если низкий то сброс, если высокий значит сброса нет... Спасибо я щас попробую. Вот если в протеусе была библиотека TR24 или RFM12 было бы класс.

Добавление от 17.11.2009 15:57:

Где же может быть про** ? У меня уже глазик скоро начнет дергаться.
ATmega16 16MHz

;Stack
LDI xl,LOW(ramend)
OUT SPL,xl
LDI xl,HIGH(ramend)
OUT SPH,xl
;SPI
ldi xl,(1<<SPE|1<<MSTR|1<<CPHA|1<<SPR0)
out spcr,xl
;Ports
ldi xl, (1<<RESET_n|0<<FIFO_flag|0<<PKT_flag|1<<SS|0<<Din|1<<Dout|1<<CLK)
out ddrb, xl
ser xl
out ddrc,xl

cbi portb, RESET_n ;RESET
sbi portb, ss
rcall wait ;5ms

loop:
cbi portb, ss
nop
nop
ldi r16,$04 ;Adress reg
out spdr, r16
sbis spsr,spif
rjmp PC-1

ldi r16,$ff ;Dummy byte
out spdr, r16
sbis spsr,spif
rjmp PC-1

in r16, spdr
out portc, r16

ldi r16,$ff
out spdr, r16
sbis spsr,spif
rjmp PC-1

in r16, spdr
out portc, r16
nop
nop
sbi portb, ss

rcall del ;10 mcs

rjmp loop

181. bioname, 17.11.2009 17:14
ну модель tr24a не очень то не обходима. всего-то нужно наладить SPI обмен.

182. Andrey_T, 18.11.2009 14:07
Это понятно что надо наладить, самое интересное как? Этот код я заганял в протеус, сделал частоту, паузы, сигналы reset, select точь в точь как в коде от *Vix*, единственно остается согласование уровней, у него сделано на делителях, я пробовал на делителях фронты затянуты нет уверенности что трке понравится, пробовал собрать схему с симисторами 3,3 вольта есть но сигал какойто покалеченый жизнью. Пока что вариантов почему передатчик на выдает значения регистров нет, если у кого есть идеи буду рад их прочитать.

Добавление от 18.11.2009 14:09:

кстати RESET должен быть как мне кажиться высоким, нихкий это сброс.

183. Qwertty, 18.11.2009 15:06
Andrey_T
На счет RESET=0 я честно говоря не проверял, если это так я буду очень смеяться, я ж как нормальный человек, написано low active так значит если низкий то сброс, если высокий значит сброса нет

cbi portb, RESET_n ;RESET
sbi portb, ss
rcall wait ;5ms

loop:
cbi portb, ss

Ну так и где "высокий значит не сброс"?
А в первом варианте, как тут уже заметили, такая же ошибка была с CS (ss тут обозвана)

184. Andrey_T, 19.11.2009 15:38
Если в этом проблема, то тут уже все по 100 раз перепробовано, мне что-то здается что в моем коде какаято принципиальная ошибка, по включению питания ресет=1, cs у меня ss во время передачи 0. Времена я все соблюдаю, в документации пишется, что паузы для декодировка адреса 3 мкс, это есть, паузы между байтами там в наносекундах, у меня 5 мкс. частота период 83 нс у меня 1 мкс (10 КГц), в настройках spi стоит работа мастеровм с CPHA=1, тут остается направление передачи данных за что отвечает бит dor, я пробовал и 1 и 0, хотя в документации он похоже как 0 исходя из циклограммы работы. Что я еще не учел. Питание разве что, но тут уже 3й вариант пробую, сначала на симисторах, потом на делителях, но все они тянут фронты, сейчас схема на основе триггера шмидта, изветсно что она инвертирует сигнал, это я тоже все учел, на ноги передатчика все приходит что надо, но почему-то я не могу прочитать с него ни одного регистра, это очень странно, потому что если разобраться что такое spi - это же сдвиговый регистр, а сним я работать умею причем практически с любыми и почти всех производителей и разных серий. Прям не знаю уже сто с ним делать, очень непонятная штука этот тр24, тут остается что он мог сгореть, но у меня он уже 3й не мог я его спалить, больше чем 3,2 вольта я ему не даю. Может кто-нибудь еще че предложит что с ним делать?

185. bioname, 19.11.2009 19:04
зачем симисторы, триггера? начнём с того что покажите вашу схему. у меня когда-то rs232 не запускался. бился несколько часов. после перекура поглядел на схему и понял что перепутал в разводке tx-rx местами.
чтение и запись регистров tr24a - это самое простое что с ним можно делать. далее сложнее - добиться уверенной и безошибочной передачи,двусторонний обмен, куча девайсов в одном месте...

186. Andrey_T, 20.11.2009 17:03
Привожу Вам схему подключения, там нет PRT и FIFO флагов, так как нет в них пока надобности. Ставиться задача наладить обмен данными между МК и TR2a через SPI.
http://www.imageup.ru/img71/sch212913.jpg (Схема подключения - 4372x2837, 252,4Kb)
В схеме используется микросхема 74нс14 для формирования фронтов. Данная микросхема инвертирует сигнал, поэтому в коде программы соответственно сигналы управления инверсные.

;PORTB
.equ RESET_n =1
.equ FIFO_flag =3
.equ PKT_flag =2
.equ SS =0
.equ Dout =5
.equ Din =6
.equ CLK =7
.ORG 0
rjmp L_RESET

L_RESET:
;Stack
LDI xl,LOW(ramend)
OUT SPL,xl
LDI xl,HIGH(ramend)
OUT SPH,xl
;SPI
ldi xl,(1<<SPE|1<<MSTR|1<<CPHA|0<<DORD|1<<CPOL|0<<SPR1|1<<SPR0) ;|1<<SPIE)
out spcr,xl
;Ports
ldi xl,(1<<RESET_n|0<<FIFO_flag|0<<PKT_flag|1<<SS|0<<Din|1<<Dout|1<<CLK)
out ddrb, xl
ser xl
out ddra,xl
out ddrc,xl


cbi portb, RESET_n ;RESET
rcall lwait ;5ms
rcall lwait ;5ms
rcall lwait ;5ms

loop:
sbi portb, ss
sbi portb, clk

rcall del ;3мкс
ldi r16,$09
com r16
out spdr, r16
sbis spsr,spif
rjmp PC-1

rcall del
ldi r16,$ff
com r16
out spdr, r16
sbis spsr,spif
rjmp PC-1

ldi r16, 129
in r16, spdr
out portc, r16

rcall del
ldi r16,$ff
com r16
out spdr, r16
sbis spsr,spif
rjmp PC-1

ldi r16, 129
in r16, spdr
out portc, r16

rcall wait ;6 мкс
rjmp loop
;---------------------------------------------------------------------------------

Обнаружено было, что иногда происходит обмен данными, но стоит сбросить микроконтроллер и обмен прекращается, потом он не восстанавливается. Такая же ситуация если на вход сигнал напряжением 5 В. Модуль не умерает и работает, по крайней мере SPI но причина его сбоя мне не ясна.

187. BSVi, 20.11.2009 17:23
Может, кто-то еще е в курсе о моей статье
http://bsvi.pp.ua/drajver-modulya-tr24a-ili-transivera-em198810

188. bioname, 20.11.2009 17:26
по схеме не очевидно как происходит преобразование уровня который идёт от tr24a к микроконтроллеру.

189. Andrey_T, 20.11.2009 19:32
Хух вроде получил на miso данные но мне кажется что tr не понимает адрес что я ему пишу, я пытаюсь читать разные регистры а он мне одно и то же $44 $44

Статью BSVi я читал, но мне интересно почему у меня не получается я пишу на асме разбираться в си времени нет.

190. bioname, 20.11.2009 20:01
повторю. по схеме не очевидно как происходит преобразование уровня который идёт от tr24a к микроконтроллеру.

что было отправлено в tr24a для его конфигурации?
или сразу читать пробовалось?
читать регистры нужно пробовать хотя бы после первой партии их конфигурирования. Я вообще не читаю/сравниваю их в моменты начальной инициализации. слепил всё в один массив. сделав паузу в нужном месте.

191. Andrey_T, 20.11.2009 20:32
схему я седня уже родить не смогу, скажу что никак не проводилось преобразование уровня от tr24 к микроконтроллеру, mega 16 понимает от 2 в логику. Читать регистры я пробовал без инициализации так и после их начальной инициализации. Значений которые пишет производитель по умолчанию получить ни разу не получилось. Чаще всего это либо с4с4 либо 4444 в hex бывает и билиберда разная. Нет уверенности что он понимает то что я ему записываю, на разные пакеты отвечает одним и тем же.

192. -=kalina=-, 30.11.2009 09:53
Доброго времени суток! Смотрю обсуждение работы с радиомодулем не теряет актуальности.... Недавно тоже купил себе парочку и решил запустить. Перелопатил несколько исходников, даташитов и апнотов, но детально и в подробностях понять его работу так и не получилось. Решил написать свой алгоритм, чтоб не зависел от платформы и языка. Прикладываю его к своему сообщению. Прошу внести острую, но справедливую критику. Уверен, что после шлифовки он много ещё кому пригодится... Ещё у мнея есть парочка вопросв,подскажите кто знает:
1. Что такое framer и зачем он нужен?
2. Можно ли обойтись без работы с флагом заполн./опуст. ФИФО?
3. Зачем необходимо время RX timeout ?
4. В передаваемом пакете данных (макс размер 64 байта) можно всё использовать для данных? В исходниках люди почемуто указывают размер в первом байте, обязательно ли это?

К сообщению приложены файлы: 1.rar, 104Кb

193. -=kalina=-, 30.11.2009 09:54
и ещё ....

К сообщению приложены файлы: 1.rar, 113Кb

194. -=kalina=-, 30.11.2009 09:54
и это...

К сообщению приложены файлы: 1.rar, 97Кb

195. tui, 01.12.2009 15:08
Приветствую! Сейчас ситуация такова: радиомодуль инициализируется, удается принимать и передавать информацию. НО, несмотря на то, что в режиме приема есть процедура чтения буфера FIFO, остальные регистра TR24a прочитать не удается ни до его инициализации, ни после. Кому-нибудь удавалось считывать регистры??? Второе замечание: приемник работает в таком режиме - 10 мс не принимает, 10мс принимает. Передатчик передает так - 10 мс передает, 60 мс пауза. Передача идет пачками по 16 пакетов (1 пачка 10 мс), каждый пакет состоит из 2 (было и из 6 байт). Приемнику достаточно поймать хотя бы 1 пакет из 16 в пачке. Настройки регистров радиомодуля - рекомендуемые. Устойчивый прием наблюдается на расстоянии 20-30 см. Принимает вроде и с расстояния 7м, и 10м, и через стену железобетонную, но частенько пропускает команды. Если покрутить передатчик в руках, прием возобновляется... Неужели на таком расстоянии (1 м) так сильна зависимость устойчивости приема от диаграммы направленности????
1) Как считать внутренние регистры радиомодуля?
2) Как максимизировать устойчивость связи?

ЗЫ: есть вышеуказанные процедуры на ассемблере для PIC16.

196. bioname, 01.12.2009 15:37
конечно же удалось считывать регистры. только вот не все они для чтения.
А вот какое значение регистра отвечающего за мощность передатчика записываете при инициализации?

197. tui, 01.12.2009 17:16
Адрес регистра, отвечающего за мощность передатчика вроде как 9. В нем биты 7-11 это "5-bit transmit power amplifier gain setting" ВОт их и менял. Сейчас прописано значение регистра "0х2101" Пробовал "0х0001" и еще какие-то - никакого эффекта. На приемной стороне пробовал менять настройки 0 регистра, а именно биты 11-15 ("Set 5-bit gain value for RX mixer"). Также ничего положительного не заметил. Сейчас в 0 записано "0x354F"
ЗЫ: ну с чтением помучаюсь еще

198. Andrey_T, 28.12.2009 13:24
Спасибо за труд и алгоритм, но сказать по правде я с TR24 намучался и бросил его. Пришлось переплатить немного и купить RFM12, что удивительно он у меня заработал, и через 1 час я уже и передавал и принимал. Он ведет себя полностью адекватно читать безпроблем записать без проблем прям сказка после tr24 иначе и не скажешь. Ни слова не могу сказать плохого об RFM12 модулях, скорости пока что хватает, а вот когда понадобиться боле ох тогда опять буду его трахать, спасибо за то что помогали.

199. Different, 29.12.2009 08:15
Может повторюсь, но на всякий случай вот библиотечка для TR24A (http://akb77.com/g/avr/usb-dongle-with-tr24a-radio-module/) .

Страницы: назад · 1 2 3 · далее / все сообщения темы на одной странице


URL: http://forum.ixbt.com/topic.cgi?id=48:7870

Время GMT +03. Даты в формате dd.mm.yyyy.