D.SignT TCP/IP Stack
The TCP/IP object code library has carefully been tailored to meet the constraints of a DSP system. Code and data memory size have been minimized, and no additional resources like DSP interrupts or timersare required. The TCP/IP protocol stack can be used in a ‘bare-metal’ C program, just as running as a task in the Texas Instruments DSP/BIOS and SYS/BIOS real-time operating systems.
The TCP/IP stack supports the following protocols:
- ARP – Address Resolution Protocol, resolves the IP address to a hardware MAC address. No user-action is required. If an address is unknown, an ARP request is generated automatically.
- IP – Internet Protocol. All data transferred by DNS, DHCP, ICMP, UDP and TCP is automatically packed into IP packets.
- ICMP – Internet Control Message Protocol. The protocol stack responds to “ping” requests to test a connection.
- UDP – User Datagram Protocol. UDP provides a one-to-one or one-to-many connectionless data path. Data transmitted via UDP is not guaranteed to reach it’s destination. This protocol has very low overhead and is especially useful for transmitting non-critical data like audio and video data.
- TCP – Transmission Control Protocol, provides reliable, connection-oriented, one-to-one connections. Alldata is acknowledged by the receiver and re-transmitted automatically if required. This protocol should be used for critical data like software uploads, commands, etc.
- DHCP – Dynamic Host Configuration Protocol. This protocol has been developed to ease maintenance of a TCP/IP network. A DHCP server manages the allocation of IP addresses and provides additional network configuration data like gateways, DNS servers etc. The TCP/IP stack integrates the client functions required to obtain an IP address, DNS server, and gateway.
- DNS – Domain Name System. This protocol allows to use symbolic host names instead of numerical IP addresses. The TCP/IP stack integrates the client functions to query a DNS server to resolve a host name.
Higher level protocols like SMTP, HTTP or FTP are based on the described protocols, most of them using TCP. The TCP/IP library includes a ready-to-use FTP server, which allows to upload programs and parameters to Flash Memory, or download logs and data files. The FTP server is widely configurable: users,passwords, directories, files, and access restrictions are maintained in a simple data structure. A HTTP server framework is also provided. This framework handles multiple connections and passes GET and POST parameters to a user-defined callback function, hence providing the required flexibility for dynamic data. The DSP can send static HTML pages and images as well as inserting the current value of variables, generate images from data acquisition buffers, etc. on demand. SMTP functionality is provided to send an e-mail, e.g. to periodically send log-files to the system administrator. Finally, a Modbus TCP implementaion is provided for process control.