Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Проблем с CC430F6137
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=9907
Страница 1 от 3

Автор:  a21 [ Чет Фев 23, 2012 1:05 am ]
Заглавие:  Проблем с CC430F6137

Здравейте,
Взех си един CC430F6137. Направих си схема, платка и т.н. Всичко си работи с изключение на радиото. За тест използвам RF Studio-то и LaunchPad-а. Каквато и честота да му задам винаги ми генерира в горния край на обхвата всеки път. Като му задам 300MHz ми излъчва на 357MHz, при 433MHz - излъчва на 479MHz, при 880MHz - излъчва на 915MHz. Каквато и честота да задам в съответните обхвати - винаги излъчва на тези. Гледах го и на спектроанализатор и установих също, че каквата и мощност да задам на изхода, винаги излъчва с една и съща - около 8dbm-a.

Автор:  emilvtc [ Чет Фев 23, 2012 9:15 am ]
Заглавие:  Re: Проблем с CC430F6137

А след сетване на параметрите на радиото (особено честотата) има ли режим на радиото - нещо като "калибровка", която трябва да се направи и ти правиш ли я?

(При CC11xx задължително радиото трябва да се вкара в режим на калибровка)

Автор:  a21 [ Чет Фев 23, 2012 11:15 am ]
Заглавие:  Re: Проблем с CC430F6137

Както казах - все още го разучавам, но предполагам говориш за FSCAL регистрите. До колкото разбрах от описанието SmartRF студиото си прави всичко. Пробвах и ръчно да задам стойности на тези регистри, но ефектът е същия. А модулът вътре е СС1101.

Автор:  emilvtc [ Чет Фев 23, 2012 12:47 pm ]
Заглавие:  Re: Проблем с CC430F6137

Щом е СС1101 - тогава имаш строб за калибровка.
Прочети този раздел и изпълни последователността на калибровката.
Предполагам това ти е проблема ;-)

Автор:  a21 [ Чет Фев 23, 2012 1:21 pm ]
Заглавие:  Re: Проблем с CC430F6137

emilvtc написа:
Щом е СС1101 - тогава имаш строб за калибровка.
Прочети този раздел и изпълни последователността на калибровката.
Предполагам това ти е проблема ;-)

Благодаря, ще пробвам довечера и ще пиша за резултата.

Автор:  a21 [ Чет Фев 23, 2012 10:51 pm ]
Заглавие:  Re: Проблем с CC430F6137

Пусках му ръчно строб за калибровка, но пак е същата работа. Иначе SmartRF Studio-то си го прави автоматично по принцип. Сега има ново 20 обаче :)
Ресетнах го и вече не ми излъчва на 479MHz, а на 412MHz.

Автор:  emilvtc [ Пет Фев 24, 2012 2:37 am ]
Заглавие:  Re: Проблем с CC430F6137

Това потвърждава хипотезата ми, че проблема ти е калибровката.
Изпълни я точно според алгоритъма в дейташита. (имай в предвид, че след строба за калибровка трябва да изчакаш определено време или да полираш статус флага).
Имаше изискване този строб да се подава само когато радиото е в IDLE state ... Отдавна съм го чел и говоря по спомени ...

Автор:  a21 [ Пет Фев 24, 2012 11:46 am ]
Заглавие:  Re: Проблем с CC430F6137

Прав си, но това е когато пишеш сорса. В случая smartrf studio- то си го прави автоматично. В register view виждам, че регистрите fscal се променят, след като го стартирам. Пробвах и с готов примерен код, но пак се държи по същия начин. Пробвах с калибриране само веднъж, преди всяко изпращане и на всяко четвърто, но няма промяна.

Автор:  emilvtc [ Пет Фев 24, 2012 3:25 pm ]
Заглавие:  Re: Проблем с CC430F6137

Не помня вече можеше ли в стидиото да пращаш стробове на радиото "на ръка". Ако можеш - симулирай калибровката по този начин.
Будиш радиото, изчакваш осцилатора да си стабилизира честотата, изпращаш строй IDLE, След това строб за калибровка и след това пробвай да изпратиш нещо по радиото и да премериш честотата на която излъчва.

Автор:  a21 [ Пет Фев 24, 2012 6:20 pm ]
Заглавие:  Re: Проблем с CC430F6137

emilvtc написа:
Не помня вече можеше ли в стидиото да пращаш стробове на радиото "на ръка". Ако можеш - симулирай калибровката по този начин.
Будиш радиото, изчакваш осцилатора да си стабилизира честотата, изпращаш строй IDLE, След това строб за калибровка и след това пробвай да изпратиш нещо по радиото и да премериш честотата на която излъчва.


Можеш да пращаш ръчно стробове. Точно така пробвах и в тази последователност, но нищо не се променя.

Автор:  a21 [ Съб Фев 25, 2012 4:03 pm ]
Заглавие:  Re: Проблем с CC430F6137

Още нещо, което ми направи впечатление - не ми стои в един канал, а постоянно бяга между няколко съседни канала.
За сигнала съм задал Unmodulated и Random Mode, ако това ще помогне.

Автор:  emilvtc [ Съб Фев 25, 2012 9:29 pm ]
Заглавие:  Re: Проблем с CC430F6137

Нямам опит с CC430F6137, а само със СС1101, СС1110 и СС1111.

Не знам и до колко студиото читаво поддържа CC430F6137, но със сигурност поддържа тези от СС11хх серията.

Когато се сетнеше честотата на канал на радиото и не се направи калибровка - честотата му беше с около 2-3 MHz над зададената ... След калибрирането му обаче всичко си идваше на местото.

Та съвета ми е в студиото да зададеш желаните от тебе сетинги и да видиш какви стойности за регистрите ще изгенерира.
След това правиш програмка, която ги зарежда в процесора, правиш и калибрация и след това вкарваш радиото в ТХ режим. Ако си задал пакетен режим - след вкарването на радиото в ТХ, то ще започне да излъчва преамбли (поредица от 010101010101 ...) до момента в който не заредиш данни в предавателния му буфер. Т.е. няма да зареждаш данни и така ще можеш с RF анализатора да видиш на каква честота излъчва.

Калибровка може да се през по-големи интервали от време - примерно ние я правим веднъж на 10 минути.

Автор:  Ицо [ Пон Фев 27, 2012 10:18 am ]
Заглавие:  Re: Проблем с CC430F6137

a21 написа:
Още нещо, което ми направи впечатление - не ми стои в един канал, а постоянно бяга между няколко съседни канала.
За сигнала съм задал Unmodulated и Random Mode, ако това ще помогне.



Това, съчетано с постоянна изходна мощност не ти ли говори нещо? Имаш класическо самовъзбуждане според мен.

Автор:  a21 [ Пон Фев 27, 2012 11:40 am ]
Заглавие:  Re: Проблем с CC430F6137

emilvtc написа:
Нямам опит с CC430F6137, а само със СС1101, СС1110 и СС1111.

Не знам и до колко студиото читаво поддържа CC430F6137, но със сигурност поддържа тези от СС11хх серията.

Когато се сетнеше честотата на канал на радиото и не се направи калибровка - честотата му беше с около 2-3 MHz над зададената ... След калибрирането му обаче всичко си идваше на местото.

Та съвета ми е в студиото да зададеш желаните от тебе сетинги и да видиш какви стойности за регистрите ще изгенерира.
След това правиш програмка, която ги зарежда в процесора, правиш и калибрация и след това вкарваш радиото в ТХ режим. Ако си задал пакетен режим - след вкарването на радиото в ТХ, то ще започне да излъчва преамбли (поредица от 010101010101 ...) до момента в който не заредиш данни в предавателния му буфер. Т.е. няма да зареждаш данни и така ще можеш с RF анализатора да видиш на каква честота излъчва.

Калибровка може да се през по-големи интервали от време - примерно ние я правим веднъж на 10 минути.


Току що пробвах и този вариант, но пак е същото.
Ицо написа:
a21 написа:
Още нещо, което ми направи впечатление - не ми стои в един канал, а постоянно бяга между няколко съседни канала.
За сигнала съм задал Unmodulated и Random Mode, ако това ще помогне.



Това, съчетано с постоянна изходна мощност не ти ли говори нещо? Имаш класическо самовъзбуждане според мен.

Честно казано не съм много на вътре с радиокомуникациите - повече наблягам на контролерите. Всъщност за първи път се занимавам с нещо подобно.

Автор:  emilvtc [ Пон Фев 27, 2012 12:20 pm ]
Заглавие:  Re: Проблем с CC430F6137

Имам въпрос: Колко време чакаш след като стартиташ калибровката, преди да продължиш с другите стробове? Ако ги правиш непосредствено - няма да стане.

Прикачам ти функцията за калибровка, която РАБОТИ при мен.
Не съм чел CC430F6137, нямам и намерение да го чета, но щом казваш, че радиото в него е СС1101 - значи ще е аналогично.

/////////////////////////////////////////////////////////////////////////////////////////////////
// DESCRIPTION: Perform manual calibration of CC1110 frequency synthesizer
// Assume radio is in IDLE state
// PARAMETERS: WaitCalibrationEnd: 0 - don't wait calibration end;
// 1 - wait calibration end
// RETURNS: Exit with updated CC1101_Status and CC1101 in IDLE
/////////////////////////////////////////////////////////////////////////////////////////////////
void Rf_RadioCalibrate(unsigned char WaitCalibrationEnd)
{
TEST0 = 0x09;
FSCAL2 = 0x20;
RFST = RF_STROBE_CALIBR; // Strobe for callibration

if ( WaitCalibrationEnd ) {
while ( MARCSTATEbits.MARC_STATE != RADIO_MARCSTATE_IDLE); // Wait till calibration done
RF_STORE_CALIB_VALUES(); // Store new values of FSCAL3..1 because of no retention after PM2 and PM3
}
}

Страница 1 от 3 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/