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

Подскажите по TCP/IP

Господа, подскажите с чего начать освоение TCP/IP.

Какие почитать книги, статьи где посмотреть код и т.п.

 

Я в этом деле небельмесы, но понадобилось следующее - связать в сеть несколько устройств по протоколу TCP/IP и всей этой связкой должен управлять компьютер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это читал в первую очередь. Хотелось бы что-нибудь конкретнее.

Типа что нужно со стороны железа, для организации сети (МК LPC2378), преобразователи уровней, трансформаторы. Затем по программе к МК ссылки на реализованные стеки. Далее как программа в ПК должна взаимодействовать с драйвером TCP/IP.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Типа что нужно со стороны железа, для организации сети (МК LPC2378), преобразователи уровней, трансформаторы.

МК -> Ehternet PHY -> Magnetics -> RJ45

Ehternet PHY - микросхема физического уровня, например DP83848 (National) или LAN8187 (SMSC).

Magnetics - трансформатор. может быть интегрирован в разъем. Выбирается в зависимости от выбранного PHY.

RJ45 - разъем :) Вожет быть с/без трасформатора/светодиодов.

 

Затем по программе к МК ссылки на реализованные стеки.

Навскидку.

http://www.sics.se/~adam/uip/index.php/Main_Page - минималистический вариант

http://savannah.nongnu.org/projects/lwip/ - посерьезней и потяжелее. Для комфортной работы лучше использовать с RTOS (imho).

http://www.standardics.nxp.com/support/software/nichelite/ - ничего не скажу, т.к. не пользовался, но выглядит хорошо.

http://micrium.com/products/tcp-ip/tcp-ip.html - серьезно и дорого.

 

Далее как программа в ПК должна взаимодействовать с драйвером TCP/IP.

Через Windows API. Точнее через ту его часть, которая называется winsock2 ( http://msdn.microsoft.com/en-us/library/ms740673(VS.85).aspx )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

vik0 спасибо вам большое, достаточно много новой информации, буду разбираться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ребята, кто разбирался с LwIp, можете обьянить о типе буфера PBUF_POOL...все на родном* английском, что-то не расчехлюсь.

 

typedef enum {

PBUF_RAM, /* pbuf data is stored in RAM */

PBUF_ROM, /* pbuf data is stored in ROM */

PBUF_REF, /* pbuf comes from the pbuf pool */

PBUF_POOL /* pbuf payload refers to RAM */

} pbuf_type;

Изменено пользователем Twen

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

PBUF_POOL

Тут же всё написано:

struct pbuf {
  /** next pbuf in singly linked pbuf chain */
  struct pbuf *next;

  /** pointer to the actual data in the buffer */
  void *payload;
  
  /**
   * total length of this buffer and all next buffers in chain
   * belonging to the same packet.
   *
   * For non-queue packet chains this is the invariant:
   * p->tot_len == p->len + (p->next? p->next->tot_len: 0)
   */
  u16_t tot_len;
  
  /** length of this buffer */
  u16_t len;  

  /** flags telling the type of pbuf, see PBUF_FLAG_ */
  u16_t flags;
  
  /**
   * the reference count always equals the number of pointers
   * that refer to this pbuf. This can be pointers from an application,
   * the stack itself, or pbuf->next pointers from a chain.
   */
  u16_t ref;
  
};

PBUF_POOL это цепочка буферов. Каждый буфер представляет из себя структуру описанную чуть выше + собственно сам буфер. В структуре указатель на след. такой буфер в цепочке, размер текущего и т.д.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...