An 8051 Based Web Server

Download Report

Transcript An 8051 Based Web Server

An 8051 Based Web Server
Project by Mason Kidd
Advised by Dr. Schertz
Outline
• Abstract
• Overview of TCP/IP and HTTP
• Functional Description
• Block Diagram and Software Flow Chart
• Datasheet
• Hardware Description
• Completed Lab Work
• Problems Encountered
• Future Work/Applications
Abstract
A web server was designed using an 8051 based
micro controller. The micro controller was
interfaced to an Ethernet network using an Ethernet
transceiver chip. This allows the user to connect to
the micro controller using a standard web browser
and receive data in the form of a web page.
Overview of TCP/IP and HTTP
• TCP/IP is the protocol
used over the Internet
to allow
communication
between computers
• It is a layered protocol
based on Open
Systems
Interconnection
Overview of TCP/IP and HTTP
• Each layer adds a
header to the data
• Process is called
encapsulation
• My software must
create and decode
these headers
Overview of TCP/IP and HTTP
• Ethernet - network type, determines cable type,
connector type, hardware (MAC) address
• IP - Internet Protocol, defines network addressing
Overview of TCP/IP and HTTP
• ICMP - Internet Control Message Protocol, allows
for testing of connectivity
• ARP - Address Resolution Protocol, used to retrieve
Ethernet address for a certain IP address
• UDP - User Datagram Protocol, connectionless
data transfer protocol
• TCP - Transmission Control Protocol, connectionbased reliable data transfer protocol
Overview of TCP/IP and HTTP
• Hypertext Transport Protocol is the protocol used by
web browsers to communicate with web servers
• Web browser asks the web server for a document,
and the web server sends the document back
• Hypertext Markup Language is the type of
document used, uses tags to format data
Functional Description
• I/O are packets to the Ethernet network and
information/control signals to microcontroller
interfaces
• Operates in two modes: Listening and Responding
• Packet types supported: Internet Control Message
Protocol, Address Resolution Protocol,
Transmission Control Protocol, and User Datagram
Protocol
Block Diagram
Block Diagram
Subsystem
Inputs
Outputs
Microcontroller
Interfaces
Control signals
Acquired data
EMAC
Microcontroller
Acquired data,
Packets
Control signals,
Packets
Ethernet Interface
Packets
Packets
Software Flow Chart
Datasheet
Description
A micro webserver based on an 8051 development board. Serves small web
pages with information collected from on-board peripherals.
Quantitative Specifications
Maximum Packet Size: 1500 bytes
Number of Simultaneous Connections: 1
Protocols Supported: IP, ARP, ICMP, TCP, UDP, HTTP/1.0, HTML/2.0
Network Interface Type: 10BaseT Ethernet
User Interface
Users connect to the system using a standard web browser.
System Testing
System can be tested for network connectivity by 'pinging' the system. Also, Link
and Activity LEDs are available on the system to provide network link and
activity status.
Hardware Description
• Uses a Crystal CS8900A Ethernet Transceiver
• Designed for use with ISA bus systems
• Has internal memory for storage of packets
• Application note describes using in 8-bit mode
• Connected to an EMAC board using the bus
expansion header
• Very little glue logic needed
• Constructed using wire-wrap
Completed Lab Work
• Wrote low level interface software
• Wrote software to receive packet and determine
what type it is
• Wrote software to process ICMP, ARP, UDP, and
TCP packets
• Wrote UNIX sockets client program for testing of
UDP functionality
• Wrote web server software to process HTTP
packets and construct HTML pages
• Constructed and tested hardware
Problems Encountered
• Cannot read received packet from Ethernet
Transceiver chip
• Used packet sniffer program to place packet into
buffer
• Software processed packets correctly
Future Work/Applications
• Need to resolve packet reception problem
• Expand code to be usable with other micro controllers
• Make TCP/IP stack more robust, support more of the
options defined in standards
• Expand HTTP server to allow POST methods and CGI
processing
• Industrial applications - monitor machinery, remote
control
• Robotics applications - replace laptops used for remote
control