This FPGA design example showcases how to stream video data captured by a USB connected webcam, over an internet connection. The design runs on the NB3000, with a USB Wifi Key and a Universal Video Class compatible USB webcam inserted into two of the host USB ports on the front of the NB3000.
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. Once webcam and network communication is ready, a URL will be displayed on the Terminal Instrument. Copy and paste this information to the web browser in your computer, and the webcam streaming video will be displayed in the browser. When the project is running, status information is printed to the Terminal Instrument, displayed within Altium Designer.
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
- Terminal Instrument
- USB Interconnect
- 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:
- LWIP TCP/IP Network Adapter
- USB Host Video Context
- Serial Device I/O Context
Altium Designer Projects included in this download:
- Webcam_Server_Wifi.PrjFpg
- Webcam_Server_Wifi.PrjEmb