4.9. Sabirnice senzora

Senzor kamere i MCU s kojim komunicira razmjenjuju dvije različite vrste podataka na dvije različite sabirnice.

4.9.1. Upravljačka sabirnica

Svaka postavka senzora nalazi se u registru na čipu – format piksela, veličina sličice, vrijeme ekspozicije, pojačanje, pojačanja balansa bijele boje, ciljevi automatskih kontrola i tako dalje. MCU čita i upisuje te registre preko I2C sabirnice (neki senzori umjesto toga koriste SPI). Dvije žice (SCL i SDA) povezuju MCU-ovu I2C periferiju s I2C sučeljem senzora, a svaku konfiguraciju koju korisnik odabere upravljački program prevodi u jedan ili više upisa u registar na ovoj sabirnici.

Upravljačka sabirnica radi pri umjerenoj brzini – obično 100 kHz ili 400 kHz. Postavljanje jednog registra traje desetke mikrosekundi; ponovna konfiguracija cijelog senzora (resetiranje, nova veličina sličice, novi format piksela) traje desetke do stotine milisekundi, uglavnom zato što čipu treba trenutak da nakon svakog upisa u registar dovede novi način rada u čisto stanje. Ništa od toga ne mora pratiti tempo strujanja piksela.

4.9.2. Sabirnica podataka o pikselima

Podaci o pikselima napuštaju senzor na zasebnoj, široj i mnogo bržoj sabirnici. Dominiraju dvije obitelji.

Paralelna je starija od dvije. Nosi osam ili deset podatkovnih linija za bitove piksela, plus piksel takt (PCLK), signal valjanosti linije (HSYNC) i signal valjanosti sličice (VSYNC). Na svakom rubu takta na podatkovnim linijama pojavljuje se jedan bajt piksela; HSYNC i VSYNC govore prijemniku gdje svaki red i svaka sličica počinju i završavaju. Paralelne sabirnice su jednostavne, ali propusnost je ograničena time koliko brzo MCU-ova matrica pinova može uvoditi podatke – obično piksel takt od 50 do 100 MHz na gornjoj granici.

MIPI CSI-2 – Mobile Industry Processor Interface Camera Serial Interface, verzija 2 – uvelike je zamijenio paralelnu sabirnicu na novim senzorima slike. Piksele nosi na jednom ili više diferencijalnih parova linija pri stotinama megabita po sekundi po paru, s manjim brojem pinova, mnogo većom propusnošću i nižim EMI-jem. Paralelna sabirnica zadržava se uglavnom na starijim dizajnima i na manjim dijelovima nižih brzina gdje se njezina jednostavnost još uvijek isplati.

Dijagram koji prikazuje blok senzora s lijeve strane i blok MCU-a s desne strane. Dvosmjerna strelica između njih označena je s "I2C (SCL, SDA)". Deblja strelica koja pokazuje od senzora prema MCU-u označena je s "paralelna ili MIPI".

Senzor i MCU razmjenjuju upravljanje na sporoj dvosmjernoj I2C sabirnici, a podatke o pikselima na široj, bržoj, jednosmjernoj paralelnoj ili MIPI sabirnici.

Bez obzira koju obitelj senzor koristi, MCU strana ima periferiju s fiksnom funkcijom koja hvata dolazne piksele i upisuje ih u međuspremnik slike u memoriji. Python kod nikada ne upravlja ovom sabirnicom izravno; on samo čita međuspremnik slike nakon što ga taj hardver napuni.