| Electronic Components Datasheet Search |
|
VT86C926 Datasheet(PDF) 21 Page - List of Unclassifed Manufacturers |
|
|
|||||||||||||||||||||||||||||
VT86C926 Datasheet(HTML) 21 Page - List of Unclassifed Manufacturers |
|
21 / 24 page ![]() VIA TECHNOLOGIES, INC.PRELIMINARY VT86C926 21 12.1.1. Enable Early Interrupt Mode To set the VT86C926 to Early Interrupt mode, set bit 3 (EIEN) of the Diagnostic Register to high. To set the VT86C926 back to normal mode, set bit 3 (EIEN) of the Diagnostic Register to low. You can set Early interrupt mode in any state. But your receive interrupt service routine must able to receive fragments from Ethernet data. If the routine cannot handle the fragment data, you may get corrupt data. 12.1.2. Early interrupt Receive Routine Refence register The receive interrupt service routine algorithm fetches one page data from the SRAM upon reception of an interrupt. Refer to the following register and status bit for Early Interrupt service routine: Interrupt Status Register (ISR, 0x07(0) bit0 PRX, bit 2 RXEE) Receive Status Register (RSR,0x0C(0) bit0 EARLY PRX) Current Local DMA Counter Low and High (CLDC(0), 0x01, 0x02) Current Page Register (CURR, 0x07(1)) But we suggest that you use this method as below, in order to reduce the interrupt occured times. Please refer the CLDC counter for currently received bytes. This algorithm sample enables the VT86C926's early interrupt drivers to increase the LAN system peer to peer transfer rate. Programmers can modify the orignal NE2000 driver sources to add this function. 1. When driver is initialized, set PktPointer = 0 and allocate PktBuffer = 1.5 KByte. 2. When interrupt is received, check ISR, CURR and RSR. If RXE bit in ISR has been set, reset PktPointer = 0. (it is a packet error interrupt, STATE 0) Else If PRX bit in ISR has been set, compare CURR with BNRY+1, If CURR == BNRY+1, (it is a early interrupt condition) Read and save CLDC (Current Local Data Count) Evenlize CLDC. (CLDC = CLDC - CLDC % 2) If PRX bit in RSR has not been set, If RXE bit in ISR has been set, goto packet error condition (STATE 0). If CLDC <= PktPointer, goto packet error condition (STATE 0). RSAR = ((BNRY + 1) << 8) + PktPointer. If RSAR >= PSTOP, set RSAR = RSAR - (PSTOP - PSTART). RBCR = CLDC - PktPointer. Use remote DMA to read packet data into offset PktBuffer + PktPointer. PktPointer = CLDC. Else goto packet complete condition (STATE 1). Else (it is a packet complete interrupt, STATE 1) RSAR = (BNRY + 1) << 8. RBCR = 4. Use remote DMA to packet header into offset PktBuffer. If RXE bit in ISR has been set, set PktPointer = 0. Get PktLen = packet length from PktBuffer. PktLen = (PktLen + 1) - (PktLen + 1) % 2. if PktLen <= PktPointer, set PktPointer = 0. |
|
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List 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 |