Maxim串行器可以連接和控制相機IC。本文介紹如何將相機的原始 RGB 或 YUV 輸出轉換為適合與標準顯示器一起使用的 RGB 數(shù)據(jù)。
介紹
Maxim串行器可以連接和控制相機IC。這些器件包括MAX9257,具有半雙工UART/I2C控制通道,以及MAX9259和MAX9263,均具有全雙工同步控制通道。MAX9263還支持高帶寬數(shù)字內容保護(HDCP)。本應用筆記介紹了如何將相機的原始RGB或YUV輸出轉換為適合與標準顯示器配合使用的RGB數(shù)據(jù)。
相機輸出格式
相機芯片,如豪威OV10630,可以通過串行器連接。OV10630的接口引腳包括像素時鐘、PCLK、線路有效、HREF、幀同步、VSYNC和并行數(shù)據(jù)位D[9:0]。數(shù)據(jù)位穩(wěn)定在時鐘的上升沿。
YUV 和原始 RGB 格式的說明
CMOS相機傳感器由數(shù)百萬個光敏單元組成。每個細胞本身對所有波長的光做出反應。光學濾光片涂層用于使特定傳感器僅對紅色、綠色或藍色波長的光做出反應。相鄰的細胞通常涂有拜耳排列的顏色,其中兩倍的細胞涂有綠色,而不是紅色或藍色。這模仿了人眼的生理學。從左到右和從上到下獲取傳感器單元輸出,原始 RGB 數(shù)據(jù)按藍色、綠色...藍色,綠色(第一行末尾),綠色,紅色,...綠色、紅色(第二行末尾)等,如圖 1 所示。
圖1.原始 RGB 數(shù)據(jù)字節(jié)序列。
通過插值相鄰像元的所需顏色,可以生成與傳感器像元密度相同的 RGB 數(shù)據(jù)。或者,這可以通過使用相鄰單元格的顏色來實現(xiàn),符合某些規(guī)則。為每個像素位置形成 RGB 集的一個這樣的規(guī)則是在同一行上使用一對相鄰的單元格,以及綠色旁邊的下一行(或上一行)中的單元格。插值的RGB數(shù)據(jù)被排序為...,紅色(i-1),綠色(i-1),藍色(i-1),紅色(i),綠色(i),藍色(i),紅色(i+1),綠色(i+1),藍色(i+1),...如圖2所示。每個像素都需要一組RGB數(shù)據(jù)來驅動彩色顯示器,同時保持相機傳感器的最大可能分辨率。這種插值RGB數(shù)據(jù)的亮度分辨率接近傳感器單元的亮度分辨率,而色度分辨率較差。感知分辨率可以與傳感器單元一樣高,因為人眼對每個像素的強度比對像素的顏色分量更敏感。
圖2.RGB 數(shù)據(jù)字節(jié)序列。
但是,這種插值RGB數(shù)據(jù)的數(shù)據(jù)速率是其三倍。為了降低數(shù)據(jù)速率,特別是傳輸速率,可以使用YUV色彩空間(將模擬彩色電視信號放入模擬黑白電視的頻段中)。在下面的等式中,亮度用Y表示,藍色和亮度之間的色差為U,紅色和亮度之間的色差為V,
其中典型的顏色權重值為 WR= 0.299, WB= 0.114,WG= 1 - WR- WB= 0.587,歸一化值為 U.MAX和 V.MAX= 0.615。
對于帶有拜耳圖案顏色濾光片的相機傳感器,相鄰像素的U或V數(shù)據(jù)大致相同,具體取決于線索引i和像素索引j(如果使用相鄰顏色的規(guī)則)。使用此準則,可以根據(jù)以下表達式直接從原始 RGB 數(shù)據(jù)生成 YUV 數(shù)據(jù)。
對于偶數(shù)線索引 i 和偶數(shù)像素索引 j。
對于偶數(shù)線索引 i 和奇數(shù)像素索引 j。
對于奇數(shù)線索引 i 和偶數(shù)像素索引 j。
對于奇數(shù)線索引 i 和奇數(shù)像素索引 j。
對于偶數(shù)線索引 i 和偶數(shù)像素索引 j。
對于偶數(shù)線索引 i 和奇數(shù)像素索引 j。
對于奇數(shù)線索引 i 和偶數(shù)像素索引 j。
對于奇數(shù)線索引 i 和奇數(shù)像素索引 j。
對于偶數(shù)線索引 i 和偶數(shù)像素索引 j。
對于偶數(shù)線索引 i 和奇數(shù)像素索引 j。
對于奇數(shù)線索引 i 和偶數(shù)像素索引 j。
對于奇數(shù)線索引 i 和奇數(shù)像素索引 j。
為了降低數(shù)據(jù)速率,使用偶數(shù)像素索引 U 數(shù)據(jù)和奇數(shù)像素索引 V 數(shù)據(jù),以及偶數(shù)和奇數(shù)像素索引 Y 數(shù)據(jù)。這種數(shù)據(jù)速率降低的YUV數(shù)據(jù)按如圖3所示的順序傳輸。換句話說,Y1/ 60和 V1是像素 1 的數(shù)據(jù);Y2/ 62和 V1是像素 2 等的數(shù)據(jù)。
圖3.YUV422 數(shù)據(jù)字節(jié)序列。
422 表示 Y:U:V 的采樣比。采用4:x:x標準是因為最早的顏色NTSC標準,該標準使用4:1:1的色度子采樣,因此圖像的彩色分辨率僅為亮度的四分之一。如今,只有處理未壓縮信號的高端設備才使用4:4:4的色度子采樣,亮度和顏色信息具有相同的分辨率。
序列化程序輸入格式
Maxim串行器的并行接口設計用于24位RGB數(shù)據(jù)。具體而言,MAX9259具有像素時鐘位(PCLK)和29個數(shù)據(jù)位,可用于24 RGB位以及水平同步、垂直同步和3個控制位。除數(shù)據(jù)并行接口外,DRS和BWS引腳需要分別設置為高或低,以便選擇數(shù)據(jù)速率和總線寬度。
美信串行器/解串器
MAX9257和MAX9258串行器/解串器(SerDes)對具有多達18個并行輸入/輸出位,適合發(fā)送YUV數(shù)據(jù),而MAX9259/MAX9260芯片組具有28個并行輸入/輸出位,適用于傳輸RGB數(shù)據(jù)。另一對SerDes,MAX9263/MAX9264,具有28位,具有額外的HDCP功能。此外,MAX9265和MAX9268是一對28位SerDes,具有攝像頭鏈路,而不是并行輸入/輸出接口。所有28位Maxim串行器和解串器具有相同的并行-串行數(shù)據(jù)映射,可互換使用。例如,MAX9259串行器可與MAX9268解串器配合使用,以發(fā)送RGB數(shù)據(jù)(借助FPGA)。該數(shù)據(jù)通過串行鏈路從CMOS相機發(fā)送到相機鏈接接口的顯示設備。
序列化程序的映射
為了匹配MAX9268解串器的相機鏈路輸出接口,應根據(jù)以下信號圖映射并行RGB位。圖4所示為MAX9268中間并行位與其相機鏈路輸出之間的映射。圖 5 顯示了相機鏈路的 RGB 內容位映射。表1給出了MAX9259串行器的相應內容映射。
圖4.MAX9268內部并行至輸出映射。
圖5.相機鏈接內容映射。
DIN0 | DIN1 | DIN2 | DIN3 | DIN4 | DIN5 | DIN6 | DIN7 | DIN8 | DIN9 |
R0 | R1 | R2 | R3 | R4 | R5 | G0 | G1 | G2 | G3 |
DIN10 | DIN11 | DIN12 | DIN13 | DIN14 | DIN15 | DIN16 | DIN17 | DIN18 | DIN19 |
G4 | G5 | B0 | B1 | B2 | B3 | B4 | B5 | HREF | VSYNC |
DIN20 | DIN21 | DIN22 | DIN23 | DIN24 | DIN25 | DIN26 | DIN27 | DIN28 | |
R6 | R7 | G6 | G7 | B6 | B7 |
顏色轉換:YUV 到 RGB
FPGA芯片可以將來自相機的數(shù)據(jù)速率降低的YUV數(shù)據(jù)轉換為MAX9259串行器的RGB數(shù)據(jù)。當在 8 位定點數(shù)學運算中實現(xiàn)時,這種顏色空間轉換的公式可以用以下表達式來描述。n 是 D 的偶數(shù)n和 En在 2德·和 3RD方程。
Cn = Yn - 16
Dn = Dn + 1 = Un - 128
En = En + 1 = Vn + 1 - 128
Rn = clip((298 × Cn + 409 × En + 128) >> 8)
Gn = clip((298 × Cn - 100 × Dn - 208 × En + 128) >> 8)
Bn = clip((298 × Cn × 516 × Dn + 128) >> 8)
其中>> 8 表示“將位向右移動八次”,剪輯表示“僅獲取最后 8 位”。
FPGA 解決方案
輸入緩沖
輸入緩沖電路由一個計數(shù)器、三個寄存器和一些組合邏輯組成,用于以輸入時鐘速率的一半將單字節(jié)時鐘輸入轉換為三字節(jié)時鐘輸出。組合邏輯用于分別為每個 Y、U 和 V 字節(jié)啟用相應的寄存器。
圖6.輸入緩沖電路。
時鐘開關
FPGA輸出像素時鐘是相機像素時鐘速率的一半,驅動串行器像素時鐘輸入。但是,相機在初始化之前不會輸出像素時鐘。解決方案是在FPGA內部實現(xiàn)2:1時鐘多路復用器(mux)和時鐘信號檢波器。多路復用器由時鐘信號檢測器控制。多路復用器的上電默認時鐘輸入來自相機的時鐘振蕩器,這使得SerDes芯片組提供控制通道來初始化相機。時鐘信號檢波器對垂直同步信號脈沖進行計數(shù)。經過幾次垂直同步脈沖后,多路復用器切換到相機像素時鐘的半速率。使用像OV10630這樣的高清攝像頭傳感器,一個垂直同步脈沖的每個周期包含超過100k像素的時鐘。幾個垂直同步脈沖的時間足以穩(wěn)定相機的內部鎖相環(huán)(PLL)。計數(shù)垂直同步比計算像素時鐘效率高得多,并為實現(xiàn)節(jié)省了FPGA邏輯元件。
中間緩沖
轉換表達式不描述硬件電路實現(xiàn)的延遲。要從 YUV 輸入生成 RGB 數(shù)據(jù),需要兩到三次乘法和三到四次加法。雖然FPGA邏輯元件(門)只產生幾納秒的延遲,但載波、加法器和乘法器移位輸入的傳播會導致廣泛的延遲和延遲擴展。為了最小化延遲,每個常數(shù)乘法器由兩個移位輸入的加法器近似,代表常數(shù)的 2 個非零最高有效位 (MSB)。在大約100MHz的輸入YUV字節(jié)速率下,延遲擴展可能會跨越相鄰像素的時序邊界,從而導致視頻噪聲。在每個乘法器之后放置中間寄存器以消除延遲擴展。
前面提到的YUV到RGB色彩空間轉換已經在Actel? ProASIC3 A3PN125Z FPGA器件中實現(xiàn)。圖 7 顯示了該 FPGA 實現(xiàn)方案的示意圖。
更詳細的圖像。(PDF, 172kB) | 更詳細的圖像。(PDF, 180kB) |
圖7.YUV 至 RGB 轉換器的 FPGA 實現(xiàn)。
應用電路
相機芯片可以由其供應商在子PCB上提供。圖8顯示了相機子模塊的功能框圖。輸入為電源、PWR 和晶體時鐘 (XCLK)。輸出信號為并行數(shù)據(jù)位(D0.D9)、I2C總線(SDA、SCL)、視頻同步(HREF、VSYNC)和像素時鐘(PCLK)。
圖8.攝像頭模塊功能框圖。
圖9顯示了FPGA和串行器芯片的原理圖,以完成應用電路。該電路通過由兩對雙絞線組成的串行電纜供電,一對用于串行信號,另一根用于電源。串行器和FPGA器件使用單獨的LDO電源IC。旁路電容器用于攝像頭模塊,該模塊具有自己的LDO電源芯片,以進一步減少潛在的干擾。阻尼電阻用于FPGA和串行器器件之間的數(shù)據(jù)鏈路。
更詳細的圖像 (PDF, 1.6MB)
圖 9a. 應用電路的 FPGA 部分。
更詳細的圖像 (PDF, 1.6MB)
圖 9b.應用電路的串行器部分。
MAX9259還能夠直接連接到攝像頭傳感器,如OV10630,以構建更小的攝像頭。色彩空間轉換FPGA可以在解串器之后使用。由于該應用需要攝像頭鏈路輸出,可由MAX9268直接驅動,因此色彩空間轉換FPGA位于攝像頭傳感器和串行器(MAX9259)之間。
視頻捕獲示例
圖10顯示了相機應用電路的實現(xiàn)方式,也是使用這些相機應用電路捕獲的。
圖 10.相機應用電路的實現(xiàn)。
總結和未來方向
本應用筆記介紹了將Maxim相機串行器IC與FPGA結合使用的典型方法。應用原理圖和FPGA代碼可作為原樣設計參考。RAW RGB至24位RGB FPGA轉換器的實現(xiàn)將在本應用筆記的未來更新中提供。
審核編輯:郭婷
-
傳感器
+關注
關注
2550文章
51035瀏覽量
753071 -
顯示器
+關注
關注
21文章
4970瀏覽量
139926 -
串行器
+關注
關注
0文章
115瀏覽量
14403
發(fā)布評論請先 登錄
相關推薦
評論