Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Низкоуровневое программирование Ethernet'а (а ля COM-port)
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
Белый пони
Есть идея использовать порт ethernet как обычный последовательный для побайтной передачи информации с устройством.
Т.е. примерно как com-порт, но на бОльших скоростях и с бОльшим буффером.
Для этих целей можно использовать, например, pci плату http://www.moxa.ru/good/show/14840/15666/, но желательно обойтись без доп.устройств, а ethernet уже на борту есть.

Подскажите, где можно найти примеры низкоуровневого программирования ethernet-порта, на уровне чтения/записи в порт(функции inb/outb и т.д.) и прерываний?
Всё что пока находил в интернете, написано для сетевых протоколов и с использованием средств ОС.
Driver_GV
COM порт - это символьное устройство , а Ethernet - блочное. И по этому через Ethernet для передачи 1 байта надо передавать все равно пакет , как правило 1500 байт.
Белый пони
Цитата(Driver_GV @ Sep 6 2012, 09:56) *
COM порт - это символьное устройство , а Ethernet - блочное. И по этому через Ethernet для передачи 1 байта надо передавать все равно пакет , как правило 1500 байт.


Блочное устройство именно на уровне железа? Т.е. само устройство будет автоматически в пакет добавлять данные из своих внутренних регистров?
Driver_GV
Сами только кошки родятся, Вам придется все самостоятельно запрограммировать, и посчитать контрольные суммы. Если хочется чтото похожее на COM для PC - используйте UDP.
Белый пони
Цитата(Driver_GV @ Sep 6 2012, 10:39) *
Сами только кошки родятся, Вам придется все самостоятельно запрограммировать, и посчитать контрольные суммы. Если хочется чтото похожее на COM для PC - используйте UDP.


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

_____
Уточню: интересуют примеры настройки и работы с ethernet портом c помощью "железных" функций inb/outb и прерываний.
Boris_TS
Цитата(Белый пони @ Sep 6 2012, 10:51) *
Подскажите, где можно найти примеры низкоуровневого программирования ethernet-порта, на уровне чтения/записи в порт(функции inb/outb и т.д.) и прерываний?
Всё что пока находил в интернете, написано для сетевых протоколов и с использованием средств ОС.

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

Но, что-то Вы хотите совсем нездоровое, и, я бы даже сказал, противоестественное. Поэтому лучше зайти с другой стороны: опишите задачу (и свои возможности), тогда, возможно, Вам подскажут, как её решить проще и дешевле.
Driver_GV
Ну со стороны железа описывал на своем сайте - примерно так http://www.picping.narod.ru/reg_RTL8019AS.htm . Это для PIC контроллера. Очень желательно прочесть даташиты.

Белый пони
Цитата(Driver_GV @ Sep 6 2012, 11:15) *
Ну со стороны железа описывал на своем сайте - примерно так http://www.picping.narod.ru/reg_RTL8019AS.htm . Это для PIC контроллера. Очень желательно прочесть даташиты.


Спасибо! sm.gif
XVR
Цитата(Белый пони @ Sep 6 2012, 10:51) *
Есть идея использовать порт ethernet как обычный последовательный для побайтной передачи информации с устройством.
Т.е. примерно как com-порт, но на бОльших скоростях и с бОльшим буффером.
Для начала попробуйте что нибудь попроще - например напиться из пожарного брандспойта. Если получится, то и Ethernet в COM порт вы превратить сможете smile3046.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.