基于DSP和FPGA的實(shí)時(shí)圖像壓縮系統(tǒng)設(shè)計(jì)
乒乓控制模塊按照功能還分為:S0、S1、S2、S3 4個(gè)轉(zhuǎn)換狀態(tài)。其中,狀態(tài)S0為初始化狀態(tài)(所有信號(hào)都處于初始化狀態(tài)),系統(tǒng)加電或者復(fù)位后進(jìn)入此狀態(tài);在S1狀態(tài),主要負(fù)責(zé)對(duì)SRAM0的寫入,不可以對(duì)SRAM1進(jìn)行讀操作;在S2狀態(tài),主要負(fù)責(zé)對(duì)SRAM1進(jìn)行寫操作,對(duì)SRAM0進(jìn)行讀操作,當(dāng)SRAM1寫完后,如果SRAM0未讀完,則繼續(xù)處于狀態(tài)S2,如果SRAM0讀完,則進(jìn)入狀態(tài)S3;在S3狀態(tài),主要負(fù)責(zé)對(duì)SRAM0進(jìn)行寫操作,對(duì)SRAM1進(jìn)行讀操作,當(dāng)SRAM0寫完后,如果SRAM1未讀完,則繼續(xù)處于狀態(tài)S3,如果SRAM1讀完,則進(jìn)入狀態(tài)S2。乒乓控制模塊狀態(tài)轉(zhuǎn)換圖如圖3所示。本文引用地址:http://www.ex-cimer.com/article/191641.htm
SRAM乒乓電路如圖4所示。圖中,wr_data為Camera Link接口接收到的只包含灰度信號(hào)的圖像數(shù)據(jù)。為了方便圖像數(shù)據(jù)的管理,每個(gè)像素、每行的像素都對(duì)應(yīng)到了SRAM的固定地址,所以wr_addr為該像素在SRAM中的地址,同時(shí)也可以表示該像素在一幅圖像中的位置。CHANNEL_SEL為讀SRAM的標(biāo)志位,0代表SRAM0,1代表SRAM1。
2.3 FIFO緩存模塊和RS422傳輸模塊
由于DSP向RS422模塊傳輸數(shù)據(jù)并不是勻速傳輸,而且傳輸速度比RS422的傳輸速度快很多倍,所以必須采用FIFO模塊。
3 DSP程序設(shè)計(jì)
TI公司的TMS320DM642芯片是一款高性能視頻處理器,其主頻可以高達(dá)600 MHz,數(shù)字處理能力可以達(dá)到4 800 MI/ps[3]。
DSP工作流程圖如圖5所示,DSP在相關(guān)外設(shè)與EDMA相關(guān)寄存器初始化完成后,才開始響應(yīng)中斷事件觸發(fā)EDMA傳輸,在本系統(tǒng)中由EXITUINT4中斷上升沿觸發(fā)EDMA進(jìn)行傳輸。在接收到FPGA發(fā)送的中斷信號(hào)后,開始進(jìn)行EDMA傳輸,整個(gè)EDMA傳輸?shù)倪^程需要10 ms左右,傳輸完成后觸發(fā)EDMA中斷,在中斷服務(wù)函數(shù)中觸發(fā)1個(gè)軟中斷,在軟中斷服務(wù)函數(shù)中進(jìn)行圖像數(shù)據(jù)的壓縮。
3.1 EDMA乒乓程序設(shè)計(jì)
在整個(gè)DSP的工作流程中,要實(shí)現(xiàn)圖像數(shù)據(jù)采集、壓縮、傳輸同時(shí)進(jìn)行,則在DSP程序中需要1個(gè)雙緩沖buffer,在向buf1中采集圖像信號(hào)的時(shí)候,DSP可以對(duì)buf2中的數(shù)據(jù)進(jìn)行壓縮,而在對(duì)buf2中進(jìn)行采集的時(shí)候,DSP可以對(duì)buf1中的數(shù)據(jù)進(jìn)行壓縮。
評(píng)論