1 / 46

The NetCam

The NetCam. Members Darin Keever Shannon McPhate Derek Leonard Jeff Nadeau. Senior Design Project CPSC 483 Group 2. Introduction. The Net Cam is a system which allows a camera to be placed on an ethernet network allowing a host computer to capture images. Practical Uses.

enoch
Download Presentation

The NetCam

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The NetCam Members Darin Keever Shannon McPhate Derek Leonard Jeff Nadeau Senior Design Project CPSC 483 Group 2

  2. Introduction The Net Cam is a system which allows a camera to be placed on an ethernet network allowing a host computer to capture images.

  3. Practical Uses • Inexpensive security system • Monitoring scientific experiments • Sharing life over internet “PeepingMoe.com” • Spying on people at water cooler • Real time image capture has endless uses

  4. Individual Tasks • Darin - Implement QuickCam drivers to hardware • Shannon - Data to packet conversion • Derek - software to convert receive packet and convert to GIF • Jeff - Initial driver development, data to packet debugging

  5. Problems Encountered • The DP8391 network interface chip would not transmit data, even when tested without Xylinx design. • This caused a barricade between the camera and computer. • Exceptional pre-planning still allowed other stages of development to conclude.

  6. Modifications to Original Design • Coding for the camera drivers done in Verilog instead of ABEL. • Camera functions were realized from Linux drivers because we did not have much luck with the logic analyzer. • The network interface chip used has changed. It is essentially the same chip, only without DMA buffering and control • The memory design is now an 8x256 bit RAM. As a result, we now must use a 16 bit counter to address it. • Added time-outs to driver design improving reliability

  7. The 4 Project Phases • Have camera send images at predetermined time intervals. • Have camera send image when any type of UDP packet is received by the board • Have board receive “control packet” from computer with the image size to capture • Implement camera control as GIF image server

  8. The Final Status • Camera controller interacts flawlessly with QuickCam • Network interface chip problem prevented us from testing network abilities • Host computer software receives packets and translates to GIF format

  9. Rankings • Level of difficulty faced in implementation: • The project has been a challenge and has been time consuming, especially the paperwork. Network chip has provided us with much frustration • Coordination among team members • Has been a little tough scheduling computer time with each other, however we all work well together. • Support from TA’s and instructor • Excellent

  10. Components of Project • Network Interface • Camera Interface • External Network Development

  11. Network Interface • Background • Xilinx Controller • SNI/AUI Chipset • Testing

  12. Background • The function of the Xilinx-to-Ethernet component of the hardware was to take the pixel data from the camera, put it into an Ethernet standard transmission packet, and drive the packet onto the Ethernet. • Components - Xilinx 4003 FPGA and SNI/AUI Chipset

  13. Xilinx Controller • Function • Interface to Camera • Interface to SNI • Design Description

  14. Xilinx Controller

  15. SNI/AUI Chipset • SNI Description • AUI • Circuitry

  16. Testing • Logic Design • Timing Issues • Hardware Problem

  17. Xilinx Circuit Testing • Xilinx software simulation • Logic analyzer • Oscilloscope

  18. SNI/AUI Circuit Testing AAGHHHHH!!!

  19. Problem The SNI does not output a differential transmit pair to the AUI.

  20. Testing Configurations • Clock • Loopback Mode • Select Input • Reduce current flow

  21. Result The SNI is the essential link between the Xilinx controller and the AUI, and between the camera and the Ethernet. Therefore, we do not have communication between the camera and the computer software.

  22. Camera Interface • Introduction to Parallel Port • Introduction to Camera • Driving the Camera • Output from Camera

  23. Introduction to Parallel Port • Data, Status, Control : eight bit registers • Each bit of register corresponds to pin • example: status(7) = pin 11 • When programming, wait(5s); control = h5c;

  24. Introduction to Camera • 80x60 pixel image • 4 bit shades - Black and White • Reset and Command sequences available

  25. Xilinx to Camera control = h20 data = h75 wait 255s control = h0b wait 255s control = h0e Reset Sequence

  26. Xilinx to Camera data = command wait(255s) control = h06 for(count = 0;status == 1;count++) if(count > command_timeout) reset() control = h0e for(count = 0;status == 0;count++) if(count > command_timeout) reset() Command Sequence Camera to Xilinx status(3) = 1 status(4-7) = command(lowbyte) status(3) = 0 status(4-7) = command(highbyte)

  27. Camera Operation Reset Command(brightness) Command(brightness_value) Command(contrast) Command(contrast_value) Command(white_balance) Command(white_balance_value) Command(resolution) Command(resolution_value) Command(get_byte) • Timeouts vary for each command • repeat get_byte for the number of pixels specified by resolution

  28. Driving the Camera • Using Verilog • Asynchronous Design Problem • State Machines • Subroutines

  29. Verilog • Benefits • Asynchronous • C type language • Drawbacks • Asynchronous • Only modular logic (no while, until, or for)

  30. Asynchronous Design Solution • Input a clock • Create States - Large State Machine • Have Next State, Present State • On clock edge, Present State = Next State

  31. State Machine Drawbacks: • MANY states • repetitive

  32. Eliminate Drawbacks with Subroutines

  33. Example State scan_state4: begin command = 103; stack = scan_state5; timeout = command_timeout; NS = command_state1; end Input Command Set Stack for next State Set Timeout for Individual Command Set Next State (NS) for subroutine Eliminate Drawbacks with Subroutines

  34. OutputData • Only to test output • Xilinx outputs data to BS2 (Basic STAMP) • Only on get_byte commands • Uses subroutine within command sequence • BS2 accepts data and outputs to a Terminal

  35. Output continued • Output to the SNI • Xilinx must send faster than SNI receives • No need for memory buffer if timing issues are resolved

  36. Server • UDP protocol • Captures raw data, writing to file • HEX values inverted for proper display

  37. GIF Conversion • Converts raw data (02A9FD…) to viewable GIF • Viewable from anywhere with Web browser

  38. Web Output • Portable: viewable from any browser • Rapid development time: develop Web page and image files • Ease of use: familiar to almost everyone

  39. Server Push • NT Workstation as server not allowed • FTP image to remote Web server • Allows user to specify destination of data • Output from Camera

  40. Problems • Inverting raw data to correct values • Output from Camera different than expected

  41. Changes • FTP to remote server instead of local NT server • Used test client program to send sample captured data • GIF to JPEG & back to GIF

  42. Conclusion • Offered hands-on experience with hardware design and debugging • Provided excellent teamwork experience • Skills integration • Presentation and documentation experience

More Related