Dapatkan Penawaran Gratis

Perwakilan kami akan segera menghubungi Anda.
Surel
Nama
Nama perusahaan
Pesan
0/1000
BERITA
Beranda> Berita

RK3576 Linux Camera Bring-Up: Dari Driver Sensor hingga Bingkai Pertama

Sep 18, 2026

RK3576 adalah prosesor yang dikembangkan oleh Rockchip untuk visi industri, keamanan cerdas, dan terminal visi AI. Prosesor ini mengintegrasikan ISP V3.9 (Image Signal Processor) yang mendukung resolusi maksimal 16 MP serta tiga modul penerima MIPI CSI-2 (dua modul D-PHY V2.0 dan satu modul C/D-PHY). Setiap lane D-PHY mendukung kecepatan maksimal 4,5 Gbps, setiap trio C-PHY mendukung kecepatan 2,5 Gsps, dan setiap port CSI mendukung empat saluran virtual.

Solusi kamera RK3576 dirancang berdasarkan kerangka kerja Linux Media dan model subperangkat V4L2-subdev. Jalur data lengkapnya adalah: sensor gambar → pengendali penerima MIPI CSI → unit penangkap video VICAP → ISP V3.9. Sensor beroperasi sebagai subperangkat independen dan bekerja bersama MIPI CSI, VICAP, serta ISP untuk membentuk jalur akuisisi gambar yang utuh.

9fc96edf-ab49-422a-ab84-c8be9dfe7c83.png

Meskipun RK3576 menyediakan tiga saluran penerima MIPI CSI dan VICAP mampu menerima beberapa aliran gambar secara bersamaan, ISP V3.9 merupakan perangkat keras saluran tunggal dan hanya dapat menjalankan pemrosesan algoritma ISP pada satu aliran gambar dalam satu waktu.

Selama proses debugging proyek, masalah yang mungkin muncul meliputi komunikasi I2C yang tidak normal, tautan MIPI yang tidak stabil, atau kegagalan dalam membangun saluran Media, sehingga akhirnya mencegah keluarnya frame gambar pertama. Artikel ini menguraikan pendekatan debugging lengkap dari sudut pandang implementasi teknis dan dapat dijadikan acuan untuk debugging visi tertanam.

1. Persiapan Perangkat Keras dan Kernel: Hilangkan Masalah Perangkat Keras Tingkat Rendah Sebelum Debugging

Dalam proses debugging driver, sebagian besar masalah yang kita hadapi bukan disebabkan oleh kode driver itu sendiri, melainkan oleh permasalahan tingkat rendah seperti pemasangan kabel perangkat keras, urutan pemberian daya (power sequencing), atau konfigurasi kernel yang belum diaktifkan. Oleh karena itu, sebelum memulai pengembangan driver sensor, lingkungan perangkat keras dan kernel di lapisan bawah harus terlebih dahulu diperiksa dan diverifikasi.

Pemeriksaan perangkat keras utama mencakup jalur daya sensor, bus I2C, tautan diferensial MIPI, serta pin GPIO untuk reset dan pengendali daya.

ebac6959-e7fa-403f-b478-9f36f23e227d.png

Urutan pemberian daya (power-up sequencing) pada sensor merupakan salah satu bagian paling kritis dalam proses debugging. Beberapa jalur daya—seperti AVDD, DOVDD, dan DVDD—harus secara ketat mengikuti urutan pemberian daya yang ditentukan oleh sensor. Penyimpangan tegangan suplai yang berlebihan atau ketidaksesuaian dalam waktu pemberian daya (power-up) maupun pemutusan daya (power-down) dapat langsung menyebabkan kegagalan komunikasi I2C serta operasi sensor yang tidak normal.

Bus I2C: Periksa konfigurasi multiplexing pin dan alamat slave sensor, serta pastikan resistor pull-up I2C telah dipasang dengan benar.

MIPI: Konfirmasi saluran CSI yang digunakan oleh perangkat keras, jumlah jalur MIPI, dan pencocokan impedansi pada jalur sinyal diferensial. Juga konfirmasi bahwa clock referensi sensor (XVCLK) yang dihasilkan oleh RK3576 beroperasi dengan benar.

Pin kontrol reset/power-down: Tentukan logika level aktif (aktif tinggi/aktif rendah), dan pastikan konfigurasi GPIO sesuai dengan skematik.

Konfigurasi kernel: Periksa opsi kernel untuk subsistem Media, subperangkat V4L2-subdev, pengendali dan driver PHY MIPI CSI, VICAP, serta ISP V3.9. Jika komponen yang diperlukan tidak dimasukkan ke dalam kernel, atau dimasukkan sebagai modul tetapi gagal dimuat dengan benar, maka pipeline Media tidak akan mampu mengidentifikasi perangkat keras kamera. Setelah kernel dibangun dan di-flash, pertama-tama periksa status pemuatan tiap modul driver. Tinjau log dmesg dan pastikan tidak ada kesalahan seperti modul yang hilang atau kegagalan inisialisasi.

2. Konfigurasi Device Tree (DTS): Membangun Koneksi Antara Perangkat

Pohon perangkat kamera RK3576: Menggambarkan sumber daya perangkat keras dan menggunakan simpul port serta endpoint untuk mengikat tautan saluran gambar antara sensor, MIPI CSI, VICAP, dan ISP.

Simpul sensor dipasang di bawah simpul bus I2C yang sesuai serta menentukan alamat slave I2C, pin reset, pin kontrol power-down, dan clock referensi sensor. Properti dapat dikonfigurasi agar inisialisasi sensor ditunda hingga perangkat keras PHY CSI siap, sehingga menghindari perlombaan waktu akibat PHY yang belum siap. Endpoint di dalam simpul port sensor mengarah ke input MIPI CSI dan menentukan jumlah jalur data MIPI.

Node pengendali MIPI CSI berisi dua port: input terhubung ke sensor gambar, dan output terhubung ke unit VICAP. Selanjutnya, VICAP mengirimkan data gambar ke ISP V3.9. Perhatikan bahwa endpoint harus saling merujuk secara dua arah, dan properti remote-endpoint di kedua ujungnya harus berkorespondensi satu-ke-satu. Jika pengikatan dua arah tidak cocok, kerangka kerja Media tidak dapat mengenali jalur data lengkap. Setelah memodifikasi, mengompilasi, dan mem-flash DTS, pertama-tama periksa log dmesg untuk memastikan semua node perangkat berada dalam kondisi normal serta tidak muncul kesalahan deferred-probe yang berulang. Pemeriksaan deferred-probe yang berulang biasanya menunjukkan konfigurasi GPIO, clock, atau sumber daya yang salah.

6dce10d2-b1e9-4e9a-937b-a9e64ec9a8d8.png

3. Pengembangan Driver Subperangkat Sensor: Model V4L2-subdev

Driver sensor platform RK3576 dikembangkan berdasarkan kerangka kerja V4L2-subdev. Driver sensor tidak membuat simpul /dev/video; driver ini hanya ada sebagai entitas subperangkat Media. Tanggung jawab utamanya meliputi konfigurasi register sensor, manajemen daya dan reset, konfigurasi format gambar, serta pengendalian mulai/berhenti aliran.

Driver ini terutama dibagi menjadi lima modul: deteksi I2C, pengendalian daya/reset, tabel register mode, konfigurasi format pad, serta pengendalian mulai/berhenti aliran.

Selama tahap pengujian oleh driver, ID Chip sensor dibaca melalui I2C untuk memverifikasi bahwa chip dikenali dengan benar. Jika pembacaan ID gagal, proses pelacakan masalah dapat difokuskan langsung pada kesalahan perangkat keras terkait I2C, daya, dan reset. Fungsi daya/reset menerapkan urutan lengkap penyalaan (power-up) dan pemadaman (power-down) sensor: selama penyalaan, tiap jalur catu daya diaktifkan secara berurutan, pin reset diaktifkan selama jeda yang ditentukan, lalu reset dilepaskan dan sensor diberi waktu untuk stabil secara internal. Urutan pemadaman melakukan operasi kebalikannya.

Tabel-tabel pendaftar mode menyimpan konfigurasi penuh pendaftar sensor untuk berbagai resolusi, laju bingkai, dan laju MIPI. Ketika lapisan atas mengganti parameter pengambilan gambar, driver menulis kumpulan pendaftar lengkap yang sesuai. Antarmuka format-pad mengonfigurasi format gambar media-bus, yang harus secara ketat cocok dengan format Bayer keluaran sensor (misalnya BGGR atau RGGB). Konfigurasi yang salah secara langsung menyebabkan kesalahan warna gambar. Antarmuka kontrol-aliran menggunakan stream_on untuk menulis perintah pendaftar yang mengaktifkan keluaran gambar MIPI sensor, sedangkan stream_off menghentikan transmisi gambar. Setelah driver diimplementasikan, opsi pembangunan ditambahkan ke Kconfig dan Makefile kernel sehingga driver dapat dibangun ke dalam kernel atau dikompilasi sebagai modul kernel yang dapat dimuat.

4. Debugging Bertahap: Dapatkan Bingkai Pertama Langkah demi Langkah

Tidak disarankan untuk mencoba menangkap gambar secara langsung. Gunakan pendekatan pemecahan masalah berlapis dalam tiga tahap: konfirmasi bahwa probing driver berhasil → verifikasi bahwa saluran Media sepenuhnya terhubung → tangkap gambar mentah dengan V4L2.

009954b9-0ee8-4b2b-a85c-c66149963d38.png

Tahap 1: Verifikasi bahwa Probing Driver Sensor Berhasil

Setelah sistem dihidupkan, periksa keluaran dmesg dan cari pesan log yang dicetak oleh driver sensor. Gunakan i2cdetect untuk memindai bus I2C yang sesuai serta memastikan apakah alamat slave sensor terdeteksi.

  • Jika tidak ada perangkat I2C yang terdeteksi: Periksa pasokan daya sensor, logika reset, penyolderan perangkat keras I2C, dan multiplexing pin.
  • Jika alamat I2C terdeteksi tetapi pembacaan Chip ID tidak normal: jalur perangkat keras I2C berfungsi, dan kemungkinan masalahnya adalah alamat register yang salah atau ketidakcocokan model sensor.

Tahap 2: Verifikasi Saluran Kerangka Media

Gunakan media-ctl untuk melihat daftar entitas perangkat Media. Dalam kondisi normal, entitas subperangkat seperti sensor, mipi_csi, vicap, dan isp39 harus terlihat, dengan setiap port pad diakui secara benar.

  • Jika entitas sensor tidak terlihat: proses probe driver sensor gagal.
  • Jika entitas ada tetapi tautan terputus: pasangan dua arah endpoint dalam DTS tidak benar.

Selama proses debugging, media-ctl dapat digunakan untuk mengonfigurasi seluruh jalur secara manual: membuat tautan antar entitas serta mengatur format gambar, resolusi, dan konfigurasi lane untuk setiap tahap subperangkat. Kesalahan dari media-ctl umumnya disebabkan oleh jumlah lane, format media-bus, atau parameter resolusi yang melebihi kemampuan perangkat keras sensor. Konfigurasi media-ctl yang berhasil menunjukkan bahwa jalur perangkat lunak dari sensor ke ISP telah terbentuk.

Tahap 3: Ambil Gambar dengan V4L2 dan Peroleh Frame Raw Pertama

VICAP/ISP menghasilkan simpul /dev/video, yang berfungsi sebagai titik masuk ruang pengguna untuk penangkapan gambar. Gunakan v4l2-ctl untuk mengatur format piksel gambar, menangkap satu bingkai melalui mmap, dan menyimpan data RAW Bayer. Jika ukuran berkas RAW yang dihasilkan sesuai dengan perkiraan teoretis, maka bingkai gambar pertama telah berhasil ditangkap. Berkas RAW tersebut kemudian dapat dilihat menggunakan alat analisis gambar profesional guna memeriksa gambar Bayer asli.

5. Pendekatan Umum untuk Pemecahan Masalah

  • media-ctl melaporkan kesalahan saat mengonfigurasi tautan: Pertama-tama periksa pengikatan endpoint DTS dua arah, lalu verifikasi format media-bus, resolusi, serta parameter jumlah jalur (lane-count).
  • Waktu tunggu penangkapan bingkai V4L2 habis tanpa keluaran data gambar: Pastikan perintah stream_on dieksekusi secara benar di dalam driver, PHY CSI telah mencapai kunci frekuensi (clock lock), dan sensor benar-benar mengeluarkan aliran data MIPI.
  • Gambar rusak atau noise bergaris: Kemungkinan penyebabnya meliputi laju clock MIPI yang tidak tepat, jumlah lane yang tidak tepat, ketidakcocokan pola Bayer, atau riak berlebihan pada catu daya sensor.
  • Keluaran gambar tidak stabil atau penurunan frame secara acak: Waktu power-up/reset sensor mungkin tidak memenuhi persyaratan, atau pasokan daya perangkat keras mungkin tidak cukup stabil.

Kami memiliki solusi RK3576 yang matang serta kemampuan profesional dalam pengembangan khusus, adaptasi perangkat keras, dan implementasi produksi massal. Untuk berbagai sensor gambar serta kebutuhan resolusi/laju frame yang berbeda, kami dapat menyediakan revisi perangkat keras, debugging driver, dan optimalisasi sistem lengkap guna mendukung efisien proyek khusus di bidang visi industri, keamanan cerdas, terminal visi AI, serta aplikasi lainnya. Hubungi kami di [email protected].

Dapatkan Penawaran Gratis

Perwakilan kami akan segera menghubungi Anda.
Surel
Nama
Nama perusahaan
Pesan
0/1000