RK3576 este un procesor dezvoltat de Rockchip pentru aplicații industriale de viziune, securitate inteligentă și terminale de viziune AI. Acesta integrează un procesor de semnal imagine (ISP) V3.9 (care suportă până la 16 MP) și trei module receptoare MIPI CSI-2 (două module D-PHY V2.0 și un modul C/D-PHY). Fiecare canal D-PHY suportă o rată maximă de 4,5 Gbps, fiecare trio C-PHY suportă 2,5 Gsps, iar fiecare port CSI suportă patru canale virtuale.
Soluția de cameră RK3576 este concepută în jurul cadrelor media Linux și al modelului de subdispozitiv V4L2-subdev. Întreaga cale de date este: senzor imagine → controller receptor MIPI CSI → unitate de captură video VICAP → ISP V3.9. Senzorul funcționează ca un subdispozitiv independent și lucrează împreună cu MIPI CSI, VICAP și ISP pentru a forma o conductă completă de achiziție imagine.

Deși RK3576 oferă trei canale receptoare MIPI CSI și VICAP poate primi simultan mai multe fluxuri de imagini, ISP V3.9 este un hardware cu un singur canal și poate executa procesarea algoritmilor ISP doar pe un singur flux de imagini într-un moment dat.
În timpul depanării proiectului, problemele pot include o comunicație I2C anormală, o legătură MIPI instabilă sau eșecul stabilirii canalului Media, ceea ce împiedică în cele din urmă afișarea primei cadre de imagine. Acest articol prezintă o abordare completă de depanare din perspectiva implementării inginerești și poate servi ca referință pentru depanarea sistemelor de viziune încorporate.
În depanarea driver-ului, majoritatea problemelor cu care ne confruntăm nu sunt cauzate de codul driver-ului în sine, ci de probleme de nivel scăzut, cum ar fi cablarea hardware, secvențierea alimentării sau configurarea lipsă a kernel-ului. Prin urmare, înainte de a începe dezvoltarea driver-ului pentru senzor, trebuie verificate și validate mai întâi hardware-ul de bază și mediul kernel.
Verificările hardware esențiale includ sursele de alimentare ale senzorului, magistrala I2C, legăturile diferențiale MIPI și pini GPIO pentru resetare/controlul alimentării.

Secvențierea pornirii alimentării senzorului este una dintre cele mai critice etape ale depanării. Mai multe surse de alimentare, cum ar fi AVDD, DOVDD și DVDD, trebuie să urmeze strict secvența de pornire specificată de senzor. O abatere excesivă a tensiunii de alimentare sau o temporizare incorectă la pornirea/oprirea alimentării pot provoca direct erori de comunicare I2C și funcționarea anormală a senzorului.
Magistrala I2C: verificați configurația multiplexării pinilor și adresa slave a senzorului, și confirmați că rezistențele de pull-up I2C sunt montate corect.
MIPI: Confirmați canalul CSI utilizat de echipamentul hardware, numărul de lane MIPI și potrivirea impedanței pe liniile de semnal diferențial. Confirmați, de asemenea, că ceasul de referință al senzorului (XVCLK) emis de RK3576 funcționează corect.
Pini de control pentru resetare/oprire: Determinați logica nivelului activ (activ înalt/activ jos) și asigurați-vă că configurația GPIO corespunde schemei electrice.
Configurarea kernelului: Verificați opțiunile kernelului pentru subsistemul Media, subdispozitivele V4L2-subdev, driverii controlerului și PHY-ului MIPI CSI, VICAP și ISP V3.9. Dacă un component necesar nu este integrat în kernel sau este compilat ca modul, dar nu se încarcă corect, pipeline-ul Media nu va putea identifica echipamentul de cameră. După compilarea și flasharea kernelului, verificați mai întâi starea de încărcare a fiecărui modul driver. Analizați jurnalul dmesg și confirmați absența erorilor, cum ar fi module lipsă sau eșecuri de inițializare.
Arborele dispozitivului camerei RK3576: descrie resursele hardware și folosește nodurile port și endpoint pentru a lega lanțurile de procesare a imaginii între senzor, MIPI CSI, VICAP și ISP.
Nodul senzor este atașat sub nodul corespunzător de magistrală I2C și definește adresa slave I2C, pinul de reset, pinul de comandă pentru oprirea alimentării și ceasul de referință al senzorului. Proprietățile pot fi configurate pentru a amâna inițializarea senzorului până când hardware-ul PHY CSI devine gata, evitând astfel condițiile de competiție temporale cauzate de un PHY neinițializat. Endpoint-ul din interiorul nodului port al senzorului indică intrarea MIPI CSI și specifică numărul de canale de date MIPI.
Nodul controlerului MIPI CSI conține două porturi: intrarea este conectată la senzorul de imagine, iar ieșirea este conectată la unitatea VICAP. Apoi, VICAP transmite datele de imagine către ISP V3.9. Rețineți că punctele finale trebuie să se refere reciproc, iar proprietățile remote-endpoint de la ambele capete trebuie să corespundă unu-la-unu. Dacă legătura bidirecțională nu este corectă, cadrul Media nu poate recunoaște întreaga cale de date. După modificare, compilare și flashare DTS, examinați mai întâi jurnalul dmesg pentru a confirma că toate nodurile dispozitivului se află într-o stare normală și că nu apar erori persistente de deferred-probe. Încercările repetate de deferred probing indică, de obicei, o configurare incorectă a GPIO, a ceasului sau a resurselor de alimentare.

Driverul senzorului pentru platforma RK3576 este dezvoltat pe baza cadrelor de lucru V4L2-subdev. Driverul senzorului nu creează un nod /dev/video; acesta există doar ca entitate subdispozitiv Media. Responsabilitățile principale includ configurarea registrelor senzorului, gestionarea alimentării și a resetării, configurarea formatului imaginii și controlul pornirii/opririi fluxului.
Driverul este împărțit în principal în cinci module: detectare I2C, control al alimentării/resetării, tabele de registre pentru moduri, configurare format pad și control pornire/oprire flux.
În timpul etapei de detectare a șoferului, ID-ul cipului senzorului este citit prin I2C pentru a verifica dacă cipul este recunoscut corect. Dacă citirea ID-ului eșuează, depanarea poate fi concentrată direct asupra defecțiunilor hardware legate de I2C, alimentare și reset. Funcțiile de alimentare/reset implementează întreaga secvență de pornire și oprire a senzorului: în timpul pornirii, fiecare linie de alimentare este activată în ordine, pinul de reset este activat pentru întârzierea specificată, apoi resetul este eliberat și senzorului i se acordă timp să se stabilizeze intern. Secvența de oprire efectuează operațiunile inverse.
Tabelele de înregistrare ale modului stochează configurații complete ale înregistrărilor senzorilor pentru rezoluții diferite, rate de cadre și rate MIPI. Când stratul superior comută parametrii de captură, driverul scrie setul corespunzător complet de înregistrări. Interfața de format pad configurează formatul imaginii pe bus-ul media, care trebuie să corespundă în mod strict formatului Bayer emis de senzor (de exemplu, BGGR sau RGGB). O configurare incorectă provoacă direct erori de culoare în imagine. Interfața de control al fluxului folosește stream_on pentru a scrie comenzile de înregistrare care activează ieșirea imaginii MIPI a senzorului, în timp ce stream_off oprește transmiterea imaginii. După implementarea driverului, opțiunile de compilare sunt adăugate în fișierul Kconfig și în fișierul Makefile al kernelului, astfel încât driverul să poată fi fie integrat în kernel, fie compilat ca modul kernel încărcabil.
Nu se recomandă încercarea imediată de capturare a imaginilor. Utilizați o abordare ierarhizată de depanare în trei etape: confirmați că detectarea driverului pentru senzor reușește → verificați dacă întreaga structură Media este corect conectată → capturați imagini brute folosind V4L2.

După pornirea sistemului, analizați jurnalele dmesg și căutați mesajele înregistrate de driverul senzorului. Utilizați i2cdetect pentru a scana magistrala I2C corespunzătoare și pentru a verifica dacă adresa slave a senzorului este detectată.
Folosiți media-ctl pentru a vizualiza lista de entități ale dispozitivului media. În condiții normale, entitățile subdispozitivelor, cum ar fi senzorul, mipi_csi, vicap și isp39, trebuie să fie vizibile, iar fiecare port al pad-ului trebuie să fie recunoscut corect.
În timpul depanării, media-ctl poate fi folosit pentru a configura întreaga rută în mod manual: se stabilesc legăturile între entități și se setează formatul imaginii, rezoluția și configurarea lane-urilor pentru fiecare etapă a subdispozitivului. Erorile generate de media-ctl sunt, în general, cauzate de un număr de lane, un format media-bus sau o rezoluție care depășesc capacitățile hardware ale senzorului. O configurare reușită cu media-ctl indică faptul că calea software de la senzor la ISP a fost stabilită.
VICAP/ISP generează nodul /dev/video, care servește ca punct de intrare în spațiul utilizator pentru captarea imaginilor. Utilizați v4l2-ctl pentru a seta formatul pixelilor imaginii, pentru a captura un singur cadru prin mmap și pentru a salva datele RAW Bayer. Dacă dimensiunea fișierului RAW generat corespunde așteptărilor teoretice, primul cadru imagine a fost capturat cu succes. Fișierul RAW poate fi apoi vizualizat cu un instrument profesional de analiză a imaginilor pentru a inspecta imaginea originală Bayer.
Dispunem de o soluție matură bazată pe RK3576 și de competențe profesionale în dezvoltarea personalizată, adaptarea hardware și implementarea producției în masă. Pentru diferite tipuri de senzori de imagine și pentru cerințe variate de rezoluție și rată de cadre, putem oferi revizii hardware, depanare driver și optimizare completă a sistemului, pentru a sprijini eficient proiecte personalizate în domeniul viziunii industriale, securității inteligente, terminalelor AI pentru viziune și alte aplicații. Contactați-ne la [email protected].
Știri importante2026-11-06
2026-10-29
2026-10-24
2026-10-23
2026-10-20
2026-10-19