Фрикер Клуб
 

Вернуться   Фрикер Клуб > Основной раздел > Статьи

Важная информация

Ответ
 
Опции темы Опции просмотра
Старый 17.08.2013, 14:50   #301
PressAnyKey
Резидент клуба
 
Аватар для PressAnyKey
 
Регистрация: 31.12.2011
Сообщений: 891
По умолчанию Re: Трансивер CC1101

Цитата:
Сообщение от kab
у меня последняя сборка вот такая: http://www.aliexpress.com/item/CC110...452721042.html
с тем конфигом как-то совсем грустно, с моим конфигом чуть лучше, но 50 метров недостижимо. антенка - спиралька.

Цитата:
Сообщение от PressAnyKey
Брал точно такой же модуль у этого же продавца, с одним и тем же конфигом у этого разница была 40 кГц например в конфиге забито 433,92 а в реале получается 433,88 заливал этот же конфиг в другой модуль там было чётко 433,92


Сначала поменял на этом модуле опорный кварц потом сам чип результат всё тот же смещение частоты, на другом модуле с этим же конфигом всё нормально, получается китайцы с обвязкой намудрили.
__________________
Press Any Key to continue...|
PressAnyKey вне форума   Ответить с цитированием
Старый 23.08.2013, 18:36   #302
usatorrent
Гость клуба
 
Регистрация: 24.07.2013
Сообщений: 5
По умолчанию Re: Трансивер CC1101

передатчик не передает.далаю ресет,записываю настройки,читаю настройки с сс1101 и проверяю,делаю строб на передачу и выставляю на '1' на GDO0.
режим асинхронный,ask,433,patable не трогал,по дефолт.настройки:
DW H'000D', H'020C', H'0347', H'0832', H'0B06', H'0D10', H'0EB0', H'0F71'
DW H'10F5', H'1183', H'1230', H'1515', H'1818', H'1916', H'20FB', H'2211'
DW H'23E9', H'242A', H'2500', H'261F', H'2C81', H'2D35', H'2E09'
H'add+data'
не пойму почему.может с настройками не то чтото?

Добавлено через 1 час 27 минут
и вижу также на miso после строба ресета,записи и строба передачи как 'OF'.вроде как и не запущен передатчик.уровень miso- low после строба передачи

Последний раз редактировалось usatorrent; 23.08.2013 в 17:13.
usatorrent вне форума   Ответить с цитированием
Старый 24.08.2013, 04:49   #303
andynvkz
Резидент клуба
 
Регистрация: 03.11.2011
Сообщений: 759
По умолчанию Re: Трансивер CC1101

Цитата:
Сообщение от usatorrent
передатчик не передает.далаю ресет,записываю настройки,читаю настройки с сс1101 и проверяю,делаю строб на передачу и выставляю на '1' на GDO0.
режим асинхронный,ask,433,patable не трогал,по дефолт.настройки:
DW H'000D', H'020C', H'0347', H'0832', H'0B06', H'0D10', H'0EB0', H'0F71'
DW H'10F5', H'1183', H'1230', H'1515', H'1818', H'1916', H'20FB', H'2211'
DW H'23E9', H'242A', H'2500', H'261F', H'2C81', H'2D35', H'2E09'
H'add+data'
не пойму почему.может с настройками не то чтото?

Добавлено через 1 час 27 минут
и вижу также на miso после строба ресета,записи и строба передачи как 'OF'.вроде как и не запущен передатчик.уровень miso- low после строба передачи

patable нужно трогать ))
andynvkz вне форума   Ответить с цитированием
Старый 03.09.2013, 22:59   #304
usatorrent
Гость клуба
 
Регистрация: 24.07.2013
Сообщений: 5
По умолчанию Re: Трансивер CC1101

Цитата:
Сообщение от andynvkz
patable нужно трогать ))

спасиба,получилось.только не заводилость пока не поцепил 10кОм м/ду землей и MISO,ждало "0" в резете.не знаю,нормально ли это.
в асинхронном режиме сделал меандр 50/50 милисек нормально,принимаю нормально. 120/120 микро не могу увидеть,генерю но чтото не то.делаю просто в цикле для проверки.есть емаил пообщатся? мой usatorrent at gmail com

Добавлено через 38 минут
сделал 1/1 мили сек в цикле и принимаю 1.7/0.4 мили сек,но стабильно.
2/2 мили - вижу 2.7/1.5 мили сек. не пойму,вроде в даташите такого не видел

Добавлено через 30 минут
модуль брал http://www.ebay.com/itm/400522751335...84.m1439.l2649
явно не указано что ASK or OOK. но думаю что без разницы,должен чип работать

Последний раз редактировалось usatorrent; 03.09.2013 в 22:36.
usatorrent вне форума   Ответить с цитированием
Старый 06.09.2013, 23:41   #305
usatorrent
Гость клуба
 
Регистрация: 24.07.2013
Сообщений: 5
По умолчанию Re: Трансивер CC1101

Цитата:
Сообщение от usatorrent
явно не указано что ASK or OOK. но думаю что без разницы,должен чип работать

завел передатчик,нашел в чем не прав был.теперь собственно вопросы (ASK/OOK, Asynchronous mode, 433.92 Mhz):
1. читаю marcstate и Chip Status Byte .первый у меня соотверствует моим стробам,второй в тех же местах программы =h'0F'.чем они отличаются и должны ли совпадать?
2. завел программу только с ramping=11.со 100 микросек меандр и больше нормально.50 микро не передает. с ramping=17 чтото не то передавало,не пойму почему.
3. перевел в режим приема.проверил в асинхронном режиме.из 15 передатчиков принимал только 6.перенастроил channel spacing и RX filter BW (увеличил) и стал принимать 14.один както не идет,но шумы от него вижу.шумы эфира на 433 не вижу
вообще,хотя на аналоговый приемник все нормально принимаю (последний немного странный по ощущениям,обьснить не могу),и шумы тоже.подозреваю что несущая немного другая.как мне проверить carrier sense или где копать?
usatorrent вне форума   Ответить с цитированием
Старый 10.09.2013, 11:32   #306
hi-electron
Член клуба
 
Регистрация: 26.07.2011
Сообщений: 101
По умолчанию Re: Трансивер CC1101

ребят где может быть косячёк что ловит не далеко метров 20 всего хотя модули на 500 метров? где глядеть? приём или передача и какой параметр может давай осечки?
hi-electron вне форума   Ответить с цитированием
Старый 10.09.2013, 11:57   #307
andynvkz
Резидент клуба
 
Регистрация: 03.11.2011
Сообщений: 759
По умолчанию Re: Трансивер CC1101

не понятно что ты принимаешь указывая что модули 500м
andynvkz вне форума   Ответить с цитированием
Старый 10.09.2013, 12:20   #308
hi-electron
Член клуба
 
Регистрация: 26.07.2011
Сообщений: 101
По умолчанию Re: Трансивер CC1101

Цитата:
Сообщение от andynvkz
не понятно что ты принимаешь указывая что модули 500м

я в теме исходники выкладывал в архиве. регистры конфига тахиона взял.

ну к примеру вот

отправка

Код:
#define TE 400

#define PRE_COUNT 43
#define HDR_COUNT 10

#define RT_PORT PORTD
#define RT_DDR DDRD
#define RT PD2

#define RT_HI RT_PORT|=(1<<RT)
#define RT_LO RT_PORT&=~(1<<RT)

#define RT_TOGGLE RT_PORT^=(1<<RT)

void PREAMB() {
unsigned char a;
  for(a=0; a<PRE_COUNT; a++)
  {
  RT_TOGGLE;
    _delay_us(TE);                   
}
  RT_LO;
  _delay_us(HDR_COUNT*TE);
}


void tx(unsigned char byt) {

unsigned char b=0;
int a;

for(a=7; a!=-1; a--){
    b=byt>>a;
    b=b & 1 ;


if(b==1) {RT_HI;_delay_us(TE);   RT_LO;_delay_us(2*TE);}
if(b==0) {RT_HI;_delay_us(2*TE); RT_LO;_delay_us(TE);}
 }

}
 

void radio(){
spi_init();     
cc1101_init();
_delay_ms(100);
cc_strobe(SIDLE);
cc_strobe(STX);
PREAMB();
tx('T');
tx('E');
tx('S');
tx('T');
tx(13); 
cc_strobe(SIDLE);
cc_strobe(SPWD);


 }
приём

Код:
void USART_Receive(char c)
{

while ( !( UCSR0A & (1<<UDRE0)) ) 
;
UDR0 = c; 
} 

#define TIMER_DIV 32 //us


#define RX_PORT PORTD
#define RX_DDR DDRD
#define RX_PIN PIND
#define RX PD2
#define RX_STATE (RX_PIN&(1<<RX))



volatile struct
{
  unsigned char state;
  unsigned char TE, pre_count, data, dat_bit, buff, buffer[100],buffer_cnt;

} keeloq;


ISR(TIMER2_OVF_vect) {  
asm("wdr");  
USART_Receive('1'); 
USART_Receive(13);
}
 


#define RX_PORT PORTD
#define RX_DDR DDRD
#define RX_PIN PIND
#define RX PD2
#define RX_STATE (RX_PIN&(1<<RX))



#define TIMER_DIV 32 //us

#define KL_MIN_PRE_COUNT 4
#define KL_MAX_TE (800/TIMER_DIV)
#define KL_MIN_TE (200/TIMER_DIV)



void process_keeloq(unsigned char p_len)
{
 // unsigned char a;

  switch(keeloq.state)
  {
    case 0:
      if(!RX_STATE) break;
      keeloq.state=1;
      keeloq.pre_count=0;
      break;

    case 1: //pre+hdr
      if(RX_STATE)
       if(p_len>KL_MAX_TE*10 || p_len<KL_MIN_TE)
       {
         keeloq.state=0;
         break;
       }

      if(!RX_STATE)
       if(p_len>KL_MAX_TE || p_len<KL_MIN_TE)
       {
         keeloq.state=0;
         break;
       }

      if(RX_STATE && p_len>KL_MAX_TE)
      {
        if(keeloq.pre_count<KL_MIN_PRE_COUNT)
        {
          keeloq.state=0;
          break;
        }

        keeloq.TE=(p_len)/10;
        keeloq.state=2;
        keeloq.dat_bit=0;
        keeloq.data=0;
        break;
      }

      keeloq.pre_count++;
      break;

    case 2: //dat
      if(p_len<keeloq.TE/2 || p_len>keeloq.TE*2+keeloq.TE/2)
      {
        keeloq.state=0;
        break;
      }

      if(RX_STATE) break;

keeloq.data<<=1;

if(p_len<keeloq.TE+keeloq.TE/2) {keeloq.data|=1;}

keeloq.dat_bit++;



}
}


unsigned char keeloq_tx() {

while (keeloq.dat_bit!=8);
keeloq.buff=keeloq.data;
keeloq.dat_bit=0;
keeloq.data=0;

}

#define FILTER 20
#define FILTER_STEP 5
#define MAX_PULSE (6000/TIMER_DIV) //6ms
#define MIN_PULSE (64/TIMER_DIV) //64us

ISR(INT0_vect)
{
  unsigned char len;

  len=TCNT0;
  if(len<MIN_PULSE) return;
  TCNT0=0;

  if(len>MAX_PULSE)
  {
    keeloq.state=0;

  }

  process_keeloq(len);

}



int main(void)
{

// Input/Output Ports initialization
PORTB=0xFF;
DDRB=0x00;

// Port C initialization
PORTC=0x3F;
DDRC=0x00;

// Port D initialization
PORTD=0xFC;
DDRD=0x00;

DDRD&=~(1<<2);
PORTD&=~(1<<2);


// External Interrupt(s) initialization
// INT0: On
EICRA=0x01;
EIMSK=0x01;
EIFR=0x01;
PCICR=0x00;


// Clock value: 31.250 kHz
TCCR0A=0x00;
TCCR0B=0x04;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;

// Timer/Counter 1 initialization
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
ASSR=0x00;
TCCR2A=0x00;
TCCR2B=0x00;
TCNT2=0x00;
OCR2A=0x00;
OCR2B=0x00;

// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=0x00;
// Timer/Counter 1 Interrupt(s) initialization
TIMSK1=0x00;
// Timer/Counter 2 Interrupt(s) initialization
TIMSK2=0x01;


// USART initialization
// USART Baud Rate: 38400 (Double Speed Mode)
UCSR0A=0x02;
UCSR0B=0x08;
UCSR0C=0x06;
UBRR0H=0x00;
UBRR0L=0x19;


// Analog Comparator: Off
ACSR=0x80;
ADCSRB=0x00;


spi_init();     
cc1101_init();   

_delay_ms(100);

cc_strobe(SIDLE);
cc_strobe(SRX);



sei();

while (1){

keeloq.buff=keeloq_tx();


USART_Receive(keeloq.buff);
  }
}
hi-electron вне форума   Ответить с цитированием
Старый 10.09.2013, 15:26   #309
hi-electron
Член клуба
 
Регистрация: 26.07.2011
Сообщений: 101
По умолчанию Re: Трансивер CC1101

может всё дело в конфиге?
на передатчике у меня стоит
Код:
volatile unsigned char config_433_ook[]={
  IOCFG0,  0x0D,
  IOCFG2,  0x0D,
  FIFOTHR, 0x47,
  PKTCTRL0,0x32,
  FSCTRL1, 0x06,
  FSCTRL0, 0x00,
  FREQ2,   0x10,
  FREQ1,   0xB0,
  FREQ0,   0x71,
  MDMCFG4, 0xA7,
  MDMCFG3, 0x32,
  MDMCFG2, 0x30,
  MDMCFG1, 0x22,
  MDMCFG0, 0xF8,
  MCSM2,   0x07,
  MCSM1,   0x30,
  MCSM0,   0x18,
  AGCTRL2, 0x04,
  AGCTRL1, 0x00,
  AGCTRL0, 0x92,
  FREND1,  0xB6,
  FREND0,  0x11,
  FSCAL3,  0xE9,
  FSCAL2,  0x2A,
  FSCAL1,  0x00,
  FSCAL0,  0x1F,
  TEST2,   0x81,
  TEST1,   0x35,
  TEST0,   0x09,
  PATABLE, 0x00,
  PATABLE, 0xc0,
  PATABLE, 0x00,
  PATABLE, 0x00,
  PATABLE, 0x00,
  PATABLE, 0x00,
  PATABLE, 0x00,
  PATABLE, 0x00 
 
};
на приёмнике
Код:
volatile unsigned char config_433_ook[]={
  IOCFG0,  0x0D,
  IOCFG2,  0x0D,
  FIFOTHR, 0x47,
  PKTCTRL0,0x32,
  FSCTRL1, 0x06,
  FSCTRL0, 0x00,
  FREQ2,   0x10,
  FREQ1,   0xB0,
  FREQ0,   0x71,
  MDMCFG4, 0xA7,
  MDMCFG3, 0x32,
  MDMCFG2, 0x30,
  MDMCFG1, 0x22,
  MDMCFG0, 0xF8,
  MCSM2,   0x07,
  MCSM1,   0x30,
  MCSM0,   0x18,
  AGCTRL2, 0x04,
  AGCTRL1, 0x00,
  AGCTRL0, 0x92,
  FREND1,  0xB6,
  FREND0,  0x11,
  FSCAL3,  0xE9,
  FSCAL2,  0x2A,
  FSCAL1,  0x00,
  FSCAL0,  0x1F,
  TEST2,   0x81,
  TEST1,   0x35,
  TEST0,   0x09
 
};
Добавлено через 34 минуты
Цитата:
Сообщение от tahion
Оптимальный тот, который ловит все и с далека. В темах тока демо-конфиги, проверить работоспособность и т.п.

я так и понял, что дело в конфиге, есть у кого не демо чтобы на большие растояния ловил?
hi-electron вне форума   Ответить с цитированием
Старый 10.09.2013, 16:19   #310
andynvkz
Резидент клуба
 
Регистрация: 03.11.2011
Сообщений: 759
По умолчанию Re: Трансивер CC1101

есть не демо, тут выкладывали, а вообще ими играть нужно, глядишь и настроишь на свой лад
andynvkz вне форума   Ответить с цитированием
Ответ
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 22:00. Часовой пояс GMT +3.


vBulletin 4.1.0 Перевод: zCarot
(C) www.phreakerclub.com