Страница 2 из 2

Re: TR24A

Добавлено: Сб мар 13, 2010 16:09:43
s_black
По вашим экспериментам возможна ли бесперебойная связь на расстоянии около 60-70 метров?

Re: TR24A

Добавлено: Сб мар 13, 2010 17:46:58
Томатный
по моим - нет, но есть другие результаты. гляди здеть коменты http://bsvi.pp.ua/drajver-modulya-tr24a ... a-em198810

Re: TR24A

Добавлено: Пт апр 02, 2010 13:27:34
fukamemoru
Поработал с TR24A. Результат меня удовлетворяющий получил, хотя полного понимания работы модуля до сих пор нет (очень мало описаний). Для интересующихся выкладываю свой проект. Схема и плата сделаны в P-CAD 2006, программа на ассемблере в AvrStudio. В настоящее время через два таких устройства читаю данные со счетчика эл.энергии в пределах своей квартиры. Для перехода на более дальние расстояния купил два TR24P, буду пробовать. Считаю, что перспектива у TR24 в области домашней автоматизации есть.
PROJ_TR24.RAR
(97.33 КБ) 830 скачиваний

Re: TR24A

Добавлено: Вт июн 08, 2010 14:21:46
murashh
Блин, очень любопытные посты надо всетаки достать из коробки модули.

Re: TR24A

Добавлено: Вт июн 08, 2010 15:11:35
naykon
хотел бы узнать получилось ли двух сторонняя связь и если да то выложите схемку в графических файлах

Re: TR24A

Добавлено: Пн дек 06, 2010 16:53:21
Сергей Х
Здравствуйте! А никто случайно не пользовал транссиверы из той же сериии TR24F, по распиновке выводов самого модуля немного непонятно.
PIN 1 +VCC
PIN 2 PSB Power saving or power down
PIN 3 NC
PIN 4 SPIEN Digital input
PIN 5 TRSDAT Digital input/output
PIN 6 TRSCLK Digital input
PIN 7 TRRDY Digital input
PIN 8 DRSSI Digital output
PIN 9 TRINT Digital output
PIN 10 GND

SPI же 4-х проводная шина? Я вижу только три(SPIEN,TRSDAT,TRSCLK). Или я чего-то не понимаю и здесь какое-то хитрое управление?
Может подскажете,если есть знающие люди?

Re: TR24A

Добавлено: Пн апр 04, 2011 17:22:55
Dasg
Исходники на C++ для работы с tr24 можно скачать здесь: http://robot-develop.org/archives/984. А здесь есть реализация протокола для tr24, гарантирующая доставку пакета: http://robot-develop.org/archives/1621.

Re: TR24A

Добавлено: Вт май 24, 2011 20:49:31
bussa
Про TR24F.
Данный трансивер не имеет ничего общего с TR24A, разве что название :)))
В его основе микруха ARF2496K (http://www.datasheet4u.net/download.php?id=677356) Даташит вполне внятный. Никакой хитрой инициализации не требуется. У меня сразу пошёл обмен :beer:
Однако со странностями :wink:
Согласно даташита размер пакета надо задавать до обмена и на стороне передатчика и на стороне приёмника, но засылать в передатчик требуется на байт больше, иначе последний байт теряется :dont_know:. Приёмник ещё веселей посылка приходит в таком виде: 00+переданные_байты+два_старших_бита_последнего_байта+0000 почему так :shock: ? - а Кот его знает.
Но главное работает - а лишние биты отрезать - не вопрос.
Дальность не проверял - мне не надо

Re: TR24A

Добавлено: Сб июн 04, 2011 21:14:02
21h
привет. если не влом напиши инструкцию как использовать TR24F, а то прям совсем что-то не густо с ним.

Re: TR24A

Добавлено: Вт июн 07, 2011 21:12:08
bussa
Выкладываю даташит на микруху - ядро TR24F

Re: TR24A

Добавлено: Вт июн 07, 2011 21:38:09
AndreyK
Здравствуйте. Использую TR24A в устройстве с питанием от литиевой батарейки на 3В. Проблема в том, что если питать устройство от батарейки напрямую, то ток потребления модуля в режиме приема ~25ма и вобщем-то все работает, но только пока батарейка не разрядится до 2.5В, поэтому собрал step-up конвертер на 3.3В на MAX1674, но при подключении его к модулю ток возростает до 120ма (хотя сам конвертер работает исправно, 3.3В выдает, ток покоя 30мка, запитал от него светодиод - все ок), напряжение просидает до 1В и все отключается. Не пойму что делать. Кондеры на питании есть, lc фильтр по питанию тоже не помогает.

Обсуждаем TR24A

Добавлено: Пн сен 05, 2011 00:09:40
Hispanus
Наверное каждому хочется сделать что нибудь, что действительно изменит этот мир :) Радиомодуль TR24A - первый шаг на пути к этому. Давайте делать это вместе! Если у кого то уже есть опыт работы с этой микросхемой, то не остаёмся равнодушными и делимся своими бесценными советами.

Сразу собрал всю документацию, чтобы не отвлекаться по мелочам :)




Тема дубль.
Сюда перенес.




aen

Re: TR24A

Добавлено: Пн сен 05, 2011 22:17:57
Hispanus
Хочу получить небольшое уточнение: управление этим радиомодулем происходит со стороны сопряженного с ним мк через SPI и заключается в посылке байтов данных?

Re: TR24A

Добавлено: Пт фев 24, 2012 16:08:06
chubik
Здравствуйте! Пытаюсь связать два модуля TR24F - безрезультатно. Написал код(привожу ниже). По SPI регистры параметрируются, но как-то через раз, читаются отлично. Прерывание при отсылке на передатчике происходит, значит пакет с данными прошел, а вот на приемнике глухо. Регистры 0, 9-16 на стороне приемника и передатчика учтены и поставлены правильно. Помогите найти ошибку.

Код: Выделить всё

#define RDY     PORTC.4 //27 out
#define SCK     PORTC.2 //25 out
#define DAT     PORTC.0 // 23 in/out
#define INDAT     PINC.0//  23
#define DAT_DDR DDRC.0 // 23
#define EN      PORTC.5 //28   out
#define PSB     PORTD.1  //3 out
#define INT     PIND.2  // 4 in
//#define DRSSI   PIND.6

flash unsigned char regs[25]={
0xA8,// 0x28 T/R Channel index
0x03,// Crystal Frequency and RF Power
0x78,// Data Function Control
0x87,// RSSI Function Control
0x20,// RSSI Value
0x0F,// Data format control
0x30,// Multi Burst Packet Repeat Control
0x21,// Power Ramp Control
0x03,// Addres Length
0x02,// Destination Addres 0x34
0x02,// Destination Addres 0x22
0x02,// Destination Addres 0x55
0x00,// Destination Addres
0x00,// Destination Addres
0x01,// Device Addres
0x01,// Device Addres
0x01,// Device Addres
0x00,// Device Addres
0x00,// Device Addres
0x00,// Reserved
0x00,// PLL Pre-Turn-On Time
0xB4,// PLL Lock Time
0x00,// Reserved
0x22,// Option
0x04 // RX Turn On Time
}  ;


void spi_access_mode(void)
{
DAT=1;
PSB=1;
EN=1;
RDY=0;
SCK=0; 
#asm("nop")
};

void active_mode(void)
{
DAT=1;
PSB=1;
EN=0;
SCK=0;
RDY=1; 
#asm("nop")

};

// Output eight-bit value using selected bit-bang pins
void spi_bitbang_out(char value)
{
  char x;
  for(x=8;x>0;x--){
    if(value & 0x80)DAT=1;                                    
    else DAT=0;
    #asm("nop")
    SCK=1;
    value<<=1;
    #asm("nop")
    SCK=0;
    #asm("nop")
    }
}  ;

// Input eight-bit value using selected bit-bang pins
char spi_bitbang_in()
{
  unsigned char x=0;
  unsigned char y;
        x=0;
  for(y=8;y>0;y--){
    SCK=1;
    #asm("nop")
    x<<=1;
    if(INDAT==1){x|=0b00000001;} 
    SCK=0;
    #asm("nop")
    
    }                                         // Store next bit
  return(x);
} 

void spi_write_regs(unsigned char addres,unsigned char data)
{
spi_access_mode();
DAT_DDR=1;                                 
    spi_bitbang_out(addres|0x80);            // Send address
    spi_bitbang_out(data);                   // Send data
    EN=0;          
} ;         
 
unsigned char spi_read_reg(unsigned char addres)
{  unsigned char data;
spi_access_mode();
DAT_DDR=1;                                 
    spi_bitbang_out(addres);                  // Send address
DAT_DDR=0;                                 
   data=spi_bitbang_in();                    //read data
    EN=0;  
    return(data);
};  


void tr24f_init(void)
{unsigned char  y;
for(y=0;y<24;y++)
spi_write_regs(y,regs[y]);
};

unsigned char *fifo_read(unsigned char data_length)
{unsigned char *data, y;
active_mode();
DAT_DDR=0;
for(y=data_length;y>0;y--)
data[y]=spi_bitbang_in();
return(data);
};

void fifo_write(unsigned char *data,unsigned char data_length)
{
unsigned char y;
active_mode();
DAT_DDR=1;    
delay_us(20);
spi_bitbang_out(regs[0x09]);
spi_bitbang_out(regs[0x0A]);
spi_bitbang_out(regs[0x0B]);
for(y=data_length;y>0;y--)
spi_bitbang_out(data[y]); 
spi_bitbang_out(1); 
spi_bitbang_out(1); 
spi_bitbang_out(1); 
RDY=0;
};