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

Низкоуровневое программирование Ethernet'а (а ля COM-port)

Есть идея использовать порт ethernet как обычный последовательный для побайтной передачи информации с устройством.

Т.е. примерно как com-порт, но на бОльших скоростях и с бОльшим буффером.

Для этих целей можно использовать, например, pci плату http://www.moxa.ru/good/show/14840/15666/, но желательно обойтись без доп.устройств, а ethernet уже на борту есть.

 

Подскажите, где можно найти примеры низкоуровневого программирования ethernet-порта, на уровне чтения/записи в порт(функции inb/outb и т.д.) и прерываний?

Всё что пока находил в интернете, написано для сетевых протоколов и с использованием средств ОС.

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


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

COM порт - это символьное устройство , а Ethernet - блочное. И по этому через Ethernet для передачи 1 байта надо передавать все равно пакет , как правило 1500 байт.

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


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

COM порт - это символьное устройство , а Ethernet - блочное. И по этому через Ethernet для передачи 1 байта надо передавать все равно пакет , как правило 1500 байт.

 

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

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


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

Сами только кошки родятся, Вам придется все самостоятельно запрограммировать, и посчитать контрольные суммы. Если хочется чтото похожее на COM для PC - используйте UDP.

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


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

Сами только кошки родятся, Вам придется все самостоятельно запрограммировать, и посчитать контрольные суммы. Если хочется чтото похожее на COM для PC - используйте UDP.

 

Я так понимаю, что эти контрольные суммы будет проверять не сам контроллер, а уже программное обеспечение?

Всё-таки хотелось бы управлять контроллером ethernet на уровне железа, и самому если надо сделать свой примитивный протокол.

 

_____

Уточню: интересуют примеры настройки и работы с ethernet портом c помощью "железных" функций inb/outb и прерываний.

Изменено пользователем Белый пони

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


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

Подскажите, где можно найти примеры низкоуровневого программирования ethernet-порта, на уровне чтения/записи в порт(функции inb/outb и т.д.) и прерываний?

Всё что пока находил в интернете, написано для сетевых протоколов и с использованием средств ОС.

Исключительно в описании на конкретный кристалл-"Ethernet контроллер".

Там же можно обнаружить, что этот конкретный кристалл достаточно жёстко поддерживает спецификацию Ethernet, и нарушать её не собирается, хотя для отладочных целей кое-что можно и заблокировать.

 

Но, что-то Вы хотите совсем нездоровое, и, я бы даже сказал, противоестественное. Поэтому лучше зайти с другой стороны: опишите задачу (и свои возможности), тогда, возможно, Вам подскажут, как её решить проще и дешевле.

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


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

Ну со стороны железа описывал на своем сайте - примерно так http://www.picping.narod.ru/reg_RTL8019AS.htm . Это для PIC контроллера. Очень желательно прочесть даташиты.

 

 

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


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

Ну со стороны железа описывал на своем сайте - примерно так http://www.picping.narod.ru/reg_RTL8019AS.htm . Это для PIC контроллера. Очень желательно прочесть даташиты.

 

Спасибо! :)

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


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

Есть идея использовать порт ethernet как обычный последовательный для побайтной передачи информации с устройством.

Т.е. примерно как com-порт, но на бОльших скоростях и с бОльшим буффером.

Для начала попробуйте что нибудь попроще - например напиться из пожарного брандспойта. Если получится, то и Ethernet в COM порт вы превратить сможете :smile3046:

 

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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