blox 0 31 января, 2011 Опубликовано 31 января, 2011 · Жалоба Подскажите пожалуйста что нужно сделать, происходит следующие через некоторое время работы происходит зависание сс2500 считываю регистр RXBYTES 7 бит 1-ца, то-есть буффер приёмный переполнен перехожу в sidle очищаю rxfifo , но это не помогает трансивер отказывается принимать данные Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rx3apf 0 31 января, 2011 Опубликовано 31 января, 2011 · Жалоба Подскажите пожалуйста что нужно сделать, происходит следующие через некоторое время работы происходит зависание сс2500 считываю регистр RXBYTES 7 бит 1-ца, то-есть буффер приёмный переполнен перехожу в sidle очищаю rxfifo , но это не помогает трансивер отказывается принимать данные Прием надо возобновить по srx. Или не допускать переполнения, своевременно освобождая буфер. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blox 0 31 января, 2011 Опубликовано 31 января, 2011 · Жалоба Спасибо!!! помогает, проблема в проге :cranky: не успеваю разгребать буффер. Извините за наглость не могли бы вы мне разъяснить пару вопросов? Я не понимаю значения RSSI в плане оно отображаеться наоборот то есть чем лучше связь тем большее значение он показывает или я не правильно его интерпретирую? скажем при расстоянии в 2-3 метра уровень -85,-70dbm , а при 10,12 метрах -35, -40dbm и ещё один вопрос в pdf сказано что FEC можно использовать только при постоянной длинне пакета тогда нужно первый байт в пакете использовать как длинну пакета или достаточно задать значение в регистр PKTLEN ? сейчас использую переменную длинну пакета Заранее Спасибо!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rx3apf 0 31 января, 2011 Опубликовано 31 января, 2011 · Жалоба Я не понимаю значения RSSI в плане оно отображаеться наоборот то есть чем лучше связь тем большее значение он показывает или я не правильно его интерпретирую? скажем при расстоянии в 2-3 метра уровень -85,-70dbm , а при 10,12 метрах -35, -40dbm Большее значение RSSI соответствует большему уровню сигнала, но там происходит переход через 00, поэтому, чтобы было однозначное соответствие, надо отнять некоторую "базу" (я для удобства вычитал 192). А уровень в dBm, наоборот (поскольку значение отрицательное) - чем меньше (т.е. ближе к 0) число, тем больше уровень, достигая 0 (теоретически, на практике приемник захлебнется), и затем растет в сторону положительного (это когда на входе больше 1 mW). и ещё один вопрос в pdf сказано что FEC можно использовать только при постоянной длинне пакета тогда нужно первый байт в пакете использовать как длинну пакета или достаточно задать значение в регистр PKTLEN ? сейчас использую переменную длинну пакета При постоянной длине пакета эта длина записывается в PKTLEN, первый байт пакета - данные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blox 0 1 февраля, 2011 Опубликовано 1 февраля, 2011 · Жалоба Большое Спасибо за ответы !!! Большее значение RSSI соответствует большему уровню сигнала, но там происходит переход через 00, поэтому, чтобы было однозначное соответствие, надо отнять некоторую "базу" (я для удобства вычитал 192). А уровень в dBm, наоборот (поскольку значение отрицательное) - чем меньше (т.е. ближе к 0) число, тем больше уровень, достигая 0 (теоретически, на практике приемник захлебнется), и затем растет в сторону положительного (это когда на входе больше 1 mW). Я данные RSSI читаю из приёмного буффера которые добавляються в конец пакета. перевожу по рекомендации в даташите Convert the reading from a hexadecimal number to a decimal number (RSSI_dec) If RSSI_dec ≥ 128 then RSSI_dBm = (RSSI_dec - 256)/2 – RSSI_offset Else if RSSI_dec < 128 then RSSI_dBm = (RSSI_dec)/2 – RSSI_offset и вот что не понятно, по даташиту полученное значение при максимальном уровне сигнала должно стремиться к нулю, а получается наоборот вот для меня и непонятно :rolleyes: И скажите пробовали ли вы использовать с сс2500 усилитель сс2591? сделал макетки дальность увеличилась, но вот не понятно в даташите указанно что если на вывод сс2591 HGM подана логическая единица то имеем максимальное усиление входного сигнала, а у меня почемуто наоборот :cranky: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rx3apf 0 1 февраля, 2011 Опубликовано 1 февраля, 2011 · Жалоба и вот что не понятно, по даташиту полученное значение при максимальном уровне сигнала должно стремиться к нулю, а получается наоборот вот для меня и непонятно Значит, что-то не так с арифметикой, потому что да, результат должен стремиться к 0 dBm с ростом уровня. И скажите пробовали ли вы использовать с сс2500 усилитель сс2591? Нет, с усилителями не пробовал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blox 0 9 февраля, 2011 Опубликовано 9 февраля, 2011 · Жалоба Здравствуйте!!! не стал создавать новую тему, подскажите пожайлуста кто работал с режимом WOR, какие там особенности? мне нужно сократить потребление по минимуму. Работают четыре датчика и один приёмный модуль, датчики сами начинают сеанс связи каждые четыре секунды отправляют пакет приёмному модулю, а тот подтверждает приём, если нет потверждения от приёмного передача повторяеться несколько раз, далее датчик уходит в сон. Вот я подумал что, если каждому датчику выделить свой канал и перевести датчик в режим WOR, пусть приёмный модуль опрашивает каждый датчик на своём канале. Заранее Спасибо!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blox 0 2 мая, 2011 Опубликовано 2 мая, 2011 · Жалоба Опять вылезла эта проблема думал решил её , сделал непрерывную посылку данных через каждые 2мс и приёмник стал зависать, не опускаеться вниз GDO_0(настроен как приём синхрослова 0х06) есть примечание в пдф Asserts when sync word has been sent / received, and de-asserts at the end of the packet. In RX, the pin will de-assert when the optional address check fails or the RX FIFO overflows. In TX the pin will de-assert if the TX FIFO underflows. то-есть может не опускаться если переполнен входной буффер? чтение регистра RXBYTES показывает что всего два байта в буффере. принудительная очистка буффера и перевод в режим приёма не помогает, только перезагрузка посоветуите что-нибудь :crying: быстрее считывать буффер не могу есть другие задачи, пробывал преходить в режим idle на момент чтения из буффера не помогает :cranky: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vba1984 0 1 мая, 2012 Опубликовано 1 мая, 2012 · Жалоба Опять вылезла эта проблема думал решил её , сделал непрерывную посылку данных через каждые 2мс и приёмник стал зависать, не опускаеться вниз GDO_0(настроен как приём синхрослова 0х06) есть примечание в пдф то-есть может не опускаться если переполнен входной буффер? чтение регистра RXBYTES показывает что всего два байта в буффере. принудительная очистка буффера и перевод в режим приёма не помогает, только перезагрузка посоветуите что-нибудь :crying: быстрее считывать буффер не могу есть другие задачи, пробывал преходить в режим idle на момент чтения из буффера не помогает :cranky: поделитесь пожалуйста наработками по теме, если не можно, - имею в наличии две сс2500 и один усилок для них.. Опять вылезла эта проблема думал решил её , сделал непрерывную посылку данных через каждые 2мс и приёмник стал зависать, не опускаеться вниз GDO_0(настроен как приём синхрослова 0х06) есть примечание в пдф то-есть может не опускаться если переполнен входной буффер? чтение регистра RXBYTES показывает что всего два байта в буффере. принудительная очистка буффера и перевод в режим приёма не помогает, только перезагрузка посоветуите что-нибудь :crying: быстрее считывать буффер не могу есть другие задачи, пробывал преходить в режим idle на момент чтения из буффера не помогает :cranky: запарился :)) поделитесь пожалуйста наработками по теме, если можно, - имею в наличии две сс2500 и один усилок для них.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться