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

YuryD

Участник
  • Постов

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Участник
    Участник

Контакты

  • ICQ
    Array

Посетители профиля

1 244 просмотра профиля
  1. Вопрос снят. Непонятно, по какой причине была нажата кнопка Skip all breakpoints.
  2. Здравствуйте. Я использую Eclipse и xPack GNU Arm Embedded GCC. Когда я начинаю отладку, почти все работает, я могу пройтись по своему коду, я могу перейти в функции. Единственная проблема в том, что я не могу установить какие-либо точки останова, кроме введенной в закладке Startup (_start). В действительности, я могу добавить точку останова, но она неактивна (перечёркнута), и отладчик на ней не останавливается. Как сделать их активными, куда копать? Спасибо
  3. Может я ни в ту тему пишу? Может надо в Микроконтроллеры? Может это вопрос не к RF специалистам?
  4. У меня не ЧИПы, а уже готовые платы. Фотки есть на 1й странице темы. Я, по-сути, только подвожу питание и SPI интерфейс. Вряд ли можно что-то с этим так накосячить, что RSSI упадёт в 2 раза. Покупал у местного поставщика электронных компонентов, нормальная фирма, торгует качественным товаром. Во вложении архив с драйвером SI4432. Может кто-то подскажет, что я неправильно настраиваю? Какие ещё данные есть смысл предоставить? Спасибо. P.S. Я за эту работу и взялся только потому, что модуль шел готовым изделием и вроде как, кроме программы, ничего не надо было делать. Вроде как RF-знаний почти что и не нужно. Но, как оказалось, программу тоже можно сделать криво... si4432.zip
  5. Здравствуйте. Вынужден вернуться к этой теме, т.к. есть вопросы по работе модуля. А именно: малая дальность работы модуля. Когда модули с антеннами лежат рядом (на расстоянии 30 см) я имею RSSI 130 при максимальной мощности. Как-то это совсем мало... При этом максимальная дальность не превышает 100 м в прямой видимости. В то же время у меня на руках есть аналогичное устройство конкурентов на тех же самых модулях, с такими же антеннами, и дальность превышает 500 м в прямой видимости. Можно конечно говорить, что антенны-спиральки - это плохо, но рядом на столе я имею RSSI 130 вместо 255. Я ставлю антенны-спиральки на модули конкурентов и дальность практически не снижается. Думаю, дело не в антеннах. Я меняю уровень выходной мощности от 7 до 0 и RSSI снижается со 130 до 96. Т.е. реакция на изменение мощности в принципе есть, но абсолютный уровень очень мал. Я так понимаю, что логика работы модуля правильная, т.к. принципиально модуль работает, отправка-прием-прерывания и прочий логический функционал работает нормально. Скорее всего что-то неправильно настроено в RF-части. Управление switch-ем я проверил осциллографом, вроде всё правильно, как минимум аналогично модулям конкурентов. Что я мог не так настроить? Может кто-то поделится примером, где всё настроено корректно и работает на максимальной, какую можно достичь, дальности? Спасибо.
  6. А есть способ получить бОльшую дальность на этих модулях?
  7. Проверили дальность. Получилось 200м в прямой видимости при максимальной мощности. Ну, и где обещанные километры? Можно, правда, грешить на антенну. Мы использовали ту спиральку, которой комплектуется этот модуль.
  8. Ну, может и мне нормально, но я ещё об этом не знаю :laughing: Просто по даташиту должна быть до 230, начиная с мощности 0 дБм. Я, конечно, не рассчитывал прямо на 230, конечно, из-за неидеальности схемы, питания и т.д. максимального показателя достичь непросто, но 146 тоже как-то маловато. Максимальную дальность пока не было возможности проверить, но в пределах квартиры на минимальной мощности -1дБм через 2 ЖБ стены на расстоянии метров 10-15 получал снижение RSSI до 76, потерь не было. Может 230 можно получить, если соединить напрямую антенные контакты, а также земли?
  9. Разобрался. Адресация работает. Следующая проблема - RSSI. При максимальной мощности, если антенны поднести друг к другу, RSSI показывает 146. Судя по графику, RSSI может при максимальной мощности достигать 230. Как-то маловато 146.... Битрейт у меня 2400, переключение RX-TX делается правильно (при других комбинациях RSSI намного уменьшается). Из-за чего может быть такой низкий RSSI?
  10. А нет где примера или описания с примером, как это реализовать?
  11. А там есть какие-то TX и RX headers. Это не из этой оперы?
  12. Вроде всё заработало. А поделитесь, пожалуйста, опытом, если мне надо организовать какую-то примитивную сеть (несколько устройств в одним мастером), как мне лучше всего организовать адресацию? Лобовое решение - это, например, в первом байте посылки указывать адрес. Реализуется, конечно, просто, но это все слэйвы в сети должны полностью принимать пакет, анализировать, а только потом принимать решения, это был им или не им пакет. А нельзя каким-то более изящным образом (может каким-то настройками модуля) настроить модуль так, чтобы он не дергал процессор, если посылка не ему адресована? Спасибо.
  13. А можно по-подробнее, что это?
  14. С проблемой я частично разобрался. Я неправильно вёл передачу. Запись данных в FIFO я делаю Burst-ом, и я забыл, что надо в старшем бите адреса FIFO ставить для записи 1. Теперь проблема другая - дальность. Дальность у меня аж 10 метров. При большем разнесении начинаются ошибки CRC. Тут я подозреваю, что дело в управлении выводами приема-передачи. На мой Кит схемы я не нашёл и я не знаю точно как надо управлять GPIO0-2. В разных исходниках конечно же разное управление, т.к. разные схемы. Надо, наверное, просто взять и прозвонить мой Кит. Видно, что GPIO2 идет только на SI4432, а вот GPIO0 и 1 заходят ещё на 6-тиногую микросхемку (думаю, switch). Собственно, вопрос: как лучше управлять направлением? Я видел два подхода: 1. Выводы назначаются как TX и RX State, т.е. управляются автоматически при входе и выходе в/из соответствующего режима. 2. Выводы назначаются как Direct Digital Output и в ПО вручную переключают их в нужной полярности с созданием задержек перед переключением при выходе из режима передачи. На первый взгляд удобней 1-й подход (автоматом), но не будет ли подводных камней, связанных с тем, что какой-нибудь последний бит посылки не успеет передаться? Т.е. является ли прерывание о завершении передачи гарантией, что уже всё передалось и можно переключаться на приём? Спасибо.
  15. Не ничего такого не включено. У меня плавающая длина пакета. Я меняю на передающей стороне количество передаваемых байт, и на приемной стороне принимается аккурат столько же. Но при этом выставляется флаг error CRC. Если я выключаю CRC, то принимается чётко переданное количество байт, но там мусор, вообще ни один байт не совпадает. От приема к приему это содержимое меняется, т.е. явно шум какой-то. Чертовщина какая-то!....
×
×
  • Создать...