реклама на сайте
подробности

 
 
> FTP по RS-485, Реально ли?
skripach
сообщение Dec 25 2009, 22:50
Сообщение #1


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Может не совсем Ethernet но всё же...
Задача передавать файлы, удалять файлы, просматривать директории на SD-карте которая вставлена в "железку".
Связь с "железкой" осуществляется по существующим каналам (PC->RS-232->RS-485->"железка").
Вопрос реально ли сделать подобие FTP сервера но по RS-485.
Очень хотелось бы для PC ничего не создавать, а пользоваться стандартным FTP-клиентом.


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
7 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 92)
rezident
сообщение Dec 25 2009, 23:10
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Вы сначала разберитесь, что у вас есть и что требуется.
RS232, RS485, Ethernet это интерфейсы - физический уровень сети, а FTP это протокол, прикладной уровень. См. описание сетевой модели OSI
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 25 2009, 23:12
Сообщение #3


Гуру
******

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



Цитата(skripach @ Dec 26 2009, 01:50) *
для PC ничего не создавать

Тогда с 485 облом, хотя с RS232 можно.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
skripach
сообщение Dec 25 2009, 23:44
Сообщение #4


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Цитата
Вы сначала разберитесь, что у вас есть и что требуется.

Вроде бы написал...
Думаю нужно искать возможность замены физического,канального уровня с Ethernet на RS232-485 на стороне PC, есть ли варианты???
Цитата
Тогда с 485 облом, хотя с RS232 можно.

облом потому что не дуплекс?

P.S. Вот интересно у модераторов красная лампочка зажигается или звоночек звенит когда создаётся новая тема. smile.gif


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
МП41
сообщение Dec 25 2009, 23:51
Сообщение #5


4 синих кубика
****

Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326



RS485 может быть и дуплексом (две пары проводов) и полу-дуплексом (одна пара).


--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 25 2009, 23:57
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(МП41 @ Dec 26 2009, 02:51) *
RS485 может быть и дуплексом (две пары проводов) и полу-дуплексом (одна пара).

В полнодуплексном варианте это уже RS422, а не 485.
Go to the top of the page
 
+Quote Post
МП41
сообщение Dec 26 2009, 00:17
Сообщение #7


4 синих кубика
****

Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326



В таком случае лучше именно RS422 использовать.
Ведь даже по нуль-модемному кабелю можно связать 2 компьютера, при этом по RS232 ходят высокие канальные протоколы (в игрушках даже виден айпишник другого компьютера). Другой вопрос, как научить железку автора работать подобным образом.


--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
Go to the top of the page
 
+Quote Post
skripach
сообщение Dec 26 2009, 00:25
Сообщение #8


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Связь с "железкой" осуществляется по существующим каналам (PC->RS-232->RS-485->"железка").
Цитата
Другой вопрос, как научить железку автора работать подобным образом.

Вопрс не в том как научить "железку", а в том как вывеси FTP наружу из PC через RS-232, а не через Ethernet.


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 26 2009, 00:31
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(skripach @ Dec 26 2009, 03:25) *
Вопрс не в том как научить "железку", а в том как вывеси FTP наружу из PC через RS-232, а не через Ethernet.

При помощи PPP или SLIP.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2009, 00:36
Сообщение #10


Гуру
******

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



Цитата(skripach @ Dec 26 2009, 02:44) *
облом потому что не дуплекс?

Да.
Цитата
P.S. Вот интересно у модераторов красная лампочка зажигается или звоночек звенит когда создаётся новая тема. smile.gif

Это даже робот smile.gif дежурный smile.gif понимает, что тема создана не там.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
skripach
сообщение Dec 26 2009, 00:52
Сообщение #11


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Цитата
При помощи PPP или SLIP.

Вот это уже похоже

Цитата
Это даже робот smile.gif дежурный smile.gif понимает, что тема создана не там.

Перенесли правильно, удивило два первых ответа от модераторов с разницей в 2 минуты.


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
skripach
сообщение Dec 26 2009, 15:49
Сообщение #12


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Так всё таки как (чем) на PC связать Ftp-клиент и COM-порт?


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2009, 16:37
Сообщение #13


Гуру
******

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



Цитата(skripach @ Dec 26 2009, 18:49) *
Так всё таки как (чем) на PC связать Ftp-клиент и COM-порт?

Вам-же уже сказали SLIP/PPP на выбор натягивается на RS232. Поддержка коих в Win штатно есть (помните слово "модем"? - так вот это оно и есть). Поддержка SLIP на стороне контроллера несколько десятков строчек и дело в шляпе - IP поднят и ходите, чем хотите. Но это дуплекс. Если 485,
то придется для Win драйвер вместо RS232 писать, который будет разруливать проблемы.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
skripach
сообщение Dec 26 2009, 16:48
Сообщение #14


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Цитата
Вам-же уже сказали

Пардон сразу не понял.
А что скажете насчет DHLC это вроде поверх 485?


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 26 2009, 16:49
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(skripach @ Dec 26 2009, 20:49) *
Так всё таки как (чем) на PC связать Ftp-клиент и COM-порт?

Нужна реализация TCP/IP для COM-порта.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2009, 17:03
Сообщение #16


Гуру
******

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



Цитата(skripach @ Dec 26 2009, 19:48) *
А что скажете насчет DHLC это вроде поверх 485?

Ничего, поскольку набор букв DHLC лично мне ни о чем не говорит. Если это HDLC, то ни к какому halfduplex эти буквы тоже отношения не имеют. Что Вы пытаетесь узнать? Как сделать так, что-бы ничего не делать? Не получится. Придется писать драйвер для поддержки своего железа. FTP/IP/PPP(SLIP) Windows Вам предоставит, остальное сами. Можете обойтись и без драйвера - напишите какое-нибудь приложение выполняющее роль шлюза и имеющее с одной стороны RS232->RS485 а с другой стороны изображающий локальный FTP сервер для Win.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
skripach
сообщение Dec 26 2009, 18:32
Сообщение #17


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Скрин из википедии на которую меня послал rezident
Как видно и SLIP и PPP и HDLC являются протоколами канального уровня TCP/IP стека, но в отличие от SLIP и PPP HDLC является, по сведениям из той же википедии, протоколом который может работать поверх RS-485.
Если изложенное в википедии верно, то у меня вопрос:
Возможно ли применить какой-то стандартный(уже написанный) софт реализующий цепочку FTP-клиент->[некий софт]->HDLC->RS-232.
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2009, 18:58
Сообщение #18


Гуру
******

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



Цитата(skripach @ Dec 26 2009, 21:32) *
по сведениям из той же википедии, протоколом который может работать поверх RS-485.

В одну сторону совершенно без проблем smile.gif. Ну НЕ имеет он отношение к дуплексу никакого. И вообще он в потоке битов а не байтов работает. Что, дальше Википедии заглянуть не судьба?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SysRq
сообщение Dec 26 2009, 19:06
Сообщение #19


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



http://en.wikipedia.org/wiki/COM_port_redirector
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2009, 19:13
Сообщение #20


Гуру
******

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



Цитата(SysRq @ Dec 26 2009, 22:06) *

К какому месту прикладывать для получения удовлетворения?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
skripach
сообщение Dec 26 2009, 19:30
Сообщение #21


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Цитата

Насколько я понимаю эта штука позволяет создать прозрачный RS-232 через интернет.


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
SysRq
сообщение Dec 26 2009, 19:32
Сообщение #22


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(zltigo @ Dec 26 2009, 22:13) *
К какому месту прикладывать для получения удовлетворения?
К голове. Там в конце статейки ссылки на софт.

Цитата
The remserial program acts as a communications bridge between a TCP/IP network port and a Linux device such as a serial port. Any character-oriented Linux /dev device will work.

Цитата
TCP-Com is a software based serial port to TCP/IP Redirector, that can act as either a TCP/IP client or server. It allows you to turn your Windows PC into a "Serial Device Server"
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2009, 19:39
Сообщение #23


Гуру
******

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



Цитата(SysRq @ Dec 26 2009, 22:32) *
К голове. Там в конце статейки ссылки на софт.

Ну тогда приложите и подумайте как этот софт поможет физически вылезти из писишки RS485-тым.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SysRq
сообщение Dec 26 2009, 20:13
Сообщение #24


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(zltigo @ Dec 26 2009, 22:39) *
...как этот софт поможет физически вылезти из писишки RS485-тым.
Ну вестимо у автора темы есть на ПК интерфейс RS485 (либо с преобразованием с RS232), вестимо в системе он представлен в виде последовательного порта 07.gif
Почему бы не попробовать реализовать TFTP-клиент <-> (локальный TCP\UDP порт) этот софт <-> (COM-порт) RS485 <-> железо <-> TFTP-сервер?.. Полудуплекс RS485 помешать не должен..
Go to the top of the page
 
+Quote Post
skripach
сообщение Dec 26 2009, 20:22
Сообщение #25


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Цитата
TFTP-клиент <-> (локальный TCP\UDP порт) этот софт <-> (COM-порт)

FTP-клиент никак не стыкуется "'этим софтом" ибо "этот софт" не передает TCP/IP пакеты в ком порт.


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2009, 20:22
Сообщение #26


Гуру
******

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



Цитата(SysRq @ Dec 26 2009, 23:13) *
Ну вестимо у автора темы есть на ПК интерфейс RS485 (либо с преобразованием с RS232), вестимо в системе он представлен в виде последовательного порта 07.gif
Почему бы не попробовать реализовать TFTP-клиент <-> (локальный TCP\UDP порт) этот софт <-> (COM-порт) RS485 <-> железо <-> TFTP-сервер?..

Это все (кроме 485)делается без всяких дополнительных приблуд, как уже описано выше.
Цитата
Полудуплекс RS485 помешать не должен..

Отнюдь, это полный кирдык, ибо средств разрешения конфликтов в драйвере RS232 не предусмотрено, за ненадобностью.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SysRq
сообщение Dec 26 2009, 20:41
Сообщение #27


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



skripach, в этом случае в COM-порт пойдут только данные из них, т.е. протокол верхнего уровня в чистом виде.

Цитата(zltigo @ Dec 26 2009, 23:22) *
Отнюдь, это полный кирдык, ибо...
Исключить, выбрав протокол верхнего уровня с принципом запрос-ответ. Железке отдем логическую роль slave. Чем TFTP не подходит?
Go to the top of the page
 
+Quote Post
SM
сообщение Dec 26 2009, 20:45
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Вообще, чтобы ничего не создавать на PC, надо создать что-то вне PC - например сделать дуплексный 485, по двум парам. И всех делов. На это вроде тут уже намекали. Или, если в кабеле пар физически не хватает, как вариант, создать умный переходник 232-485, который бы и разруливал конфликты.

Цитата(SysRq @ Dec 26 2009, 23:41) *
Исключить, выбрав протокол верхнего уровня с принципом запрос-ответ.

А если ошибка в канале битовая... Начнутся перезапросы, перепосылки пакетов... Да и все TCP ACK-ки ходят дуплексно вместе с пакетами вне зависимости от того, что там за протокол "наверху". В общем встроенного средства заставить винду (да вроде и линь тоже, хотя тут не уверен) учитывать в TCP-уровне то, что канал недуплексный, нету.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2009, 20:45
Сообщение #29


Гуру
******

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



Цитата(SysRq @ Dec 26 2009, 23:41) *
Исключить, выбрав протокол верхнего уровня...

Без проблем, но его придется написать, причем для двух сторон, а не взять готовый их Windows, о чем тоже уже говорилось выше.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
skripach
сообщение Dec 26 2009, 20:45
Сообщение #30


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Цитата
в этом случае в COM-порт пойдут только данные из них, т.е. протокол верхнего уровня в чистом виде.

хорошо бы ftp сразу в RS232, сейчас буду проверять, но наверное не так.


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
SysRq
сообщение Dec 26 2009, 20:51
Сообщение #31


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(SM @ Dec 26 2009, 23:45) *
А если ошибка в канале битовая... Начнутся перезапросы, перепосылки пакетов...
Это loopback. Я сам себе сервер, сам себе клиент. По полудуплексному каналу я предлагаю гонять только протокол верхнего уровня.

Цитата(zltigo @ Dec 26 2009, 23:45) *
Без проблем, но его придется написать...
Обработку TFTP (или HTTP) запросов в железе. На ПК софта полно.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Dec 26 2009, 20:53
Сообщение #32


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Так параметры железки будем говорить или как? wassat.gif
RTOS-ы портировать умеете?
Открытый, полноценный и качественный FTP сервер поверх PPP (HDLC, к сведению, является несущей PPP) который может работать
поверх асинхронных последовательных каналов есть только в демопакете MQX от Freescale.
Вам только портировать надо эту ось, драйвер UART-а и SDIO.
Профессионалу работы на неделю... ну не больше месяца biggrin.gif



Цитата(skripach @ Dec 26 2009, 00:50) *
... Задача передавать файлы, удалять файлы, просматривать директории на SD-карте которая вставлена в "железку"...
Go to the top of the page
 
+Quote Post
SM
сообщение Dec 26 2009, 20:55
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(SysRq @ Dec 26 2009, 23:51) *
По полудуплексному каналу я предлагаю гонять только протокол верхнего уровня.

И как винду (или линь, на PC может работать самая разная ось) это заставить делать без какого-то доп. софта для PC? Один хрен все готовые утилиты работают через сокеты, а сокеты - через набор имеющихся драйверов, включающих и протоколы нижнего уровня. Вариант лишь один - брать какой-то опенсурс клиент и переписывать под свой транспорт. Что противоречит условию - ничего на PC не делать
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2009, 21:07
Сообщение #34


Гуру
******

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



Цитата(SysRq @ Dec 26 2009, 23:51) *
Обработку TFTP (или HTTP) запросов в железе. На ПК софта полно.

Вы опять о чем-то, чего не понимаете,говорить пытаетесь sad.gif


Цитата(AlexandrY @ Dec 26 2009, 23:53) *
(HDLC, к сведению, является несущей PPP)

Нет, они идеологически похожи по формированию фреймов, но один в другом не нуждаются. Тем более, что как уже поминал, HDLC это биториентированный протокол и в нем байториентированный UART не нуждается.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SM
сообщение Dec 26 2009, 21:11
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Кстати, если применить AX.25 - то пожалуй и можно сделать все то, что хочет сделать автор, вроде по памяти X.25 умеет по полудуплексу ходить. А TCP/IP over AX.25 есть на PC (как минимум в лине) встроенными средствами.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2009, 21:19
Сообщение #36


Гуру
******

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



Цитата(SM @ Dec 27 2009, 00:11) *
X.25 умеет по полудуплексу ходить.

Разумеется нет.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Dec 26 2009, 21:20
Сообщение #37


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Слаб я в идеологии... wink.gif Это враги из Freescale называют физический уровнь PPP как HDLC.
Да и другие как сговорились все этот уровень HDLC называют.

А так согласен HDLC это битовый протокол.
У нас одна уважаемая фирма даже собственный придумала формат тоннеля IP поверх FrameRelay с битовым HDLC и через свои спутниковые каналы качает с огромной скоростью.

Цитата(zltigo @ Dec 26 2009, 23:07) *
Нет, они идеологически похожи по формированию фреймов, но один в другом не нуждаются. Тем более, что как уже поминал, HDLC это биториентированный протокол и в нем байториентированный UART не нуждается.
Go to the top of the page
 
+Quote Post
SM
сообщение Dec 26 2009, 21:22
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(zltigo @ Dec 27 2009, 00:19) *
Разумеется нет.


А про что тогда пишут в "2.4.3.5 Collision Recovery", а именно "2.4.3.5.1 Collisions in a Half-Duplex Environment" спецификации AX.25 ?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2009, 21:35
Сообщение #39


Гуру
******

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



Цитата(AlexandrY @ Dec 27 2009, 00:20) *
Да и другие как сговорились все этот уровень HDLC называют.

Для битовых потоков это так и есть - классика жанра. Тот-же X.25 лежит в таком случае поверх HDLC+LAPB(вот эту сладкую парочку
уровня Data Link и могут называть как придется)->MLP->X.25
Цитата(SM @ Dec 27 2009, 00:22) *
спецификации AX.25 ?

Про AX.25 не занимался, не знаю. Ну а X.25, как и многое другое, писал собственноручно - чего там нет, так это разруливания halfduplex.
Скажу одно, что после уровня LAP* заниматься разрешением коллизий уже изрядно поздно sad.gif. Одиночные битые фреймы они хоть и на самом верху на IP уровне отсеиваться и переповторяться могут, но не массовые потери.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SM
сообщение Dec 26 2009, 21:42
Сообщение #40


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(zltigo @ Dec 27 2009, 00:35) *
Скажу одно, что после уровня LAP* заниматься разрешением коллизий уже изрядно поздно sad.gif. Одиночные битые фреймы они хоть и на самом верху на IP уровне отсеиваться и переповторяться могут, но не массовые потери.


А для любительского радио, для которого AX.25 придуман был, там других вариантов нет, как на этом уровне разбираться, ибо остальные аналоговые smile.gif. Опять же по памяти - там делается тупо, как в Ethernet - если произошла коллизия, (слал более, чем один передатчик), ретрансмит по случайному таймеру. А вообще подробностей я не помню, очень давно это было, и разбираться-вспоминать в подробностях лень, да и времени нет, пусть автор сам смотрит, пойдет это ему, или не пойдет. Главное что оно на PC стандартными средствами есть.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Dec 26 2009, 21:45
Сообщение #41


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Боюсь мужику все равно придется поверх X.25 лепить PPP.
А то кто будет проводить назначение сетевых адресов, DNS-ов, шлюзов?


Цитата(zltigo @ Dec 26 2009, 23:35) *
Ну а X.25, как и многое другое, писал собственноручно.
Скажу одно, что после уровня LAP* заниматься разрешением коллизий уже изрядно поздно sad.gif. Одиночные битые фреймы они хоть и на самом верху на IP уровне отсеиваться и переповторяться могут, но не массовые потери.
Go to the top of the page
 
+Quote Post
SM
сообщение Dec 26 2009, 21:56
Сообщение #42


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(AlexandrY @ Dec 27 2009, 00:45) *
Боюсь мужику все равно придется поверх X.25 лепить PPP.

Что-то это масло масляное - TCP/IP over AX.25 over PPP smile.gif

Цитата(AlexandrY @ Dec 27 2009, 00:45) *
А то кто будет проводить назначение сетевых адресов, DNS-ов, шлюзов?

Дык это уже всякие там DHCP/BOOTP и тому подобное, это выше, чем TCP/IP, да и фиксированно прописать можно, и без DNS вообще (это тут только с жиру беситься - доменные имена вводить в 485-ой сети). А какие-то фиксированные адреса в RS-485 сети наверное уже и так есть... Которые видимо в AX.25 вид "позывной+SSID" придется переделать.

Цитата(zltigo @ Dec 27 2009, 00:35) *
Про AX.25 не занимался, не знаю. Ну а X.25, как и многое другое, писал собственноручно - чего там нет, так это разруливания halfduplex.


Блин, сорри, досадная опечатка вышла, букву пропустил... В этом сообщении http://electronix.ru/forum/index.php?showt...st&p=698806 - все три раза должно быть AX.25
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2009, 21:58
Сообщение #43


Гуру
******

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



Цитата(AlexandrY @ Dec 27 2009, 00:45) *
Боюсь мужику все равно придется поверх X.25 лепить PPP.
А то кто будет проводить назначение сетевых адресов, DNS-ов, шлюзов?

Зачем? У него физическая точка-точка и на всякие адреса и шлюзы вообще плевать игнорируя - контроллеру можно вообще радостно откликаться на любой. Или речь идет о 485 "сети"? В ней по портам разойтись можно,
И вместо PPP SLIP пойдет на ура. Все, что требуется sad.gif, это драйверок вместо RS232 разруливающий явные коллизии.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Dec 26 2009, 21:59
Сообщение #44


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Маразм крепчал... biggrin.gif
DHCP используют вообще-то только при наличии уровня LLC-MAC. Хотя можно в принципе наверно предложить коллеге эмулировать LLC и МАС поверх RS485.

Цитата(SM @ Dec 26 2009, 23:48) *
...Дык это уже всякие там DHCP/BOOTP и тому подобное, это выше, чем TCP/IP, да и фиксированно прописать можно, и без DNS вообще...
Go to the top of the page
 
+Quote Post
SM
сообщение Dec 26 2009, 22:05
Сообщение #45


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(AlexandrY @ Dec 27 2009, 00:59) *
при наличии уровня LLC-MAC.

Что за новости? Это где еще такое в RFC-2131 написано? UDP+броадкасты есть - значит и DHCP реализуем, и совершенно все равно, что там ниже, MAC или не MAC.
Да и реализуется он (DHCP) "одной левой", если уж человек на FTP позарился. Хотя в контексте - фиксированные айпишники всем, и вперед.

Короче - если TCP/IP over AX.25 встроен в ядро ОС на PC, то и какой-то протокол преобразования IP-адресов в AX.25 адреса (по аналогии с изернетовским ARP) тоже там есть. Дело за малым - поднять AX.25 и TCP/IP over AX.25 в девайсе.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Dec 26 2009, 22:18
Сообщение #46


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(zltigo @ Dec 26 2009, 23:58) *
Зачем? У него физическая точка-точка и на всякие адреса и шлюзы вообще плевать игнорируя...

Ничего не имею против такой технологии. Тоже хороший ход.
Только загвоздка, что штатные FTP сервера и клиенты понимают только вменяемые IP адреса и работают через штатные сокеты которые используют штатные таблицы маршрутизации. FTP сервер же открывает потом еще одно соединение.
Кастрировать все это хозяйство под некие упрощенные процедуры это будет знатный гемор. biggrin.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2009, 22:22
Сообщение #47


Гуру
******

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



Цитата(AlexandrY @ Dec 27 2009, 01:09) *
Только загвоздка, что штатные FTP сервера и клиенты понимают только вменяемые IP адреса

Вменяемый не проблема, как позвали, так и ответит, тем более, что он может быть один на всех.
Цитата
и работают через штатные сокеты которые используют штатные таблицы маршрутизации.

Да ни малейших проблем - работают и пусть.
Цитата
FTP сервер же открывает потом еще одно соединение.

Естественно, но проблемы-то какие?
Цитата
Кастрировать все это хозяйство под некие упрощенные процедуры это будет знатный гемор. biggrin.gif

Никакой кастрации - легкая вставка игнорирующая IP, выхватывающая из IP адрес и заносящая его, как свой для
ответных фреймов. Портировать-то IP стек по любому в котроллер надо. А вообще, чего это мы еще и о конфигурации IP? Статические адреса еще никто не отменял.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Dec 26 2009, 22:36
Сообщение #48


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(zltigo @ Dec 27 2009, 00:22) *
Никакой кастрации ...


Да, я думаю мы недооцениваем мануальную терапию. biggrin.gif

Осталось только выяснить как этот SLIP или что там.. X.25 присобачить скажем к FTP клиенту Total Соmmander-а?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2009, 22:43
Сообщение #49


Гуру
******

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



Цитата(SM @ Dec 27 2009, 01:05) *
AX.25.

Да успокойтесь Вы с AX.25 - ну он уже по любому работает с ГОТОВЫМИ фреймами и если будет тупо ими кидатся, то просто может и ни один не дойти. Нужно коллизии разруливать на байтово-фреймовом уровне пока навстречу идет фрейм свое буферизировать и не передавать. А при конфликте встречных фреймовых маркеров должно быть понятие уступающего слейва. И уж потом, если разрулили не 100% коллизий качественно, например, по причине упрощения разруливателя, то это тогда битое на IP вывалится и подчистится.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 26 2009, 23:07
Сообщение #50


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



А какой-нибудь telnet не решит задачу топикстартера? На имеющемся типе связи его вроде проще поддержать. Или нет?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2009, 23:09
Сообщение #51


Гуру
******

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



Цитата(AlexandrY @ Dec 27 2009, 01:36) *
Осталось только выяснить как этот SLIP или что там.. X.25 присобачить скажем к FTP клиенту Total Соmmander-а?

Да никак не надо! Это далекооо от FTP клиента. FTP->IP->Ethernet Adapter->SLIP/PPP->RS232 Driver. Это ШТАТНАЯ фича Виндозного Dialup клиента. Только нажать на иконку "New Connection" и сказать, что надо. Для RS232 уже все уже прикручно до нас. На рубеже 90x лично пользовался широко smile.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
skripach
сообщение Dec 26 2009, 23:16
Сообщение #52


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Итак... если я правильно понял то варианта ничего не делать на PC + RS-485 нет так так RS-485 это полудуплекс.
Из RS-232 можно стандартными средствами "окон" вывести PPP, SLIP, X.25.
И может получится если вставить девайс между RS-232 и RS-485 для буферизации.
Всё правильно или чего-то я не так понял?


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2009, 23:33
Сообщение #53


Гуру
******

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



Цитата(skripach @ Dec 27 2009, 02:16) *
Из RS-232 можно стандартными средствами "окон" вывести PPP, SLIP, X.25.

Про X.25 это пургу несли sad.gif. И нет его поддержки в Win как класс. Только в Linux есть нечто писанное левой ногой и реально заброшенное на стадии Альфа еще в прошлом веке sad.gif. Да и не нужен он Вам. Совсем. PPP и SLIP - да.
Цитата(skripach @ Dec 27 2009, 02:16) *
И может получится если вставить девайс между RS-232 и RS-485 для буферизации.

Или девайс, или драйвер заменяющий Виндозный RS232 и разруливающие хотя-бы большую часть коллизий. Что для Вас проще, то и делайте.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
skripach
сообщение Dec 26 2009, 23:44
Сообщение #54


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Всем спасибо.
Если есть ещё светлые мысли буду благодарен.


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
МП41
сообщение Dec 26 2009, 23:56
Сообщение #55


4 синих кубика
****

Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326



А что, лишней пары в кабеле совсем нету?


--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2009, 23:57
Сообщение #56


Гуру
******

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



Цитата(skripach @ Dec 27 2009, 02:44) *
Если есть ещё всетлые мысли буду благодарен.

Есть, но ее уже тоже озвучивал - вместо драйвера простое приложение, которое выполняет функции некоего proxy - к нему лезут по IP, ну уж оно транслирует их в RS232 c учетом, что за ним halfdupleх. В свое время так и делал одну приблуду, бо под кучу разных Win писать драйвера было не рационально. А так оно хоть и старенькое, но живет до сих пор на всех Win. И будет, пока Winsock да
open( serial_port, ... ) поддерживаются smile.gif. Кстати, его порт и под Linux живет. Дальше, только "ключи от квартиры, где деньги лежат" smile.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SysRq
сообщение Dec 27 2009, 00:07
Сообщение #57


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Ну и тема! rolleyes.gif

Цитата(zltigo @ Dec 27 2009, 00:07) *
Вы опять о чем-то, чего не понимаете,говорить пытаетесь sad.gif
Нда? А вот я попробовал! Цепочкой [браузер -> localhost:8080 -> софтина -> COM-порт -> железка] легко получаю пару html'ок из железа. Можно и остальное попробовать, но мне лень.. так что laughing.gif
Go to the top of the page
 
+Quote Post
skripach
сообщение Dec 27 2009, 00:08
Сообщение #58


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Цитата
А что, лишней пары в кабеле совсем нету?

В существующих сетях точно нет, да и в будущих вряд ли возможно.
Цитата
Есть, но ее уже тоже озвучивал - вместо драйвера простое приложение

Обязательно рассмотрю этот вариант, но это нужно что-то делать для PC, посмотрим...
Цитата
Нда? А вот я попробовал! Цепочкой [браузер -> localhost:8080 -> софтина -> COM-порт -> железка]

Может я не ту софтину пробовал не ткнёте носом?


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 27 2009, 00:15
Сообщение #59


Гуру
******

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



Цитата(SysRq @ Dec 27 2009, 03:07) *
так что laughing.gif

Вот именно "что"? В огороде бузина, в Киеве дядька..... sad.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
МП41
сообщение Dec 27 2009, 00:15
Сообщение #60


4 синих кубика
****

Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326



А что если использовать MT9172 в модемном режиме (по даташиту - "MOD MODE") - полный дуплекс по одной паре, до 6-и километров можно выжать, 80/160кбит в беспрерывном битовом потоке.


--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
Go to the top of the page
 
+Quote Post
SysRq
сообщение Dec 27 2009, 00:21
Сообщение #61


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(skripach @ Dec 27 2009, 03:08) *
Может я не ту софтину пробовал не ткнёте носом?
Я первую попавшуюся взял: ComPort/IP Server 2.2.

Цитата(zltigo @ Dec 27 2009, 03:15) *
Вот именно "что"? В огороде бузина, в Киеве дядька..... sad.gif
Второй бесполезный комментарий sad.gif Скажите лучше где грабли лежат в таком решении.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 27 2009, 00:34
Сообщение #62


Гуру
******

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



Цитата(МП41 @ Dec 27 2009, 03:15) *
А что если использовать MT9172

1. BRI мертв давно и надежно - эти и подобные чипы достать можно только из складских отвалов по весьма эксклюзивной цене. На сетях сейчас всякие *DSL.
2. Еще надо будет железку для PC сделать добавив к чипу аппаратную поддержку того-же HDLC, ну и драйвер написать smile.gif.
Цитата(SysRq @ Dec 27 2009, 03:21) *
Скажите лучше где грабли лежат в таком решении.

Грабли в том, что это ВООБЩЕ НЕ РЕШЕНИЕ поставленной задачи никаким боком.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
МП41
сообщение Dec 27 2009, 00:54
Сообщение #63


4 синих кубика
****

Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326



Да, BRI отдаёт прошлым веком, хотя я знаю фирму, которая сегодня активно использует в своих изделиях связку MT9172+MT8952 (+ ещё куча). Кстати, чипы и сегодня производятся Zarlink'ом, хотя ценник действительно кусачий. Кстати, ещё и специальные трансформаторы для этого дела нужны. Тут HDLC, я думаю, не обязательно нужен был бы. MT9172 в модемном режиме передаёт в обе стороны прозрачный битовый поток, которому всё равно, что гонять, хоть линии RX/TX от RS-232, только бы совпадала битовая скорость. Но наверное без дополнительных МК для дополнительной синхронизации не обойтись, учитывая сетку стандартных скоростей RS-232.


--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
Go to the top of the page
 
+Quote Post
skripach
сообщение Dec 27 2009, 01:03
Сообщение #64


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



SysRq Вы всё же не поняли суть моей задачи.


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
SysRq
сообщение Dec 27 2009, 01:05
Сообщение #65


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Всё, всё, я ушел... laugh.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 27 2009, 01:10
Сообщение #66


Гуру
******

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



Цитата(МП41 @ Dec 27 2009, 03:54) *
Кстати, чипы и сегодня производятся Zarlink'ом,

Обалдеть, дейсвительно заглянул - Product Status: Production правда ни у кого из солидных оптовиков не видать их, а на заказчика вагонами
под которого подобные чипы выпускают, все еще выпускают, всякие Инфинеоны с Неками я не тяну.
Будем считать, что для меня это, возможно, Новогодний подарок, если скажете источник к которому приникли коллеги из "знаю фирму, которая сегодня активно использует". Я совершенно серьезно.
Цитата
Кстати, ещё и специальные трансформаторы для этого дела нужны.

Это не проблема - мотальщики трансформаторов не умерли smile.gif, да и NECовские армейские в керамических! DIP! я использую и трансформаторы соответственно есть. Ну а если без питания в линии, то вообще не проблема.
Цитата
Тут HDLC, я думаю, не обязательно нужен был бы. MT9172 в модемном режиме передаёт в обе стороны прозрачный битовый поток, которому всё равно, что гонять, хоть линии RX/TX от RS-232, только бы совпадала битовая скорость.

Батенька, это НЕПРЕРЫВНЫЙ ПОТОК битов в котором нет, совсем нет никаких нарезок на байты и вообще какой-либо синхронизации
кроме битовой. Так вот, HDLC контроллеры традиционно и занимаются асинхронным запихиванием и извлечением из этого потока фреймов кратных 8битам.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
МП41
сообщение Dec 27 2009, 01:20
Сообщение #67


4 синих кубика
****

Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326



Цитата(zltigo @ Dec 27 2009, 03:10) *
Будем считать, что для меня это, возможно, Новогодний подарок, если скажете источник к которому приникли коллеги из "знаю фирму, которая сегодня активно использует". Я серьезно.

Попробую спросить у них, при возможности.
Цитата(zltigo @ Dec 27 2009, 03:10) *
Батенька, это НЕПРЕРЫВНЫЙ ПОТОК битов в котором нет, совсем нет никаких нарезок на байты и вообще какой-либо синхронизации
кроме битовой. Так вот, HDLC контроллеры традиционно и занимаются асинхронным запихиванием и извлечения из этого потока фреймов кратных 8битам.

Я знаю, но разве нельзя битовым потоком передать стартовый и стоповый биты UART'а? Про HDLC в лице MT8952 мне всё известно. smile.gif

Сообщение отредактировал МП41 - Dec 27 2009, 01:44


--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 27 2009, 01:43
Сообщение #68


Гуру
******

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



Цитата(МП41 @ Dec 27 2009, 04:20) *
им очень удобен оказался U-интерфейс.

Мне тоже smile.gif. Явки? Пароли? Я тоже знаю и тех, кто под крупным западником работает и у него нет проблем с поставками. И тех, кто развел платы под три варианта корпуса собирает по миру складские остатки Infineon по несколько сот штук (на полгода хватает). Хотя при этом являются официальным дилером Infineon sad.gif.
Цитата
Я знаю, но разве нельзя битовым потоком передать стартовый и стоповый биты UART'а?

Можно, но это будет практически тот-же резко усеченный HDLC c фиксированным размером фрейма в 8бит. Дополнительная железяка должна будет получать асинхронно! 10-12 бит фрейм от UART, сохранять его, по началу очередного бита его синхронно выпихивать.
Получите байтовый поток, на который потом будете вешать SLIP/PPP с байтстаффингом, дабы передавать фреймы. Лучше сделать это сразу зараз из битового потока.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
МП41
сообщение Dec 27 2009, 01:47
Сообщение #69


4 синих кубика
****

Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326



Цитата(zltigo @ Dec 27 2009, 03:43) *
Мне тоже smile.gif. Явки? Пароли?

Я немножко подправил предыдущее сообщение.
Цитата(zltigo @ Dec 27 2009, 03:43) *
Можно, но это будет практически тот-же резко усеченный HDLC c фиксированным размером фрейма в 8бит. Дополнительная железяка должна будет получать асинхронно! 10-12 бит фрейм от UART, сохранять его, по началу очередного бита его синхронно выпихивать.
Получите байтовый поток, на который потом будете вешать SLIP/PPP с байтстаффингом, дабы передавать фреймы. Лучше сделать это сразу зараз из битового потока.

В общем, я покуда ничего лучшего не вижу, хоть и вариант немного с бубном.


--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 27 2009, 01:52
Сообщение #70


Гуру
******

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



Цитата(МП41 @ Dec 27 2009, 04:20) *
Попробую спросить у них, при возможности.

Буду ждать!


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SM
сообщение Dec 27 2009, 09:40
Сообщение #71


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(zltigo @ Dec 27 2009, 01:43) *
Да успокойтесь Вы с AX.25 - ну он уже по любому работает с ГОТОВЫМИ фреймами и если будет тупо ими кидатся, то просто может и ни один не дойти.

Да не успокоюсь. Решение какое-никакое, а готовое, и соответствующее поставленной задаче - без какого либо самописного софта на PC. Пользуются им многие, то что Вы их не знаете, этого не отменяет. Про то, что на PC win никто не говорил (или, если я пропустил, извиняюсь). Да и для win полно готовых решений для "TCP/IP через AX.25", только они не встроены в систему, а требуют установки. Что касается "тупо кидается" - он не "тупо кидается", а с рандомной задержкой, т.е. "тупо как Ethernet". Вообще в пакетном радио другого способа разрешения коллизий, кроме как в AX.25, просто нет, и все пакеты доходят, несмотря на Ваши сомнения. Тут уж "может не дойти, может дойти" - непрофессионально, давайте или не гадать вообще, или измеренные (или рассчитанные) результаты "сколько может не дойти при каком уровне коллизий", и почему. Я руководствуюсь лишь практическими результатами пользователей, которые используют AX.25 по назначению, а именно поверх полудуплексного радиоканала, где коллизий и помех куда больше, чем в RS-485 кабеле.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 27 2009, 12:05
Сообщение #72


Гуру
******

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



Цитата(SM @ Dec 27 2009, 12:40) *
Я руководствуюсь лишь практическими результатами пользователей, которые используют AX.25 по назначению, а именно поверх полудуплексного радиоканала, где коллизий и помех куда больше, чем в RS-485 кабеле.

Теперь просьба подумать не отличаются-ли у радиолюбителей протоколы верхнего уровня от желаемого Автором FTP/TCP. C определенностью полагаю, что там протоколы/процедуры верхнего уровня сами по себе ПОЛУДУПЛЕКСНЫЕ и AX.25 в этом случае занимается разрешением потерь, равно, как и редких случайных коллизий канале, которые НИКАК не отличает от потерь вообще. Они действительно могут быть разрешены - выше я говорил, что и в "драйвере" для простоты можно и не гарантировать разрешения всех коллизий - верхний уровень сможет расхлебать последствия редких коллизий.
В FTP/TCP halfduplex не пахнет и коллизии будут ГАРАНТИРОВАННЫЕ и неразрешимые. Чего-нибудь будет пролезать разве только чудом и изредка.

P.S.
Посмотрел какую-то радиолюбительскую статью. В общем, по крайней мере в ней, буквы AX.25 вольно трактуются более, чем широко и к ним заодно валится в одну кучу Data Link уровень на котором действительно ожидаемо поминается контроль за занятостью канала передачи. Посмотрел исходники Линукса - то, что там написано не ведает, точнее не делает НИКАКИХ различий между simplex и duplex каналами. switch() везде присутствует, но они строго везде запаралелены. Пример:
Код
void ax25_kick(ax25_cb *ax25)
{
.....
        switch (ax25->ax25_dev->values[AX25_VALUES_PROTOCOL]) {
        case AX25_PROTO_STD_SIMPLEX:
        case AX25_PROTO_STD_DUPLEX:
            ax25_send_iframe(ax25, skbn, (last) ? AX25_POLLON : AX25_POLLOFF);
            break;

В конце концов все передается железному уровню одинаково - dev_queue_xmit(skb) и нехай там некий dev разбирается, как передать.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SM
сообщение Dec 27 2009, 12:22
Сообщение #73


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(zltigo @ Dec 27 2009, 15:05) *
Теперь просьба подумать не отличаются-ли у радиолюбителей протоколы верхнего уровня от желаемого Автором FTP/TCP.

не отличаются. Так как протокол верхнего уровня и есть TCP/IP. И я об этом уже писал - "TCP/IP over AX.25" - реализация этого в готовом виде имеется и для windows.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 27 2009, 13:40
Сообщение #74


Гуру
******

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



Цитата(SM @ Dec 27 2009, 15:22) *
....не отличаются. Так как протокол верхнего уровня и есть TCP/IP

Если следовать банальной логике, то обертывать TCP/IP в AX.25 незачем, ибо делают одно и то-же.
Единственная причина изложена здесь:
http://www.a27.ru/information/bulleten/199...paketnoe-radio/
Цитата
AX.25 рассматривается как фактически стандартный протокол для использования в любительской радиосвязи и даже признается многими странами как легальный вид работы. Однако есть и другие стандарты. Любителями некоторых регионов используется TCP/IP. Часто используются специальные протоколы пакетного радио встраиваются внутрь пакетного формата AX.25. Это делается для обеспечения соответствия правилам, требующим, чтобы пакетные радиопередачи были в форме AX.25. Однако детали такого встраивания могут отличаться в различных странах.

Так-что TCP/IP через AX.25 это только один из частных случаев. Насколько я могу понимать родное использование AX.25 радиолюбителями это
посылка текстовых сообщений - чат, в стиле вопрос - ответ.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
skripach
сообщение Dec 27 2009, 13:52
Сообщение #75


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Цитата
"TCP/IP over AX.25" - реализация этого в готовом виде имеется и для windows.

А как это готовое называется и где можно взять.


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
SM
сообщение Dec 27 2009, 14:03
Сообщение #76


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(zltigo @ Dec 27 2009, 16:40) *
Если следовать банальной логике, то обертывать TCP/IP в AX.25 незачем, ибо делают одно и то-же.

А то самое, о чем тут? Разруливание коллизий полудуплекса [радиоканала]...

Цитата(skripach @ Dec 27 2009, 16:52) *
А как это готовое называется и где можно взять.

Да так и называется - "TCP/IP over AX.25", или "TCP/IP через AX.25". В линуксе оно встроено в ядро. А для виндовс надо что-то там искать, качать и ставить. Одно из них то-ли FlexNet, то-ли NetFlex. Я сам этим никогда не пользовался, ибо не радиолюбитель. Просто знаю о существовании и о некоторых свойствах, да и то без 100%-ной гарантии.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 27 2009, 14:08
Сообщение #77


Гуру
******

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



Цитата(SM @ Dec 27 2009, 17:03) *
В линуксе оно встроено в ядро.

В линуксе оно вот этим самым
Цитата
разруливания коллизий полудуплекса радиоканала

НЕ занимается. А снаружи "You can use a physical Packet Modem (Terminal Node Controller = TNC)"
Цитата(skripach @ Dec 27 2009, 16:52) *
А как это готовое называется и где можно взять.

Берите smile.gif smile.gif smile.gif
http://www.wattystuff.net/amateur/packet/w...owsprograms.htm
будете шипеть соундбластером.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SM
сообщение Dec 27 2009, 14:11
Сообщение #78


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(zltigo @ Dec 27 2009, 17:07) *
НЕ занимается. А снаружи "You can use a physical Packet Modem (Terminal Node Controller = TNC)"


Тогда, повторю вопрос - зачем тогда в спецификации есть разделы, посвященный коллизиям, полудуплексу и их разруливанию?

TNC естественно есть, но он в себе содержит (по крайней мере содержал лет так 15-20 назад) именно только сам модем - просто тупо преобразующий поток данных в модулированный НЧ сигнал без каких либо LAP*, коррекций ошибок, и прочего. И AX.25 работает сразу поверх этого.

И вообще, я лишь предложил один вариант с готовым софтом, отработанным кучей радиолюбителей. А пойдет он конкретно в его окружении, или не пойдет - вопрос тридесятый, пусть сам автор вопроса и разбирается.

Если бы я сам решал бы эту задачу с тем, что готовый софт на PC - обязательное условие - просто собрал бы свой переходник RS232-RS485 с разруливанием коллизий внутри этого переходника, и SLIP или PPP сверху этого.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 27 2009, 14:39
Сообщение #79


Гуру
******

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



Цитата(SM @ Dec 27 2009, 17:11) *
Тогда, повторю вопрос - зачем тогда в спецификации есть разделы, посвященный коллизиям, полудуплексу и их разруливанию?

Повторяю ответ - радиолюбители не различают уровни модели sad.gif. И под AX.25 подразумевают "все разу" начиная с HDLC/SLIP и до
собственно AX.25. Как уже писал, в том-же Линуксе в AX.25 исходниках нет следов ни только разруливания коллизий, но и даже HDLC/SLIP уровня. Всем этим должен заниматься какой-то виртуальный или железный девайс.
В комплексных решениях типа виндозной шипелки в соундбластер совершенно очевидно реализовано ВСЕ, но оно не пригодно Автору. Практически оно ему и не надо, ибо это то-же самое, что написать простейшее приложение, о котором я писал несколькими постами выше. Причем при написании такого приложения АБСОЛЮТНО лишняя сущность ввиде AX.25 не используется и ее не требуется реализовывать на стороне контроллера (походу поиска халявы для PC об этом забыли sad.gif ).

Цитата(SM @ Dec 27 2009, 17:11) *
TNC естественно есть, но он в себе содержит (по крайней мере содержал лет так 15-20 назад) именно только сам модем - просто тупо преобразующий поток данных в модулированный НЧ сигнал без каких либо LAP*, коррекций ошибок, и прочего.

Именно так, только пропустили еще функцию определение занятости канала передачи, как это, например, делает PHY для Ethernet коаксиала. И собственно HDLC запихивающий байты получаемые из асинхронного потока в битовый синхронный. Впрочем, думаю, что радиолюбители скорее всего используют вариант с байтовым потоком, т.е. поминаемый ранее SLIP (в линуксе поддерживаются и SLIP и HDLC нижние уровни). Далее по тексту...
Цитата
И AX.25 работает сразу поверх этого.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SM
сообщение Dec 27 2009, 15:01
Сообщение #80


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(zltigo @ Dec 27 2009, 17:39) *
Повторяю ответ - радиолюбители не различают уровни модели sad.gif. И под AX.25 подразумевают "все разу" начиная с HDLC/SLIP и до собственно AX.25. Как уже писал, в том-же Линуксе в AX.25 исходниках нет следов ни только разруливания коллизий, но и даже HDLC/SLIP уровня.


Ну HDLC-уровень (правильнее - уровень битового потока) там действительно лежит на модеме и на уарте - это просто пропуск старт- и стоп- бит от RS-232 в канал и прием их обратно. У автора HDLC-уровень не нужен, так как старт- и стоп- биты проходят по его каналу без изменения, формируются уартом с одной стороны, и вырезаются с другой - т.е. этот уровень, правильнее сказать, не не нужен, а уже реализован в его железе уартами.

SLIP-уровня там НЕТ вообще, и никогда не было. Выход модема, после убирания из него старт- и стоп-бит при помощи "железки" под названием UART идет сразу на уровень AX.25

Касаемо определения занятости канала - RS-232 сигнал CD - Carrier Detect - он мог использоваться в AX.25 (CSMA/CA), но он не гарантирует защиты от коллизий, а лишь уменьтшает их вероятность, и это опция. Два передатчика все равно могут свободно начать передавать в примерно одно время, сотворив коллизию.

А почему в линуксовом варианте AX.25 нет следов вот этого (нумерация пунктов другая, так как я из другой версии спецификации взял):

6.3.6.1. Collisions in a Half-Duplex Environment
Collisions of frames in a half-duplex environment are taken care of by the retry nature of the T1 timer and
retransmission count variable. No other special action is required.

я просто не в курсе. Значит они не реализовали этот T1 таймер, и нарушили спецификацию.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Dec 27 2009, 15:14
Сообщение #81


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



В 90-х это может и работало, а в Viste и Windows 7 SLIP-а больше нет. Ибо не поддерживает аутентификацию.
Более того SLIP-а нет даже в затасканом стеке lwIP !!!
Так что ставлю 1 против 10, что мужик будет делать на PPP. biggrin.gif

Цитата(zltigo @ Dec 27 2009, 01:09) *
Да никак не надо! Это далекооо от FTP клиента. FTP->IP->Ethernet Adapter->SLIP/PPP->RS232 Driver. Это ШТАТНАЯ фича Виндозного Dialup клиента. Только нажать на иконку "New Connection" и сказать, что надо. Для RS232 уже все уже прикручно до нас. На рубеже 90x лично пользовался широко smile.gif.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 27 2009, 15:16
Сообщение #82


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(AlexandrY @ Dec 27 2009, 18:14) *
Более того SLIP-а нет даже в затасканом стеке lwIP !!!

Да ладно. А slipif.c тогда зачем?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 27 2009, 15:22
Сообщение #83


Гуру
******

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



Цитата(SM @ Dec 27 2009, 18:01) *
...а уже реализован в его железе уартами.

О господи, ну пакетный, это уровень. Пакетный! И никакими "уартами" занающими только о байтах он реализован быть не может. Ну никак.
Цитата
SLIP-уровня там НЕТ вообще, и никогда не было.

А вот SLIP, как раз и собирает из байтов пакеты. Посему два варианта, либо HDLC собирает из битов фреймы сразу, либо из битов
UART обирает байты из которых потом SLIP собирает пакеты.
Цитата
Выход модема, после убирания из него старт- и стоп-бит при помощи "железки" под названием UART идет сразу на уровень AX.25

Посторяю, ну не понимает AX.25 поток байтов. Ему фреймы подавать надо. Вот, как выглядит в линуксе к котрому Вы меня отослали,
передача на уровень AX.25
Код
/*
*    Receive an AX.25 frame via a SLIP interface.
*/
int ax25_kiss_rcv(struct sk_buff *skb, struct net_device *dev,
          struct packet_type *ptype, struct net_device *orig_dev)
{
    skb->sk = NULL;        /* Initially we don't know who it's for */
    skb->destructor = NULL;    /* Who initializes this, dammit?! */

    if (!net_eq(dev_net(dev), &init_net)) {
        kfree_skb(skb);
        return 0;
    }

    if ((*skb->data & 0x0F) != 0) {
        kfree_skb(skb);    /* Not a KISS data frame */
        return 0;
    }

    skb_pull(skb, AX25_KISS_HEADER_LEN);    /* Remove the KISS byte */

    return ax25_rcv(skb, dev, (ax25_address *)dev->dev_addr, ptype);
}

AX.25 получает ГОТОВЫЕ ФРЕЙМЫ а не байты.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SM
сообщение Dec 27 2009, 15:35
Сообщение #84


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(AlexandrY @ Dec 27 2009, 18:14) *
а в Viste и Windows 7 SLIP-а больше нет.

Ну и незачем пользоваться этими вперед ногами рожденными уродцами. Была более-менее нормальная XP, в ней SLIP есть, и все остальное куда прямее и нормальнее.

Цитата(zltigo @ Dec 27 2009, 18:22) *
Посторяю, ну не понимает AX.25 поток байтов. Ему фреймы подавать надо.

Да пусть там SLIP есть, пусть нет, это не суть важно, SLIP-у совершенно по барабану, дуплекс там в канале или полудуплекс. Вполне возможно, что у них там подразумевается, что SLIP входит в состав AX.25, если это не так на самом деле... Я же говорю - я не на столько знаток всей спецификации, спорить не буду. Главное - что коллизии разруливает именно AX.25 задержанными ретрансмитами, а не SLIP, и не кто-то там еще ниже. Ну пусть будет TCP/IP->AX.25->SLIP->UART->канал->все_в_обратном_порядке - суть в AX.25 лишь в том, чтобы разрулить полудуплекс, работать по которому он обучен изначально.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 27 2009, 15:41
Сообщение #85


Гуру
******

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



Цитата(AlexandrY @ Dec 27 2009, 18:14) *
В 90-х это может и работало, а в Viste и Windows 7 SLIP-а больше нет.

В XP есть - проверил smile.gif.
Цитата
Более того SLIP-а нет даже в затасканом стеке lwIP !!!
Так что ставлю 1 против 10, что мужик будет делать на PPP. biggrin.gif

Ну и что, что нет - там буквально несколько десятков строчек написать.
Вот аж цельный UDP/IP в SLIP-е отдается в какой-то поделке 80x годов

CODE
#define FR_END 0xC0
#define FR_ESC 0xDB
#define T_FR_END 0xDC
#define T_FR_ESC 0xDD
//---------------------------------------------------------------------------
void sendframe( )
{

int len = 0;

DWORD out_bl;
BYTE *ao_ptr = (BYTE *)&ao;
BYTE *so_ptr = slip_obuff;

int usize = sizeof(udp_Header)+sizeof(cmd_Header)+len;
int fsize = sizeof(in_Header)+usize;
int ssize = 0; // SLIP frame size

// ao.iph.ver = 4;
// ao.iph.hdrlen = 5;
// ao.iph.tos = 0x00;
ao.iph.length = htons( fsize );
ao.iph.identification = ++ident_flag;
// ao.iph.frag_ofs = 0x0000;
// ao.iph.ttl = 125;
// ao.iph.proto = 17;
// ao.iph.checksum = 0xFFFF;
// ao.iph.destination = htonl(0xC0A802C8);
// ao.iph.source = htonl(0xC0A802C9);
ao.iph.checksum = ~inchksum( ao_ptr, ao.iph.hdrlen * 4 );

// ao.udp.dstPort = htons( 9023 );
// ao.udp.srcPort = htons( 9023 );
ao.udp.length = htons( usize );
// ao.udp.checksum = 0x0000;

ao.hdr.ptype = CP_ALARM;

*(so_ptr++) = FR_END;
while( fsize-- )
{ if( *ao_ptr == FR_END )
{ *(so_ptr++) = FR_ESC;
*so_ptr = T_FR_END;
ssize++;
}
else if( *ao_ptr == FR_ESC )
{ *(so_ptr++) = FR_ESC;
*so_ptr = T_FR_ESC;
ssize++;
}
else
*so_ptr = *ao_ptr;
ssize++;
so_ptr++;
ao_ptr++;
}
*so_ptr = FR_END;
ssize += 2; // Double FR_END

WriteFile( hCom, slip_obuff, ssize, &out_bl, NULL );
}

Цитата(SM @ Dec 27 2009, 18:35) *
Главное - что коллизии разруливает именно AX.25

Тфу, устал уже объяснять sad.gif кто чем занимается. Имеющий разум да поймет, а остальное не столь важно.
Причина редактирования: Оформление кода


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SM
сообщение Dec 27 2009, 15:50
Сообщение #86


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(zltigo @ Dec 27 2009, 18:41) *
Тфу, устал уже объяснять sad.gif кто чем занимается. Имеющий разум да поймет, а остальное не столь важно.

Хорошо, соглашусь с вами. Я тоже устал. Признаю - спецификацию AX.25 писали идиоты. Коллизии она вопреки спецификации не разруливает. По полудуплексу вопреки спецификации не работает. Все радиоканалы, на которых она используется, только полнодупдексные. А если у кого-то и работает по полудуплексу, то коллизии разруливает некая потусторонняя сила в модеме, который сам по себе умеет лишь модулировать несущую входным цифровым сигналом, без какой либо его "интеллектуальной" обработки (типа древних модемов V.23 и V.24 без всяких там MNP и прочих LAP-ов).
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 27 2009, 16:14
Сообщение #87


Гуру
******

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



Цитата(SM @ Dec 27 2009, 18:50) *
Хорошо, соглашусь с вами. Я тоже устал. Признаю - спецификацию AX.25 писали идиоты.

Нет, просто Вы пытаетесь рассказать, что в изобилии имеются некие программы, которые реализует на железе UART ВСЕ уровни ДО AX.25 включительно. Возможно, но могу точно сказать, что найденные в интернете ссылки на некие любительские программы и уж совершенно точно (исходники доступны всем) поминаемая Вами поддержка в ядре Линукса AX.25 занимается только ВЕРХНИМ уровнем, т.е. собственно самим AX.25 и совсем не занимается самым нижним уровнем, который в том числе и исключает бОльшую часть коллизий, как минимум НЕ допуская начала передачи в занятый канал. Это совершенно обыденный и естественный подход со времен того-же Ethernet на коаксиале. По причине основного недопущения коллизий на нижних уровнях (в железе/драйвере), как уже давал ссылку, радиолюбители и прямо без проблем используют ICP/IP, который, на самом деле является протоколом выполняющий такие-же задачи как X.25, AX.25, TCP/IP и так-же не знающий ничего о коллизиях в канале.
С таким-же успехом (повторяюсь sad.gif ), если Автор напишет драйверок (или железку приладит) который будет поддерживать halfduplex на UART-е, и натравит на него простейший SLIP, то у него прекрасно заработает TCP/IP.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SM
сообщение Dec 27 2009, 16:29
Сообщение #88


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(zltigo @ Dec 27 2009, 19:14) *
По причине основного недопущения коллизий на нижних уровнях (в железе/драйвере),

В общем, наличие хардварного детектора занятости канала и его использование (CSMA/CA), это лишь опция. AX.25 успешно работает (работал в те дальние года) у народа на полудуплексе и без этого. Что касается других уровней - да не против я того же SLIPа (других уровней между голым AX.25 и опять же голым модемом нет), но повторю, на количество и природу происхождения коллизий, как и на вид ошибок в результате коллизии, наличие или отсутствие этого уровня (SLIP) никак не скажется. А вот что касается спецификаций - так TCP/IP, на сколько я знаю, вообще не содержит ни слова про коллизию, и ни слова про полудуплекс. А AX.25 - содержит, и указывает на конкретные действия. В чем и одно из коренных отличий одного от другого. О чем я тут столько времени и говорю.

И я тоже не знаю, на сколько какая реализация сейчас соответствует спецификации, и что там в нее входит. Но то, что "оно" работает на полудуплексе с "голым" модемом, не содержащим в себе ничего, кроме модема, и никаких потусторонних дополнительных разруливалок коллизий, и CSMA/CA там нет - точно, сам видел на заре пакетной связи.


PS. Короче мне совсем надоел наш спор непонятно о чем. Пусть человек сам прочитает спецификацию в части полудуплекса и коллизии, и решит все, что ему там надо. Я привел номер главы/раздела/пункта, где это искать.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 27 2009, 16:43
Сообщение #89


Гуру
******

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



Цитата(SM @ Dec 27 2009, 19:29) *
А AX.25 - содержит, и указывает на конкретные действия. В чем и одно из коренных отличий одного от другого.

Вот эти "конкретные действия" НИЧЕМ не отличаются (случайное значение таймаута не принципиально) от действий ЛЮБОГО протокола верхнено уровня при потере/не подтверждении фрейма. Вызваны эти потери коллизиями в канале или еще чем всем протоколам LAP*/AX.25/X.25/TCP по барабану. Описыватели AX.25 помянули одну из причин потерь явно. Вот и все "коренное отличие" smile.gif. При массовых коллизиях неразруленных на нижних уровнях захлебнется/подвестится любой из помянутых протоколов.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SM
сообщение Dec 27 2009, 16:56
Сообщение #90


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(zltigo @ Dec 27 2009, 19:43) *
При массовых коллизиях неразруленных на нижних уровнях захлебнется/подвестится любой из помянутых протоколов.

На самом деле не факт. Если ретрансмит делать через случайный промежуток времени с достаточным максимальным временем, то все эти массовые коллизии саморазрулятся. Да они наверное саморазрулятся даже только из-за разбега таймеров, если повезет smile.gif.

Цитата(zltigo @ Dec 27 2009, 19:43) *
Описыватели AX.25 помянули одну из причин потерь явно.

А я это читаю, как "при коллизии достаточно этого действия, и применять дополнительных мер для их разруливания не требуется". Потому как описывать всякие возможные причины просто так, бесцельно, смысла нет.
Go to the top of the page
 
+Quote Post
skripach
сообщение Feb 9 2010, 11:14
Сообщение #91


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Запустил lwIP без ОС на STM32 через SLIP, за основу взял проект с сайта ST. Вроде работает, даже через RS485, но не совсем, после строк
Код
tcp_write(pcb, HELLO, strlen(HELLO), TCP_WRITE_FLAG_COPY);
tcp_write(pcb, NAME, strlen(NAME), TCP_WRITE_FLAG_COPY);

на PC приходит пакет длиной(указано в поле IP заголовка) в strlen(HELLO)+strlen(NAME)+заголовки, но в поле данных TCP только HELLO и все, конец пакета(реальная длина пакета не соответствует указанной в IP заголовке на strlen(NAME)), поэтому контрольная сумма считается неправильно и до telnet'а пакет не доходит.
Если так:
Код
tcp_write(pcb, HELLO, strlen(HELLO), TCP_WRITE_FLAG_COPY);
//tcp_write(pcb, NAME, strlen(NAME), TCP_WRITE_FLAG_COPY);

то работает, но прходит только HELLO smile.gif
Что я делаю не так и как оно должно работать?

P.S. С TCP/IP раньше дела не имел.


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 10 2010, 06:31
Сообщение #92


Гуру
******

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



Цитата(skripach @ Feb 9 2010, 14:14) *
работает..

Если это называется "работает", то что тогда называется не работает? Причины обсуждались медленно и подробно, достаточно.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
skripach
сообщение Feb 10 2010, 07:30
Сообщение #93


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Цитата
называется "работает"

Нет, это называется "вроде работает". smile.gif
Цитата
Причины обсуждались

М.., поищу ещё.


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post

7 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 23:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.02619 секунд с 7
ELECTRONIX ©2004-2016