Xbee s2b скорость

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем utya, 20 авг 2013.

  1. utya

    utya Нуб

    Добрый день, имеются в наличии модули (XBP24BZ7SIT-004 -2 штука), прошил по инструкции. Скорость выставил 38400. Вообщем лагает падла. Медленно передает:( Хотя на простеньких s1 всё лётает. Товарищи подскажите чё делать? Понижать скорость не вариант мне кажется (размер пакета данных 311 байт).
     
  2. nailxx

    nailxx Официальный Нерд Администратор

    В чём заключается суть лага? Долго реагирует перед отправкой большого пакета, а потом всё норм (latency) или же реагирует быстро, но данные идут медленно (throughput)?
     
  3. utya

    utya Нуб

    Данные идут медленно. Если сравнивать с s1, то на экране циферки бегут ну очень быстро=)) А у s2b, есть притормаживание типа throughput. может, что тут уже как бы mesh сеть. Я собираю данные с акселерометра и гироскопа и этот лаг меня сильно напрягает.
     
  4. Megakoteyka

    Megakoteyka Оракул Модератор

    Медленно передает - это в чем выражается?

    А пакеты часто ходят? Чем плохо снизить скорость, если будет все успевать?
    Меньше скорость == меньше помех. На 38400 получается что-то около 12 пакетов в секунду (или 10 с запасом).
     
  5. utya

    utya Нуб

    окей, а у меня в подписи написано нуб. Объясните нубу. Как определить часто ли ходят пакеты? Датчики работают по i2c 400 кГц, mcu обрабатывает и шлёт по uart. А лаг выглядит, типа как будто ждёт какое то время, а потом выплевывает строку данных.
     
  6. Megakoteyka

    Megakoteyka Оракул Модератор

    Подпись можете в настройках исправить, если не нравится :)
    Не "часто ли ходят пакеты" а "как часто они могут ходить на скорости 38400". Длина пакета - 311 байт. 1 байт - это стартовый бит, 8 бит данных, стоповый бит - итого 10 бит. Тогда длина пакета 3110 бит.
    Получаем 38400 / 3110 = 12,347 (пакетов в секунду).
    Теперь дальше. 400 кГц - видимо, все же тактовая частота шины, а не частота опроса.
    Я так понимаю, что Вам нужно завести таймер примерно на 100 мс и по его срабатыванию читать датчик и отправлять пакет. Тогда никаких лагов быть не должно. Постоянно читать датчик и слать пакеты- неправильно, канал забьется (будет переполнение буфера) и произойдет потеря данных.
     
    utya нравится это.
  7. utya

    utya Нуб

    насчёт подписи, всё должно быть честно)) Это то что вы посчитали это по этой формуле. Буфер забивается у xbee или у мк?
     
  8. Megakoteyka

    Megakoteyka Оракул Модератор

    Вы передаете от МК - стало быть, у него буфер и забивается - не успевает все выдать, а тут уже новый пакет подкладывают - затирается хвост предыдущего пакета - данные испорчены.
    А вообще Вы бы выложили код - стало бы намного понятней, в чем затык. Причин на самом деле может быть масса.
     
  9. utya

    utya Нуб

    Понятно. Оно то да, МК заикается вот и начинает буксовать. Но тогда бы была такая же проблема и c xbee s1, но с ними всё нормально. Насчёт кода программы тут вообщем всё круто, я не "кодер", а "быдло-нуб". Поэтому вся системы на программирована через simulink coder. Исходники я могу выложить, но там matlab такого наворотил, поэтому не хотелось бы Вас сильно удручать. Но если вдруг, то я могу))