www.open-tager.ru
http://www.open-tager.ru/forum/

Вопросы по различным протоколам
http://www.open-tager.ru/forum/viewtopic.php?f=5&t=1468
Страница 2 из 4

Автор:  Gaspar [ 09 мар 2012, 23:09 ]
Заголовок сообщения:  Re: Вопросы по различным протоколам

Ну солнечная засветка сильно снижает дальность, так что скорее первое. У TSAL 6100 не только угол меньше, но и мощность повыше, может замены будет достаточно. Насчёт частоты американцы да и смоленцы, пишут что на 56 дальность выше, в связи с тем, что на этой частоте помех от солнца меньше, но встречалось и другое мнение, так что точно сказать не могу

Автор:  Hold [ 10 мар 2012, 19:32 ]
Заголовок сообщения:  Re: Вопросы по различным протоколам

Понято, привезем несколько приемников на 56 кгц, посмотрим как они. По поводу мощности - имеется ввиду мощность излучения же? по даташиту там почти тоже самое, импульсный ток максимум 1.5 А. Есть только различия в пункте Power dissipation, которые 160 и 210 мВт соответственно. Зимой, кстати, игры не проводятся, а в летнее время снега нет, отражает солнца поменьше. Либо надо программо бороться с короткими импульсами солнечного ИК излучения. Кстати, проводил кто нибудь анализ средней длительности принятой помехи от солнца TSOP-ом? на разных частотах (36, 56 кгц)

Автор:  KorSar [ 10 мар 2012, 22:53 ]
Заголовок сообщения:  Re: Вопросы по различным протоколам

Излучатель из Прицела получается не очень хороший. У меня таким излучателем на солнце На снегу метров 30 получал. Ваши 110 метров результат неплохой с таким излучателем.

Автор:  Hold [ 11 мар 2012, 14:49 ]
Заголовок сообщения:  Re: Вопросы по различным протоколам

Написали простеньку обработку "тычков" в паузах. Проверить на ярком солнце пока нет возможности. Обрабатывает помехи до 50-70 мкс, больше смысла нет делать, уже теряется сигнал на фоне помех, да и чтобы так загадить сигнал надо постараться. К тому же TSOP выдает куда короче помехи, в пределах 5-20 мкс.
К примеру:
Идеальный случай - ни единой помехи
Изображение
Слегка загадим сигнал в паузах. Такой сигнал вполне себе стабильно и постоянно преобразуется в последовательность 1100 1010
Изображение
Ставить обработку помех на битах данных смысла нет, там если пропадает сигнал значит мощности передатчика уже явно нехватает, либо чувствительность приемника сильно упала от засветки.

Автор:  Pingvin [ 11 мар 2012, 15:19 ]
Заголовок сообщения:  Re: Вопросы по различным протоколам

Hold писал(а):
Написали простеньку обработку "тычков" в паузах. Проверить на ярком солнце пока нет возможности. Обрабатывает помехи до 50-70 мкс, больше смысла нет делать, уже теряется сигнал на фоне помех, да и чтобы так загадить сигнал надо постараться. К тому же TSOP выдает куда короче помехи, в пределах 5-20 мкс.
К примеру:
Идеальный случай - ни единой помехи
Изображение
Слегка загадим сигнал в паузах. Такой сигнал вполне себе стабильно и постоянно преобразуется в последовательность 1100 1010
Изображение
Ставить обработку помех на битах данных смысла нет, там если пропадает сигнал значит мощности передатчика уже явно нехватает, либо чувствительность приемника сильно упала от засветки.

А как фильтруете?
Какой алгоритм?
И откуда помехи беруться?
Фильтр по питанию TSOP-а стоит?

Автор:  Hold [ 11 мар 2012, 15:32 ]
Заголовок сообщения:  Re: Вопросы по различным протоколам

фильтрую программно) помехи берутся откуда угодно, от люминесцентных ламп до солнечного ИК излучения. Картинки выше - эт из симулятора proteus, там осциллограф есть. В течении часа попробую в железо зашить и в упор лампу дневного света направить, посмотрю как оно работает.
UPD:
некоторые результаты. В два датчика TSOP31236 направлена в упор лампа дневного света, расстояние до лампы - 2 см. Также в два датчика смотрит излучатель. Проверял прошивку с фильтрацией "тычков" и без оной. Без фильтрации - из 100 однобайтных посылок 24 посылки не принялись. С фильтрацией - не дошло 3 посылки, 3 посылки принялись некорректно. Работает блин. Надобно солнце, а в сибири как назло пасмурно.
UPD №2:
неоднозначные результаты. Чуть увеличил допуски в обоих протоколах, по плюс/минус 160 мкс. Теперь ни одной потери или некорректного приема данных. А вот на небольших допусках, порядка плюс/минус 40-50 мкс, там с фильтрацией коротких импульсов ошибок меньше. Выходит зря писал фильтрацию. Напишу на всякий случай свои допуски:
2400: от 2240 до 2560 мкс
1200: от 1040 до 1360 мкс
600: от 400 до 800 мкс(чуть больше чем в остальных, плюс/минус 200 мкс)
Щас попробую написать простенький код, чтобы в течении часа мегабайты попередавал при постоянной помехе от лампы, все же интересно где больше ошибок будет. И будут ли они.

Автор:  Pacifist [ 11 мар 2012, 17:40 ]
Заголовок сообщения:  Re: Вопросы по различным протоколам

Hold писал(а):
фильтрую программно) помехи берутся откуда угодно, от люминесцентных ламп до солнечного ИК излучения. Картинки выше - эт из симулятора proteus, там осциллограф есть. В течении часа попробую в железо зашить и в упор лампу дневного света направить, посмотрю как оно работает.
UPD:
некоторые результаты. В два датчика TSOP31236 направлена в упор лампа дневного света, расстояние до лампы - 2 см. Также в два датчика смотрит излучатель. Проверял прошивку с фильтрацией "тычков" и без оной. Без фильтрации - из 100 однобайтных посылок 24 посылки не принялись. С фильтрацией - не дошло 3 посылки, 3 посылки принялись некорректно. Работает блин. Надобно солнце, а в сибири как назло пасмурно.
UPD №2:
неоднозначные результаты. Чуть увеличил допуски в обоих протоколах, по плюс/минус 160 мкс. Теперь ни одной потери или некорректного приема данных. А вот на небольших допусках, порядка плюс/минус 40-50 мкс, там с фильтрацией коротких импульсов ошибок меньше. Выходит зря писал фильтрацию. Напишу на всякий случай свои допуски:
2400: от 2240 до 2560 мкс
1200: от 1040 до 1360 мкс
600: от 400 до 800 мкс(чуть больше чем в остальных, плюс/минус 200 мкс)
Щас попробую написать простенький код, чтобы в течении часа мегабайты попередавал при постоянной помехе от лампы, все же интересно где больше ошибок будет. И будут ли они.

Фильтрацию писали не зря - пригодится однозначно.
Допуски ИМХО уж очень лояльные, 33% - мне кажется многовато.
Раз у вас уже испытательный стенд собран - не желаете проверить свои датчики на реальную пропускную способность? Мне, например, не удалось на 4800 бод получить прием с ТСОП-а 56кГц (по даташиту так и должно быть, но все равно обидно :)) Интересно на какой скорости пойдет искажение или неприем информации.

Автор:  Pingvin [ 12 мар 2012, 06:21 ]
Заголовок сообщения:  Re: Вопросы по различным протоколам

Hold писал(а):
фильтрую программно) помехи берутся откуда угодно, от люминесцентных ламп до солнечного ИК излучения. Картинки выше - эт из симулятора proteus, там осциллограф есть. В течении часа попробую в железо зашить и в упор лампу дневного света направить, посмотрю как оно работает.
UPD:
некоторые результаты. В два датчика TSOP31236 направлена в упор лампа дневного света, расстояние до лампы - 2 см. Также в два датчика смотрит излучатель. Проверял прошивку с фильтрацией "тычков" и без оной. Без фильтрации - из 100 однобайтных посылок 24 посылки не принялись. С фильтрацией - не дошло 3 посылки, 3 посылки принялись некорректно. Работает блин. Надобно солнце, а в сибири как назло пасмурно.
UPD №2:
неоднозначные результаты. Чуть увеличил допуски в обоих протоколах, по плюс/минус 160 мкс. Теперь ни одной потери или некорректного приема данных. А вот на небольших допусках, порядка плюс/минус 40-50 мкс, там с фильтрацией коротких импульсов ошибок меньше. Выходит зря писал фильтрацию. Напишу на всякий случай свои допуски:
2400: от 2240 до 2560 мкс
1200: от 1040 до 1360 мкс
600: от 400 до 800 мкс(чуть больше чем в остальных, плюс/минус 200 мкс)
Щас попробую написать простенький код, чтобы в течении часа мегабайты попередавал при постоянной помехе от лампы, все же интересно где больше ошибок будет. И будут ли они.

А Вы уверенны, что с передатчика сигнал выходит "ровный да гладкий"?
А то у меня была проблема - передавался "рваный" пакет из за "конкуренции" прерываний - в одном прерывании как раз формировался пакет, а другое, которое мешало правильно сформировать пакет, генерило звук.
Выход был найден, и ошибки прекратились.
Как формируете несущую?
Проверьте и передатчик.

Автор:  Hold [ 12 мар 2012, 09:31 ]
Заголовок сообщения:  Re: Вопросы по различным протоколам

Передатчик проверяли на запоминающем осциллографе, там все чисто. Там просто нечему мешаться, там только одно прерывание Таймера2, больше в передатчике ничего нет. Впрочем выложу код передатчика

Цитата:
#include <mega8.h>
#include <delay.h>

#define ID_RPG 9 //номер РПГ, отсылается на броню 0-15
#define RPG_CODE 11 //код, отсылаемый на броню 0-15

#define CPU_F 16000000 //частота МК, Гц
#define FREQ 56000 //частота модуляции, Гц

#define START (2400*FREQ)/500000 //длительность старт-бита, мкс
#define PAUSE (600*FREQ)/500000 //длительность паузы, мкс
#define DATA_1 (1200*FREQ)/500000 //длительность логической 1, мкс
#define DATA_0 (600*FREQ)/500000 //длительность логического 0, мкс
#pragma used+

unsigned char n=8,buf=0;
int i;

struct {
unsigned char end_data:1;
unsigned char end_start_bit:1;
} flag;


interrupt [TIM2_COMP] void timer2_comp_isr(void)
{
i--;
if (i==0)//если отсчитали все, отключаем таймер
{
TCCR2=0x00;
}

}

void SendData(unsigned char data) //функция передачи байта
{
while (i==0 && n!=255) // если таймер закончил отсчет или посылка не отправлена, то
{
if (flag.end_start_bit==0) //если стартовые бит не отправлен, то
{
flag.end_start_bit=1; //стартовый бит отправлен
i=START;
TCCR2=0x19; //включаем таймер 2
break;
}
else
{
if (flag.end_data==0)
{
flag.end_data=1;
if(data & (1<<n)) i=DATA_1;
else i=DATA_0;
TCCR2=0x19;
break;
}
else
{
flag.end_data=0;
i=PAUSE;
TCCR2=0x09;
n--;
if (n==255) // посылка отправлена
{
delay_ms(1000);
buf++;
flag.end_data=1;
flag.end_start_bit=0;
n=8;
break;
}
}

}
}

}


void main(void)
{
PORTB=0x00;
DDRB=0x08;

PORTC=0x00;
DDRC=0x00;

PORTD=0x00;
DDRD=0x00;

TCCR0=0x00;
TCNT0=0x00;

TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

OCR2=CPU_F/(FREQ*2);

MCUCR=0x00;

TIMSK=0x80;

ACSR=0x80;
SFIOR=0x00;

#asm("sei")

flag.end_data=1;
//buf=ID_RPG<<4; //присваиваем переменной buf номер РПГ, и сдвигаем влево на 4 разряда
//buf=buf+RPG_CODE;

while (1)
{
if (PINB.1==1)
{
SendData(buf);
}
};
}

Автор:  семеныч [ 15 мар 2012, 12:36 ]
Заголовок сообщения:  Re: Вопросы по различным протоколам

друзья! ближайшие к нам клубы, все на оборудовании от "полигон64", у нас LW. есть ли какие нибудь варианты совместить наши протоколы? новое оборудование полигона64 совместно с LW?

Страница 2 из 4 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/