Specifications

SLAA137A
MSP430 Internet Connectivity 15
4.2.1 Buffer Memory
To work with incoming and outgoing frames, three memory buffers are reserved in the MCU
SRAM. The size of these buffers can be adapted by changing the appropriate symbolic
constants in tcpip.h. Increasing the size of the buffers leads to a dramatic increase of the
transfer speed, because the demonstration software maintains only one buffer for sending and
one buffer for transmitting data over TCP/IP. This transmit buffer can be filled with new data only
when the last transferred segment was acknowledged by the opponent TCP. A decrease in the
transfer speed results from the round-trip times (RTT) in a wide area network (WAN).
TxFrame1
Buffering of Whole TCP Data Frames to Send, Including All
Headers Needed (Ethernet, IP, TCP).
TxFrame2
Buffering of TCP Non-Data Frames, Including All Headers
Needed (Ethernet, IP, TCP) and Frames of the Protocols
ARP, ICMP.
RxTCPBuffer
Space for the User Data of a Received TCP Segment.
Figure 7. Buffer Concept
4.2.2 Global Variables
All information about the current state of the TCP, as well as local and remote IP addresses and
port numbers, sequence numbers, timers, and counters, is stored in global variables, which are
easily accessible by all of the internal stack functions.
4.2.3 Demultiplexing and Processing of Received Frames
The DoNetworkStuff() function checks whether a frame was received. After examination of the
frame’s destination to determine whether the packet is individually addressed to the module or is
a broadcast frame, the function ProcessEthIAFrame() or ProcessEthBroadcastFrame() is called.
Figure 8 gives an overview of which procedure is called, depending on the type of the frame
received. If it was a broadcast frame and its type is an ARP request, an ARP answer frame is
generated and written to the TxFrame2 buffer.