vakinin 0 10 сентября, 2010 Опубликовано 10 сентября, 2010 · Жалоба Добрый день. У меня есть схема, состоящая их контроллера MSP430F2131 и трансивера СС1101, разводка СС1101 взята из даташита. Одну такую схему я запрограммировал на постоянную передачу, другую - на постоянный прием, скорость - 1200 бод. На данный момент проблема в том, что ни один пакет целым передать не удалось. Если включить автоочищение буфера RX при получении неправильного CRC - то вообще тишина. Если отключить эту фичу, то приемник постоянно ловит кучу мусора вперемешку с кусками посылаемого пакета, причем - часто даже не может корректно обнаружить границы байт. То есть, грубо - посылаю "12345", а получаю - "bdfhj", то есть, фактически - то самое "12345", сдвинутое влево на 1 бит. Попадаются пакеты, сдвинутые на 2, 3 и более бит, как вправо, так и влево. Уровень RSSI при этом у меня порядка 40h..70h, в зависимости от взаимного расположения приемника и передатчика (то есть, как я понял из даташита, практически максимально возможный), LQI - постоянно равен нулю. Кварц - 27 мегагерц, я смотрел осциллографом на ножке GD00 - частота вроде бы та, которая нужна (у приемника - ровно 27 мегагерц, у мередатчика - 27.001352 МГц). Подстройку частоты регистрами FREQ2..FREQ0 я пробовал делать - эффекта мало. Я подозреваю, что дело попросту в настройках приема-передачи. Не подскажете в чем может быть дело? Заранее спасибо На всякий случай: содержимое настроечных регистров, которыми я инициализирую трансивер: IOCFG2 DC8 06h IOCFG1 DC8 2Eh IOCFG0 DC8 3Fh FIFOTHR DC8 07h SYNC1 DC8 0D3h SYNC0 DC8 91h PKTLEN DC8 020h PKTCTRL1 DC8 012h PKTCTRL0 DC8 04h ADDR DC8 0h CHANNR DC8 0h FSCTRL1 DC8 06h FSCTRL0 DC8 0h FREQ2 DC8 20h FREQ1 DC8 25h FREQ0 DC8 0EDh MDMCFG4 DC8 085h MDMCFG3 DC8 75h MDMCFG2 DC8 10h MDMCFG1 DC8 22h MDMCFG0 DC8 0E5h DEVIATN DC8 46h MCSM2 DC8 07h MCSM1 DC8 32h MCSM0 DC8 18h FOCCFG DC8 16h BSCFG DC8 6Ch AGCCTRL2 DC8 03h AGCCTRL1 DC8 40h AGCCTRL0 DC8 91h WOREVT1 DC8 87h WOREVT0 DC8 6Bh WORCTRL DC8 0FBh FREND1 DC8 56h FREND0 DC8 10h FSCAL3 DC8 0E9h FSCAL2 DC8 2Ah FSCAL1 DC8 0h FSCAL0 DC8 1Fh RCCTRL1 DC8 41h RCCTRL0 DC8 0h FSTEST DC8 59h PTEST DC8 7Fh AGCTEST DC8 3Fh TEST2 DC8 81h TEST1 DC8 35h TEST0 DC8 09h Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rx3apf 0 11 сентября, 2010 Опубликовано 11 сентября, 2010 · Жалоба причем - часто даже не может корректно обнаружить границы байт. То есть, грубо - посылаю "12345", а получаю - "bdfhj", то есть, фактически - то самое "12345", сдвинутое влево на 1 бит. Попадаются пакеты, сдвинутые на 2, 3 и более бит, как вправо, так и влево. Я подозреваю, что дело попросту в настройках приема-передачи. Не подскажете в чем может быть дело? PKTCTRL1 DC8 012h MDMCFG2 DC8 10h Было бы странно, если бы при таких настройках (особенно MDMCFG2) хоть что-то принялось бы правильно...А вообще полезно использовать Smart RFstudio, уж такого безобразия она явно не должна предлагать... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vakinin 0 12 сентября, 2010 Опубликовано 12 сентября, 2010 · Жалоба Было бы странно, если бы при таких настройках (особенно MDMCFG2) хоть что-то принялось бы правильно...А вообще полезно использовать Smart RFstudio, уж такого безобразия она явно не должна предлагать... Такое значение MDMCFG2 мне посоветовал как раз Smart RFstudio Но спасибо за наводку, буду копать в этом направлении. Может еще на какие регистры посоветуете обратить внимание? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rx3apf 0 12 сентября, 2010 Опубликовано 12 сентября, 2010 · Жалоба Такое значение MDMCFG2 мне посоветовал как раз Smart RFstudio Хм. Странно... По-хорошему, если требуется надежность, то лучше настроить с максимальной "параноидальностью" - и синхропреамбулу по-больше, и длину синхрослова по-максимуму. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 13 сентября, 2010 Опубликовано 13 сентября, 2010 · Жалоба На всякий случай: содержимое настроечных регистров, которыми я инициализирую трансивер: У меня настройки такие (см. в приложении), все работает, сравните со своими. _InitCC1100_0.zip _InitCC1100_0.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 4 13 сентября, 2010 Опубликовано 13 сентября, 2010 · Жалоба Добрый день. У меня есть схема, состоящая их контроллера MSP430F2131 и трансивера СС1101, разводка СС1101 взята из даташита. Одну такую схему я запрограммировал на постоянную передачу, другую - на постоянный прием, скорость - 1200 бод. Лучше начинать работу с высоких скоростей, например 250кбит. Низкие скорости с узкой полосой пропускания очень критичны к отклонениям частоты кварца. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vakinin 0 14 сентября, 2010 Опубликовано 14 сентября, 2010 · Жалоба На самом деле поменял значения указанных выше регистров и все пошло :) Но на 250к почему-то не идет пока, я пробовал такую скорость ставить. С другой стороны - для меня критична дальность передачи, а она на низких скоростях вроде как побольше. А насчет ухода частоты - всерьез думаю по частотному выходу с GDO0 контроллером определять частоту кварца, и расчитывать параметры... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться