реклама на сайте
подробности

 
 
> Помогите разобраться с CC1101, Не получается установить переменную длину пакета
Igor_O
сообщение Feb 25 2009, 11:37
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 14-11-08
Пользователь №: 41 641



RF_SETTINGS code rfSettings = {
0x06, // FSCTRL1 Frequency synthesizer control.
0x00, // FSCTRL0 Frequency synthesizer control.
0x10, // FREQ2 Frequency control word, high byte.
0x09, // FREQ1 Frequency control word, middle byte.
0x7B, // FREQ0 Frequency control word, low byte.
0xF5, // MDMCFG4 Modem configuration.
0x75, // MDMCFG3 Modem configuration.
0x13, // MDMCFG2 Modem configuration.
0x22, // MDMCFG1 Modem configuration.
0xE5, // MDMCFG0 Modem configuration.
0x00, // CHANNR Channel number.
0x14, // DEVIATN Modem deviation setting (when FSK modulation is enabled).
0x56, // FREND1 Front end RX configuration.
0x10, // FREND0 Front end TX configuration.
0x18, // MCSM0 Main Radio Control State Machine configuration.
0x16, // FOCCFG Frequency Offset Compensation Configuration.
0x6C, // BSCFG Bit synchronization Configuration.
0x03, // AGCCTRL2 AGC control.
0x40, // AGCCTRL1 AGC control.
0x91, // AGCCTRL0 AGC control.
0xE9, // FSCAL3 Frequency synthesizer calibration.
0x2A, // FSCAL2 Frequency synthesizer calibration.
0x00, // FSCAL1 Frequency synthesizer calibration.
0x1F, // FSCAL0 Frequency synthesizer calibration.
0x59, // FSTEST Frequency synthesizer calibration.
0x81, // TEST2 Various test settings.
0x35, // TEST1 Various test settings.
0x09, // TEST0 Various test settings.
0x07, // FIFOTHR RXFIFO and TXFIFO thresholds.
0x3F, // IOCFG2 GDO2 output pin configuration.
0x06, // IOCFG0D GDO0 output pin configuration. Refer to SmartRFR Studio User Manual for detailed pseudo register explanation.
0x0C, // PKTCTRL1 Packet automation control.
0x05, // PKTCTRL0 Packet automation control.
0x00, // ADDR Device address.
0xFF // PKTLEN Packet length.

Передаю 3 байта. Если ставлю PKTLEN 0х03 и PKTCTRL0 0х04 пакеты приходят .


В приемнике:
0. Инициализация и установка мощности
1. SFRX
2. Пауза 1 мс
3. Вкл. SRX
4. Читаю GDO0 пока не 1
5. Читаю GDO0 пока не 0
6. Проверяю, что RXBYTES не равен 0
7. 3 раза читаю RXFIFO
8. Вывод результата на RS232
9. SIDLE
переход на п.1

В передатчике:
0. Инициализация и установка мощности
1. SFTX
2. 3 раза данные в TXFIFO
3. STX
4. Читаю GDO0 пока не 1
5. Читаю GDO0 пока не 0 - Окончание передачи
6. Пауза 1 сек (для вывода в приемнике данных на RS232 )
переход на п.1


Если ставлю в настройках PKTLEN 0хFF и PKTCTRL0 0х05 пакеты не приходят. В чем может быть проблема?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bloodden
сообщение Mar 7 2009, 22:25
Сообщение #2


Бывалый
***

Группа: Validating
Сообщений: 375
Регистрация: 19-10-05
Из: Kiev, UA
Пользователь №: 9 853



Код
//38.4kbps nastroyki dlya  26.000
    halSpiWriteReg(CCxxx0_FSCTRL1,  0x06);
    halSpiWriteReg(CCxxx0_FSCTRL0,  0x00);
    halSpiWriteReg(CCxxx0_FREQ2,    0x10);
    halSpiWriteReg(CCxxx0_FREQ1,    0xB0);  
    halSpiWriteReg(CCxxx0_FREQ0,    0x71);  
   halSpiWriteReg(CCxxx0_MDMCFG4,  0xCA);
   halSpiWriteReg(CCxxx0_MDMCFG3,  0x83);
   halSpiWriteReg(CCxxx0_MDMCFG2,  0x13);
    halSpiWriteReg(CCxxx0_MDMCFG1,  0xA2);
   halSpiWriteReg(CCxxx0_MDMCFG0,  0xF0);
    halSpiWriteReg(CCxxx0_CHANNR,   0x00);
    halSpiWriteReg(CCxxx0_DEVIATN,  0x34);
    halSpiWriteReg(CCxxx0_FREND1,   0x56);
    halSpiWriteReg(CCxxx0_FREND0,   0x10);
    halSpiWriteReg(CCxxx0_MCSM0 ,   0x18);
   halSpiWriteReg(CCxxx0_FOCCFG,   0x16);
    halSpiWriteReg(CCxxx0_BSCFG,    0x6C);
    halSpiWriteReg(CCxxx0_AGCCTRL2, 0x43);
    halSpiWriteReg(CCxxx0_AGCCTRL1, 0x40);
    halSpiWriteReg(CCxxx0_AGCCTRL0, 0x91);  
    halSpiWriteReg(CCxxx0_FSCAL3,   0xE9);
    halSpiWriteReg(CCxxx0_FSCAL2,   0x2A);
    halSpiWriteReg(CCxxx0_FSCAL1,   0x00);
    halSpiWriteReg(CCxxx0_FSCAL0,   0x1F);
    halSpiWriteReg(CCxxx0_FSTEST,   0x59);
    halSpiWriteReg(CCxxx0_TEST2,    0x81);
    halSpiWriteReg(CCxxx0_TEST1,    0x35);
    halSpiWriteReg(CCxxx0_TEST0,    0x09);
    halSpiWriteReg(CCxxx0_IOCFG2,   0x40);
    halSpiWriteReg(CCxxx0_IOCFG0,   0x06);
    halSpiWriteReg(CCxxx0_PKTCTRL1, 0x0C);
    halSpiWriteReg(CCxxx0_PKTCTRL0, 0x04);
    halSpiWriteReg(CCxxx0_ADDR,     0x00);
    halSpiWriteReg(CCxxx0_PKTLEN,   0x08);

Под 26.0000МГц и скорость 38,4.
У меня работает.
Попробуйте, может Вам поможет.

Это передача:
Код
void Send_packet(unsigned char* data, unsigned char len)
{  
  P2IE &= ~BIT7;//GDO0 ~IE
   halSpiStrobe(CCxxx0_SIDLE);
   halSpiStrobe(CCxxx0_SFTX);                
   halSpiWriteBurstReg(CCxxx0_TXFIFO, data, len);
    halSpiStrobe(CCxxx0_STX);
       //while (~GDO0_PIN);                    // Wait for GDO0 to be set -> sync transmitted
    //while (GDO0_PIN);                     // Wait for GDO0 to be cleared -> end of packet
    while((P2IN&BIT7) == 0);
    while((P2IN&BIT7) != 0);
   halSpiStrobe(CCxxx0_SFTX);
   Receive_packet_int(rx_buff);
}


А на приём прерывание (мсп430):

Код
#pragma vector = PORT2_VECTOR
__interrupt void PORT2_VECTOR_code()
{
  rx_len=halSpiReadStatus(CCxxx0_RXBYTES);
  if(rx_len == 0)
  {      
    halSpiStrobe(CCxxx0_SIDLE);  
    halSpiStrobe(CCxxx0_SFRX);
    halSpiStrobe(CCxxx0_SRX);
    rx_rdy=0;
  }
  else
  {
  
    halSpiReadBurstReg(CCxxx0_RXFIFO, pointer_receive_buffer, rx_len);
    
    halSpiStrobe(CCxxx0_SIDLE);  
    halSpiStrobe(CCxxx0_SFRX);
    halSpiStrobe(CCxxx0_SRX);
    
    if((pointer_receive_buffer[rx_len-1] >= 0x80))//CRC ok
    {
       ///////////////////////наши данные правильны и приняты

     }
  }


P2IFG &= ~BIT7;//IF clear  
}


--------------------
Заходите кому надо на мой сайт
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Igor_O   Помогите разобраться с CC1101   Feb 25 2009, 11:37
- - rx3apf   Цитата(Igor_O @ Feb 25 2009, 14:37) Если ...   Feb 25 2009, 12:11
|- - Igor_O   Получилось! По даташиту думалось, что длину па...   Feb 25 2009, 13:48
|- - rx3apf   Цитата(Igor_O @ Feb 25 2009, 16:48) Получ...   Feb 25 2009, 14:44
- - Igor_O   Никак не получается запустить устойчивый прием/пер...   Mar 7 2009, 11:56
|- - Dog Pawlowa   Цитата(Igor_O @ Mar 7 2009, 15:56) Никак ...   Mar 7 2009, 17:33
- - Igor_O   У Вас в коде кол-во принятых байт не анализируется...   Mar 8 2009, 14:33
|- - rx3apf   Я бы предложил для начала поиграться с фиксированн...   Mar 8 2009, 16:07
- - Igor_O   Разобрался с длиной пакета. Как оказалось все прос...   Mar 24 2009, 12:40
|- - rx3apf   Цитата(Igor_O @ Mar 24 2009, 15:40) Прием...   Mar 24 2009, 13:04
|- - _3m   Цитата(Igor_O @ Mar 24 2009, 15:40) ...че...   Mar 24 2009, 13:06
- - Igor_O   To rx3apf: Не совсем понял. Задержка после подачи ...   Mar 24 2009, 13:24
|- - rx3apf   Цитата(Igor_O @ Mar 24 2009, 16:24) To rx...   Mar 24 2009, 13:37
|- - rx3apf   Цитата(Igor_O @ Mar 24 2009, 16:24) To rx...   Mar 24 2009, 13:56
|- - Igor_O   Что не делаю - все равно через несколько часов зав...   Mar 26 2009, 10:04
- - Igor_O   У меня есть ожидание 0 на SDO. Но поставил несколь...   Mar 24 2009, 13:47
- - Igor_O   Пробую читать регистры СС после "отключения...   Mar 30 2009, 08:07
- - anaconda   Доброй ночи! У меня проблема таже. Есть две пл...   May 5 2009, 19:47
- - IDL   Всем доброго времени суток. Я тоже столкнулся с та...   Nov 23 2016, 06:08
- - IDL   Проблема решена. В датахе сказано, что GDO0 устана...   Nov 25 2016, 06:05


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 01:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01393 секунд с 7
ELECTRONIX ©2004-2016