Hi all,
I would really appriciate some more eyes on my design for this digital camera. I didn't think anyone would be up for doing this however, when I asked some questions on the previous revision due to some issues, multiple members said I should have shared it first. So here we are!
The general description and justification for the project is in the google doc link below. I welcome everyone's feedback.
https://docs.google.com/document/d/1gnEBzrgK05kzuTFEPspbsJ127sbl_kKvJMLyx1T--wY/The git repo link is below for the electronics. All the other repos are public for the HDL, software etc. The repo names are preffixed with Camera... CameraPMC for power management controller SW for example.
https://github.com/gswdh/CameraElectronics/tree/1.2.0Attached is the PDF of the schematic and the Eagle sch and brd files. The board is 8 layers so best viewed in the editor.
The tested areas / areas without concern are:
- STUSB (USB PD controller)
- Battery charger ACT2861
- PMC STM32L431RBT
- All PSUs
- ESP32
- Zynq 7000
- DDR3 memory
The areas that are new or of concern are:
- The image sensor DDR interface, I have length matched but is the impedance control good enough?
- MIPI interface. This is currently being tested on the previous revision and is that last thing to test before ordering this new design.
- Native Zynq USB. Previously, I used the FT601Q but was unable to get it to work for Super Speed and any logic in the FPGA. I looked at the FX3 solution however it's not super necessary so I went for a more proven solution that is the USB3320C PHY and native USB 2 of the Zynq. I used a Digilent design as reference here, it will only be used as a device.
- Native Zynq Ethernet. I removed the high speed USB interface but still wanted something fast so I added the 1Gb ethernet. This design is based on a Digilent board, too. Interface is 3.3V as the 1.8V variant of this PHY isn't sourcable.
Any general feedback would be awesome and I really appreciate any advice given and time taken. I hope this project can also be useful for others in the future somehow, even if it's just because of a library written for this project. I have a passion for simple, re usable code.
Thanks!