|
CMOS攝像頭接口時序設計2實際分析(特權同學版權所有) 本文節選自特權同學的圖書《FPGA設計實戰演練(邏輯篇)》(特權同學版權所有) 配套例程下載鏈接:http://pan.baidu.com/s/1pJ5bCtt 好,分析完理想的pin2reg模型,下面我們看看要復雜得多的實際情況。(特權同學,版權所有) 先看看CMOS Sensor的datasheet中提供的時序波形和相應的建立、保持時間要求。如圖8.46所示。(特權同學,版權所有)
圖8.46 CMOS Sensor時序波形 波形中出現的時間參數定義如表8.2所示。(特權同學,版權所有) 表8.2 CMOS Sensor時序參數定義
我們可以簡單分析下這個datasheet中提供的時序波形和參數提供了一些什么樣的有用信息。我們重點關注PCLK和D[7:0]的關系,HREF其實也可以歸類到D[7:0]中一起分析,他們的時序關系基本是一致的(如果存在偏差,也可以忽略不計)。這個波形實際上表達的是從Sensor的芯片封裝引腳上輸出的PCLK和D[7:0]的關系,如圖8.47所示。而在理想狀況下,經過PCB走線將這組信號連接到其他的芯片上(如CPU或FPGA),若盡可能保持走線長度,在其他芯片的引腳上,PCLK和D[7:0]的關系基本還是不變的。那么,對于采集端來說,用PCLK的上升沿去鎖存D[7:0]就變得理所當然了。而對于FPGA而言,從它的引腳到寄存器傳輸路徑上總歸是有延時存在的,那么PCLK和D[7:0]之間肯定不會是理想的對齊關系。而我們現在關心的是,相對于理想的對齊關系,PCLK和D[7:0]之間可以存在多大的相位偏差(最終可能會以一個延時時間范圍來表示)。在時序圖中,Tsu和Th雖然是PCLK和D[7:0]在Sensor內部必須保證的建立時間和保持時間關系,但它同樣是在Sensor的輸出引腳上,必須得到保證的基本時序關系。因此,我們可以認為:理想相位關系情況下,PCLK上升沿之前的Tsu時間(即15ns)到上升沿后的Th時間(即8ns)內,D[7:0]是穩定不變的。同樣的,理想情況下,PCLK的上升沿處于D[7:0]兩次數據變化的中央。換句話說,在D[7:0]保持當前狀態的情況下,PCLK上升沿實際上在理想位置的Tsu時間和Th時間內都是允許的。請大家記住這一點,下面我們需要利用這個信息對在FPGA內部的PCLK和D[7:0]信號進行時序約束。(特權同學,版權所有)
圖8.47 CMOS Sensor輸出信號模型 明確了PCLK和D[7:0]之間應該保持的關系后,我們再來看看他們從CMOS Sensor的引腳輸出后,到最終在FPGA內部的寄存器被采樣鎖存,這整個路徑上的各種“艱難險阻”(延時)。如圖8.48所示,這是外部CMOS Sensor和FPGA接口的寄存器路徑模型。在這個路徑分析中,我們不去考慮CMOS Sensor內部的時序關系,我們只關心它的輸出引腳上的信號。先看時鐘PCLK的路徑延時,在PCB上的走線延時為Tcpcb,在FPGA內部,從進入FPGA的引腳到寄存器的時鐘輸入端口的延時為Tcl。再看數據D[7:0]的延時,在PCB上的走線延時為Tdpcb,在FPGA內部的引腳到寄存器輸入端口延時為Tp2r。而FPGA的寄存器同樣有建立時間Tsu和保持時間Th要求,也必須在整個路徑的傳輸時序中予以考慮。(特權同學,版權所有)
圖8.48 CMOS Sensor和FPGA連接的寄存器模型 另外,從前面的分析,我們得到了PCLK和D[7:0]之間應該滿足的關系。那么,為了保證PCLK和D[7:0]穩定的進行傳輸,我們可以得到這樣一個基本的關系必須滿足: 對于建立時間,有: Launch edge + Tdpcb + Tp2r + Tsu 對于保持時間,有: (Launch edge + Tdpcb + Tr2p) -(latch edge + Tcpcb + Tcl) > Th 關于launch edge和latch edge,對于我們當前的設計,如圖8.49所示。(特權同學,版權所有)
圖8.49 pin2reg的launch edge和latch edge關系 |