Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Настройка параметров стека для достижения высокой скорости передачи

Тема в разделе "Realtek - SDK, прошивки и утилиты", создана пользователем IgorPV, 12 окт 2017.

  1. IgorPV

    IgorPV Новичок

    Сообщения:
    7
    Симпатии:
    0
    Есть задача быстрой передачи данных на медленный удалённый сервер, для её решения нужно иметь большой буфер TCP(от 80КБайт). Планирую применить для этого модуль на основе RTL871Х. Подскажите на какой примерно размер TCP стека(TCP_WND) хватит ОЗУ модулей RAK476(RTL8710) и RAK473(+2MB SDRAM, RTL8711AM).
     
    Последнее редактирование: 12 окт 2017
  2. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.726
    Симпатии:
    1.283
    Во первых в LwIP желательно задать динамические буфера... Для RTL8711AM и RTL8195AM TCP_WND можно задать большой, но нет смысла больше, чем на другой стороне (сервер-клиент, клиент-сервер).
    Вообще TCP_WND подстраивают динамически и для этого существует разные алгоритмы...
    По этому и советовал для решения вашей задачи взять модуль с *nix, а не с жесткой урезанной реализацией TCP стека. Тут вы закопаетесь в куче параметров и дельного ничего не получите... А модули с *nix, к примеру тот-же Omega2p, стоят в том том-же диапазоне ~ $5 за шт и потребляют в три/четыре раза больше... На *nix есть и более дешевые варианты и с меньшим потреблением, но не в виде SMD модулей.
     
    Последнее редактирование: 13 окт 2017
  3. IgorPV

    IgorPV Новичок

    Сообщения:
    7
    Симпатии:
    0
    Я правильно понял что 80-100КБайт можно будет выделить под TCP стек? Встречаются упоминания что для пользователя доступно только 48КБ.
    Прибор имеет малые габариты и автономное питание, поэтому подходят только малопотребляющие SMD сборки.
     
  4. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.726
    Симпатии:
    1.283
    Это "heap" при работе базового примера "AT" из SDK на RTL8710AF/RTL8711AF описанный в конфигурации RTOS, и даже не свободная RAM.
    У AM - свободно более 2-х Мегабайт.

    В местной интрасети увеличение TCP_WIN до 100 килобайт дало только увеличение пиков трансфера TCP файла с модуля (размером 1 Гег) на Chrome до ровно 2-х мегабайт в секунду, а монитора сети WiFi до 2.2. При стандартном в 4*MSS держится чуть более 1.8 мегабайт в секунду. WiFi роутер при этом не сильно загружен другими устройствами.
    Не думаю, что вас спасет простое увеличение размеров окна, без переписывания всего, включая LwIP.
     
    Последнее редактирование: 13 окт 2017

Поделиться этой страницей