FPGA tabanlı gerçek zamanlı MIPI CSI-2 görüntü toplama ve işleme sistemi

Gömülü cihazlarda gerçek zamanlı yüksek tanımlı görüntü aktarımı için artan bant genişliği gereksinimlerini karşılamak için ARM ve Motorola gibi şirketler, geleneksel paralel veri arayüzünü değiştirmek için 2003 yılında Mobil Endüstri İşlemci Arayüzü (MIPI) protokolünü önerdi. MIPI protokolünün başlangıcında iki ana uygulama vardı: Kamera Seri Arayüzü (CSI) ve Ekran Seri Arayüzü (DSI). Şu anda, MIPI protokolü akıllı telefonlar, VR, akıllı giyilebilir cihazlar ve ADAS sistemleri gibi çeşitli gömülü cihazlarda yaygın olarak kullanılmaktadır.

Bu makale, gerçek zamanlı bir MIPI CSI-2 sistemi tasarlamak için Lattice kullanır ve işlenmiş görüntüleri HDMI arayüz ekranında gerçek zamanlı olarak görüntüleyebilir ve 1080p60'a kadar çözünürlüğü destekleyebilir. Diğer platformlarla karşılaştırıldığında, FPGA tasarımına dayalı bu sistemin gerçek zamanlı, güç tüketimi, maliyet ve sistem yükseltmelerinde belirli avantajları vardır.

1 Sistem donanım mimarisi

Bu sistem, Lattice'in resmi Gömülü Görüntü Geliştirme Kiti (EVDK) tasarımına dayanmaktadır. Kit, MIPI CSI-2 köprü kartı, ECP5 görüntü işleme geliştirme kartı ve HDMI köprü kartı olmak üzere üç devre kartı katmanına sahiptir. Bunların arasında, MIPI CSI-2 köprü kartı Sonynin IMX214 kamerasını ve Lattice CrossLink serisi FPGAyı entegre eder; ECP5 görüntü işleme geliştirme kartı Lattice ECP5 serisi FPGA ve DDR3 bellek parçacıklarını entegre eder; HDMI köprü kartı Silicon Imageın Sil1136'sını kullanır Uygulamaya Özel Standart Parçalar (ASSP), paralel RGB verilerini standart HDMI sinyallerine dönüştürmek ve ekrana çıkış yapmak için kullanılır.

Tasarımda, CrossLink, IMX214 tarafından MIPI CSI-2 veri çıktısını toplamak ve protokol analizi ve bayttan piksele dönüştürme gibi işlevleri tamamlamak için kullanılır. Daha sonra elde edilen verileri Bayer formatında ve ilgili çerçeve geçerli sinyalini (Çerçeve Geçerli, FV) ve hat geçerli sinyali (Hat Geçerli, LV) ECP5 görüntü işleme geliştirme kartına gönderin. ECP5, CrossLink'ten Bayer formatındaki verileri aldıktan sonra, sırayla doğrusal kontrast genişletme, beyaz dengesi, ölü pikselleri kaldırma, Bayer formatını RGB formatına, görüntü ölçekleme, görüntü ters çevirme, doygunluk ayarı ve Gama düzeltmesi gerçekleştirir. Daha sonra, işlenen veriler paralel RGB biçiminde Sil1136 HDMI köprü kartına gönderilir. CrossLink ve ECP5'in dahili mantıksal işlevsel blok diyagramları sırasıyla Şekil 1 ve Şekil 2'de gösterilmektedir.

Sistemin donanım mimarisi Şekil 3'te gösterilmektedir. ECP5, görüntü işleme işlevine ek olarak, Sony IMX214 kamera ve Sil1136 ASSP'yi Kamera Kontrol Arabirimi (CCI) ve I2C arabirimi aracılığıyla yapılandırır.

2 FPGA modül tasarımı

2.1 CrossLink MIPI CSI-2 alıcı modül tasarımı

Şekil 4'te gösterildiği gibi, MIPI CSI-2 arayüzünün iki modu vardır: yüksek hız ve düşük güç tüketimi Yüksek hız modundaki seviye standardı, Ölçeklenebilir Düşük Voltaj Sinyali (SLVS) ve ortak mod voltajı 200 mV'dir. Salınım da 200 mV'dir ve düşük güç modu için seviye standardı LVCMOS 1,2 V'dir. MIPI CSI-2 arayüzünü bağlamak için sıradan bir FPGA kullanılırsa, sırasıyla yüksek hızlı modu ve düşük güç modunu işlemek için genellikle iki çift IO gerekirken, Lattice tarafından sunulan en yeni CrossLink cihazı doğrudan CrossLink'in MIPI'ye özel IO'suna bağlanabilir. .

MIPI CSI-2 yüksek hızlı bir seri diferansiyel arayüz olduğundan, gönderen uç ile alıcı uç arasındaki farklı sinyal hatlarının uzunluğu mümkün olduğunca eşit olmalıdır. Bununla birlikte, PCB kesinlikle eşit uzunluktaki diferansiyel hatta göre tasarlanmış olsa bile, farklı sinyal hatlarındaki sinyallerin alıcı uca aynı anda ulaşmasını sağlamak zordur. Bu nedenle, alıcı ucun alınan seri verileri hizalaması gerekir. Şekil 5'te gösterildiği gibi, CrossLink, sırayla MIPI CSI-2 seri girişinde bayt hizalama işlemlerini ve kanal hizalama işlemlerini gerçekleştirir.Şekilde B8, her seferinde iletilen veri paketini temsil eden MIPI CSI-2 protokolündeki senkronizasyon tanımlama kodudur. Başlangıçta.

Şekil 1'de gösterildiği gibi, MIPI D-PHY CSI-2 alıcı modülü, hizalanmış verileri zamanlama kontrol modülüne ve bayttan piksele dönüştürme modülüne çapraz saat alanı FIFO aracılığıyla verir. Bayttan piksele dönüştürme modülü, Sony IMX214 kamera tarafından 10 bitlik Bayer formatındaki (yani RAW10) bayt veri çıkışını 10 bit paralel piksel verilerine dönüştürür ve çıkışını verir.

2.2 ECP5 görüntü işleme modülü tasarımı

Doğrudan alınan görüntü verilerinin ortalama değeri çok küçük olduğundan (görüntü çok karanlık olduğu için gösterilir) ve ölü piksel olarak çok az piksel olabileceğinden, ECP5 ilk olarak CrossLink'ten alınan piksel verileri üzerinde doğrusal kontrast genişletme gerçekleştirir (aynı zamanda Parçalı doğrusal haritalama), beyaz dengesi ayarı ve ölü piksel giderme işlemi.

Şekil 6'da gösterildiği gibi, Bayer formatındaki görüntü verilerindeki her piksel yalnızca spektrumun bir bölümünü içerir, bu nedenle her pikselin RGB değeri enterpolasyon yoluyla elde edilmelidir. Bu tasarımda, Bayer formatından RGB formatına dönüşümü gerçekleştirmek için ortak bir komşuluk enterpolasyon algoritması kullanılmıştır.

Ekranın çözünürlüğüne uyum sağlamak için, bu tasarım aynı zamanda ECP5'te 1080p'yi (1920 × 1080) herhangi bir çözünürlüğe (1.280 × 720, 2.048 × 1.536 vb.) Dönüştürebilen bir görüntü ölçekleme modülü uygular. Görüntü ölçekleme algoritmasının özü, enterpolasyon algoritmasıdır Yaygın enterpolasyon algoritmaları arasında en yakın komşu enterpolasyonu, 9 noktalı enterpolasyon, çift doğrusal enterpolasyon ve çift kübik enterpolasyon bulunur. Bunların arasında, en yakın komşu enterpolasyon yöntemi ve 9 noktalı enterpolasyon yöntemi nispeten basittir, ancak etki nispeten geneldir.Zum oranı çok büyükse, ciddi mozaik veya distorsiyona neden olur. Bikübik algoritma en karmaşık ve en iyi etkidir, ancak daha fazla FPGA mantık kaynağı tüketecektir. Kapsamlı etkiler ve kaynaklar açısından, bu tasarım çift doğrusal enterpolasyon kullanır.Algoritmanın temel prensipleri aşağıdaki gibidir:

Belirli bir hedef piksel adresine karşılık gelen kaynak piksel adresinin kayan nokta koordinatlarının P (i + u, j + v) olduğunu varsayalım, burada i ve j, kayan nokta koordinatlarının tam sayı kısımlarıdır ve u ve v, kayan nokta koordinatlarının ondalık kısımlarıdır. Şekil 7'de gösterildiği gibi, piksel değeri F (i + u, j + v) orijinal görüntüdeki koordinatlarla Q11 (i, j), Q21 (i + 1, j), Q12 (i, j + 1) olarak belirlenebilir. ) Ve Q22'nin (i + 1, j + 1) dört piksel değeri belirlenir:

Görüntü ters çevirme ve kare hızı dönüştürme, en az iki kare görüntü piksel değerinin önbelleğe alınmasını gerektirir ve ECP5'teki gömülü blok RAM (EBR) kaynakları çok fazla veriyi önbelleğe almak için yeterli değildir, bu nedenle depolama için harici DDR3 SDRAM gerekir. Görüntü ters çevirme ve kare hızı dönüşümünün işlevsel blok diyagramı Şekil 8'de gösterilmektedir. Veriler, ilk olarak saatler arası etki alanı dönüştürmeyi tamamlamak için FIFO'ya yazılır ve ardından, geliştirme kartındaki iki Micron DDR3 SDRAM parçacığını tamamlamak için Lattice DDR3 SDRAM denetleyici IP'si kullanılır. Okuyun ve yazın ve son olarak FIFO okuyarak verileri çıkarın. Ayrıca, bu iki işlevi etkinleştirebilir veya devre dışı bırakabilir ve ilgili parametreleri konfigürasyon sinyali aracılığıyla değiştirebilirsiniz. Kare hızı dönüştürme modülü, görüntüleri saniyede 30 karede saniyede 60 kareye dönüştürebilir veya saniyede 60 kareyi saniyede 30 kareye dönüştürebilir.

Doygunluk ayar modülü aynı anda piksellerin RGB değerlerini ayarlayabilir ve bunlardan yalnızca birini veya birkaçını ayarlayabilir. Temel ilke formül (2) 'de gösterildiği gibidir RGB değeri belirli bir katsayı ile çarpılır ve ardından belirli bir renk canlılığı ayarını elde etmek için belirli bir değer çıkarılır.

Çünkü bazı ekranlarda akım ve gerilim doğrusal bir ilişki olmayıp karanlık alandaki piksellerin gerçek durumdan daha karanlık olmasına ve parlak alanın gerçek durumdan daha parlak olmasına neden olacaktır. Gerçek görüntüyü daha iyi geri yükleyebilmek için tasarım, Gama Düzeltme işlevini de uygular. Temel gama düzeltmesi ilkesi formül (3) 'te gösterilmiştir; burada Po, düzeltmeden sonraki değeri, Pi giriş piksel değerini ve gama katsayısı değeridir.

FPGA'da uygulamayı kolaylaştırmak için formül (3) biraz işlenebilir. Formül (4) 'te gösterildiği gibi, burada b, piksel değerinin bit genişliğini temsil eder.

3 Sistem doğrulama ve sonuç analizi

Sistemin işlevini doğrulamak için Sony IMX214, 1920 × 1080, 60 Hz ve RAW10 formatında çıktı verecek şekilde yapılandırılmıştır. ECP5'te ilgili giriş ve çıkış sinyali dalga formlarını toplamak için Lattice Diamond'daki Reveal aracını kullanın. MIPI CSI-2 giriş sinyali, özel bir IO sinyali olduğundan, Reveal kullanılarak doğrudan toplanamaz, bu nedenle CrossLink'teki tasarım, ilgili sinyal dalga formunu elde etmek için Aktif HDL yazılımı yardımıyla simüle edilir. Ve ilgili modül işlevlerini devre dışı bırakarak (veya etkinleştirerek), çıktı görüntülerinin etkilerini karşılaştırın.

3.1 CrossLink ile ilgili sinyal dalga formu

CrossLink'in simülasyon dalga biçimi Şekil 9'da gösterilmektedir, burada csi_clk_p, sürekli mod olan (Sürekli Mod) MIPI CSI-2 giriş saati sinyalidir. csi_d0_p, csi_d1_p, csi_d2_p ve csi_d3_p, MIPI CSI-2'nin dört veri giriş kanalıdır (Veri Hattı). fv çerçeve geçerli sinyaldir, lv hat geçerli sinyaldir ve pixdata RAW10 formatındaki piksel verisi çıktısıdır.

3.2 ECP5 ile ilgili sinyal dalga formu

ECP5'in Reveal edinim dalga formu Şekil 10'da gösterilmektedir, burada CSI2_sens_fv, CrossLink tarafından çerçeve geçerli sinyal çıktısıdır, CSI2_sens_lv satır için geçerli sinyaldir ve CSI2_sens_data RAW10 formatındaki piksel verileridir. vsync ve hsync, sırasıyla çerçeve senkronizasyon sinyali ve hat senkronizasyon sinyalidir ve data_enable, veri geçerli sinyaldir. pix_red, pix_green ve pix_blue, sırasıyla çıktı piksellerinin RGB değer sinyalleridir.

3.3 Görüntü işleme etkisi karşılaştırma tablosu

Görüntü işleme etkisi karşılaştırma tablosu Şekil 11'de gösterilmektedir. Görüntü efektini sağlamak için Bayer'den RGB'ye modülü ve Gama düzeltme modülü test işlemi sırasında her zaman etkindir. Şekil 11 (a) orijinal görüntüdür yani beyaz dengesi, doğrusal kontrast genişleme, görüntü ölçekleme ve ters çevirme, doygunluk ayarlama modülleri kullanılmaz; Şekil 11 (b) sadece beyaz dengesi ve doğrusal kontrast genişletme modülleri kullanılarak elde edilen görüntüdür. Şekil 11 (c), doygunluk ayarı kullanıldıktan sonraki görüntüdür; Şekil 11 (d), görüntü ölçeklendirme ve ters çevirme kullanıldıktan sonraki görüntüdür.

Karşılaştırma yapıldığında, doğrudan IMX214 tarafından çıkarılan piksel sinyal değerinin çok küçük olduğu, dolayısıyla görüntülenen resmin çok karanlık olduğu görülebilir. Doğrusal kontrast genişletme gibi modüllerle işlendikten sonra, görüntü çok parlak görünüyor ve renkler yeterince parlak değil. Doygunluk ayarlama modülü tarafından işlendikten sonra görüntü, daha iyi renk efektleri elde etti. Son olarak, görüntü ters çevirme modülü, görüntü üzerinde ters çevirme işlemini de başarıyla tamamladı.

4. Sonuç

Bu makale, Lattice FPGA tabanlı gerçek zamanlı yüksek çözünürlüklü bir görüntü elde etme ve işleme sistemi tasarlar ve uygular. 1080p60'a kadar gerçek zamanlı görüntü yakalayabilir ve bir dizi gerçek zamanlı görüntü işleme işlevini tamamlayabilir. Modüler tasarım konsepti nedeniyle, iyi bir ölçeklenebilirliğe ve uyarlanabilirliğe sahiptir. Bu tasarıma dayanarak, küçük bir değişiklik, kenar algılama, görüntü bölümleme ve birleştirme gibi geleneksel görüntü işleme işlevlerini de tamamlayabilir. Bu sistemin iyi bir esnekliğe ve yüksek pratik değere sahip olduğunu gösterir.

Referanslar

MIPI Alliance, Inc. Kamera seri arabirimi 2 (CSI-2) için MIPI ittifak özelliği. 2009.

Lattice Semiconductor.CrossLink ailesi veri sayfası. 2018.

Lattice Semiconductor Sil9136-3 / Sil1136 HDMI koyu renkli verici veri sayfası.2018.

MIPI Alliance, Inc. D-PHY.2009 için MIPI ittifak şartnamesi.

Li Kai MIPI CSI / DSI'ye giriş ve sinyal ve protokol test yöntemleri Yabancı Elektronik Ölçüm Teknolojisi, 2012, 31 (3): 11-15.

yazar bilgileri:

Li Xianyou 1, Zhao Shuguang 1, Duan Yongcheng 1, Wang Jianqiang 2

(1. Bilgi Bilimi ve Teknolojisi Okulu, Donghua Üniversitesi, Şangay 201620; 2. SAIC Volkswagen Co., Ltd., Şangay 201805)

QQ satın almak bu arabaları satın almaktan daha iyi, en düşük olanı 60.000 yuan'dan az
önceki
Masa arkadaşları çok önemli! Dört kız bir masada sınavlara hazırlanıyor
Sonraki
Babayla savaşmadan bir araba satın almak sadece 80.000 yuan'a otomatik bir sedan alabilir mi?
Battle Angel Xiaomi 9 piyasaya sürüldü veya en son Xiaomi amiral gemisi cep telefonu 3.000 yuan'ın altında fiyatlandırıldı
Akıllı giyim hala sıcak, ev aletleri daha akıllı hale geliyor ve eğitim robotları ortaya çıkıyor IFA 2017
Wu Jing arkamda oturuyordu! "Heroes 2018" katıldığım en heyecan verici galası
XBT Otomatik Teslim Ölçüm Sisteminin Motor Kontrol Ünitesinin Tasarımı ve Arıza Analizi
En az 80.000 adet olmak üzere iyi bir itibara sahip dört sıcak satış ortak girişim arabası
MWC2019 arifesinde LG, Q60 / K50 / K40 adlı üç meze çıkardı
CCTV'ye maruz kalma! Satın alma fiyatı 85 yuan ve fiyat 28.000! Ülke çapındaki birçok alışveriş merkezinde buna sahip, bu bir aldatmacaydı
2017 Çin yazılım işi gelir raporunda Huawei, 217,8 milyar yuan ile 16 yıl üst üste ilk sırada yer aldı
Profesyonellik, entegrasyon, hizmet, sektörün bu alandaki başarısına bakın
"Mystery Nest" galası Li Bingbing üç kızgın Kenan Luz Wu Zun, özel efektli makyajın Max'i telefonunu fırlatmaktan korktuğunu söyledi.
Avrupa arabaları neden bu kadar küçük?
To Top