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

 
 
 
Reply to this topicStart new topic
> Низкоуровневое программирование Ethernet'а (а ля COM-port), без протоколов, на уровне функций inb/outb/inport/outport
Белый пони
сообщение Sep 6 2012, 06:51
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 20-01-11
Пользователь №: 62 363



Есть идея использовать порт ethernet как обычный последовательный для побайтной передачи информации с устройством.
Т.е. примерно как com-порт, но на бОльших скоростях и с бОльшим буффером.
Для этих целей можно использовать, например, pci плату http://www.moxa.ru/good/show/14840/15666/, но желательно обойтись без доп.устройств, а ethernet уже на борту есть.

Подскажите, где можно найти примеры низкоуровневого программирования ethernet-порта, на уровне чтения/записи в порт(функции inb/outb и т.д.) и прерываний?
Всё что пока находил в интернете, написано для сетевых протоколов и с использованием средств ОС.
Go to the top of the page
 
+Quote Post
Driver_GV
сообщение Sep 6 2012, 06:56
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 11-05-06
Из: Lugansk
Пользователь №: 17 011



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


--------------------
-------------------
picping.lg.ua
Go to the top of the page
 
+Quote Post
Белый пони
сообщение Sep 6 2012, 07:24
Сообщение #3





Группа: Новичок
Сообщений: 8
Регистрация: 20-01-11
Пользователь №: 62 363



Цитата(Driver_GV @ Sep 6 2012, 09:56) *
COM порт - это символьное устройство , а Ethernet - блочное. И по этому через Ethernet для передачи 1 байта надо передавать все равно пакет , как правило 1500 байт.


Блочное устройство именно на уровне железа? Т.е. само устройство будет автоматически в пакет добавлять данные из своих внутренних регистров?
Go to the top of the page
 
+Quote Post
Driver_GV
сообщение Sep 6 2012, 07:39
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 11-05-06
Из: Lugansk
Пользователь №: 17 011



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


--------------------
-------------------
picping.lg.ua
Go to the top of the page
 
+Quote Post
Белый пони
сообщение Sep 6 2012, 08:02
Сообщение #5





Группа: Новичок
Сообщений: 8
Регистрация: 20-01-11
Пользователь №: 62 363



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


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

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

Сообщение отредактировал Белый пони - Sep 6 2012, 08:06
Go to the top of the page
 
+Quote Post
Boris_TS
сообщение Sep 6 2012, 08:15
Сообщение #6


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



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

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

Но, что-то Вы хотите совсем нездоровое, и, я бы даже сказал, противоестественное. Поэтому лучше зайти с другой стороны: опишите задачу (и свои возможности), тогда, возможно, Вам подскажут, как её решить проще и дешевле.
Go to the top of the page
 
+Quote Post
Driver_GV
сообщение Sep 6 2012, 08:15
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 11-05-06
Из: Lugansk
Пользователь №: 17 011



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



--------------------
-------------------
picping.lg.ua
Go to the top of the page
 
+Quote Post
Белый пони
сообщение Sep 6 2012, 08:41
Сообщение #8





Группа: Новичок
Сообщений: 8
Регистрация: 20-01-11
Пользователь №: 62 363



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


Спасибо! sm.gif
Go to the top of the page
 
+Quote Post
XVR
сообщение Sep 7 2012, 06:15
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(Белый пони @ Sep 6 2012, 10:51) *
Есть идея использовать порт ethernet как обычный последовательный для побайтной передачи информации с устройством.
Т.е. примерно как com-порт, но на бОльших скоростях и с бОльшим буффером.
Для начала попробуйте что нибудь попроще - например напиться из пожарного брандспойта. Если получится, то и Ethernet в COM порт вы превратить сможете smile3046.gif
Go to the top of the page
 
+Quote Post

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

 


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


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