| поискавой системы для электроныых деталей |
|
DP83916 датащи(PDF) 16 Page - National Semiconductor (TI) |
|
|
|
|||||||||||||||||||||||||||||
DP83916 датащи(HTML) 16 Page - National Semiconductor (TI) |
|
16 / 96 page ![]() 30 Buffer Management (Continued) 342 Receive Buffer Area (RBA) The SONIC-16 stores the actual data of a received packet in the RBA The RBAs are designated by the resource de- scriptors in the RRA as described above The RXrsrcbuff wc01 fields of the RRA indicate the length of the RBA When the SONIC-16 gets a RBA from the RRA the RXrsrcbuff wc01 values are loaded into the Remain- ing Buffer Word Count registers (RBWC01) These regis- ters keep track of how much space (in words) is left in the buffer When a packet is buffered in a RBA it is buffered contiguously (the SONIC-16 will not scatter a packet into multiple buffers or fragments) Therefore if there is not enough space left in a RBA after buffering a packet to buffer at least one more maximum sized packet (the maximum legal sized packet expected to be received from the net- work) a new buffer must be acquired The End of Buffer Count (EOBC) register is used to tell the SONIC-16 the max- imum packet size that the SONIC-16 will need to buffer 3421 End of Buffer Count (EOBC) The EOBC is a boundary in the RBA based from the bottom of the buffer The value written into the EOBC is the maxi- mum expected size (in words) of the network packet that the SONIC-16 will have to buffer This word count creates a line in the RBA that when crossed causes the SONIC-16 to fetch a new RBA resource from the RRA Note The EOBC is a word count not a byte count 3422 Buffering the Last Packet in an RBA At the start of reception the SONIC-16 stores the packet beginning at the Current Receive Buffer Address (CRBA01) and continues until the reception is complete Concurrent with reception the SONIC-16 decrements the Remaining Buffer Word Count (RBWC01) by one At the end of recep- tion if the packet has crossed the EOBC boundary the SONIC-16 knows that the next packet might not fit in the RBA This check is done by comparing the RBWC01 regis- ters with the EOBC If RBWC01 is less than the EOBC (the last packet buffered has crossed the EOBC boundary) the SONIC-16 fetches the next resource descriptor in the RRA If RBWC01 is greater than or equal to the EOBC (the EOBC boundary has not been crossed) the next packet reception continues at the present location pointed to by CRBA01 in the same RBA Figure 3-4 illustrates the SONIC-16’s ac- tions for (1) RBWC01 t EOBC and (2) RBWC01 k EOBC See Section 3444 for specific information about setting the EOBC Note It is important that the EOBC boundary be ‘‘crossed’’ In other words case 1in Figure 3-4 must exist before case 2 exists If case 2 occurs without case 1 having occurred first the test for RBWC01 k EOBC will not work properly and the SONIC-16 will not fetch a new buffer The result of this will be a buffer overflow (RBAE in the Inter- rupt Status Register section 436) TLF11722 – 12 FIGURE 3-3 Receive Resource Area Format TLF11722 – 13 Case 1 Case 2 (RBWC01 t EOBC) (RBWC01 k EOBC) Case 1 SONIC-16 buffers next packet in same RBA Case 2 SONIC-16 detects an exhausted RBA and will buffer the next packet in another RBA FIGURE 3-4 Receive Buffer Area 16 |
|
ссылки URL |
| Вашему бизинису помогли Аллдатащит? [ DONATE ] |
Что такое Аллдатащит | реклама | контакт | Конфиденциальность | Ссылка на техническое описание | обмен ссыками | поиск по производителю All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |