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

 
 
 
Reply to this topicStart new topic
> LPC2368, ethernet, назначение индексов
arttech
сообщение Oct 27 2007, 09:13
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 62
Регистрация: 28-10-06
Из: г. Севастополь
Пользователь №: 21 744



Подскажите пожалуйста назначение индексов с такими названиями: TxProduceIndex, TxConsumeIndex (RxProduceIndex, RxConsumeIndex).

Согласно документации никак не могу понять, что есть что...

"Two registers, TxConsumeIndex and TxProduceIndex, define the descriptor locations that
will be used next by hardware and software. Both register act as counters starting at 0 and
wrapping when they reach the value of TxDescriptorNumber. The TxProduceIndex
contains the index of the next descriptor that is going to be filled by the software driver.

The TxConsumeIndex contains the index of the next descriptor going to be transmitted by
the hardware.
When TxProduceIndex == TxConsumeIndex, the transmit buffer is empty.
When TxProduceIndex == TxConsumeIndex -1 (taking wraparound into account), the
transmit buffer is full and the software driver cannot add new descriptors until the
hardware has transmitted one or more frames to free up descriptors."

Вроде как оба индекса указывают на следующий дескриптор в процессе работы. И далее по тексту не понятно как тогда может получиться вот такое TxProduceIndex == TxConsumeIndex -1...
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Oct 27 2007, 10:13
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Это head и tail кольцевого буфера.
When TxProduceIndex == TxConsumeIndex -1 (taking wraparound into account). Это с учетом все того же кольца. Т.е. когда голова наезжает на хвост... Выражение условное, т.к. надо учитывать взаимное расположение головы и хвоста.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
arttech
сообщение Oct 27 2007, 10:21
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 62
Регистрация: 28-10-06
Из: г. Севастополь
Пользователь №: 21 744



Цитата(Dron_Gus @ Oct 27 2007, 14:13) *
Это head и tail кольцевого буфера.
When TxProduceIndex == TxConsumeIndex -1 (taking wraparound into account). Это с учетом все того же кольца. Т.е. когда голова наезжает на хвост... Выражение условное, т.к. надо учитывать взаимное расположение головы и хвоста.

Спасибо, теперь всё стало на свои места smile.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 01:59
Рейтинг@Mail.ru


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