Digital Camera Chad Hantak COMP290-052 December 12, 2003.
-
Upload
nigel-richard -
Category
Documents
-
view
218 -
download
3
Transcript of Digital Camera Chad Hantak COMP290-052 December 12, 2003.
![Page 1: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/1.jpg)
Digital Camera
Chad Hantak
COMP290-052
December 12, 2003
![Page 2: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/2.jpg)
![Page 3: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/3.jpg)
Hardware Overview
• XSA-100 connected to XST-2 XStend
• C3188A Camera Module– Lens– Omnivision 7620 CMOS
• USB Mod2
![Page 4: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/4.jpg)
XStend Board
• Brings out pins of XSA to a prototyping area
• Extended Hardware– More SRAM– IDE– Etc.
![Page 5: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/5.jpg)
C3188A Camera Module
• Mounted Lens
• Minimum pins from CMOS Sensor
• Clock
![Page 6: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/6.jpg)
OmniVision OV7620
• CMOS / Digital
• VGA, QVGA
• YCrCb, GRB, RGB
• 16 / 8 bit color
• Interlaced / Progressive
• Configurable via I2C– Many, many imaging options
![Page 7: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/7.jpg)
USB Mod2
• FIFO via USB
![Page 8: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/8.jpg)
Crash Course on CMOS
![Page 9: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/9.jpg)
Crash Course on CMOS
• Important signals– VSYNC, HREF, PCLK
• VSYNC– Indicates start of frame
• HREF– High during active pixel window
• PCLK– Every rising edge pixels present on data lines
![Page 10: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/10.jpg)
Crash Course on CMOS
![Page 11: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/11.jpg)
Crash Course on CMOS
![Page 12: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/12.jpg)
Crash Course on I2C
• Simple 2-line multi-master bus• Lines
– Serial Clock
– Serial Data
• Devices have two addresses (Reading / Writing)• Typically slow, just used for configuration• Protocol / Information can be found at:
– http://www.semiconductors.philips.com/buses/i2c/facts/
![Page 13: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/13.jpg)
Implemented Hardware
• Show and Tell Time
• Wire wrapping
• Soldering
![Page 14: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/14.jpg)
System Overview
USB
CommandProcessor
Image Sensor
Image SensorInterface
MemorySDRAM
PC
Flow Control
![Page 15: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/15.jpg)
Flow Control
• Initialization / Wait for go
• Wait for a VSYNC
• Grab pixels till end of VSYNC– Count # of pixels
• Dump captured pixels to USB
• Check for a command
• Repeat
![Page 16: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/16.jpg)
Command Processor
• Two Internal Systems– Controller
• Read Register
• Write Register
• Start
– I2C Interface to the Sensor• Looks like a simple memory interface
• Hides I2C from outside components
![Page 17: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/17.jpg)
Image Sensor Interface
• Operates on the pixel clock from the sensor
• Tracks whether or not on a valid line (In Raw RGB mode, first HREF line is invalid)
• Munges the data bits from Y, UV Channels and places it on the data bus
![Page 18: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/18.jpg)
Memory Controller
• What data bits go where
• Two FIFOs
• Controls SDRAM
• Counting of data to and from SDRAM
![Page 19: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/19.jpg)
What Went Wrong? (Fixed)
• Two different clocks– System 50Mhz, Pixel Clock 27Mhz– Missing Pixels– Dual-Clocked FIFO– Fills on the pixel clock, drained on the system
clock
![Page 20: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/20.jpg)
What Went Wrong? (Broken)
• I2C Does not work– Simulates Great
– No good on hardware
– Claims Opencores component may be flakey?
• Intermittent USB->PC transfer problem– One build, works great
– Next build, state machine in transfer system hangs
– Bridged signal?
![Page 21: Digital Camera Chad Hantak COMP290-052 December 12, 2003.](https://reader034.fdocuments.in/reader034/viewer/2022042608/56649ddd5503460f94ad5da4/html5/thumbnails/21.jpg)
Where from here?
• Debugging I2C– Can’t use ChipScope– Serial clock line running on 100 KHz clock– Use a standard analyzer
• Check the hardware over– Rewire wrap all the signals– Look for bridged connections