or
paypal.me/briansune
+-----------------------------------------------------------------------------------+
; Flow Summary ;
+---------------------------------+-------------------------------------------------+
; Revision Name ; ddr512_base ;
; Top-level Entity Name ; top ;
; Family ; Cyclone V ;
; Device ; 5CSEBA5U19C6 ;
; Timing Models ; Final ;
; Logic utilization (in ALMs) ; 2,331 / 32,070 ( 7 % ) ;
; Total registers ; 5065 ;
; Total pins ; 174 / 205 ( 85 % ) ;
; Total virtual pins ; 0 ;
; Total block memory bits ; 1,562,624 / 4,065,280 ( 38 % ) ;
; Total DSP Blocks ; 0 / 87 ( 0 % ) ;
; Total HSSI RX PCSs ; 0 ;
; Total HSSI PMA RX Deserializers ; 0 ;
; Total HSSI TX PCSs ; 0 ;
; Total HSSI PMA TX Serializers ; 0 ;
; Total PLLs ; 6 / 6 ( 100 % ) ;
; Total DLLs ; 1 / 4 ( 25 % ) ;
+---------------------------------+-------------------------------------------------+
| HW no | Description | Image |
|---|---|---|
| 1 | CMOS (camera) | ![]() |
| 2 | Development Board |
- LW-H2F register controlled R-G-B gain.
- Simple CMOS debayer
- Loop-back to HDMI via FPGA2SDRAM
- I2C control and adjust via HPS2FPGA fabric.
- Reset\Power control pin via HPS to FPGA fabric IO.
- ToDo VCM auto focus control via IIC.
To control the VCM, user must power on via reg 0x00.
Then setup the below registers settings.
For 10-bit DAC registers are 0x02, 0x03.
DAC 10bit <- Near focus higher value, far focus low value.
$ sudo i2cget -y 3 0x0c 0x01
0x0c
$ sudo i2cget -y 3 0x0c 0x02
0x01
$ sudo i2cget -y 3 0x0c 0x03
0x90
$ sudo i2cget -y 3 0x0c 0x04
0x33
$ sudo i2cget -y 3 0x0c 0x05
0x60
$ sudo i2cget -y 3 0x0c 0x10
0x00
- Very simple no V4L2 driver is used and no Linux control layer is supported.
- No frame buffering, current design can easily use more SDRAM space to hold CMOS capture frame.


