伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于Xilinx FPGA實現MIPI DPHY接口案例分析

電子設計 ? 來源:面包板社區 ? 作者:Hello,Panda ? 2021-01-28 14:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:Hello,Panda

這次分享一個在Xilinx FPGA實現MIPI DPHY接口的案例(包括CIS協議層)。截止目前為止,Xilinx僅在Ultrascale+及其以上版本的FPGA IO可直接支持MIPI 電平輸入,其他的,都需要轉換成LVDS來接收。在軟件支持上,Xilinx在高版本的Vivado(Vitis)上開放了MIPI DPHY IP,但是這個IP可能用起來有諸多的限制,比如說,不可以動態切換Lane速率、比如說必須是Gated的時鐘、比如說所有時鐘通道和數據Lane的LP信號都必須接進來占用很多IO等等。所以,熊貓君在這里分享手動擼代碼的途徑,根據自己的需求想做成啥樣就啥樣,哪管它格式千奇百怪,另外給大家分享的是,擼這個代碼不用怕,真的很簡單,熟練一些的三天就成,不太熟練的也就一個星期,畢竟咱們不需要把協議棧的每個邊邊角角都整出來,夠咱用就可以了。好了,不說廢話了,咱們以MIPI DPHY CSI為例預備開始,搭建一個MIPI RX攝像頭數據的案例!

一、 硬件上的考慮

之前咱不是介紹過,Xilinx低版本的FPGA上并不能直接支持MIPI DPHY電平標準,因此不能直接就把攝像頭接到FPGA的Select IO上,咱得想辦法把它變成可以認識的LVDS電平。

1. 速率的考慮

為什么說要考慮速率呢?這里一個是和FPGA內部的資源相關,另外一個是和信號完整性相關。

FPGA內部的資源是怎么個說法呢?因為是要用到Select IO的Iserdes,因此受IO時鐘速率的影響,可以布線到IO的最高時鐘在7系列器件里面是BUIO,可以達到800MH(Spartan-6的BUFPLL可能低一些,記得好像是600MHz來著的,有需要的可以自行查證),那么就意味著在7系列FPGA上接MIPI進來最大的Lane速率只能到1600Mbps。

另外,信號完整性是怎么一個說法呢?咱們這個畢竟是高速信號,對眼圖采樣窗口什么很看重的,這方面Xilinx很有經驗,它給畫了一條線:800Mbps,lane速率低于800Mbps的,可以通過電阻網絡用很低的成本就把事兒給辦了;但是速度高了可不行,采樣可能就不正確了,那怎么辦呢?就得用專門的level shift芯片將MIPI信號轉成LVDS了。

2. 使用電阻網絡

這種方法尤其簡單,說白了,對接收端來說尤其簡單,說白了,就是說你MIPI電平的擺幅很低,那好啊,我把終端電阻加大(150Ω,需要注意的是內部的DIFF_TERM要False掉)一點兒,可以確保差分終端電阻兩端的電壓夠LVDS的裁決門限就行了,這個Xilinx還專門有一個xapp的參考設計,具體編號沒有記,有需要可以自行去找DoCNav要。至于低速LP信號,分出來以后要是BANK富裕可以專門搞一個1.2V的bank,如果不富裕,也可以加一個輸入阻抗很大的電平轉換芯片(比如74LVC1T45)把它轉成任意你想要的電平標準,比如1.8V、2.5V或3.3V。那么,整個輸入的網絡結構就變成了圖1這個樣子的了。

o4YBAGASVOqAXvMyAAB3fCX7S7w633.png

圖1 電阻網絡結構圖

至于哪些信號要接進來,如果引腳足夠多,那么所有LP信號和HS信號都可以接進來,如果不富裕且不需要用到嵌入的低速數據的話,因為咱們的Lane已知,除了HS信號外,將lane0的LP信號接進來用于狀態判斷就行了。

低速的適用于大多數分辨率/幀率在1080P60及以下的,比如幾乎所有的內窺鏡用Sensor,如最常用OV9734;大部分的Sony和安森美的2M監控芯片。

3. 使用專門的電平Level shift芯片

因為基本上MIPI還是用于手機和監控類居多,一般的SoC都支持MIPI直接輸入。這方面的電平轉換不多,一個是使用專用芯片,比如說國外的MC20901之類的芯片,另外國內的龍迅也有類似的。

另外一種就是采用高速的信號buffer/repeater芯片轉成LVDS信號,TI有很多種這樣的芯片,比如說性能頂尖的DS25BR100(足以滿足2.5Gbps MIPI,帶均衡和加重的),當然這個性能好意味著高價格,對于速度沒有那么高的應用,選稍次一檔的也很香,電路結構和圖1類似,就是把150Ω電阻的位置換成這個buffer/repeater芯片,輸出就直接是LVDS到FPGA了,標標準準的。

這種方案適合800Mbps~1600Mbps應用場景,除了一些極大靶面或者極高幀率的Sensor外,大多數的一般sensor都包含在內了。

4. 超過1.6Gbps怎么辦

還有一種情況,就是必須要用到lane速率超過1.6Gbps,這種情況怎么辦呢?那就得用到高速serdes了GTP、GTH、GTY了,針對這種情況,Xilinx專門出了一個應用指南,這個比較特殊,熊貓君記得編號是XAPP1339,名字叫做“Implementing 2.5G MIPI D-PHY Controllers”,前提是FPGA需要帶高速Serdes,成本要高一些,Xilinx官網有參考設計,在安富利可以買到評估板,如下圖2所示,本文按下不表。

圖2 安富利使用高速Serdes的參考板

二、 軟件設計

這里的軟件設計只考慮介紹手擼的,對Xilinx官方IP和參考設計不做表述。這里面主要的關鍵點是考慮使用什么樣的時鐘網絡拓撲。

1. 兩種時鐘拓撲的考量

這里面有種時鐘架構可供選擇,各有優缺點,根據實際情況選擇之。

第一種是使用鎖相環(PLL):這種方案的有點是時鐘穩定、抖動小,外部偶爾有個小毛刺可能影響不大,缺點一個是需要考慮失鎖的問題,這個對連續時鐘輸出的沒啥影響,但是對Gated時鐘就比價致命,如果低功耗間隔太長,重新轉到高速模式時間又太短,很有可能鎖相環就失鎖了,導致丟掉了HS幀前面的一部分數據找不到同步頭接收失敗;另一個是只能支持一種固定速率。因此,在選用這種方案的時候要特別注意。

第二種方案是直接使用時鐘BUFER:這種方案無需知道進來的時鐘速率是多少,所以可以很方便的通過配置sensor的寄存器來切換MIPI通道lane速率(這種對大靶面的傳感器應用尤為常見,拍照和視頻流采用不同的輸出速率)。缺點是容易受外界干擾,對信號完整性和干擾屏蔽處理要求較高。

這個兩種時鐘方案的結構如下圖3所示。

o4YBAGASVRKABryhAAD3bBNhqxs324.png

圖3 兩種時鐘拓撲結構

對MIPI而言,數據并串轉換的最小單位是字節,DDR采樣方式,因此byte_clk頻率是bit_clk的1/4。

2. 物理層的接收

咱們一般而言不考慮雙向通信和ESCAPE信號處理,那么MIPI D-PHY物理層的主要工作就是采樣LP狀態信號和將高速串行數據恢復成按字節排序的并行數據,不管多少個Lane,方法都一個樣。這個工作被稱作解串,只需要用到IDELAY和ISERDES原語就行。MIPI標準默認是時鐘相對數據的相位是90°,DDR采樣方式,也就是說,時鐘的上升沿和下降沿剛好在數據的中間,因此在PCB Layout的時鐘,時鐘和數據最好是需要等長的,這樣保證到達時間是一樣的。IDELAY的作用是將PCB布線和內部路徑的延時找回來使之滿足最佳采樣要求,這在直接使用時鐘BUFER的時鐘拓撲設計中尤為重要,另外,因每次布局布線后都會存在一些路徑差異,最好是約束Fixed布線路徑。ISERDES的作用是串轉并,將數據轉為并行的,這里的串并比設為1:8就好,至于這倆源語怎么用,可以參照Xilinx的Select IO手冊或者參照我上一篇分享文章《Zynq高速串行CMOS接口設計與實現》。

恢復成字節數據的第二步就是找同步頭B8’H,這里千萬不要用Iserdes自帶的bitslip功能,因為同步字每一個HS幀就一個字節,而且每一個HS幀都要搜索同步字節。一次這里需要手擼一小段代碼自己來截取為最好。

3. CSI層的實現

CSI層主要就是將1lane,或多lane的數據按照協議規定解析出來并將圖像數據拼接輸出,有的可能會存在多個虛擬通道,需要注意一下。MIPI 一般會分為長短幀,長幀為數據幀,一幀一般就是一行數據;短幀為標志幀,用于指示幀行的開始結束,這個我們可以根據自己的Sensor實現一種就行了,沒有必要像標準那樣把所有的數據類型都囊括進來。

這里需要注意一下的是,MIPI DPHY和CPHY的長幀的幀頭排列方式不一樣,CPHY是固定的每個通道都有6個word的的幀頭信息。但是DPHY的幀頭信息排布和數據一樣,都是根據實際的通道數分散到各通道。

CSI層的工作時鐘可以使用FPGA內部的一個合適時鐘,不和MIPI的像素時鐘掛鉤,從CSI層出來的數據就是直接的一個一個的像素數據了。

針對特定的Sensor實現CSI層,整個MIPI的接收邏輯框圖如下圖4所示,整個接收邏輯所占用的Slice資源一般不會大于1K。

pIYBAGASVTOAJdqLAAC-WguofXY044.png

圖4 MIPI DPHY接收邏輯設計框圖
編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1662

    文章

    22480

    瀏覽量

    638506
  • 信號完整性
    +關注

    關注

    68

    文章

    1490

    瀏覽量

    98210
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于智多晶FPGA的DVP轉MIPI CSI-2視頻傳輸方案

    在嵌入式視覺系統中,DVP接口作為一種經典成熟的并行視頻接口,憑借其實現簡單、時序直觀的特點,至今仍被大量圖像傳感器(如OV5640)廣泛采用。但隨著移動設備和高清顯示的發展,MIPI
    的頭像 發表于 03-20 09:32 ?6051次閱讀
    基于智多晶<b class='flag-5'>FPGA</b>的DVP轉<b class='flag-5'>MIPI</b> CSI-2視頻傳輸方案

    RK3588攝像頭配置:搞懂CPhy與DPhy的區別,再也不踩坑!

    的 RK3588,同時支持 CPhy 和 DPhy 兩種主流 MIPI Phy 標準,適配從入門到高端的各類攝像頭需求。
    的頭像 發表于 02-03 15:57 ?3673次閱讀
    RK3588攝像頭配置:搞懂CPhy與<b class='flag-5'>DPhy</b>的區別,再也不踩坑!

    SNx5DPHY440SS MIPI? CSI - 2/DSI DPHY重定時器:設計與應用解析

    440ss.pdf 特性亮點 標準兼容性與速率支持 SNx5DPHY440SS符合MIPI? DPHY 1.1規范,能夠實現低成本電纜解決方案。在1.5Gbps速率下最多支持4條通道,
    的頭像 發表于 12-19 11:45 ?593次閱讀

    SNx5DPHY440SS:MIPI? CSI - 2/DSI DPHY重定時器的深度解析

    SNx5DPHY440SS:MIPI? CSI - 2/DSI DPHY重定時器的深度解析 在電子設備飛速發展的今天,高速數據傳輸的穩定性和可靠性愈發重要。MIPI? CSI - 2/
    的頭像 發表于 12-19 11:30 ?668次閱讀

    Xilinx FPGA串行通信協議介紹

    Xilinx FPGA因其高性能和低延遲,常用于串行通信接口設計。本文深入分析了Aurora、PCI Express和Serial RapidIO這三種在
    的頭像 發表于 11-14 15:02 ?2730次閱讀
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>串行通信協議介紹

    0.4 至 2.7 GHz LTE 分集接收模塊,帶 MIPI RFFE 接口 skyworksinc

    電子發燒友網為你提供()0.4 至 2.7 GHz LTE 分集接收模塊,帶 MIPI RFFE 接口相關產品參數、數據手冊,更有0.4 至 2.7 GHz LTE 分集接收模塊,帶 MIPI
    發表于 10-23 18:33
    0.4 至 2.7 GHz LTE 分集接收模塊,帶 <b class='flag-5'>MIPI</b> RFFE <b class='flag-5'>接口</b> skyworksinc

    如何在智多晶FPGA上使用MIPI接口

    大家好呀!今天我們來聊聊一個非常實用的話題——如何在智多晶FPGA上使用MIPI接口。不管是做攝像頭圖像采集還是屏幕顯示控制,MIPI都是非常常見的
    的頭像 發表于 09-11 09:37 ?1474次閱讀

    嵌入式接口通識知識之MIPI接口

    切換。易于實現:D-PHY的實現相對簡單,常用于智能手機、平板電腦和其他需要高速數據傳輸的移動設備中。典型應用:D-PHY廣泛應用于攝像頭傳感器(MIPI CSI-2)和顯示屏接口
    發表于 08-29 15:50

    0.4 至 2.7 GHz LTE 分集接收模塊,帶 MIPI? RFFE 接口 skyworksinc

    電子發燒友網為你提供()0.4 至 2.7 GHz LTE 分集接收模塊,帶 MIPI? RFFE 接口相關產品參數、數據手冊,更有0.4 至 2.7 GHz LTE 分集接收模塊,帶 MIPI
    發表于 07-01 18:34
    0.4 至 2.7 GHz LTE 分集接收模塊,帶 <b class='flag-5'>MIPI</b>? RFFE <b class='flag-5'>接口</b> skyworksinc

    正點原子AU15開發板資料發布!板載40G QSFP、PCIe3.0x8和FMC LPC等接口,性能強悍!

    正點原子AU15開發板資料發布!板載40G QSFP、PCIe3.0x8和FMC LPC等接口,性能強悍! 正點原子AU15開發板搭載Xilinx Artix UltraScale+ 系列FPGA
    發表于 05-30 17:04

    XILINX XCZU67DR FPGA完整原理圖

    電子發燒友網站提供《XILINX XCZU67DR FPGA完整原理圖.pdf》資料免費下載
    發表于 05-30 15:29 ?26次下載

    RK3588S和RK3588S2差異說明

    RK3588S2?較?RK3588S少了一組?MIPI D/C-PHY CSI_RX PORT0,新增一組?MIPI DPHY CSI_RX PORT1,同時接口位置除?
    的頭像 發表于 05-13 14:23 ?3120次閱讀
    RK3588S和RK3588S2差異說明

    基于RK3576開發板的MIPI-DSI使用

    MIPI DSI接口是由MIPI聯盟下的Display工作組指定的DSI(Display Serial Interface)的接口標準。rk3576開發板使用
    的頭像 發表于 05-06 16:11 ?1568次閱讀
    基于RK3576開發板的<b class='flag-5'>MIPI</b>-DSI使用

    基于高云Arora-V 60K FPGA實現MIPI CPHY轉MIPI DPHY透傳模塊

    近期,高云代理商聯詮國際聯合合作伙伴DepEye(深目微)共同推出 MIPI CPHY轉DPHY (C2D)透傳模塊:DEGC2DV60,功能基于高云GW5AT-LV60 FPGA實現
    發表于 04-22 17:51 ?918次閱讀
    基于高云Arora-V 60K <b class='flag-5'>FPGA</b><b class='flag-5'>實現</b>的<b class='flag-5'>MIPI</b> CPHY轉<b class='flag-5'>MIPI</b> <b class='flag-5'>DPHY</b>透傳模塊

    ZYNQ FPGA的PS端IIC設備接口使用

    zynq系列中的FPGA,都會自帶兩個iic設備,我們直接調用其接口函數即可運用。使用xilinx官方提供的庫函數,開發起來方便快捷。
    的頭像 發表于 04-17 11:26 ?2383次閱讀
    ZYNQ <b class='flag-5'>FPGA</b>的PS端IIC設備<b class='flag-5'>接口</b>使用