Spartan 6 IP Camera Question - Page 1
Forum section: electronics / general

author: hal9001
author_rank: Regular Contributor
timestamp: December 28, 2021, 11:13:22 am
content: Does a Xilinx Spartan 6 have enough resource and speed to make a IP camera? Ideally want to use XC6SLX16 because they were available before the chip shortage . Even if Mipi decode, mpeg encode, Tcp/IP fit, I dont know if a Spartan 6 is fast enough for 1080 resolution?Cheers!

author: nctnico
author_rank: Super Contributor
timestamp: December 28, 2021, 12:52:14 pm
content: No. You'll find yourself in a world of pain going this route. And it likely won't fit. A SOC is the right path for such a project.

author: laugensalm
author_rank: Regular Contributor
timestamp: December 28, 2021, 07:40:24 pm
content: Depends on your pixel clock frequency. HD @75 MHz MJPEG streaming via UDP/RTP @100MBit is possible on the LX45 without tweaking, 150 MHz requires some more careful weaving/pipelining. It might fit on the LX16, but likely without MIPI interfacing (I'd recommend to use a different chipset for that). Also keep in mind you'll need to have some framework plus memory left to turn it into a real camera (meaning: a SoC on FPGA, likely *not* based on microblaze, due to its bad opcode density).h.264 is a more complex story and requires external memory chips (unlike MJPEG which can run as two chip solution, i.e. FPGA+Phy). The quick&dirty IPcam where latencies don't matter is a job for a embedded Linux module, typically.

author: SiliconWizard
author_rank: Super Contributor
timestamp: December 28, 2021, 08:01:31 pm
content: Ahah, I can't even think of the pain it would be to implement a fully working IP cam on FPGA. Unless maybe you use a soft core, because without *any* software involved, this is going to be pretty tough.And, if you're using a soft core, on such a "small" FPGA, it will not be very powerful and will run at a pretty limited frequency.That said, you talked about resolution, but not frame rate. Surely this can probably be done with a low frame rate and a humble soft core. You'll still need to implement MIPI with some buffering, and ethernet if you need that, but the rest can be done in software. Problem is, with that resolution, you'll need a fair amount of memory. It would require external memory. A full HD image at 24bpp requires almost 6 MBytes. So you'd need external RAM.

author: Bassman59
author_rank: Super Contributor
timestamp: December 29, 2021, 07:38:32 pm
content: Quote from: hal9001 on December 28, 2021, 11:13:22 amIP camera: data handling (easy). TCP/IP (not so much).

author: laugensalm
author_rank: Regular Contributor
timestamp: December 31, 2021, 09:44:58 am
content: Quote from: Bassman59 on December 29, 2021, 07:38:32 pmI've got LWIP running on a Spartan6 LX-9 for remote control (not so much for video streaming, however), using an optimized ZPU architecture. LWIP is terribly inefficient though (let aside being TCP/IP used for video), so some might want to set up their own UDP packet queue using the classic CPU/Autobuffer-DMA tricks.

author: hal9001
author_rank: Regular Contributor
timestamp: December 31, 2021, 01:05:14 pm
content: Thanks all! Can some one recommend a well supported Arm SOC that is best for this besides a raspberry pi? Are there dedicated chips just for IP cameras I wonder?

author: Scrts
author_rank: Frequent Contributor
timestamp: January 05, 2022, 09:15:11 pm
content: Quote from: hal9001 on December 31, 2021, 01:05:14 pmAny CCTV camera chip? Most popular probably from Hisilicon and similar vendors. Otherwise, there are some from Sony, Broadcom or Ambarella.