Driving 071 CMOS directly by Zynq

Wifi, USB, GPS, Grips, Mics, Ext Power, Lens, Flash

Driving 071 CMOS directly by Zynq

Postby astronomer » Sun Jun 05, 2016 5:41 pm

I've been playing with the idea of driving the image sensor completely independent of the main PCB. Thus the following could be realized:
1. Deep cooled astronomical camera based on venerable Sony sensors
2. GigE/USB based network liveview
3. RAW bursting with cropping movie
4. A lot of fun

With the information gathered in the previous years of work, now this project is partially realized.
Image

The sensor was driven directly with the FPGA side of Zynq Soc, with configuration and control handled by the ARM side. There's no longer any involvement of the Nikon Expeed. The twist wire is the battery power from the EN-EL14. The image data goes into the FPGA and is buffered, stored into the DDR memory. It is then written to the SD card.

For those don't know FPGA or Zynq Soc, you could search the wikipedia for a general description. Details can be found on Xilinx website.
User avatar
astronomer
Developer
 
Posts: 722
Joined: Fri Apr 06, 2012 10:06 am
Location: US
Been thanked: 292 times

Re: Driving 071 CMOS directly by Zynq

Postby Herra Kuulapaa » Mon Jun 06, 2016 9:02 am

Very impressive work!
It's a funny color CMOS background by the way. The ones I have ruined are more black/gray.
Herra Kuulapaa
 
Posts: 34
Joined: Sun Dec 14, 2014 11:34 am
Been thanked: 27 times

Re: Driving 071 CMOS directly by Zynq

Postby max » Sat Jun 11, 2016 4:27 am

Wow this is really cool stuff Astronomer. It could be the basis for a sort of open source camera platform depending on how hard / expensive it is to get the sensor parts.
max
Site Admin
 
Posts: 485
Joined: Sat Nov 26, 2011 2:40 pm
Been thanked: 163 times

Re: Driving 071 CMOS directly by Zynq

Postby pcmihnea » Sun Jun 12, 2016 2:28 am

Hi, great project you've got there! I'm very interested in it, as I also enjoy working with programmable logic, owning two FPGA boards (Nexys4DDR and ZyboBoard). It would be cool to instill some life in my old D3000, maybe some 1fps liveview :grin: . Could you give some more details, please? How did you manage the FPGA-sensor interface, in terms of high-speed latency and data integrity (I would like to implement it on my Zybo, but it lacks high-speed connectors)? Also, what's the workflow? Control signals via programmable logic, buffer frame to BRAM, transfer via DMA and encode on the processing system (OS? bare-metal?) then save on SD? Why a Zynq? Is it due to hardware drivers? Thanks!
pcmihnea
 
Posts: 2
Joined: Mon Mar 03, 2014 4:49 am
Been thanked: 0 time

Re: Driving 071 CMOS directly by Zynq

Postby astronomer » Sun Jun 12, 2016 8:14 am

pcmihnea wrote:Hi, great project you've got there! I'm very interested in it, as I also enjoy working with programmable logic, owning two FPGA boards (Nexys4DDR and ZyboBoard). It would be cool to instill some life in my old D3000, maybe some 1fps liveview :grin: . Could you give some more details, please? How did you manage the FPGA-sensor interface, in terms of high-speed latency and data integrity (I would like to implement it on my Zybo, but it lacks high-speed connectors)? Also, what's the workflow? Control signals via programmable logic, buffer frame to BRAM, transfer via DMA and encode on the processing system (OS? bare-metal?) then save on SD? Why a Zynq? Is it due to hardware drivers? Thanks!


Hi there,

Both of your FPGA should be capable. But I'm not sure about the high speed signal integrity due to board level design.
For me, I have the Zynq PL side interfacing directly to the 071 LVDS digital signals. And the FPGA also drive the sync lines. The data goes into FPGA for deserialization and buffered across clock domain into the PS side DDR3 memory. DMA/VDMA is used.

As for your D3000, I guess it will be difficult, due to the fact that all horizontal/vertical driving chip and ADCs are soldered onto the main PCB. In that case you need to design the entire analog front end/driving circuit on your own.
User avatar
astronomer
Developer
 
Posts: 722
Joined: Fri Apr 06, 2012 10:06 am
Location: US
Been thanked: 292 times

Re: Driving 071 CMOS directly by Zynq

Postby pcmihnea » Sun Jun 12, 2016 10:16 am

astronomer wrote:
pcmihnea wrote:Hi, great project you've got there! I'm very interested in it, as I also enjoy working with programmable logic, owning two FPGA boards (Nexys4DDR and ZyboBoard). It would be cool to instill some life in my old D3000, maybe some 1fps liveview :grin: . Could you give some more details, please? How did you manage the FPGA-sensor interface, in terms of high-speed latency and data integrity (I would like to implement it on my Zybo, but it lacks high-speed connectors)? Also, what's the workflow? Control signals via programmable logic, buffer frame to BRAM, transfer via DMA and encode on the processing system (OS? bare-metal?) then save on SD? Why a Zynq? Is it due to hardware drivers? Thanks!


Hi there,

Both of your FPGA should be capable. But I'm not sure about the high speed signal integrity due to board level design.
For me, I have the Zynq PL side interfacing directly to the 071 LVDS digital signals. And the FPGA also drive the sync lines. The data goes into FPGA for deserialization and buffered across clock domain into the PS side DDR3 memory. DMA/VDMA is used.

As for your D3000, I guess it will be difficult, due to the fact that all horizontal/vertical driving chip and ADCs are soldered onto the main PCB. In that case you need to design the entire analog front end/driving circuit on your own.


Ah, I see. What are the minimum reported timing constraints, i.e. clocks required for capturing one frame (is it a fixed 54MHz, according to the Wiki)? I could (in theory) use the LVDS bank on my Zybo board through the HDMI connector, since it is designed on the board both as signal source and sink, so it only has 50ohm termination resistors.
pcmihnea
 
Posts: 2
Joined: Mon Mar 03, 2014 4:49 am
Been thanked: 0 time

Re: Driving 071 CMOS directly by Zynq

Postby astronomer » Tue Nov 01, 2016 4:21 pm

User avatar
astronomer
Developer
 
Posts: 722
Joined: Fri Apr 06, 2012 10:06 am
Location: US
Been thanked: 292 times


Return to External Hacks

Who is online

Users browsing this forum: No registered users and 3 guests

cron