Я разработчик встраиваемого программного обеспечения, у которого есть опыт работы с TCPIP на подключенных устройствах.Кроме того, я не являюсь экспертом по программным протоколам, поэтому меня немного смущает стек протоколов TCPIP + ответственность его различных физических уровней.
Прежде всего, у меня есть опыт работы с такими протоколами, как UART, SPI, CAN, USB ... Как вы знаете, слой phy напрямую влияет на вас при выборе протокола, который вы использовали на программном уровне.Например, если вы используете usb и строите на нем программный протокол, вы иногда не сталкиваетесь с некоторыми деталями, такими как проверка поврежденного фрейма в вашем программном протоколе, потому что уровень phy гарантирует эту операцию.CAN также имеет некоторые средства CAN Controller, такие как crc и битовая начинка, поэтому он действительно надежен.Но ситуация не такая же для простых периферийных устройств, таких как UART / USART.Допустим, вы используете модуль Bluetooth для обновления своей прошивки, вам необходимо знать почти все, что может происходить при общении, например, задержки, поврежденные кадры, проверка полезной нагрузки и т. Д.
Вкратце, я пытаюсь понятьТочная роль интерфейсов newtork включена в микроконтроллеры, которые напрямую связаны с сокетами RJ45.Другими словами, представьте, что я написал серверное приложение на моем компьютере.Также я настроил и запустил приложение в моей плате разработки, у которого есть разъем RJ45, и он работает как клиент.Также представьте, что они установили соединение по TCP.Итак, какова будет ситуация на стороне клиента, когда я отправлю 32 байта данных в сокет со стороны сервера?Что я увижу на самом низком уровне MCU, который является RxCompleteInterrupt ()?Гарантируется ли отправка данных, которые я отправил, и некоторые другие материалы, добавленные к пакету TCP, контроллером eth в MCU и контроллером ethernet моего ПК?ИЛИ Я несу ответственность (или стек, который я использовал), чтобы проверить все вещи, необходимые для проверки, является ли фрейм действительным или нет?
Я пытался быть настолько ясным, насколько это было бы.Пожалуйста, если у вас есть опыт, то попробуйте написать чистые комментарии.Я не эксперт по TCPIP, возможно, я использовал неправильную терминологию, пожалуйста, сфокусируйтесь на основной концепции вопроса.
Спасибо, ребята.