Перейти к содержанию

    

YuryD

Участник
  • Публикаций

    53
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о YuryD

  • Звание
    Участник
  1. SI4432 ошибка CRC

    Может я ни в ту тему пишу? Может надо в Микроконтроллеры? Может это вопрос не к RF специалистам?
  2. SI4432 ошибка CRC

    У меня не ЧИПы, а уже готовые платы. Фотки есть на 1й странице темы. Я, по-сути, только подвожу питание и SPI интерфейс. Вряд ли можно что-то с этим так накосячить, что RSSI упадёт в 2 раза. Покупал у местного поставщика электронных компонентов, нормальная фирма, торгует качественным товаром. Во вложении архив с драйвером SI4432. Может кто-то подскажет, что я неправильно настраиваю? Какие ещё данные есть смысл предоставить? Спасибо. P.S. Я за эту работу и взялся только потому, что модуль шел готовым изделием и вроде как, кроме программы, ничего не надо было делать. Вроде как RF-знаний почти что и не нужно. Но, как оказалось, программу тоже можно сделать криво...
  3. SI4432 ошибка CRC

    Здравствуйте. Вынужден вернуться к этой теме, т.к. есть вопросы по работе модуля. А именно: малая дальность работы модуля. Когда модули с антеннами лежат рядом (на расстоянии 30 см) я имею RSSI 130 при максимальной мощности. Как-то это совсем мало... При этом максимальная дальность не превышает 100 м в прямой видимости. В то же время у меня на руках есть аналогичное устройство конкурентов на тех же самых модулях, с такими же антеннами, и дальность превышает 500 м в прямой видимости. Можно конечно говорить, что антенны-спиральки - это плохо, но рядом на столе я имею RSSI 130 вместо 255. Я ставлю антенны-спиральки на модули конкурентов и дальность практически не снижается. Думаю, дело не в антеннах. Я меняю уровень выходной мощности от 7 до 0 и RSSI снижается со 130 до 96. Т.е. реакция на изменение мощности в принципе есть, но абсолютный уровень очень мал. Я так понимаю, что логика работы модуля правильная, т.к. принципиально модуль работает, отправка-прием-прерывания и прочий логический функционал работает нормально. Скорее всего что-то неправильно настроено в RF-части. Управление switch-ем я проверил осциллографом, вроде всё правильно, как минимум аналогично модулям конкурентов. Что я мог не так настроить? Может кто-то поделится примером, где всё настроено корректно и работает на максимальной, какую можно достичь, дальности? Спасибо.
  4. SI4432 ошибка CRC

    А есть способ получить бОльшую дальность на этих модулях?
  5. SI4432 ошибка CRC

    Проверили дальность. Получилось 200м в прямой видимости при максимальной мощности. Ну, и где обещанные километры? Можно, правда, грешить на антенну. Мы использовали ту спиральку, которой комплектуется этот модуль.
  6. SI4432 ошибка CRC

    Ну, может и мне нормально, но я ещё об этом не знаю Просто по даташиту должна быть до 230, начиная с мощности 0 дБм. Я, конечно, не рассчитывал прямо на 230, конечно, из-за неидеальности схемы, питания и т.д. максимального показателя достичь непросто, но 146 тоже как-то маловато. Максимальную дальность пока не было возможности проверить, но в пределах квартиры на минимальной мощности -1дБм через 2 ЖБ стены на расстоянии метров 10-15 получал снижение RSSI до 76, потерь не было. Может 230 можно получить, если соединить напрямую антенные контакты, а также земли?
  7. SI4432 ошибка CRC

    Разобрался. Адресация работает. Следующая проблема - RSSI. При максимальной мощности, если антенны поднести друг к другу, RSSI показывает 146. Судя по графику, RSSI может при максимальной мощности достигать 230. Как-то маловато 146.... Битрейт у меня 2400, переключение RX-TX делается правильно (при других комбинациях RSSI намного уменьшается). Из-за чего может быть такой низкий RSSI?
  8. SI4432 ошибка CRC

    А нет где примера или описания с примером, как это реализовать?
  9. SI4432 ошибка CRC

    А там есть какие-то TX и RX headers. Это не из этой оперы?
  10. SI4432 ошибка CRC

    Вроде всё заработало. А поделитесь, пожалуйста, опытом, если мне надо организовать какую-то примитивную сеть (несколько устройств в одним мастером), как мне лучше всего организовать адресацию? Лобовое решение - это, например, в первом байте посылки указывать адрес. Реализуется, конечно, просто, но это все слэйвы в сети должны полностью принимать пакет, анализировать, а только потом принимать решения, это был им или не им пакет. А нельзя каким-то более изящным образом (может каким-то настройками модуля) настроить модуль так, чтобы он не дергал процессор, если посылка не ему адресована? Спасибо.
  11. SI4432 ошибка CRC

    Цитата(k155la3 @ Nov 12 2017, 01:39) Обзаведитесь свистком SDR - приемник. Используйте в качестве контрольного. А можно по-подробнее, что это?
  12. SI4432 ошибка CRC

    С проблемой я частично разобрался. Я неправильно вёл передачу. Запись данных в FIFO я делаю Burst-ом, и я забыл, что надо в старшем бите адреса FIFO ставить для записи 1. Теперь проблема другая - дальность. Дальность у меня аж 10 метров. При большем разнесении начинаются ошибки CRC. Тут я подозреваю, что дело в управлении выводами приема-передачи. На мой Кит схемы я не нашёл и я не знаю точно как надо управлять GPIO0-2. В разных исходниках конечно же разное управление, т.к. разные схемы. Надо, наверное, просто взять и прозвонить мой Кит. Видно, что GPIO2 идет только на SI4432, а вот GPIO0 и 1 заходят ещё на 6-тиногую микросхемку (думаю, switch). Собственно, вопрос: как лучше управлять направлением? Я видел два подхода: 1. Выводы назначаются как TX и RX State, т.е. управляются автоматически при входе и выходе в/из соответствующего режима. 2. Выводы назначаются как Direct Digital Output и в ПО вручную переключают их в нужной полярности с созданием задержек перед переключением при выходе из режима передачи. На первый взгляд удобней 1-й подход (автоматом), но не будет ли подводных камней, связанных с тем, что какой-нибудь последний бит посылки не успеет передаться? Т.е. является ли прерывание о завершении передачи гарантией, что уже всё передалось и можно переключаться на приём? Спасибо.
  13. SI4432 ошибка CRC

    Цитата(DASM @ Nov 11 2017, 16:57) Вы там whitening не включили случайно? Или манчестер какой нибудь.. Не ничего такого не включено. Цитата(DASM @ Nov 11 2017, 16:57) А количество принятых байт не показатель в случае fixed packet length, он примет сколько задано и все. У меня плавающая длина пакета. Я меняю на передающей стороне количество передаваемых байт, и на приемной стороне принимается аккурат столько же. Но при этом выставляется флаг error CRC. Если я выключаю CRC, то принимается чётко переданное количество байт, но там мусор, вообще ни один байт не совпадает. От приема к приему это содержимое меняется, т.е. явно шум какой-то. Чертовщина какая-то!....
  14. SI4432 ошибка CRC

    Я проверил, что приемник принимает. Принимается мусор, но всегда то же самое количество байт, что отправлено. Т.е. ошибка контрольной суммы не врёт, в принятом пакете действительно не те данные, что передавались, но, что примечательно, количество принятых байт всегда (я пробовал несколько вариантов) совпадает с длиной передаваемого пакета. Может быть проблема в частотных настройках модулей? Функциональные настройки я проверил, вроде всё по даташиту, но я не особо разбираюсь в ВЧ, поэтому взял RF настройки из первого попавшегося в И-нете примера. Может кто-то поделится ссылкой или примером корректной настройки модуля на частоту 434МГц? Спасибо.
  15. SI4432 ошибка CRC

    А как я в этом процессе участвую? Я включаю CRC, вид CRC и всё. Дальше он сам всё делает. Он сам знает куда класть CRC и откуда его читать. Я же ни где это не настраиваю.