|
cc1101 и низкие скорости передачи. |
|
|
|
Dec 7 2013, 12:36
|
Гуру
     
Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164

|
Господа, не раз слышал мысль, что низкие скорости, ниже 100 кбод - не для cc1101. Тем не менее, это не отменяет правила, что чем выше скорость, тем меньше дальность. Мне нужна минимальная скорость при максимальной дальности. Первоначальные эксперименты я проводил с стыренными где-то настройками, на 100 кбод. Работало отлично, LQI вертелся у нуля. Мощность с усилителем - 20 dBm, пробивало все перекрытия с 5 этажа по первый. Но вот почему-то кирпичный дом и 60 метров прямой видимости оказались не по зубам, хотя рация той же мощности работала на расстоянии 300 метров, пробивая на своем пути 3 кирпичных дома. Хочу проверить эту связку на самой низкой скорости. Настроил по предлагаемому SmartRF Studio образцу настроил следующим образом: Скорость - 1.2 кбод Девиация 5.1 кГц Полоса - 58 кГц Все работает, но LQI 50-60. Вот настройки (не обращайте внимания на комментарии, я их не правил после изменения регистров) CODE void writeRFSettings433(void) {
// ÇÀÏÈÑÜ ÓÑÒÀÍÎÂÎ×ÍÛÕ ÇÍÀ×ÅÍÈÉ
// GDO0 , GDO2 - ÂÛÂÎÄ TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG2, 0x0E); TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG0, 0x06);
// ÄËÈÍÀ ÏÀÊÅÒÀ ÄÀÍÍÛÕ - 0 TI_CC_SPIWriteReg(TI_CCxxx0_PKTLEN, 0x00);
// Àâòîìàòè÷åñêèé êîíòðîëü ïàêåòà áåç ïðîâåðêè àäðåñà TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL1, 0x04);
// CRC - êîíòðîëü âêëþ÷åí TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL0, 0x05);
// Àäðåñ óñòðîéñòâà -0 TI_CC_SPIWriteReg(TI_CCxxx0_ADDR, 0x00);
// Íîðìåð êàíàëà -0 TI_CC_SPIWriteReg(TI_CCxxx0_CHANNR, 0x00);
// Íàñòðîéêà ñèíòåçàòîðà ÷àñòîòû TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL1, 0x06); TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL0, 0x00);
// Çàäàíèå áàçîâîé íåñóùåé ÷àñòîòû TI_CC_SPIWriteReg(TI_CCxxx0_FREQ2, 0x11); //11 TI_CC_SPIWriteReg(TI_CCxxx0_FREQ1, 0x27); //27 TI_CC_SPIWriteReg(TI_CCxxx0_FREQ0, 0xB1); //B1
// Íàñòðîéêà ìîäåìà // ÔÍ× äåìîäóëÿòîðà - 203 êÃö TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG4, 0xF5); // 2d
// Ñêîðîñòü ïåðåäà÷è 115 êáèò/ñ TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG3, 0x83); // 36
// Äëèíà ñëîâà ñèíõðîíèçàöèè - 32 ,áàéòà, 2-FSK ìîäóëÿöèÿ TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG2, 0x83);
// Äëèíà ïðåàìáóëû 4 áàéòà, FEC îòêëþ÷åí TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG1, 0x22);
// ÏÎëîñà êàíàëà - 199.95 êÃö TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG0, 0xF8);
TI_CC_SPIWriteReg(TI_CCxxx0_DEVIATN,0x15); // Çàâåðøåíèå êîíôèãóðàöèè RX TI_CC_SPIWriteReg(TI_CCxxx0_FREND1, 0xB6);
// Çàâåðøåíèå êîíôèãóðàöèè TX TI_CC_SPIWriteReg(TI_CCxxx0_FREND0, 0x10);
//Ôóíêöèè êîíôèãóðàöèè àâòîìàòà êîíòðîëÿ ðàäèî (ïî óìëî÷àíèþ) TI_CC_SPIWriteReg(TI_CCxxx0_MCSM2, 0x07); TI_CC_SPIWriteReg(TI_CCxxx0_MCSM1, 0x3F); TI_CC_SPIWriteReg(TI_CCxxx0_MCSM0, 0x18);
// Êîìïåíñàöèÿ ñäâèãà ÷àñòîòû TI_CC_SPIWriteReg(TI_CCxxx0_FOCCFG, 0x1D);
// Êîíôèãóðàöèÿ áèòîâîé ñèíõðîíèçàöèè TI_CC_SPIWriteReg(TI_CCxxx0_BSCFG, 0x1C);
// Ïàðàìåòðû ìàëîøóìÿùèõ óñèëèòåëåé è ïîðîã êîìïàðàòîðà TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL2, 0xC7); TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL1, 0x00); TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL0, 0xB2);
// Ïàðàìåòðû êàëèáðîâêè ñèíòåçàòîðà TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL3, 0xE9); TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL2, 0x2A); TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL1, 0x00); TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL0, 0x1F);
// Ïðèâåäåííûå íèæå íàñòðîéêè èçìåíÿòü íå ðåêîìåíäóåòñÿ TI_CC_SPIWriteReg(TI_CCxxx0_FSTEST, 0x59); TI_CC_SPIWriteReg(TI_CCxxx0_TEST2, 0x88); TI_CC_SPIWriteReg(TI_CCxxx0_TEST1, 0x31); TI_CC_SPIWriteReg(TI_CCxxx0_TEST0, 0x0B);
// Îñòàëüíûå íàñòðîéêè ïî óìëî÷àíèþ
}
Как улучшить связь? Если ответ однозначный- на низкой скорости ничего не получится, то где компромис между дальностью и скоростью связи?
|
|
|
|
|
Dec 7 2013, 15:33
|
Гуру
     
Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164

|
Прошелся по району с ведомым устройством. Редкая стабильность LQI - 30 плюс/минус 2. Но все же дальность возросла. Пакеты перестало принимать на 170 м сквозь 16-тиэтажный дом и гаражный кооператив. Скрин для наглядности. Цитата(rx3apf @ Dec 7 2013, 16:52)  На низких скоростях при малой полосе становится актуальна точность установки частоты. Для экспериментов надо быть уверенным в точном совпадении, чтобы устранить хотя бы это фактор. Поэкспериментировал. Получил интересные результаты. Подстроил частоту (на 3.6 кГц понизил). Раньше было LQI было стабильно 20, теперь LQI 3 чередуется с LQI 30. А RSSI упало с -29 до -31 Расширял полосу до 100 кГц - не помогло. Интересно... помогло снизить LQI практически до нуля увеличение девиации - с 5 до 14 кГц. Изменение ширины полосы с 50 до 100 не оказывает существенного влияния, разве что RSSI меняется. Во как...
Сообщение отредактировал zheka - Dec 7 2013, 15:14
Эскизы прикрепленных изображений
|
|
|
|
|
Dec 8 2013, 18:09
|
Знающий
   
Группа: Участник
Сообщений: 599
Регистрация: 28-08-08
Из: Ростов папа
Пользователь №: 39 872

|
Цитата(zheka @ Dec 8 2013, 00:22)  А такой вопрос..... как бы это пограмотней выразиться. Направленность антенны дает прирост как по приему так и по передаче? Если на стационарном объекте поставить направленную антенну, а на носимом обычную - дальность связи - база -> носимый блок возрастет, а ответ от носимого блока будет слышен на том же расстоянии? Вот такая антенна http://radial.ru/catalog/antennas/directional/y4uhf/и резинка http://www.electronshik.ru/card/antenna-43...y-433-03-114982дает 20 км в прямой видимости при +27 дБм как на базе так и у абонента. 9600 бод 58 кГц 2 FSK 436Мгц
|
|
|
|
|
Dec 9 2013, 01:18
|
Гуру
     
Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164

|
Что-то я экспериментирую...... получилось только на 2.4 кбод. На 1.2 кбод LQI не лучше 70, хотя пакеты приходят все. Вот конфиг Цитата # Sync word qualifier mode = 30/32 sync word bits detected # CRC autoflush = false # Channel spacing = 199.951172 # Data format = Normal mode # Data rate = 1.19948 # RX filter BW = 58.035714 # PA ramping = false # Preamble count = 4 # Whitening = false # Address config = No address check # Carrier frequency = 445.999817 # Device address = 0 # TX power = 0 # Manchester enable = false # CRC enable = true # Deviation = 5.157471 # Packet length mode = Variable packet length mode. Packet length configured by the first byte after sync word # Packet length = 255 # Modulation format = 2-FSK # Base frequency = 445.999817 # Modulated = true # Channel number = 0 // // Rf settings for CC1101 // TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG0,0x06); //GDO0 Output Pin Configuration TI_CC_SPIWriteReg(TI_CCxxx0_FIFOTHR,0x47); //RX FIFO and TX FIFO Thresholds TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL0,0x05);//Packet Automation Control TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL1,0x06); //Frequency Synthesizer Control TI_CC_SPIWriteReg(TI_CCxxx0_FREQ2,0x11); //Frequency Control Word, High Byte TI_CC_SPIWriteReg(TI_CCxxx0_FREQ1,0x27); //Frequency Control Word, Middle Byte TI_CC_SPIWriteReg(TI_CCxxx0_FREQ0,0x62); //Frequency Control Word, Low Byte TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG4,0xF5); //Modem Configuration TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG3,0x83); //Modem Configuration TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG2,0x03); //Modem Configuration TI_CC_SPIWriteReg(TI_CCxxx0_DEVIATN,0x15); //Modem Deviation Setting TI_CC_SPIWriteReg(TI_CCxxx0_MCSM0,0x18); //Main Radio Control State Machine Configuration TI_CC_SPIWriteReg(TI_CCxxx0_FOCCFG,0x16); //Frequency Offset Compensation Configuration TI_CC_SPIWriteReg(TI_CCxxx0_WORCTRL,0xFB); //Wake On Radio Control TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL3,0xE9); //Frequency Synthesizer Calibration TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL2,0x2A); //Frequency Synthesizer Calibration TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL1,0x00); //Frequency Synthesizer Calibration TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL0,0x1F); //Frequency Synthesizer Calibration TI_CC_SPIWriteReg(TI_CCxxx0_TEST2,0x81); //Various Test Settings TI_CC_SPIWriteReg(TI_CCxxx0_TEST1,0x35); //Various Test Settings TI_CC_SPIWriteReg(TI_CCxxx0_TEST0,0x09); //Various Test Settings Сгенерирован студией. Что не так? Скажу лишь, что за основу брал предлагаемые программой комбинации настроек. Среди них не было 2-FSK на такой скорости, поэтому просто менял регистр.
|
|
|
|
|
Dec 9 2013, 06:13
|
Гуру
     
Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164

|
Цитата На минимальной скорости CC1101 связь лучше не будет Давайте так.... речь идет именно о дальности связи, а не о дальности распросранения сигнала, так? То есть от наших настроек расстояние, на котором будет ловиться несущая, не изменится, я правильно понял? Идем дальше - получается что меняя скорость и настройки мы в конечном счете меняем то значение RSSI, при котором пакеты читаются, так? Когда я экспериментировал с 100 кбит/сек, я терял пакеты, когда RSSI было меньше -65 dBm ( передатчик в картире на 5 этаже, я метрах в 100 на земле. Уменьшив скорость я получил примерно те же значения RSSI на тех же расстояниях, но пакеты стал ловить дальше и самый низкий RSSI, при котором что-то ловилось -91 dBm. Техасцы, говоря о чувствительности, пишут, что она -114 (ну или сколько там) при 1.2 кбит/сек. Ну не на 20 же dBm помехи ее снижают. Допустим я не буду гнаться за снижением скорости, но я могу как-то на 2.4 кбод добиться приема пакетов при RSSI меньшем чем -90 dbm? Цитата из-за широкой полосы фильтра Я думал, что чем полоса шире, тем больше максимально возможная скорость. То есть как с загруженностью трассы - чем больше поток машин, тем шире должна быть трасса, но это не мешает ездить по этой трассе 1 машине в час. А со связью как? Снижение скорости ТРЕБУЕТ сужения полосы, я правильно понял? Цитата возрастающих требований к совпадению частот кварца. А разве точная ручная подстройка частоты не позволяет это компенсировать? Цитата Еще используйте длинную преамбулу - настолько длинную насколько вам позволяет энергопотребление. А каковы разумные пределы? Может я 1000 захочу поставить?
Сообщение отредактировал zheka - Dec 9 2013, 06:15
|
|
|
|
|
Dec 9 2013, 07:02
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(zheka @ Dec 9 2013, 10:13)  Идем дальше - получается что меняя скорость и настройки мы в конечном счете меняем то значение RSSI, при котором пакеты читаются, так? Меняя ширину пропускания фильтра мы меняем количество шума которое загребает приемник из эфира. 20 Дб помех в городе - это запросто. Может быть и больше, диапазон 433 загажен до невозможности. Цитата А со связью как? Снижение скорости ТРЕБУЕТ сужения полосы, я правильно понял? А разве точная ручная подстройка частоты не позволяет это компенсировать? А каковы разумные пределы? Может я 1000 захочу поставить? Чтобы повысить дальность нужно поднять соотношение сигнал/шум. Один из способов - отфильтровать помехи из эфира (и шумы приемника). Для этого нужно сужать полосу пропускания фильтра. В CC1101 самая узкая полоса чрезмерно широка для скорости 1,2Кбод поэтому работа на минимальной скорости даст малое увеличение дальности. По моим прикидкам работать ниже 4,8Кбод смысла мало. Ручную подстройку нужно делать. В CC1101 для этого предусмотрены специальные регистры. Если энергии не жаль делайте преамбулу длиной 1000 - получите 0,00001% уменьшение количества битых пакетов. Разумные цифры предлагает RF Studio.
|
|
|
|
|
Dec 9 2013, 17:06
|
Знающий
   
Группа: Участник
Сообщений: 599
Регистрация: 28-08-08
Из: Ростов папа
Пользователь №: 39 872

|
Цитата(zheka @ Dec 9 2013, 11:39)  Спасибо за ответы. Но кое что хотелось бы все-таки уточнить. Вот смотрите, у меня линк настроен на 2.4 кбод. Подстройкой частоты и девиации я добился LQI 0-5. Дальше правлю всего один регистр - уменьшаю частоту вдвое. LQI тут же ухудшается до 60-70. Помехи ведь от этого не увеличились. Откуда тогда такое ухудшение связи, если я остальное не трогал, а фактически дал демодулятору вдвое больше времени разбираться с битами. Или это все от того же - из-за слишком широкой полосы?
Вы мне скажите все-таки - уменьшение скорости ТРЕБУЕТ сужения полосы, или оно ПОЗВОЛЯЕТ сузить полосу? Вопрос по поводу модуляции - будет ли толк, если я поставлю 4-FSK?
И еще вопрос - а исходя из чего расчитывать девиацию? Предлагаемое студией значение 5.2 кГц дало не очень хороший результат. Наилучший почему-то в районе 14.2 кГц. ПОЗВОЛЯЕТ. При 4 FSK можно в два раза увеличить скорость при той же полосе, либо сузит занимаемую в эфире полосу в два раза (почти) при той-же скорости передачи. Для низких скоростей частоты кварцев желательно иметь с точностью до 6 го знака. Я использовал генераторы синусоидальной формы 2,5ррм такие
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|