|
|
  |
CC2500 Приемопередатчик, Кто-то реально делал? |
|
|
|
Jul 26 2010, 06:12
|
Группа: Участник
Сообщений: 7
Регистрация: 5-06-08
Пользователь №: 38 079

|
Привет всем!
Есть просьба. У кого есть рабочая конфигурация чипа СС2500??? Я собрал модули. Хочу проверить. Сам пробовал передавать, не принимает.
одно из двух либо не работает, либо не правильно конфигурирован.
Кто кинет конфигурацию регистров??? Таким образом, чтобы принять и передать хотябы 1 пакет.
Проверяю наличие приема так while(1) { temp=TI_CC_SPIReadStatus(TI_CCxxx0_RXBYTES); UDR=temp; UCSRB=(1<<TXEN); _delay_ms(300); }
Кварц 27.000мгц
За ранее благодарен за любую помощь.
|
|
|
|
|
Jul 26 2010, 18:25
|
Группа: Участник
Сообщений: 7
Регистрация: 5-06-08
Пользователь №: 38 079

|
Цитата(mdmitry @ Jul 26 2010, 19:08)  slaa325a и SmartRF Studio стоит посмотреть. Да неее, это я все знаю Но мне нужно проверенная на практике работающая конфиг.
|
|
|
|
|
Jul 27 2010, 13:12
|

Начинающий профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648

|
Цитата(CHYVAKEASTSIDE @ Jul 26 2010, 22:25)  Да неее, это я все знаю Но мне нужно проверенная на практике работающая конфиг. С платами MSP-EXP430F5438 и своими модулями это работало как и задумано у авторов демки. Это не практика? Вам надо тогда писать/исправлять/дополнять свой конфиг. Цитата Кварц 27.000мгц А с кварцем все в порядке (частота настроек, запуск)?
--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
|
|
|
|
|
Jul 27 2010, 18:21
|
Группа: Участник
Сообщений: 7
Регистрация: 5-06-08
Пользователь №: 38 079

|
Да елки зеленые... Вы читали о чем я прошу... Я прошу о проверенных настройках для кварца 27.000МГЦ Пока я хочу проверить работоспособность модулей, работает кварц или нет я потом проверю. Пока модули ... ПРошу скиньте рабочие настройки:
а именно
void writeRFSettings(void) { TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL1,0x08); TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL0,0x00); TI_CC_SPIWriteReg(TI_CCxxx0_FREQ2,0x5A); TI_CC_SPIWriteReg(TI_CCxxx0_FREQ1,0x1C); TI_CC_SPIWriteReg(TI_CCxxx0_FREQ0,0x71); TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG4,0x8B); TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG3,0xED); TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG2,0x73); TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG1,0xC2); TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG0,0xEC); TI_CC_SPIWriteReg(TI_CCxxx0_CHANNR,0x00); TI_CC_SPIWriteReg(TI_CCxxx0_DEVIATN,0x00); TI_CC_SPIWriteReg(TI_CCxxx0_FREND1,0x56); TI_CC_SPIWriteReg(TI_CCxxx0_FREND0,0x10); TI_CC_SPIWriteReg(TI_CCxxx0_MCSM2,0x07); TI_CC_SPIWriteReg(TI_CCxxx0_MCSM1,0x30); TI_CC_SPIWriteReg(TI_CCxxx0_MCSM0,0x18); TI_CC_SPIWriteReg(TI_CCxxx0_FOCCFG,0x16); TI_CC_SPIWriteReg(TI_CCxxx0_BSCFG,0x6C); TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL2,0x43); TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL1,0x40); TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL0,0x91); TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL3,0xA9); TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL2,0x0A); TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL1,0x00); TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL0,0x11); TI_CC_SPIWriteReg(TI_CCxxx0_FSTEST,0x59); TI_CC_SPIWriteReg(TI_CCxxx0_TEST2,0x81); TI_CC_SPIWriteReg(TI_CCxxx0_TEST1,0x35); TI_CC_SPIWriteReg(TI_CCxxx0_TEST0,0x0B); TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG2,0x0E); TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG0,0x06); TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL1,0x04); TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL0,0x05); TI_CC_SPIWriteReg(TI_CCxxx0_ADDR,0x00); TI_CC_SPIWriteReg(TI_CCxxx0_PKTLEN,0xFF); TI_CC_SPIWriteReg(TI_CCxxx0_FIFOTHR,0x07); }
ПРИЕМ
int MAIN(void) char paTable[] = {0xFF}; char paTableLen = 1; char TXbuffer[]={1,2,3,4,5,6,7,8,9,0, 1,2,3,4,5,4,4,4,4,4, 4,4,4,4,4,4,4,4,4,4};
DDRD=255;
TI_CC_SPISetup(); TI_CC_PowerupResetCCxxxx(); writeRFSettings();
TI_CC_SPIWriteBurstReg(TI_CCxxx0_PATABLE,paTable,paTableLen );
TI_CC_SPIStrobe(TI_CCxxx0_SIDLE); TI_CC_SPIStrobe(TI_CCxxx0_SFRX); TI_CC_SPIStrobe(TI_CCxxx0_SFTX);
_delay_ms(2); TI_CC_SPIStrobe(TI_CCxxx0_SRX); _delay_ms(2);
temp=0; while(temp==0) {temp=TI_CC_SPIReadStatus(TI_CCxxx0_RXBYTES);} PORTD=4;//ни разу не загорался ((( while(1) ;}
ПЕРЕДАЧА
int MAIN(void) char paTable[] = {0xFF}; char paTableLen = 1; char TXbuffer[]={1,2,3,4,5,6,7,8,9,0, 1,2,3,4,5,4,4,4,4,4, 4,4,4,4,4,4,4,4,4,4};
DDRD=255;
TI_CC_SPISetup(); TI_CC_PowerupResetCCxxxx(); writeRFSettings();
TI_CC_SPIWriteBurstReg(TI_CCxxx0_PATABLE,paTable,paTableLen );
TI_CC_SPIStrobe(TI_CCxxx0_SIDLE); TI_CC_SPIStrobe(TI_CCxxx0_SFRX); TI_CC_SPIStrobe(TI_CCxxx0_SFTX);
_delay_ms(2); TI_CC_SPIWriteBurstReg(TI_CCxxx0_TXFIFO,TXbuffer,30);//заношу 30 байт _delay_ms(2); TI_CC_SPIStrobe(TI_CCxxx0_STX); _delay_ms(4000); PORTD=TI_CC_SPIReadStatus(TI_CCxxx0_TXBYTES); //остается почему то 28 байт????
while(1) ;}
ПРАВИЛЬНО ДЕЛАЮ???
|
|
|
|
|
Oct 20 2010, 00:01
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046

|
Доброе время суток! Кто имеет опыт использования данного трансивера, помогит плс. Задача такая: передавать/принимать цифровой сигнал побитно в риалтайме(ну почти). битрейт примерно 1-2кгц. модули юзаю эти http://www.seminews.ru/telecommunications/1174.htmlкоммутация RX/TX програмная. сигнал идете через выводы GDO2 и GDO0, управление по SPI Настройки использую дефилтные из смартрфстудии, только некоторые регистры подправил под конкретные условия(кофигурация GDO): модуляция FSK. Код 0x06, // FSCTRL1 Frequency Synthesizer Control 0x2D, // IOCFG0 GDO0Output Pin Configuration 0x00, // FSCTRL0 Frequency Synthesizer Control 0x5D, // FREQ2 Frequency Control Word, High Byte 0x93, // FREQ1 Frequency Control Word, Middle Byte 0xB1, // FREQ0 Frequency Control Word, Low Byte 0x78, // MDMCFG4 Modem Configuration 0x93, // MDMCFG3 Modem Configuration 0x00, // MDMCFG2 Modem Configuration 0x02, // MDMCFG1 Modem Configuration 0xF8, // MDMCFG0 Modem Configuration 0x03, // CHANNR Channel Number 0x44, // DEVIATN Modem Deviation Setting 0x56, // FREND1 Front End RX Configuration 0x10, // FREND0 Front End TX configuration 0x07, // MCSM2 Main Radio Control State Machine Configuration 0x0F, // MCSM1 Main Radio Control State Machine Configuration 0x18, // 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 0xA9, // FSCAL3 Frequency Synthesizer Calibration 0x0A, // FSCAL2 Frequency Synthesizer Calibration 0x00, // FSCAL1 Frequency Synthesizer Calibration 0x11, // FSCAL0 Frequency Synthesizer Calibration 0x88, // TEST2 Various Test Settings 0x31, // TEST1 Various Test Settings 0x0B, // TEST0 Various Test Settings 0x07, // FIFOTHR RX FIFO and TX FIFO Thresholds 0x0D, // IOCFG2 GDO2Output Pin Configuration 0x04, // PKTCTRL1 Packet Automation Control 0x32, // PKTCTRL0 Packet Automation Control 0x00, // ADDR Device Address 0xFF, // PKTLEN Packet Length Все в принципе работает, только вот дальность действия при сигнале 0дбм и антенной для WIFI http://www.ccrane.com/images/medium/5db-wifi-antenna.jpg дальность действия уверенного приема (примерно -85дбм по RSSI этого девайса) составляет метров так 5 максимум. (микрочип MRF24J40 тоже 0dbm добивал на 100метров с pcb "E"-антенной, правда в пакетном режиме,риалтайма в нем нет) Вариации с AGCCTRL ничего не дают, только шума прибавляют. Пробовал вручную подгонять частоту(FREQ0,FREQ1) (двумя кнопочками +-), думал мож разброс в кварцах - но тоже безрезультатно, с примерно одинаковыми значениями FREQx на обеих девайсах прием наилучший. Пробовал расширят полосу пропускания (по дефолту было 200кгц, я дотягивал до 800) - только мусора ловится больше. Далее взял усилок на SKY65135 http://www.skyworksinc.com/uploads/documents/200436E.pdf, на нем и данных антеннах удалось дострелить метров на 200. при чем качал усилок где-то минимум 0.5вт судя по индикатору поля и по VDET этого усилка. В итоге тоже в радиусе 200м(есть дома, но видимость почти прямая) RSSI где-то тех же -85дбм, если отнести дальше - падает до -9х и качество сигнала уже непригодное. если еще дальше -100дбм и сигнала вообще нет. а на такой моще должно на 10км добить, ну хотяби на 2км  Также пробовал вариации с FOCCFG. тоже безрезультатно... Куда копать еще? или мож есть какие-то другие модули, чтобы можно было в риалтайме биты передавать? У когото есть опыт подключения усилителя к cc2500?
|
|
|
|
|
  |
5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0
|
|
|