一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內(nèi)不再提示

基于Xilinx FPGA實現(xiàn)MIPI DPHY接口案例分析

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

掃碼添加小助手

加入工程師交流群

作者:Hello,Panda

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

一、 硬件上的考慮

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

1. 速率的考慮

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

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

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

2. 使用電阻網(wǎng)絡

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

o4YBAGASVOqAXvMyAAB3fCX7S7w633.png

圖1 電阻網(wǎng)絡結構圖

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

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

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

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

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

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

4. 超過1.6Gbps怎么辦

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

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

二、 軟件設計

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

1. 兩種時鐘拓撲的考量

這里面有種時鐘架構可供選擇,各有優(yōu)缺點,根據(jù)實際情況選擇之。

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

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

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

o4YBAGASVRKABryhAAD3bBNhqxs324.png

圖3 兩種時鐘拓撲結構

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

2. 物理層的接收

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

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

3. CSI層的實現(xiàn)

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

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

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

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

pIYBAGASVTOAJdqLAAC-WguofXY044.png

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

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

    關注

    1645

    文章

    22050

    瀏覽量

    618597
  • 信號完整性
    +關注

    關注

    68

    文章

    1445

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

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

    XILINX XCZU67DR FPGA完整原理圖

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

    RK3588S和RK3588S2差異說明

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

    基于RK3576開發(fā)板的MIPI-DSI使用

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

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

    近期,高云代理商聯(lián)詮國際聯(lián)合合作伙伴DepEye(深目微)共同推出 MIPI CPHY轉DPHY (C2D)透傳模塊:DEGC2DV60,功能基于高云GW5AT-LV60 FPGA實現(xiàn)
    發(fā)表于 04-22 17:51 ?343次閱讀
    基于高云Arora-V 60K <b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</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設備,我們直接調(diào)用其接口函數(shù)即可運用。使用xilinx官方提供的庫函數(shù),開發(fā)起來方便快捷。
    的頭像 發(fā)表于 04-17 11:26 ?1095次閱讀
    ZYNQ <b class='flag-5'>FPGA</b>的PS端IIC設備<b class='flag-5'>接口</b>使用

    高云Arora Ⅴ系列GW5AT-LV60 FPGA:晨熙?家族高性能新星

    ,GW5AT-LV60 FPGA集成了高云半導體自主研發(fā)的DDR3 MIPI C/DPHY、MIPI CPHY以及Serdes收發(fā)器等先進接口
    的頭像 發(fā)表于 02-19 15:33 ?862次閱讀

    MIPI2.5G DPHY CSI2DSI demo移植 -v1

    : ================================ MIPI 2.5G DPHY簡介 =============================== Ti180有4組MIPI
    的頭像 發(fā)表于 01-21 16:56 ?1240次閱讀
    <b class='flag-5'>MIPI</b>2.5G <b class='flag-5'>DPHY</b> CSI2DSI demo移植 -v1

    利用FPGA實現(xiàn)USB 2.0通信接口

    USB?2.0接口實現(xiàn)方式 利用FPGA實現(xiàn)USB 2.0接口的方式一般有兩種,一是借助外圍的USB
    的頭像 發(fā)表于 12-30 13:59 ?2898次閱讀
    利用<b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b>USB 2.0通信<b class='flag-5'>接口</b>

    采用Xilinx FPGA的AFE79xx SPI啟動指南

    電子發(fā)燒友網(wǎng)站提供《采用Xilinx FPGA的AFE79xx SPI啟動指南.pdf》資料免費下載
    發(fā)表于 11-15 15:28 ?0次下載
    采用<b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>的AFE79xx SPI啟動指南

    Xilinx 7系列FPGA PCIe Gen3的應用接口及特性

    Xilinx7系列FPGA集成了新一代PCI Express集成塊,支持8.0Gb/s數(shù)據(jù)速率的PCI Express 3.0。本文介紹了7系列FPGA PCIe Gen3的應用接口
    的頭像 發(fā)表于 11-05 15:45 ?3192次閱讀
    <b class='flag-5'>Xilinx</b> 7系列<b class='flag-5'>FPGA</b> PCIe Gen3的應用<b class='flag-5'>接口</b>及特性

    基于RK3588J的6路MIPI CSI視頻采集案例分享,多路視頻系統(tǒng)必看!

    視頻格式:RAW8、RAW10、RAW12、RAW14、YUV422。(2)包含4個MIPI CSI DPHY接口,支持MIPI DPHY
    發(fā)表于 08-22 11:51

    【技術分享專欄】MIPI接口與LVDS接口有何區(qū)別?

    啟明智顯Model3、Model4芯片支持RGB、LVDS、MIPI等多種屏幕接口,其中LVDS 和MIPI的物理接線是一樣的,都是5組差分對,但是傳輸?shù)膬?nèi)容是不一樣的,即軟件的報文格式不一樣。
    的頭像 發(fā)表于 07-30 10:59 ?3223次閱讀
    【技術分享專欄】<b class='flag-5'>MIPI</b><b class='flag-5'>接口</b>與LVDS<b class='flag-5'>接口</b>有何區(qū)別?

    如何通過RK3576配置MIPI-CSI攝像頭的不同輸出格式

    MIPI-CSI是一種在嵌入式系統(tǒng)或移動設備中常見的攝像頭接口,能夠實現(xiàn)高速的圖像數(shù)據(jù)傳輸。飛凌嵌入式最新推出的OK3576-C開發(fā)板擁有豐富的資源接口,其中支持5個CSI-2
    發(fā)表于 07-25 09:56