BitSim NOW utvecklar elektronik åt produktföretag, ofta med fokus på Imaging och Edge Computing. Vi ser ett ständigt inflöde av nya sensorer, gränssnitt och nyckelkomponenter. Med dessa korta rader vill vi berätta vad vi tycker är intressanta på marknaden, men även ta upp erfarenheter, svårigheter och saker att tänka på. Och vi diskuterar förstås gärna dina särskilda behov och lösningar.

Sensors
Det kan vara riktigt svårt att få igång sensorer med all konfiguration, som ibland till och med är odokumenterade. Som exempel har redan gamla sensorn Omnivision 5645, hundratals register som till stor del måste vara konfigurerat på helt rätt för att få ut en bild.

  • Vi har utvecklat en kamera med Sonys IMX290-sensor som har väldigt goda ljusegenskaper, dvs klarar av svåra ljusförhållande. Den har 10/12-bitars ADC, MIPI-gränssnitt, upplösningen upp till 1080p, upp till 120 fps. På högkant blir det 1109×1945 pixlar. Den har även ett par HDR-varianter för ytterligare ljusförbättrande egenskaper.
  • FLIR:s IR-sensor, Lepton, är en förhållandevis billig variant som kan användas separat eller ihop med vanliga CMOS-sensorer för att extrahera ytterligare information i bilden genom s.k. image fusion.
  • CCS. Vi på BitSim NOW hoppas att sensor- eller modulleverantörerna anammar MIPI:s egna initiativ, CCS – Camera Command Set: https://mipi.org/specifications/camera-command-set. Idén är att snabbt få igång en sensor med dess basfunktionalitet utan specifika SW-drivrutiner. Typiska kommandouppsättningar kan vara att ändra upplösning, frame rate och exponeringstid, men även mer avancerade funktioner såsom autofokus och single eller multiple HDR.

Adapterkort
Ständigt en komplicerande faktor i utvecklingsprojektet med extremt små kontakter som lätt går sönder, sitter fast för dåligt, med mera, särskilt under utvecklings- och prototypfasen.

  • Vi har tagit fram ett tiotal olika sensordapterkort som passar utvecklingskort från Xilinx, NXP och Technexion m fl, för snabb prototyping. Det är en hel del att tänka på innan dessa små adapterkort fungerar bra, då det oftast är olika typer av kablar, kontakter och storlekar som behövs.

Gränssnitt

  • 4K Video BitSim NOW har implementerat 4K@60 Video, dvs HDMI ut från en FPGA. I det projektet delade vi upp kameran i två fysiskt separerade delar, Front end (kamerasensor) och Back end (processingsenhet) med Aurora emellan, dvs Xilinx höghastighets-serieprotokoll.
  • MIPI CSI-2 Vi har vidareutvecklat vårt egna kameragränssnitts-IP, som nu stödjer FPGA:er med inbyggda D-PHY IO:n (varken externa motståndsnät eller Meticom-kretsar behövs), t ex Xilinx UltraScale+/MPSoC. Nu kan ni få 2.5Gb/s per lane!

 

Processing (plattformar & algoritmer)
Ett alternativ för att processa bildkedjan är en kombinerad CPU och FPGA-krets, t.ex. Zynq/MPSoC med processning i C/C++ och VHDL.

  • Vi har arbetat med Python och C/C++ och det öppna bildbiblioteket Open CV för att behandla innehållet i bilden. Med Xilinx Vision (HLS Video bibliotek) finns även möjlighet att använda hårdvaruaccelererade OpenCV-anrop.
  • Ett annat alternativ är att processa i en SoC-krets, dvs med en ARM-CPU, programvara och inbyggda fasta acceleratorer. NXP (fd Freescale) har haft stor framgång med i.MX6-familjen. Sedan ett par år tillbaks finns nästa generation, i.MX8. Vi har jobbat med den i över ett år nu, och nu börjar NXP:s bibliotek, dokumentation och forum, bli riktigt användbara.
  • Vi har en komplett videokedja, dvs från glas-till-glas (sensor till skärm), via MIPI CSI-2, V4L och Gstreamer med H.264-komprimering, via Ethernet till skärmen.

Är du intresserad eller har frågor? Hör av dig!

 

 

 

Lämna ett svar