This FPGA design example showcases how to configure the NB3000 as a webserver, accessible via WiFi, serving pages from a Mass Storage Device, such as a USB memory stick. The design runs on the NB3000, with a USB Wifi Key and a USB memory stick inserted into two of the host USB ports on the front of the NB3000.
The user must create a simple web page and save it as index.html in the root folder in the USB memory stick. The example comes configured with the details of the wireless access point used during development in the Altium lab, you will need to change it in the software platform (USB Host Wireless Networking Context) to use the details of your own wireless access point. The IP address is acquired from the DHCP server via the USB Wifi key. Plug in the WiFi key and the memory stick with the index.html file on it, into two of the USB host connections on the front right of the NB3000. When the example is started a URL will be displayed on the Terminal Instrument. Enter this information into a web browser on a computer on the same network and the index.html webpage will be displayed in the browser.
The FPGA project demonstrates the simplicity and elegance of the OpenBus approach to design, where each major FPGA design element is placed as an OpenBus component, with just one or two lines to connect it to the other OpenBus components. This allows for rapid system building and an easily interpreted OpenBus diagram.
The OpenBus document in the FPGA project includes:
- TSK3000 32-bit embedded processor
- USB Interconnect
- PRTIO
- SPI
- VGA 32bit ILI9320 Controller
- Arbiter
- Terminal Instrument
- SRAM Controller
- USB Shared Memory Controller
The embedded software showcases Altium Designer’s Software Platform builder, a visual, structured approach to including low-level driver and context code for peripherals, into the code.
The embedded software showcases:
- GPIO Port Driver
- Storage System Context
- LWIP TCP/IP Network Adapter
- Real Time Clock
- Text Display Context
Altium Designer Projects included in this download:
- NB3000_USB_WiFi_MSD_Webserver.PrjFpg
- NB3000_USB_WiFi_MSD_Webserver.PrjEmb