同時(shí)對(duì)同步FIFO中的數(shù) 據(jù)計(jì)數(shù),該計(jì)數(shù)值與主控制器模塊1配置的視頻格式參數(shù)相比較生成指示信號(hào)通知訪問仲 裁單元; 2、 發(fā)送數(shù)據(jù)通道42,該模塊是接收數(shù)據(jù)通道41的鏡像模塊。其包括幾個(gè)邏輯塊,跨時(shí) 鐘域的異步FIFO;保存數(shù)據(jù)的同步FIFO和其相應(yīng)的FIFO中數(shù)據(jù)個(gè)數(shù)計(jì)數(shù)器,該計(jì)數(shù)器是 為了指示發(fā)送接收仲裁模塊數(shù)據(jù)保存FIFO中的數(shù)據(jù)量小于一個(gè)顯示線的數(shù)據(jù),需要啟動(dòng) 一次讀操作;以及作并串轉(zhuǎn)化的移位寄存器; 3、訪問總裁單元43,本發(fā)明的存儲(chǔ)器組是讀寫復(fù)用的,前面已經(jīng)提到了每次發(fā)送接收 的數(shù)量都是一個(gè)顯示線的數(shù)據(jù)。發(fā)送接收通道42中分別有一個(gè)做緩存的同步FIFO,每個(gè) FIFO中能夠保存的數(shù)據(jù)量是兩個(gè)顯示線的數(shù)據(jù)。當(dāng)接收數(shù)據(jù)通道41里的FIFO中的數(shù)據(jù)大 于一個(gè)顯示線的數(shù)據(jù)時(shí),請(qǐng)求做一次寫操作,同理當(dāng)發(fā)送數(shù)據(jù)通道42里的FIFO中的數(shù)據(jù)小 于一個(gè)顯示線的數(shù)據(jù)的時(shí)候,請(qǐng)求做一次讀操作。接收發(fā)送仲裁負(fù)責(zé)當(dāng)同時(shí)收到發(fā)送接收 操作指示的時(shí)候,仲裁具體做哪個(gè)操作。
[0028] 在本發(fā)明中訪問仲裁單元43采用一個(gè)有限狀態(tài)機(jī)實(shí)現(xiàn),各個(gè)狀態(tài)的定義如下: S0 :空閑狀態(tài),當(dāng)寫入數(shù)據(jù)還沒準(zhǔn)備好或讀出的數(shù)據(jù)還沒有被取走的情況下處于該狀 態(tài); S1:仲裁狀態(tài),在該狀態(tài)下完成仲裁操作,其優(yōu)先級(jí)為寫入優(yōu)先,這是因?yàn)閷懭氩荒芗?時(shí)處理會(huì)導(dǎo)致數(shù)據(jù)丟失,并且發(fā)送數(shù)據(jù)通道有數(shù)據(jù)預(yù)取機(jī)制,讀取延時(shí)是可接受的。在該狀 態(tài)下,如果收到接受數(shù)據(jù)通道數(shù)據(jù)緩存滿了一行指示信號(hào)就跳到S2狀態(tài),如果收到發(fā)送數(shù) 據(jù)通道數(shù)據(jù)緩存中數(shù)據(jù)量已經(jīng)小于一行了就跳到S3狀態(tài); S2 :寫數(shù)據(jù)狀態(tài),進(jìn)入該狀態(tài)之后,啟動(dòng)一次寫操作,會(huì)把保存在接收數(shù)據(jù)通道同步FIFO中的數(shù)據(jù)寫入到存儲(chǔ)器組中,寫操作完成之后跳到S4狀態(tài); S3:讀數(shù)據(jù)狀態(tài),進(jìn)入該狀態(tài)之后,啟動(dòng)一次讀操作,會(huì)從存儲(chǔ)器組中讀出一行的數(shù)據(jù) 保存在發(fā)送數(shù)據(jù)通道的數(shù)據(jù)保存FIFO中,讀操作完成之后跳到S4狀態(tài); S4 :等待狀態(tài),讀寫操作完成之后進(jìn)入該狀態(tài)等待20個(gè)周期,這是因?yàn)閺淖x命令被高 性能DDR控制器接收,到讀出有效數(shù)據(jù)會(huì)有17個(gè)周期的延時(shí),加上該狀態(tài)以確保操作完成。 等待時(shí)間結(jié)束之后跳到S0狀態(tài)執(zhí)行下一次的仲裁操作。
[0029] 五、數(shù)據(jù)處理模塊5,本模塊完成的功能包括:1)根據(jù)輸入VGA信號(hào)的偵測(cè)狀態(tài),確 定是否將數(shù)據(jù)通路的輸入置零;2)根據(jù)輸入的視頻格式選擇分辨率最大的一路作為背景分 辨率;3)以背景分辨率為基礎(chǔ),計(jì)算像素點(diǎn)的坐標(biāo);4)以各通道的混疊位置信息為基礎(chǔ),計(jì) 算當(dāng)前像素點(diǎn)對(duì)應(yīng)在原始輸入圖像上的坐標(biāo);5)確定當(dāng)前像素要使用的alpha混疊系數(shù)。
[0030] 該模塊處理過(guò)程包括以下步驟: 步驟1 :當(dāng)視頻預(yù)處理模塊2完成對(duì)輸入VGA信號(hào)的檢測(cè)以后,會(huì)通知主控制器模塊1。 主控制器模塊1據(jù)此完成對(duì)輸入檢測(cè)值的設(shè)定,并通過(guò)設(shè)置請(qǐng)求信號(hào)通知數(shù)據(jù)處理模塊5。 此時(shí)數(shù)據(jù)處理模塊5根據(jù)輸入檢測(cè)結(jié)果,進(jìn)入配置狀態(tài),并根據(jù)當(dāng)前通道檢測(cè)信號(hào)和通道 視頻格式的值刷新整個(gè)系統(tǒng); 步驟2 :當(dāng)發(fā)送接口引擎6告知數(shù)據(jù)處理模塊5開始工作以后,數(shù)據(jù)處理模塊5開始以 背景分辨率為參照計(jì)算當(dāng)前處理的像素坐標(biāo),并根據(jù)各通道的混疊位置信息確定三個(gè)的信 息:1)是否需要向各通道讀取數(shù)據(jù);2)要讀取的數(shù)據(jù)的坐標(biāo);3)當(dāng)前像素的alpha混疊系 數(shù); 步驟3 :數(shù)據(jù)處理模塊5負(fù)責(zé)將從前同步單元3和內(nèi)存控制器模塊4中讀出的前景和 背景數(shù)據(jù)混疊在一起; 步驟4 :對(duì)處理之后的數(shù)據(jù)附上地址信息傳給發(fā)送接口引擎6發(fā)送。
[0031] 具體來(lái)講,整個(gè)數(shù)據(jù)處理模塊5由一個(gè)狀態(tài)機(jī)控制,各個(gè)狀態(tài)的定義如下: 51 :空閑狀態(tài),在主控制器模塊1啟動(dòng)操作之前狀態(tài)機(jī)位于該狀態(tài); 52 :配置狀態(tài),在該狀態(tài)下,主控制器模塊1會(huì)通知數(shù)據(jù)處理模塊5當(dāng)前輸入檢測(cè)的結(jié) 果,包括是否存在輸入信號(hào),輸入信號(hào)的格式,數(shù)據(jù)處理模塊5會(huì)根據(jù)這些信息映射三個(gè)輸 入通道到三個(gè)處理通道,配置完成之后進(jìn)入S3 ; 53 :處理狀態(tài),在該狀態(tài)下,數(shù)據(jù)處理模塊5會(huì)負(fù)責(zé)處理對(duì)應(yīng)屏幕上的一條線的數(shù)據(jù), 處理完成之后進(jìn)入S4 ; 54 :處理等待狀態(tài),當(dāng)處理完成一行之后狀態(tài)機(jī)進(jìn)入該狀態(tài)等待前同步單元3和內(nèi)存 控制器模塊4數(shù)據(jù)準(zhǔn)備好,數(shù)據(jù)準(zhǔn)備好之后狀態(tài)機(jī)跳到S3。
[0032] 在數(shù)據(jù)處理模塊5中,最重要的是混疊模塊,其詳細(xì)結(jié)構(gòu)如圖4所示。圖中通道B (ChB)和通道C (ChC)的數(shù)據(jù)會(huì)做系數(shù)混疊,再將結(jié)果與通道A (ChA)輸入的數(shù)據(jù)做顏色嵌 位混疊。當(dāng)某一個(gè)通道沒有檢測(cè)到輸入的時(shí)候,需要在混疊模塊的輸入端將這一路的數(shù)據(jù) 置零?;殳B輸出端有一個(gè)移位寄存器用于補(bǔ)償數(shù)據(jù)處理過(guò)程中的增益,當(dāng)只有一路輸入信 號(hào)的時(shí)候,需要左移2位,當(dāng)有兩路輸入信號(hào)的時(shí)候,需要左移1位。當(dāng)有三路輸入信號(hào)的 時(shí)候,不需要移動(dòng)。
[0033] 圖中位置比特(Loc_Bits)標(biāo)明了圖像混疊的位置。對(duì)于ChA和ChB需要根據(jù)其混 疊位置信息和正在處理的像素位置信息產(chǎn)生對(duì)應(yīng)位置指示信息。Loc_Bits的生成方法如圖 5所示。其電路的處理方式為:在數(shù)據(jù)處理模塊中有列位置寄存器(C〇〇r_X)和行位置寄存 器(C〇〇r_Y)用以跟蹤處理位置;把這兩個(gè)寄存器與混疊位置范圍寄存器(Loc_A_X,Loc_ A_Y)進(jìn)行比較可以判斷出像素點(diǎn)是否位于混疊位置內(nèi)。對(duì)需要混疊的兩路信號(hào)都做同樣的 處理之后把結(jié)果組合就得到了位置比特。圖中用于選擇A通道數(shù)據(jù)的數(shù)據(jù)選擇模塊(Data Select)、用于選擇通道B混疊系數(shù)的Alpha系數(shù)選擇模塊B (Alpha Selector B)和用于 選擇通道C混疊系數(shù)的Alpha系數(shù)選擇模塊C (Alpha Selector C)使用該位置比特選擇 混疊處理的alpha系數(shù)和通道A的數(shù)據(jù)。
[0034] Loc_Bits的含義和選擇結(jié)果如下表所示:
使用如圖4所示的架構(gòu),整個(gè)數(shù)據(jù)處理單元使用了 48個(gè)9x9的乘法器,這些處理單元 組成三級(jí)流水的結(jié)構(gòu),在資源利用率和處理速度上做到了很好的平衡。
[0035] 六、發(fā)送接口引擎6,本模塊作用是根據(jù)配置的輸出參數(shù),生成相應(yīng)的像素點(diǎn)時(shí)鐘、 行同步和場(chǎng)同步信號(hào),與視頻數(shù)據(jù)一起送入外置DA芯片103進(jìn)行數(shù)模轉(zhuǎn)換之后形成標(biāo)準(zhǔn)的 VGA接口信號(hào)進(jìn)行顯示。其電路結(jié)構(gòu)如圖6所示,圖中最主要的是控制用于數(shù)據(jù)緩存的讀 寫操作,圖左邊兩個(gè)信號(hào)(dpu2sie_pos_x,dpu2sie_pos_y)來(lái)自于數(shù)據(jù)處理模塊5處理之 后的數(shù)據(jù)附帶的位置信息,組合這兩個(gè)位置生成寫地址,圖右邊兩個(gè)信號(hào)(C〇〇r_X,C〇〇r_Y) 為發(fā)送接口引擎6中的發(fā)送位置計(jì)數(shù)器,組合這兩個(gè)計(jì)數(shù)器的值生成讀地址,讀出的數(shù)據(jù) 經(jīng)過(guò)并串轉(zhuǎn)換模塊串行化之后輸出到DA芯片103。處理計(jì)數(shù)器根據(jù)配置的輸出格式產(chǎn)生行 同步和場(chǎng)同步信號(hào)。在發(fā)送接口引擎6中處理位置計(jì)數(shù)器包括處理列計(jì)數(shù)器和處理行計(jì)數(shù) 器,其計(jì)數(shù)的開始位置為場(chǎng)同步信號(hào)的下降沿,并且本發(fā)明輸出的行同步信號(hào)和場(chǎng)同步信 號(hào)都是低電平有效的: 1) if(處理列計(jì)數(shù)器〉行前肩and處理列計(jì)數(shù)器〈=行前肩+行消隱) 行同步信號(hào)=〇; else 行同步信號(hào)=1; 2) if(處理行計(jì)數(shù)器>0and處理行計(jì)數(shù)器〈=場(chǎng)消隱) 場(chǎng)同步信號(hào)=〇; else 場(chǎng)同步信號(hào)=1; 行同步信號(hào)和場(chǎng)同步信號(hào)的計(jì)算方式如1)、2)所示。
[0036] 七、高性能DDR控制器模塊7,本模塊完成實(shí)際的DDR讀寫訪問。其中: 1、 初始化模塊71,該模塊完成DDR的初始化操作。包括上電后的空命令、預(yù)充電、設(shè)置 擴(kuò)展模式寄存器、設(shè)置寄存器、預(yù)充電、兩個(gè)自刷新操作。并且當(dāng)正常操作過(guò)程中,如果出現(xiàn) DDR訪問不正確,主控制器模塊1可重啟該初始化過(guò)程; 2、 相位校準(zhǔn)模塊72,具體來(lái)講就是對(duì)每一種數(shù)據(jù)采樣相位用一組標(biāo)準(zhǔn)的測(cè)試向量對(duì) DDR進(jìn)行讀寫操作,把讀回來(lái)的數(shù)據(jù)與原始數(shù)據(jù)比較,其中校準(zhǔn)的精度可通過(guò)寄存器設(shè)置, 最小精度為5度。其中標(biāo)準(zhǔn)的測(cè)試向量包括:全0,全1,5A5A和A5A5四種數(shù)據(jù)。并且可同 通過(guò)主控制器模塊1設(shè)置是否在系統(tǒng)正常操作的空隙時(shí)