Sundance Technology

ST201

PRELIMINARY draft 2

D1, D2, or D3. When the ST201 detects a Wake Packet, it signals a wake event on PMEN (if PMEN assertion is enabled), and sets the WakePktEvent bit in the WakeEvent register. The ST201 can sig- nal that a wake event has occurred when it receives a pre-defined frame from another station. The host system transfers a set of frame data pat- terns into the TxFIFO using the TxDMA function before placing the ST201 in a power-down state. Once powered down, the ST201 compares receive frames with the frame patterns in the TxFIFO. When a matching frame is received (and also passes the filtering mode set in the ReceiveMode register), a wake event is signaled.

Frame patterns are written to the TxFIFO in a sin- gle “pseudo-packet”. Prior to transferring this pseudo-packet, the host system should first issue TxReset (to reset the TxFIFO pointers and prevent transmission) then prepare a TFD that points to a single data buffer. The buffer should contain one or more frame patterns placed contiguously. The number of frame patterns is limited by the TxFIFO size. The TxDMAFragLen field in the TFD must exactly equal the sum of the frame pattern bytes. Also, the host system must set WordAlign to ‘x1’in the TransmitFrameControl field of the TFD to pre- vent frame word-alignment. Finally, the host sys- tem must write the TFD’s address to the TxDMAListPtr register to transfer the frame into the TxFIFO.

The frame patterns in the TxFIFO specify which bytes in the incoming frames are to be examined. A CRC is calculated over these bytes and com- pared with a CRC value supplied in the frame pat- tern. This matching technique may result in false wake events being reported to the host system. Each wake packet pattern contains one or more byte-offset/byte-count pairs, an end-of-pattern symbol, and a 4-byte CRC value. The byte-offset indicates the number of frame bytes to be skipped in order to reach the next group of bytes to be included in the CRC calculation. The byte-count indicates the number of bytes in the next group to be included in the CRC calculation. End-of pattern, which is a byte value of 00, indicates the end of the pattern for that wake frame. Immediately following the end-of-pattern is a 4-byte CRC. The CRC cal- culation uses the same polynomial as the Ethernet MAC FCS. The pseudo packet frame patterns are described in the Registers and Data Structures section.

An example pseudo-packet (based on the ARP packet example from Appendix A of the “OnNow Network Device Class Power Management Specifi- cation”) loaded into the TxFIFO of the ST201 is shown in Figure 6.

TXFIFO

 

 

 

0xc2

 

 

 

 

 

 

 

 

 

0x71

 

 

 

 

 

 

 

 

 

0xf4

 

 

 

 

 

 

psuedo

0x10

 

 

 

0x00

 

packet

 

0xf3

 

 

 

 

 

 

 

 

 

 

 

 

 

0x19

 

 

 

 

 

 

 

 

 

0x08

 

 

 

 

 

 

 

 

 

0xd7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FIGURE 6: Example Psuedo Packet

Using the pseudo packet in Figure 6, the ST201 will assert a wake event if a packet of the form shown in Figure 7 is received whereby a 32-bit CRC over the indicated bytes of the received packet yields the value 0xf31908d7.

 

 

Received Packet

 

Byte Offset

 

 

 

Within Packet

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

byte 12

 

0x0c

 

 

 

 

 

 

 

byte 13

 

0x0d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

byte 21

 

0x15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

byte 38

 

0x26

 

 

 

 

 

 

 

byte 39

 

0x27

 

 

 

 

 

 

 

byte 40

 

0x28

 

 

 

 

 

 

 

byte 41

 

0x29

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FIGURE 7: Example Wake Packet

The ST201 also supports Magic Packet™ technol- ogy developed by Advanced Micro Devices to allow remote wake-up of a sleeping station on a

21

Page 21
Image 21
Sundance Spas ST201 manual Txfifo, Example Psuedo Packet