|
Si4432 - странности с RSSI |
|
|
|
Jun 5 2013, 09:14
|
Местный
  
Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608

|
Цитата(Aner @ Jun 5 2013, 01:18)  Обратите внимание в вашей програме на: как долго измеряете и в какие моменты. Воможно вам нужно поиграться там с временами. В Si4432 глюков не наблюдал. Пардон, не понял "как долго измеряете". Один раз читаю RSSI регистр как только приходит пакет. Я знаю что рекомендуют 3 раза прочесть и выкинуть один если он сильно другой, но мне случайная ошибка не страшна. Главный вопрос такой: действительно ли упадет чувствительность после передачи? Новый пакет приходит через сотни милисекунд.
|
|
|
|
|
Jun 29 2013, 19:21
|
Местный
  
Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608

|
Цитата(Aner @ Jun 5 2013, 03:00)  А надо реагировать Чтобы не плодить тем, спрошу тут раз уже проблема затронута. Есть пример от SiLabs: ExHop. Передается очень длинная ( 225 байт на 50К bps ) преамбула. Приемник быстро быстро сканирует частоты пока не получит прерывание о распознавании преамбылы. Ждет прерывания о паспознавании синхро слова. Только потом ждет самого пакета. Все логично и прекрасно работает. Только пакет в 4 раза дольше чем надо. 300% overhead некузяво. В смысле не comme il faut. Для моей задачи надо долго ждать (секунды) первого пакета. Тут этот механизм очень хорошо работает. А потом надо быстро передать десятки или даже сотню пакетов на том же канале. Ясно что тут можно передавать пакеты с короткой преамбулой и сидеть на последней частоте. Я добавил несколько строчек кода так что некоторое время частота приема не прыгает. Все работает, но механизм ожидания прерываний на преамбулу и синхро все равно включен. В результате преамбулу все равно приходится слегка удлинить. Перед тем как переделать код дальше хочу спросить. А в чем смысл ждать синхры а не сразу valid packet received? Если я использую штатную обработку пакетов.
|
|
|
|
|
Jun 29 2013, 22:01
|
Местный
  
Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608

|
Цитата(Aner @ Jun 29 2013, 12:48)  Такая струкрура пакетов EzHOPE ( далеко не лучшая) для 50 каналов, либо пользовать как есть, либо своё писать. Да и скорость у вас для 50 каналов низковата, отсюда и время большое. И что, реально нужно столько каналов? Словарь Ожегова говорит: ПОЛЬЗОВАТЬ, -зую, -зуешь; несов., кого-что (устар.). То же, что лечить. П. от простуды. Вы имеете в виду "ИСпользовать". Мне нужны все 50. Так говорит FCC. > скорость у вас для 50 каналов низковата EzHop предлагают 4 скорости: от 2.4 до 128 kbps. Я остановился на 50 как компромис между чувствительностью и скоростью. Понял что RSSI лучше читать после синхры. А в остальном можно сразу ждать правильного пакета? > далеко не лучшая А как лучше? И чем именно плох мой метод сканировать каналы в ожидании первого пакета с длинной преамбулой а потом принимать "нормальные" пакеты на фиксированной частоте? Aner: я ценю Ваши замечания, но к сожалению просто сказать "формат не лучший" или "4463 быстрее" не очень помогает. Хочется понять что именно следует менять и что имено это даст.
|
|
|
|
|
Jul 1 2013, 09:34
|
Местный
  
Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608

|
Цитата(Aner @ Jul 1 2013, 01:42)  alexf пока не очень поинмаю вашу задачу в целом, поскольку не описываете. FCC жестко. Отсюда 915 и 50 каналов. А задача такая. Имеется сервер с радио и много клиентов в том же помещении, но может быть и за стенкой-двумя. (Игра с многими участниками). Сначала клиент посылает запрос и сервер посылает в ответ несколько килобайт. Тут нужна скорость и 225 байт преамбулы не годится. Я решаю так: сервер посылает редкие пакеты с длинной преамбулой (beacon) прыгая по каналам. Клиент, который готов, отвечает на том же канале где был последний сигнал. Дальше сервер посылает все несколько кило подряд с короткими преамбулами. Если все влезло в 0.4 сек, можно канала не менять. Не влезет - перейдем на след. по таблице. А дальше сервер посылает редкие (раз в секунду) пакеты всем клиентам. Тут должен хорошо работать формат EzHop - скорость совсем не нужна, а клиентам не надо по времени синхронизироваться с сменой каналов. Скорость важна только при начальной загрузке, но требования не жесткие, а "чем быстрее тем лучше". Поэтому чтобы не жертвовать дальностью выбрал 50К, а больше и не надо. Как то так.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|