乒乓操作是一個主要用于數(shù)據(jù)流控制的處理技巧,典型的乒乓操作如圖3.19所示。
圖3.19 乒乓操作示意圖
外部輸入數(shù)據(jù)流通過“輸入數(shù)據(jù)選擇控制”模塊分時交替送入兩個數(shù)據(jù)緩存模塊中,數(shù)據(jù)緩存模塊通常是片內(nèi)存儲器,如雙口RAM或FIFO等。
在第1個時間周期,“輸入數(shù)據(jù)選擇控制”模塊將輸入的數(shù)據(jù)流緩存到“數(shù)據(jù)緩存1”模塊。在第2個時間周期,“輸入數(shù)據(jù)選擇控制”模塊做了切換,將輸入的數(shù)據(jù)流緩存到“數(shù)據(jù)緩沖2”模塊;與此同時,“輸出數(shù)據(jù)選擇控制”模塊將“數(shù)據(jù)緩存1”模塊在第1個時間周期緩存的數(shù)據(jù)流送到“數(shù)據(jù)后處理”模塊進(jìn)行后續(xù)的數(shù)據(jù)處理操作。在第3個時間周期,“輸入數(shù)據(jù)選擇控制”模塊切換回到“數(shù)據(jù)緩存1”模塊,將數(shù)據(jù)流送到“數(shù)據(jù)緩存1”模塊中;與此同時,“輸出數(shù)據(jù)選擇控制”模塊也作出切換,將“數(shù)據(jù)緩存2”模塊緩存的第2個時間周期的數(shù)據(jù)送到“數(shù)據(jù)后處理”模塊。如此不斷的交替切換。
這里利用了乒乓操作完成數(shù)據(jù)的無縫緩存與處理。乒乓操作可以通過“輸入數(shù)據(jù)選擇控制”和“輸出數(shù)據(jù)選擇控制”按節(jié)拍、相互配合的進(jìn)行來回切換,將經(jīng)過緩存的數(shù)據(jù)流不停頓地送到“數(shù)據(jù)后處理“模塊。
如圖3.20所示,在一個圖像采集和顯示應(yīng)用中,圖像傳感器實時采集30fps的視頻流,同時需要以每秒60Hz的幀率在液晶屏上顯示。這個應(yīng)用就可以使用乒乓緩存來解決圖像采集和顯示兩端的幀率不匹配導(dǎo)致的不同步問題。由于圖像分辨率較大,一般會選擇緩存到外部的DDR3存儲器芯片中,例如本實例會在DDR3存儲器開辟兩塊不同地址的內(nèi)存空間,分別作為乒乓緩存的2個不同緩存區(qū)。
圖3.20 圖像實時顯示
在這個例子中,為了保證液晶屏顯示驅(qū)動輸出的每一幀圖像都是從傳感器的同一個曝光時間內(nèi)采集到的同一幀圖像,除了需要有乒乓緩存,可能還需要有額外比較復(fù)雜的控制和判斷邏輯,用于更準(zhǔn)確的切換兩個緩存中的數(shù)據(jù)的輸入和輸出,這是題外話,這里不詳細(xì)展開介紹。
-
存儲器
+關(guān)注
關(guān)注
38文章
7492瀏覽量
163834 -
圖像傳感器
+關(guān)注
關(guān)注
68文章
1902瀏覽量
129551 -
數(shù)據(jù)緩存
+關(guān)注
關(guān)注
0文章
23瀏覽量
7064
原文標(biāo)題:經(jīng)典設(shè)計思想:乒乓操作
文章出處:【微信號:FPGA快樂學(xué)習(xí),微信公眾號:FPGA快樂學(xué)習(xí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論