Программирование сетевого адаптера RTL8139

Тема в разделе "WASM.OS.DEVEL", создана пользователем KiselevAV, 14 авг 2008.

  1. Barbos

    Barbos Slavon

    Публикаций:
    0
    Регистрация:
    13 ноя 2007
    Сообщения:
    280
    Адрес:
    Kharkov
    Инит приемника:
    Приемник включается в регитре Control Register.
    Конфигурируется Recive Control Reginster.
    В RBStart заносится физический (именно физический) адрес буфера.
    Инит передачика:
    Приемник включается в регитре Control Register.
    Конфигурируется Transmit Control Reginster.
    Инициируется TSADBuff физическими адресами очередей.

    Все это происходит до разрешения прерываний в ISR и PIC.
    CAPR - Current Address of Packet Read. Интуитивно кажется, что этот регист содержит адрес пакета, читаемого сетевухой в настоящее время. У меня он вроде вобще не используется.
     
  2. KiselevAV

    KiselevAV New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2008
    Сообщения:
    14
    Barbos, а какую роль в работе приемника играют регистры TSD0-4 и TSAD0-4?
     
  3. Barbos

    Barbos Slavon

    Публикаций:
    0
    Регистрация:
    13 ноя 2007
    Сообщения:
    280
    Адрес:
    Kharkov
    TSD - Transmit Status Register - Отражает статус обработки очереди.
    TSAD - Transmit Start Address of Descriptor - Адрес дескриптора или чето там, в спецификации более подробно описано.
    Как я понимаю, есть 4 буфера с инфой, которую надобно отправить и параметры этих буферов заносятся в соответствующие регистры и, соответственно, есть регистры, отображающие состояние обработки. Все логично.
     
  4. Ra_

    Ra_ New Member

    Публикаций:
    0
    Регистрация:
    4 мар 2007
    Сообщения:
    289
    У нас самый дешёвый, и исходники есть для линукс,
    на досуге заняться бы - к микроконтроллеру навесить...
    Asus NX1001 Network adapter
     
  5. KiselevAV

    KiselevAV New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2008
    Сообщения:
    14
    Ra_, к какому микроконтроллеру ты собиоаешься подключать Asus NX1001 Network adapter? Микроконтроллер успеет его обрабатывать? У меня , к сожалению, RTL8139 не для МК.
     
  6. KiselevAV

    KiselevAV New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2008
    Сообщения:
    14
    Ra_, к какому микроконтроллеру ты собиоаешься подключать Asus NX1001 Network adapter? Микроконтроллер успеет его обрабатывать? У меня , к сожалению, RTL8139 не для МК.
     
  7. Ra_

    Ra_ New Member

    Публикаций:
    0
    Регистрация:
    4 мар 2007
    Сообщения:
    289
  8. KiselevAV

    KiselevAV New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2008
    Сообщения:
    14
    В электронном виде есть эта книга?
     
  9. Ra_

    Ra_ New Member

    Публикаций:
    0
    Регистрация:
    4 мар 2007
    Сообщения:
    289
    Даже не знаю, может у наты...
     
  10. Ra_

    Ra_ New Member

    Публикаций:
    0
    Регистрация:
    4 мар 2007
    Сообщения:
    289
    Нашел на аглицком
     
  11. KiselevAV

    KiselevAV New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2008
    Сообщения:
    14
    Да, книга интересная. В нете тоже много информации можно найти на тему, как работать с Ethernet-адаптером на PIC-контроллере.
     
  12. KiselevAV

    KiselevAV New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2008
    Сообщения:
    14
    Ну, все-таки, парни, поможет мне кто-нибудь решить мою проблему?
     
  13. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Ещё возможна проблема, что ethernet-кадр сформирован неправильно. Там необходимо указывать адрес отправителя и адрес получателя. Кто-нибудь в курсе, карта может на аппаратном уровне отбрасывать пакеты, если MAC-адреса не совпадают?
     
  14. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    если MAC адрес не является адресом многоадресной передачи, то NIC сравнивает его со своим локальным MAC адресом
    если не совпадают, пакет отбрасывается
    в случае многоадресного MAC все зависит от реализации
    NIC может реализовывать как хэш таблицу адресов, так и список адресов
    в первом случае пакет может быть принят NIC, хотя он не будет предназначен для этого хоста
     
  15. Ra_Sh

    Ra_Sh New Member

    Публикаций:
    0
    Регистрация:
    23 сен 2008
    Сообщения:
    46