Поведение контроллера Ethernet в микроконтроллере описано правильно? - PullRequest
0 голосов
/ 20 мая 2018

Я читаю книгу «Разработка встроенного программного обеспечения: подход с открытым исходным кодом», издание 2015 года.На страницах 28-29 есть следующее предложение:

Как уже говорилось ранее, сегменты шины, показанные пунктирными вертикальными линиями, несколько отклоняются от обычной структуры перекладины и используются компонентами (например,контроллер Ethernet), который может быть как ведущим, так и подчиненным. В некоторых случаях такое поведение необходимо, потому что, продолжая пример с контроллером Ethernet,

  • Он должен иметь возможность автономного чтения из памятии записывать в память кадры, которые должны быть переданы и получены, соответственно, а также
  • Он должен позволять процессору считывать и записывать свои внутренние регистры, получать доступ к информации о состоянии и управлять своим поведением соответственно.

Написание вышеприведенного предложения является примером, которого следует избегать, потому что «оно» может относиться к Ethernet-контроллеру или процессору, когда «оно» появляется во 2-й позиции.

Мне интересно, что означает предложение, и у меня есть следующая интерпретация, поэтому я хочу знать, является ли она правильной:

.... Такое поведение необходимов некоторых случаях, поскольку, продолжая пример, касающийся контроллера Ethernet,

  • контроллер Ethernet должен иметь возможность автономно считывать из памяти передаваемые кадры и записывать в память принимаемые кадры, а также
  • контроллер Ethernet должен позволять процессору считывать внутренние регистры контроллера Ethernet для доступа к информации о состоянии контроллера Ethernet, а также позволять процессору записывать данные во внутренние регистры контроллера Ethernet, чтобы процессор мог контролировать поведение контроллера Ethernet.

Так я правильно понял?Контроллер Ethernet имеет внутренние регистры?И делает Эт.-кон.разрешить процессору читать эти внутренние регистры?Является ли Eth.-con.разрешить процессору на них тоже писать?

1 Ответ

0 голосов
/ 20 мая 2018

То, что описано как «он должен уметь читать и записывать в память кадры ...», является типичным примером устройства с поддержкой DMA, которое может удерживать процессор и захватывать шину для непосредственного чтения и записи.системная память.

Очевидно, что ЦП должен иметь возможность сообщать сетевой карте такие вещи, как фильтры адресов, которые нужно использовать, и диапазоны памяти, в которые он должен передавать кадры и получать кадры, и он должен сообщать сетевой картекогда начинать передачу - эта информация записывается ЦП в регистры контроллера, которые обычно отображаются в диапазон адресов ввода / вывода ЦПУ.Это обычный способ управления процессором, выполняемый периферийными устройствами, и также применим к контроллерам жесткого диска и гибких дисков, периферийным устройствам USB и RTC.

...