|
Транспортный протокол для соединения МК с компом, SLIP и TCP/IP - подходящее решение ? |
|
|
|
Jul 17 2006, 08:12
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(san822 @ Jul 17 2006, 10:26)  Нужно сделать соединение между МК и компом. Если речь идет о прямом (не через интернет) соединении RS232 Вашего микроконтроллера и RS232 PC, то более громодкого и неразумного решения придумать трудно... Если речь идет о хождении через интернет, то SLIP в качестве транспорта есть самый простой и разумный вариант. Надо подумать только над необходимостью TCP - я бы в подавляющем большинстве случаев предпочел-бы свою надстройку над UDP. Чайникам там трудно начинать :-( даже если есть "какие-то исходники почитать" - все просто имеет, как минимум, достаточно большой объем. Посему, наиболее часто народ сдается на милость "готовой операционной системы в которой стек уже реализован", что и Вам наверное надо будет сделать. Кстати, имейтее ввиду, что в WIN имеется _клиент_ а не сервер.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 17 2006, 08:56
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(san822 @ Jul 17 2006, 11:34)  Можно ли из UDP сделать связь с надёжностью ТСР ? Да. Этому нет никаких препятствий. TCP убивает желание им пользоватся обычно тем, что доставку-то он "гарантирует", но совсем не гарантирует время доставки и время после которого Вы узнаете, что, например (речь идет о конкретной реализации на WIN стороне), переданные Вами последние 10K никуда вообще-то и не ушли.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 17 2006, 09:28
|

Профессионал
    
Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111

|
Да, наверное, я бы в своём проекте так и поступил... Но совет "мне рекомендовали использовать его"(протокол ТСР) почти принудительный... Данный проект общий, использует управление по SNMP. На компе с Виндой стоит прога net-snmp-5.2.1-1, а МК должен её понимать. Насколько я знаю, эта прога работает с UDP и TCP...
|
|
|
|
|
Jul 17 2006, 09:40
|
Местный
  
Группа: Участник
Сообщений: 290
Регистрация: 18-02-06
Пользователь №: 14 469

|
Цитата(san822 @ Jul 17 2006, 12:28)  Да, наверное, я бы в своём проекте так и поступил... Но совет "мне рекомендовали использовать его"(протокол ТСР) почти принудительный...  Да программисты такая профессия -- огород городить, велосипеды изобретать. Лечить этот дурдом надо принудительно. Цитата(san822 @ Jul 17 2006, 12:28)  Данный проект общий, использует управление по SNMP. На компе с Виндой стоит прога net-snmp-5.2.1-1, а МК должен её понимать. Насколько я знаю, эта прога работает с UDP и TCP... Стоит ли городить огород ради одной програмки? Ставите посредственное socket <-> rs232 приложение на компьютер. Его написать в 100 раз легче выйдет, чем TCP/IP стек на микроконтроллере, я полагаю.
|
|
|
|
|
Jul 17 2006, 10:07
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(javalenok @ Jul 17 2006, 12:40)  Его написать в 100 раз легче выйдет, чем TCP/IP стек на микроконтроллере, я полагаю. А для описанного случая TCP/IP стек (именно стек - это ведь точка-точка, ни тебе ARP ни всего прочего) _совсем_ не нужен. А если еще и UDP фреймами обойтись, что похоже более чем достаточно для конкретного случая, но все вообще очень просто. Лет мамнадцать назад писал под заказ серверок-шлюз обслуживающий WIN/Linux клиента подключающегося через rs232/модем/SLIP/UDP - сейчас глянул - там исходников обслуги модема+slip+прием/передача UDP пакета+отладочная распечатка и 10K на С не наберется :-) Обслуга со второй стороны сокета + кое-какая консолька то под 25K занимает. P.S. Кстати, посмотрел внимательнее - всего 3K исходников (без модема и прочего) относящихся непосредственно к SLIP+UDP
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 17 2006, 10:44
|
Местный
  
Группа: Свой
Сообщений: 251
Регистрация: 23-06-04
Пользователь №: 154

|
Цитата(san822 @ Jul 17 2006, 12:28)  Да, наверное, я бы в своём проекте так и поступил... Но совет "мне рекомендовали использовать его"(протокол ТСР) почти принудительный... Данный проект общий, использует управление по SNMP. На компе с Виндой стоит прога net-snmp-5.2.1-1, а МК должен её понимать. Насколько я знаю, эта прога работает с UDP и TCP... SNMP это чистыи UDP!
|
|
|
|
|
Jul 17 2006, 11:06
|
Местный
  
Группа: Свой
Сообщений: 251
Регистрация: 23-06-04
Пользователь №: 154

|
Цитата(san822 @ Jul 17 2006, 13:51)  Т. е. Вы хотите сказать, что SNMP невозможно реализовать по ТСР ? Или скажем так - SNMP обычно не реализуют по ТСР ? Да SNMP обычно не реализуют по ТСР ! http://www.freesoft.org/CIE/RFC/Orig/rfc1157.txthttp://www.cisco.com/univercd/cc/td/doc/ci...to_doc/snmp.htmhttp://www.rfc-archive.org/getrfc.php?rfc=3430http://www.freesoft.org/CIE/Topics/108.htmSNMP Protocol Overview The Simple Network Management Protocol (SNMP) is essentially a request-reply protocol running over UDP (ports 161 and 162), though TCP operation is possible. SNMP is an asymmetric protocol, operating between a management station (smart) and an agent (dumb). The agent is the device being managed - all its software has to do is implement a few simple packet types and a generic get-or-set function on its MIB variables. The management station presents the user interface. Simple management stations can be built with UNIX command-line utilities. More complex (and expensive) ones collect MIB data over time and use GUIs to draw network maps. http://www.snmp.com/protocol/
|
|
|
|
|
Jul 18 2006, 05:03
|
Знающий
   
Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063

|
<<Не подскажете какой-нибудь исходник на Си для МК(любого), в котором реализован ТСР обмен ?>> На Микрочипе много исходников с подробным описанием.Например AN731 или AN724
Прикрепленные файлы
00731.zip ( 32.91 килобайт )
Кол-во скачиваний: 81
AN724.rar ( 7.25 килобайт )
Кол-во скачиваний: 118
|
|
|
|
|
Jul 18 2006, 06:45
|

Частый гость
 
Группа: Свой
Сообщений: 101
Регистрация: 7-09-05
Из: Riga, LV
Пользователь №: 8 333

|
Цитата(zltigo @ Jul 17 2006, 14:15)  Как я понимаю (после поминания SNMP), вы оба к сетевому/каналообразующему оборудованию отношение имеете :-). Имеем, да. Мир действительно маленький.
--------------------
|
|
|
|
|
Jul 18 2006, 07:12
|

Профессионал
    
Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111

|
Цитата(dmivs @ Jul 17 2006, 15:06)  Ай-яй-яй. Начинаем проект с использованием SNMP не зная что-это такое Для начала поищите информацию по реализации самого SNMP для вашей платформы. Ресурсы, библиотеки, необходимость в RTOS и т.д. Возможно после этого исследования необходимость в стеке TCP/IP отпадет сама собой и ваши программеры подпишутся на какой-нибудь простенький самопальный протокол Какая у вас платформа - процессор, память, ОС? Ну, проект начинал не я... У меня в этом проекте очень скромная доля участия. Есть ПО для компа, которое посылает команды по UDP на МК. SNMP по UDP уже реализованно, но мне дано задание дописать блок, позволяющий делать это по ТСР. Моё начальство считает, что это надо сделать, т. к. хотят побольше надёжности... RTOS у меня на работе вообще не любят... Хотят, чтобы весь программный код был под контролем... МК - С167.
|
|
|
|
|
Jul 18 2006, 10:30
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(san822 @ Jul 18 2006, 13:05)  Т. е. мне можно смело идти и сказать, что мы можем обойтись протоколом UDP, а TCP для этого - это неоправданная экзотика ?  Насколько я понимаю, "идеи" по поводу TCP у "начальства" возникли не просто так, а по причине наличия каких-то проблем, которые похоже зная заклинание "TCP и гарантированная доставка" оно и попыталось решать таким путем. Возникает вопрос - а какие проблемы, и не стоит-ли решать их???
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 24 2006, 10:58
|
Местный
  
Группа: Свой
Сообщений: 251
Регистрация: 23-06-04
Пользователь №: 154

|
Цитата(san822 @ Jul 24 2006, 13:30)  Цитата(Dainis @ Jul 24 2006, 11:15)  Dainis, а Вы сами использовали эту программку ? Вам можно задавать по ней вопросы ? Непользовался ...
|
|
|
|
|
Aug 8 2006, 13:19
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(san822 @ Jul 18 2006, 13:47)  Я думаю идеи возникли из-за того, что они знют, что ТСР надежнее UDP и хотят использовать это. Предрассудки. Еще неизветно насколько надежной у вас получится реализация TCP на вашем МК. TCP сложнее, а следовательно РИСК и НАДЕЖНОСТЬ его реализации будет ниже чем у реализации UDP. А потеряться в сети могут как TCP так и UDP пакеты с равной вероятностью.. Цитата Хотя для данного случая - это, на мой взгляд, просто перестраховка, ведь от компа до МК всего несколько метров кабеля... На мой взгляд это просто глупость. Скачайте соответвующий RFC на SNMP и ткните в нос вашему начальству, что SNMP over UDP по стандарту.
|
|
|
|
|
Aug 29 2006, 06:44
|

Профессионал
    
Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111

|
Цитата Вопрос по этой проге - при посылке запросов по ТСР она сама открывает логическое соединение или это надо делать как-то по-другому ? При перехвате того, что она выдает видно, что прога ведет себя так, как будто соединение по ТСР уже открыто, хотя его ещё надо окрыть... И ещё обращение к администрации - если уж решили перенести тему, то почему перенести не в "Интерфейсы" , а в "Микроконтроллеры " ? Ну ладно, Вам виднее.
|
|
|
|
|
Sep 6 2006, 14:58
|

Местный
  
Группа: Свой
Сообщений: 241
Регистрация: 22-12-04
Пользователь №: 1 610

|
Цитата(san822 @ Jul 17 2006, 11:26)  Нужно сделать соединение между МК и компом. В Винде ХР есть соединение SLIP с TCP/IP, мне рекомендовали использовать его. Не подскажете какой-нибудь исходник на Си для МК(любого), в котором реализован ТСР обмен ? Я почитал документацию по ТСР, стал сомневаться, что без хорошего исходника, который мог бы послужить основой, эта задача под силу такому "чайнику" как я, а сделать хочется... Почитал я ответы, и даже как-то растерялся! Что-то не туда разговор ушёл! Вы хотите TCP/IP на микроконтроллере? По SLIP на TCP/IP? Так смотрите скорее сюда! У меня так холодильник к интернету через машину с FreeBSD подключен был. :-)
|
|
|
|
|
Sep 8 2006, 13:06
|

Местный
  
Группа: Свой
Сообщений: 263
Регистрация: 7-10-05
Из: UA
Пользователь №: 9 342

|
Цитата(gala @ Sep 6 2006, 16:25)  А какие ПРОСТЫЕ протоколы (точка-точка) существуют? или ссылку на обзор Широко используются протоколы семейства ModBus: ModBus RTU, ModBus ASCII, ModBus/TCP.
--------------------
Gray©at
|
|
|
|
|
Sep 14 2006, 17:20
|
Местный
  
Группа: Свой
Сообщений: 353
Регистрация: 11-09-06
Из: Минск
Пользователь №: 20 282

|
Есть классный сайт, где выложены стеки протоколов TCP/IP для 51 контроллеров с исходниками, которые легко адаптируются под любой 51-ый. Там в частности есть AT89S8252-реализация. хотя я, их выложу, чтобы далеко не ходить. Там есть и другие (ссылка сайт - в исходниках)
Сообщение отредактировал evg123 - Sep 14 2006, 17:21
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|