TR24A
- Реклама
- Томатный
- Нашел транзистор. Понюхал.
- Сообщения: 174
- Зарегистрирован: Вт июл 31, 2007 20:32:30
- Откуда: Киев, Украина
- Контактная информация:
Re: TR24A
по моим - нет, но есть другие результаты. гляди здеть коменты http://bsvi.pp.ua/drajver-modulya-tr24a ... a-em198810
-
fukamemoru
- Родился
- Сообщения: 1
- Зарегистрирован: Чт апр 01, 2010 20:36:14
- Откуда: Запорожье
Re: TR24A
Поработал с TR24A. Результат меня удовлетворяющий получил, хотя полного понимания работы модуля до сих пор нет (очень мало описаний). Для интересующихся выкладываю свой проект. Схема и плата сделаны в P-CAD 2006, программа на ассемблере в AvrStudio. В настоящее время через два таких устройства читаю данные со счетчика эл.энергии в пределах своей квартиры. Для перехода на более дальние расстояния купил два TR24P, буду пробовать. Считаю, что перспектива у TR24 в области домашней автоматизации есть.
Re: TR24A
Блин, очень любопытные посты надо всетаки достать из коробки модули.
Re: TR24A
хотел бы узнать получилось ли двух сторонняя связь и если да то выложите схемку в графических файлах
- Реклама
Re: TR24A
Здравствуйте! А никто случайно не пользовал транссиверы из той же сериии 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). Или я чего-то не понимаю и здесь какое-то хитрое управление?
Может подскажете,если есть знающие люди?
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). Или я чего-то не понимаю и здесь какое-то хитрое управление?
Может подскажете,если есть знающие люди?
-
Dasg
- Родился
- Сообщения: 3
- Зарегистрирован: Пн апр 04, 2011 17:19:35
- Откуда: Москва
- Контактная информация:
Re: TR24A
Исходники на C++ для работы с tr24 можно скачать здесь: http://robot-develop.org/archives/984. А здесь есть реализация протокола для tr24, гарантирующая доставку пакета: http://robot-develop.org/archives/1621.
Re: TR24A
Про TR24F.
Данный трансивер не имеет ничего общего с TR24A, разве что название
В его основе микруха ARF2496K (http://www.datasheet4u.net/download.php?id=677356) Даташит вполне внятный. Никакой хитрой инициализации не требуется. У меня сразу пошёл обмен
Однако со странностями
Согласно даташита размер пакета надо задавать до обмена и на стороне передатчика и на стороне приёмника, но засылать в передатчик требуется на байт больше, иначе последний байт теряется
. Приёмник ещё веселей посылка приходит в таком виде: 00+переданные_байты+два_старших_бита_последнего_байта+0000 почему так
? - а Кот его знает.
Но главное работает - а лишние биты отрезать - не вопрос.
Дальность не проверял - мне не надо
Данный трансивер не имеет ничего общего с TR24A, разве что название
В его основе микруха ARF2496K (http://www.datasheet4u.net/download.php?id=677356) Даташит вполне внятный. Никакой хитрой инициализации не требуется. У меня сразу пошёл обмен
Однако со странностями
Согласно даташита размер пакета надо задавать до обмена и на стороне передатчика и на стороне приёмника, но засылать в передатчик требуется на байт больше, иначе последний байт теряется
Но главное работает - а лишние биты отрезать - не вопрос.
Дальность не проверял - мне не надо
Re: TR24A
привет. если не влом напиши инструкцию как использовать TR24F, а то прям совсем что-то не густо с ним.
Re: TR24A
Здравствуйте. Использую TR24A в устройстве с питанием от литиевой батарейки на 3В. Проблема в том, что если питать устройство от батарейки напрямую, то ток потребления модуля в режиме приема ~25ма и вобщем-то все работает, но только пока батарейка не разрядится до 2.5В, поэтому собрал step-up конвертер на 3.3В на MAX1674, но при подключении его к модулю ток возростает до 120ма (хотя сам конвертер работает исправно, 3.3В выдает, ток покоя 30мка, запитал от него светодиод - все ок), напряжение просидает до 1В и все отключается. Не пойму что делать. Кондеры на питании есть, lc фильтр по питанию тоже не помогает.
Обсуждаем TR24A
Наверное каждому хочется сделать что нибудь, что действительно изменит этот мир
Радиомодуль TR24A - первый шаг на пути к этому. Давайте делать это вместе! Если у кого то уже есть опыт работы с этой микросхемой, то не остаёмся равнодушными и делимся своими бесценными советами.
Сразу собрал всю документацию, чтобы не отвлекаться по мелочам
Тема дубль.
Сюда перенес.
aen
Сразу собрал всю документацию, чтобы не отвлекаться по мелочам
Тема дубль.
Сюда перенес.
aen
У радио нет будущего. Летательные аппараты тяжелее воздуха невозможны. Скоро выяснится, что рентгеновские лучи - мистификация.
[i]Лорд Кельвин, физик, 1899 г.[/i]
[i]Лорд Кельвин, физик, 1899 г.[/i]
Re: TR24A
Хочу получить небольшое уточнение: управление этим радиомодулем происходит со стороны сопряженного с ним мк через SPI и заключается в посылке байтов данных?
У радио нет будущего. Летательные аппараты тяжелее воздуха невозможны. Скоро выяснится, что рентгеновские лучи - мистификация.
[i]Лорд Кельвин, физик, 1899 г.[/i]
[i]Лорд Кельвин, физик, 1899 г.[/i]
-
chubik
- Родился
- Сообщения: 1
- Зарегистрирован: Ср окт 07, 2009 15:11:44
- Откуда: Донецк
- Контактная информация:
Re: TR24A
Здравствуйте! Пытаюсь связать два модуля 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;
};

