CPLD在DSP多分辨率圖像采集系統(tǒng)中的應(yīng)用
3.2 總線邏輯切換設(shè)計
在前面提到了CPLD和DSP之間的總線切換管理是設(shè)計中的難點(diǎn),在數(shù)據(jù)采集過程CPLD必須掌握總線控制權(quán),切換到數(shù)據(jù)處理過程DSP必須掌握總線控制權(quán)。為了解決這個無縫切換問題,這里充分利用DSP的保持請求信號nHOLD和保持響應(yīng)信號nHOLDA來協(xié)調(diào)總線切換[3]。
通過置DSP的XF引腳為低電平,告訴CPLD開始控制SAA7111A進(jìn)行圖像采集。在DSP_XF連接到CPLD為高電平(DSP_XF初始狀態(tài)應(yīng)該為低電平)時,CPLD產(chǎn)生DSP_ HOLD總線請求切換信號,該信號連接到DSP的nHOLD引腳請求DSP進(jìn)入保持狀態(tài),在3個機(jī)器周期后DSP做出響應(yīng):產(chǎn)生nHOLDA低電平信號到CPLD,而且外部數(shù)據(jù)總線、外部地址總線和控制總線都變成高阻態(tài)。此時DSP進(jìn)入保持狀態(tài),CPLD控制各總線操作;當(dāng)一幀圖像采集、存儲完成后CPLD產(chǎn)生nINT中斷信號通知DSP開始處理處理數(shù)據(jù),同時并置高DSP_ HOLD引腳使得DSP的nHOLD腳也置高,并通過對CPLD編程將CPLD與SRAM連接的各個外部數(shù)據(jù)總線、外部地址總線和控制總線都置成高阻態(tài),而在nHOLD置高3個機(jī)器周期后DSP外部數(shù)據(jù)總線、外部地址總線和控制總線都脫離高阻態(tài),DSP進(jìn)入正常工作狀態(tài),DSP置XF腳為高電平,收回總線控制權(quán)進(jìn)行數(shù)據(jù)處理;
當(dāng)DSP將處理后的一幀數(shù)據(jù)傳輸?shù)缴衔粰C(jī)完成后,再次置低XF腳告訴CPLD可以開始采集下一幀了,CPLD產(chǎn)生DSP_ HOLD使DSP進(jìn)入保持狀態(tài),外部數(shù)據(jù)總線、外部地址總線和控制總線又都變成高阻態(tài),CPLD掌握總線控制權(quán)。如此往復(fù)下去即可以解決DSP與圖像采集模塊的總線沖突問題,正確的切換總線邏輯保證了可以循環(huán)采集圖像進(jìn)行處理。
3.3 CPLD邏輯功能仿真驗證
通過利用CPLD控制視頻A/D芯片SAA7111A的圖像采集過程,并利用SAA7111A的輸出狀態(tài)信號來控制CPLD實現(xiàn)圖像數(shù)據(jù)儲存、時序控制、地址譯碼等功能。這樣很好地協(xié)調(diào)了行、場參考及同步信號、像素時鐘、SRAM讀寫信號和DSP控制信號之間的時序關(guān)系,保證了對SRAM讀寫操作時各信號的時序配合,很好的解決了行、場延時問題,使圖像分辨率從720×625過渡到640×480,并且正確生成SRAM寫地址,DSP中斷信號以及總線切換信號的產(chǎn)生。
由于篇幅有限,故沒有列出VHDL具體代碼,現(xiàn)只給出仿真結(jié)果。仿真結(jié)果如下所示:
圖4:循環(huán)采集處理仿真圖
上面的循環(huán)采集處理仿真圖就是實際系統(tǒng)工作時采集模塊中各個信號的時序邏輯關(guān)系。從仿真圖可以看出通過對CPLD的編程實現(xiàn)了多點(diǎn)的行、場延時,奇偶場分離存放,從而得到多分辨率的圖像數(shù)據(jù),以及DSP中斷產(chǎn)生、邏輯總線切換信號、下一幀的開始觸發(fā)信號、奇偶場對齊信號等都能滿足系統(tǒng)時序要求。采集一幀640×480的圖像約需22.75ms,可以滿足實時性的要求。
4 結(jié)論
本文設(shè)計了一種基于CPLD的多分辨率圖像采集系統(tǒng),本文作者創(chuàng)新點(diǎn):提出一種由CPLD控制圖像的行、場信號延時,奇偶數(shù)據(jù)分離存儲來得到不同分辨率圖像數(shù)據(jù)的方法,實現(xiàn)了不占用DSP資源的多分辨率圖像的實時采集。經(jīng)過大量仿真和電路板調(diào)試,證明該方案靈活有效,能夠在工業(yè)監(jiān)測、醫(yī)療診斷等圖像實時采集領(lǐng)域得到廣泛應(yīng)用。
評論