|
4 / 4 / 0
Регистрация: 12.11.2018
Сообщений: 511
|
||||||||||||||||
TCP сервер LWIP stm32f74621.10.2020, 12:25. Показов 5176. Ответов 23
Настроил TCP сервер на плате stm32f746 discovery при помощи FREERTOS и LWIP (использую CubeMX). Дальше измеряю скорость передачи данных от ПК к МК, использую передачу одного и того же массива данных в цикле определенное колличесво раз (сеть локальная, просто провод 10 м от МК к ПК).
А именно массив в 1 кбайт передаю 12800 раз (итого передается 100 МБит)
Дальше замеряю таймером время передачи всех этих данных в преывании увеличивая счетчик
В среднем время, за которое передается все 100 Мбит данных равняется 55 сек, что уже достаточно много, так как PHY позволяет работу на 100 Мбит/сек, а тут получается около 3-4 Мбит/сек. Но еще есть такой момент: из кода выше видно, что массив передается 16 раз по 800 раз (итого 12800 раз), если замерять логическим анализатором время передачи каждой порции из 800 массивов, то они будут существенно различаться. Т.е. эти 800 массивов могут передаться за 1.5 секунды, следующие 800 уже за 5 секунд и тд. Помимо передачи по TCP программа почти ничего не выполняет, мигает светодиодом раз в секунду в отдельной задаче. Почему наблюдается такое сильное различие ов времени передачи при абсолютно одинаковых условиях работы кода? От каких настроек зависит скорость работы LWIP?
0
|
||||||||||||||||
| 21.10.2020, 12:25 | |
|
Ответы с готовыми решениями:
23
LWIP TCP сервер ошибки соединения Передача данных по Ethernet TCP LWIP LWIP TCP RAW API server |
|
4 / 4 / 0
Регистрация: 12.11.2018
Сообщений: 511
|
||
| 24.10.2020, 10:25 [ТС] | ||
|
locm, Нашел где включить оптимизацию в STM32Cude IDE
Почитал про оптимизацию https://wiki.gentoo.org/wiki/GCC_optimization/ru https://www.drive2.ru/b/532287598853358311/ Но какой бы уровень оптимизации не выбрал, время передачи все равно примерно одинаковое. Вот время, за которое передается 100 МБит в миллисекундах, при оптимизации O0, O1, O2, Ofast 26081 24568 26809 26843 28849 31029 26045 29345 30867 26537 26536 27021 31312 31086 28921 Имеем те же 3 Мбит/сек Ну как вариант, большую часть измеренного времени уходит не на передачу, а на обработку функций LWIP и FreeRTOS, поэтому какие-либо изменения не заметны.
0
|
||
|
874 / 535 / 175
Регистрация: 30.07.2015
Сообщений: 1,739
|
|
| 24.10.2020, 14:25 | |
|
DmitryDDDD, заведи счетчик тактов типа DWT. Узнай такт до функции отправки и во второй точке где данные выгружаются в DMA модуля Ethernet внутри LWIP. Найди разницу в тактах, узнаешь сколько времени тратится на обработку.
0
|
|
|
4 / 4 / 0
Регистрация: 12.11.2018
Сообщений: 511
|
|||||||
| 26.10.2020, 14:52 [ТС] | |||||||
|
_SayHello, locm, Спасибо за совет, подключи DWT счетчик, но для начала измери время передачи 100 кБайт данных 16 раз
Takt 12449006 Takt 18952682 Takt 32974479 Takt 54536577 Takt 31351780 Takt 56832385 Takt 58247099 Takt 36650756 Takt 53156139 Takt 35063716 Takt 52047291 Takt 63575872 Takt 44820579 Takt 69919346 Takt 31370231 Takt 68210624 Частота работы МК 200 МГц, т.е. чтобы перевести колличесво тиков в миллисекунды необходимо разделить на 200 000 Но опять же, получается, что одна и та же функция выполняемая множество раз, каждый раз выполняется различное время, которое существенно различается
0
|
|||||||
|
4 / 4 / 0
Регистрация: 12.11.2018
Сообщений: 511
|
||||||
| 27.10.2020, 12:43 [ТС] | ||||||
|
locm, _SayHello, Не получилось пока найти место, где данные передаются в DMA, но замерил выполнение функции
Если смотреть по тикам, то передача 1 кБ 10 раз выглядит так Takt 19706 Takt 19058 Takt 18959 Takt 32113 Takt 19736 Takt 18944 Takt 19016 Takt 18933 Takt 19031 Takt 19740 Count 1 (в млсек) Т.е. чуть больше чем за 1 мс передачется 10 кБ Получается, что если при 16 тиках на байт мы имеем 100 МБит/сек, то при 20 должно быть порядка 80 Мбит/сек Но по таймеру, если передавать 100 Мбит данных, они все равно передаются за 30 сек. Не сходится, может у меня ошибка в рассуждениях?
0
|
||||||
| 27.10.2020, 12:43 | |
|
Можно ли на netconn api LwIP сделать сервер с несколькими подключениями на один порт TCP сервер stm32 Stm32f746-disco b-02 и b-04 STM32F746, sim800l, воспроизведение аудио STM32F746 LCD лишние точки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|