Jump to content

    
Sign in to follow this  
elemmire

Запуск модуля CC430 от Терра (433 МГц)

Recommended Posts

Осваиваю CC430 на примере двух плат TE-CC430F51-433 (CC430F5137)

 

В основу взял готовый проект-пример от Техаса "Fixed_LT_FIFO" (что может быть проще? Всё и так разжёвано...)

Заменил настройки периферии. Заменил настройки RF_SETTINGS согласно SmartRF.

На передачу, вроде как, всё работает. Анализатор спектра показывает нужный всплеск мощности на нужной частоте. Мощность регулируется (пробовал 0 дБм и 10 дБм).

 

Вместо антенны пока использую две проволоки под 433 МГц по 17 см. Хотя на столе, должно, наверное, и так работать (как по опыту, кто делал?).

 

А вот на приём срабатывать не хочет. Через дебаг мониторю регистры...ничего. Полагаю, что всё таки не докрутил настройки RF1A... Вроде как GDO0 должен срабатывать на приём? Причём согласно дебагу не срабатывает даже до проверки CRC\LQI.

Подскажите, пожалуйста, если не настройки RF (ниже скинул) то где хотя бы смотреть.

 

// Packet length mode = Variable packet length mode. Packet length configured by the first byte after sync word 
// Packet length = 255 
// Manchester enable = false 
// Sync word qualifier mode = 30/32 sync word bits detected 
// Whitening = false 
// Modulation format = 2-FSK 
// RX filter BW = 58.035714 
// Data rate = 1.19948 
// Data format = Normal mode 
// Preamble count = 4 
// PA ramping = false 
// Carrier frequency = 432.999817 
// Deviation = 5.157471 
// CRC autoflush = false 
// CRC enable = true 
// Channel number = 0 
// Channel spacing = 199.951172 
// Modulated = true 
// Address config = No address check 
// Base frequency = 432.999817 
// TX power = 0 
// Device address = 0 
// Rf settings for CC430
RF_SETTINGS rfSettings = {
   0x06,   // FSCTRL1   Frequency synthesizer control.
   0x00,   // FSCTRL0   Frequency synthesizer control.
   0x10,   // FREQ2     Frequency control word, high byte.
   0xA7,   // FREQ1     Frequency control word, middle byte.
   0x62,   // FREQ0     Frequency control word, low byte.
   0xF5,   // MDMCFG4   Modem configuration.
   0x83,   // MDMCFG3   Modem configuration.
   0x03,   // MDMCFG2   Modem configuration.
   0x22,   // MDMCFG1   Modem configuration.
   0xF8,   // MDMCFG0   Modem configuration.
   0x00,   // CHANNR    Channel number.
   0x15,   // DEVIATN   Modem deviation setting (when FSK modulation is enabled).
   0x56,   // FREND1    Front end RX configuration.
   0x10,   // FREND0    Front end TX configuration.
   0x10,   // MCSM0     Main Radio Control State Machine configuration.
   0x16,   // FOCCFG    Frequency Offset Compensation Configuration.
   0x6C,   // BSCFG     Bit synchronization Configuration.
   0x43,   // 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.
   0x47,   // FIFOTHR   RXFIFO and TXFIFO thresholds.
   0x29,   // IOCFG2    GDO2 output pin configuration.
   0x06,   // IOCFG0    GDO0 output pin configuration. Refer to SmartRF® Studio User Manual for detailed pseudo register explanation.
   0x04,   // PKTCTRL1  Packet automation control.
   0x05,   // PKTCTRL0  Packet automation control. 4
   0x00,   // ADDR      Device address.
   0x05,   // PKTLEN    Packet length.
   0xFB    // WORCTRL       Wake On Radio Control  <- добавил сам, но пробовал и с ним и без него
};

Edited by _EL

Share this post


Link to post
Share on other sites
Осваиваю CC430 на примере двух плат TE-CC430F51-433 (CC430F5137)

 

Хотя на столе, должно, наверное, и так работать (как по опыту, кто делал?).

На столе - перебор по мощности. Что Вы хотите увидеть? Сигнал,линк или ещё чего?

Share this post


Link to post
Share on other sites
Что Вы хотите увидеть? Сигнал,линк или ещё чего?

Для начала просто линк. Передать пакет (как в примере, например 0xAA, 0xBB, 0xCC, 0xDD, 0xEE ), получить его. После проверки, что это нужный пакет, а не мусор из эфира. дерунть какой-нибудь джипио. Т.к. вроде всё остальное из примера должно работать, допускаю, что где недонастроил rfSettings. Может полосу фильтрации "RX filter BW" надо менять или ещё...пока экспериментально меняю.

 

На столе - перебор по мощности

Уменьшил до -12 дБм, разносил от нуля до двух метров. Наверное, этого более чем достаточно.

Edited by _EL

Share this post


Link to post
Share on other sites

Сумел запустить связь. Проблем было несколько.

1. Изменил мощность. Устойчивая связь в пределах метра-трёх на -6 дБм.

2. Увеличил полосу RX до 162 кГц. По умолчанию 58 кГц. Не знаю с чем связано. Нестабильность частоты? Скрепка вместо нормальной антенны?

 

После этого работала связь, но принимало ерунду (пакеты рвало только так). А именно длина принимаемого пакета (RxBufferLength ) читалась как 0x00 (из RF1ADOUTB)...как не крути.

3. Подправил параметры пакета, а именно его длину\размера RX\TX буфера. Обратился к примеру "Variable_LT_FIFO" и сотворил некий микс.

 

В итоге что передаю, то и принимаю. Ура! Можно дальше усложнять...

 

З.Ы. Усложнил схему с применением усилителя ADL5602\ADL5545 и двумя СВЧ ключами. Но уже, не на Терре, понятное дело. Сам развёл. Отдельной темой может отпишусь о получившийся дальности других результатах такого эксперимента.

Edited by _EL

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this