国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SOPC的實(shí)時(shí)圖像存儲(chǔ)系統(tǒng)的設(shè)計(jì)

2009-01-20 02:08聶孟慶
中國(guó)集成電路 2009年10期

聶孟慶 余 愚

摘要:基于目前實(shí)時(shí)圖像存儲(chǔ)的解決方案研究的現(xiàn)狀與發(fā)展趨勢(shì),本文研究了基于SOPC技術(shù)的實(shí)時(shí)圖像存儲(chǔ)設(shè)計(jì)方案。使用ALTERA公司的Nios II軟核處理器作為總控制器,采用CCD傳感器加ADV7181B視頻解碼芯片進(jìn)行實(shí)時(shí)圖像數(shù)據(jù)采集,SDRAM用來(lái)存放實(shí)時(shí)圖像數(shù)據(jù)與程序,VGA控制器控制實(shí)時(shí)圖像顯示。

關(guān)鍵詞:片上可編程系統(tǒng);實(shí)時(shí)圖像;視頻解碼;同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器

1引言

隨著高速圖像處理技術(shù)的應(yīng)用領(lǐng)域不斷擴(kuò)大,對(duì)圖像處理速度的要求也越來(lái)越高,當(dāng)前基于軟核處理器的圖像處理系統(tǒng)成為研究的熱點(diǎn)。微電子技術(shù)的迅猛發(fā)展為高速圖像處理系統(tǒng)提供了硬件基礎(chǔ),其中內(nèi)嵌軟核處理器的現(xiàn)場(chǎng)可編程門陣列 (FPGA)滿足了圖像處理系統(tǒng)中對(duì)速度、集成度、可靠性的要求。FPGA的應(yīng)用越來(lái)越廣泛,大容量高速度的FPGA以及SOPC技術(shù)的出現(xiàn),為圖像采集和處理提供了一種新的解決方案,使用FPGA來(lái)構(gòu)建基于片上可編程系統(tǒng)(SOPC)的圖像處理系統(tǒng),充分利用SOPC Builder中自帶的各種IP核控制器,減少底層硬件的開(kāi)發(fā)[1,2],已成為一種趨勢(shì)。

2系統(tǒng)基本架構(gòu)

圖1為基于SOPC的實(shí)時(shí)圖像處理系統(tǒng)的基本架構(gòu),視頻解碼芯片ADV7181B首先對(duì)CCD攝像頭

所采集的信號(hào)進(jìn)行A/D轉(zhuǎn)換,轉(zhuǎn)換為YUV空間格式數(shù)據(jù),然后再將YUV空間轉(zhuǎn)換到RGB空間;FPGA通過(guò)I?C配置模塊核對(duì)視頻解碼芯片ADV7181B進(jìn)行參數(shù)配置, ADV7181B的時(shí)鐘信號(hào)由一片27MHz的晶振提供,產(chǎn)生內(nèi)部所需的27MHz的LLC(行鎖定系統(tǒng)時(shí)鐘)信號(hào)。通常使用二分頻信號(hào)LLC2(13.5MHz)來(lái)同步整個(gè)圖像采集系統(tǒng),輸出8位標(biāo)準(zhǔn)的ITU656 YUV4:2:2格式的數(shù)據(jù);A/D轉(zhuǎn)換后的數(shù)據(jù)通過(guò)SDRAM控制器存儲(chǔ)到SDRAM中;VGA顯示模塊是用來(lái)將SDRAM中的視頻數(shù)據(jù)通過(guò)VGA顯示器實(shí)時(shí)顯示出來(lái)。

3 視頻解碼芯片的I2C總線配置

為了控制總線上的設(shè)備,必須要遵守一個(gè)特定的協(xié)議(I2C總線協(xié)議)。I2C總線為同步傳輸總線,總線信號(hào)完全與時(shí)鐘同步。I2C總線上與數(shù)據(jù)傳輸有關(guān)的信號(hào)有起始信號(hào)S、終止信號(hào)P、應(yīng)答信號(hào)以及位傳輸信號(hào)。首先,I2C總線控制器發(fā)起一個(gè)數(shù)據(jù)傳輸?shù)钠鹗紬l件是:SCLK信號(hào)保持高電平,而SDA信號(hào)由高電平變?yōu)榈碗娖?。這意味著一個(gè)地址或者數(shù)據(jù)流傳輸已經(jīng)開(kāi)始。外圍設(shè)備都監(jiān)視著SCLK和SDA信號(hào)并等待著起始條件及正確的地址。起始條件滿足后,就會(huì)送出一個(gè)8位的設(shè)備地址,所有的外圍設(shè)備開(kāi)始相應(yīng)起始條件并轉(zhuǎn)換下一個(gè)8位寄存器地址(7位地址+1位讀寫(xiě)位)。在發(fā)送時(shí)由高位到低位依次傳輸。外圍設(shè)備識(shí)別出傳輸?shù)刂泛笞鞒龇磻?yīng),在第九個(gè)時(shí)鐘脈沖把數(shù)據(jù)線變?yōu)榈碗娖?這被視為一個(gè)確認(rèn)位。此時(shí)其他所有設(shè)備退出總線并使總線保持閑置狀態(tài),設(shè)備監(jiān)視SCLK和SDA,等待起始條件并等待爭(zhēng)取的傳輸?shù)刂返臅r(shí)刻即為閑置狀態(tài)。接下來(lái)開(kāi)始將8位數(shù)據(jù)寫(xiě)入或者讀出寄存器,讀寫(xiě)位決定了數(shù)據(jù)的傳輸方向。當(dāng)時(shí)鐘線SCLK為高電平,而數(shù)據(jù)線SDA由低電平變?yōu)楦唠娖綍r(shí),表示一次數(shù)據(jù)傳輸完成,停止I2C總線,等待下一次的傳輸開(kāi)始。圖2為I2C總線的數(shù)據(jù)傳輸時(shí)序圖[4]。

ADV7181B內(nèi)部共有240個(gè)控制寄存器,可通過(guò)配置這些控制寄存器來(lái)設(shè)定和實(shí)現(xiàn)ADV7181B的各種功能。由于ADV7181B輸出8位ITU656 YUV4:2:2格式的數(shù)字視頻信號(hào),在此要求下,只要對(duì)ADV7181B的40個(gè)寄存器的內(nèi)容進(jìn)行配置即可,這40個(gè)寄存器的地址和配置數(shù)據(jù)如表1所示。

配置數(shù)據(jù)存儲(chǔ)在查找表LUT_DATA中,LUT-DATA為16位,包括了ADV7181B的寄存器地址和寄存器數(shù)據(jù),配置時(shí)逐個(gè)寫(xiě)入寄存器的值,寄存器索引代碼為L(zhǎng)TU_INDEX。每個(gè)寄存器配置分三步,使用mSetup-ST來(lái)表示當(dāng)前進(jìn)行到哪一步。第一步準(zhǔn)備數(shù)據(jù),將8位從設(shè)備地址與存儲(chǔ)在LTU_DATA中的寄存器地址合并為24位數(shù)據(jù),并將mI2C_GO設(shè)置為1,啟動(dòng)I2C傳輸;第二步檢測(cè)傳輸結(jié)束信號(hào),如果檢測(cè)到傳輸結(jié)束(此時(shí)mI2C_END=1),但ACK信號(hào)不正常,重新發(fā)送數(shù)據(jù);如果檢測(cè)到傳輸結(jié)束且ACK信號(hào)正常,則進(jìn)入第三步,將寄存器索引加1,準(zhǔn)備下一次數(shù)據(jù)的傳輸。

在SOPC Builder自帶的IP核庫(kù)中并沒(méi)有I?C配置模塊IP核,此模塊是根據(jù)ADV7181B芯片的寄存器特點(diǎn)以及功能要求自行設(shè)計(jì),并以IP核的形式通過(guò)Avalon總線鏈接到SOPC系統(tǒng)上。

4視頻解碼

CCD攝像頭采集到的數(shù)據(jù)經(jīng)過(guò)視頻解碼芯片進(jìn)行A/D轉(zhuǎn)換后,輸出8位YUV 4:2:2格式視頻數(shù)據(jù)流,然后經(jīng)過(guò)視頻解碼模塊將其轉(zhuǎn)換為ITU656標(biāo)準(zhǔn)的視頻數(shù)據(jù)流,這些信號(hào)包括8位的視頻圖像數(shù)據(jù),行同步信號(hào),場(chǎng)同步信號(hào)以及行參考信號(hào)。PAL制式下,每秒掃描25幀,每幀包含奇偶兩場(chǎng)圖像。每幀圖像含有625行數(shù)據(jù),其中有效圖像數(shù)據(jù)576行,奇偶場(chǎng)各288行,23~311行是偶場(chǎng)視頻數(shù)據(jù),336~624行是奇場(chǎng)視頻數(shù)據(jù),每行圖像數(shù)據(jù)包含720個(gè)像素,故標(biāo)準(zhǔn)的數(shù)字化PAL制式電視標(biāo)準(zhǔn)分辨率為720*576。在27MHz時(shí)鐘頻率下,意味著每秒27MB的數(shù)據(jù)速率:(13.5*8+6.75*8*2)Mbit/s=27MB/s=625*25*1728,即每行有1728字節(jié)的數(shù)據(jù),其傳輸順序?yàn)?CbYCrYCbYCrY………,需要指出的是CbYCr指的是對(duì)同一個(gè)地址進(jìn)行的亮度和色差采樣,接下來(lái)的Y對(duì)應(yīng)下一個(gè)亮度采樣。

圖3為ITU656標(biāo)準(zhǔn)的每行數(shù)據(jù)結(jié)構(gòu),每行數(shù)據(jù)包含水平控制信號(hào)和YCbCr視頻數(shù)據(jù)信號(hào)。每行開(kāi)始的288字節(jié)為行控制信號(hào),開(kāi)始的4字節(jié)為EAV信號(hào)(有效視頻結(jié)束),緊接著是280個(gè)固定填充數(shù)據(jù),最后是4字節(jié)的SAV (有效視頻起始) 信號(hào)。SAV和EAV信號(hào)有3字節(jié)的前導(dǎo):FF、FF、00;最后1字節(jié)XY表示該行位于整個(gè)數(shù)據(jù)幀的位置及如何判定SAV、EAV[5]。由SDRAM的工作特性可知,只在每個(gè)時(shí)鐘周期的上升沿讀取視頻解碼芯片傳過(guò)來(lái)的視頻數(shù)據(jù)。當(dāng)偵測(cè)到連續(xù)三個(gè)字節(jié)為FF0000時(shí),可知SAV或EAV的到來(lái),接著判斷第四個(gè)字節(jié)的第四位,如果為0即表示有效數(shù)據(jù)的開(kāi)始,此時(shí)啟動(dòng)行列計(jì)數(shù)器,開(kāi)始對(duì)接下來(lái)的圖像數(shù)據(jù)進(jìn)行解碼,然后根據(jù)每個(gè)8位數(shù)據(jù)自身的信息,得到Y(jié)、Cb和Cr分量的值。

5SDRAM存儲(chǔ)器設(shè)計(jì)

因?yàn)閷?shí)時(shí)圖像處理系統(tǒng)要進(jìn)行大批量的高速圖像數(shù)據(jù)采集,對(duì)數(shù)據(jù)的速度要求比較高,而且數(shù)據(jù)量比較大,在此采用ICSI公司的數(shù)據(jù)寬度為8位、存儲(chǔ)容量為32MB的 IS42S83200B SDRAM來(lái)存儲(chǔ)數(shù)據(jù),它與FPGA的連接關(guān)系如圖4所示[1]。

經(jīng)過(guò)視頻解碼后輸出8位的ITU656 YUV4:2:2格式的視頻數(shù)據(jù),由于SDRAM位寬同樣為8位,因此可以將亮度信號(hào)Y和色差信號(hào)Cb與Cr分別單獨(dú)存儲(chǔ)到一個(gè)地址空間中,相當(dāng)于一個(gè)采樣周期產(chǎn)生一個(gè)SDRAM地址。另外,由于VGA的顯示分辨率為640*480,則必須要提取出適合VGA的分辨率的圖像。從PAL制式有效分辨率中提取出640*576有效分辨率圖像數(shù)據(jù)存儲(chǔ)到SDRAM地址空間中,然后從中讀取480行送給VGA控制器即可。

5.1 SDRAM控制器的設(shè)計(jì)

SDRAM是同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器,同步是指與系統(tǒng)時(shí)鐘同步,從而避免了不必要的等待周期,減少數(shù)據(jù)存儲(chǔ)的延遲時(shí)間。動(dòng)態(tài)是指為了提高存儲(chǔ)容量,SDRAM芯片采用硅片電容存儲(chǔ)信息,但是必須要不斷地給電容充電才能保持?jǐn)?shù)據(jù)信息不丟失。SDRAM的主要信號(hào)有控制信號(hào)(CS片選信號(hào),CKE時(shí)鐘使能信號(hào),DQM輸入輸出使能信號(hào),CAS、RAS、WE讀寫(xiě)控制命令字),地址信號(hào)(BA0和BA1頁(yè)地址選擇信號(hào),A0~A12地址信號(hào),行列地址選擇信號(hào)),數(shù)據(jù)信號(hào)(DQ0~DQ15雙向數(shù)據(jù))。這些信號(hào)均為系統(tǒng)時(shí)鐘同步輸入、輸出信號(hào)。上電后,SDRAM控制器必須對(duì)SDRAM進(jìn)行初始化操作,然后SDRAM進(jìn)入正常工作狀態(tài),等待控制器進(jìn)一步的讀寫(xiě)和刷新操作指令。SDRAM的所有的操作都是在指令的引導(dǎo)下進(jìn)行的,基本命令如表2所示。

具有Avalon接口的SDRAM控制器IP核包含在SOPC Builder中,它為片外SDRAM提供一個(gè)Avalon從接口,可以比較方便的在FPGA中定制一個(gè)與SDRAM芯片連接的系統(tǒng)。SDRAM控制器IP核可以根據(jù)實(shí)際使用的SDRAM芯片進(jìn)行相應(yīng)的配置[3]。

5.2隔行掃描轉(zhuǎn)換為逐行掃描

由于PAL制電視信號(hào)是隔行掃描, 將一幀圖像分為奇數(shù)場(chǎng)和偶數(shù)場(chǎng)分別掃描,數(shù)字化以后格式仍然不變,而VGA采用的是逐行掃描方式。因此,在將數(shù)據(jù)存儲(chǔ)到SDRAM以前,還需要將奇數(shù)場(chǎng)和偶數(shù)場(chǎng)的數(shù)據(jù)再還原成一幅完整的圖像,將隔行掃描變?yōu)橹鹦袙呙?。具體實(shí)現(xiàn)過(guò)程為:設(shè)計(jì)一個(gè)行計(jì)數(shù)器,在進(jìn)行奇數(shù)場(chǎng)數(shù)據(jù)采集時(shí),從0開(kāi)始計(jì)數(shù),每次加2,計(jì)數(shù)值依次為0,2,4,…,572,574;當(dāng)進(jìn)行偶數(shù)場(chǎng)數(shù)據(jù)采集時(shí),從1開(kāi)始計(jì)數(shù),每次加2,計(jì)數(shù)值依次為1,3,5,…,573,575,該計(jì)數(shù)器實(shí)際上就相當(dāng)于SDRAM地址發(fā)生器。當(dāng)VGA控制器從SDRAM中讀取數(shù)據(jù)時(shí),只需按順序讀取地址讀取出所需的480行即可,這樣讀取出來(lái)的數(shù)據(jù)就是一幀完整的適合VGA顯示的圖像。

6VGA顯示

VGA控制器IP核集成在SOPC Builder中,可以根據(jù)系統(tǒng)具體情況進(jìn)行定制。VGA控制器發(fā)出讀有效信號(hào)到SDRAM中,SDRAM將視頻數(shù)據(jù)傳給MUX,通過(guò)轉(zhuǎn)換模塊將YUV4:2:2格式的視頻數(shù)據(jù)流轉(zhuǎn)換為YUV4:4:4格式的視頻數(shù)據(jù),使得每個(gè)像素都包含完整的亮度分量Y、色度分量Cb和Cr,然后將YUV4:4:4格式的視頻數(shù)據(jù)通過(guò)YCbCr-RGB模塊由 YUV空間轉(zhuǎn)換到RGB空間,再將RGB空間數(shù)據(jù)傳送給VGA控制器,VGA控制器同時(shí)產(chǎn)生VGA的行場(chǎng)同步信號(hào)VGA_HS和VGA_VS會(huì)同24位RGB數(shù)據(jù)一起傳送到視頻編碼芯片VGA DAC7123中,最后通過(guò)顯示器將圖像實(shí)時(shí)顯示出來(lái)[6]。

7結(jié)束語(yǔ)

本文重點(diǎn)介紹了基于SOPC技術(shù)實(shí)時(shí)圖像的數(shù)據(jù)存儲(chǔ)。系統(tǒng)各模塊主要使用了SOPC Builder自帶的IP核進(jìn)行定制,由于IP核具有非常靈活的可定制特性和可移植特性,使得工作重心轉(zhuǎn)移到系統(tǒng)設(shè)計(jì)方面,而不再是各模塊編寫(xiě)方面,改變了傳統(tǒng)的設(shè)計(jì)思路。本系統(tǒng)的實(shí)現(xiàn)是基于DE2-70多媒體開(kāi)發(fā)實(shí)驗(yàn)板,經(jīng)過(guò)驗(yàn)證,該方案充分保證了各模塊之間的協(xié)調(diào)性與并行性,較好的實(shí)現(xiàn)了實(shí)時(shí)圖像數(shù)據(jù)處理所要求的實(shí)時(shí)性、高速性,另外也充分體現(xiàn)了SOPC系統(tǒng)的高集成度、低功耗以及靈活高效的特點(diǎn)。在本系統(tǒng)基礎(chǔ)上,可以進(jìn)一步展開(kāi)模式識(shí)別、運(yùn)動(dòng)目標(biāo)檢測(cè)以及視頻圖像壓縮等方面的研究。

參考文獻(xiàn)

[1] 李蘭英等.Nios II嵌入式軟核SOPC設(shè)計(jì)原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2006.

[2] 侯建軍,郭勇.SOPC技術(shù)基礎(chǔ)教程[M].北京:清華大學(xué)出版社,北京交通大學(xué)出版社,2008.

[3] 王誠(chéng),吳繼華等.Altera FPGA/CPLD設(shè)計(jì)(基礎(chǔ)篇&高級(jí)篇)[M].北京:人民郵電出版社,2005.

[4] Multiformat SDTV Video Decoder ADV7181B datasheet[Z].Analog Devices Ltd,2004.

[5] 祝長(zhǎng)峰,肖鐵軍. 基于FPGA的視頻圖像采集系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(17):4404~4407.

[6]DE2-70 User Manual Version 1.01[Z]. Terasic Technologies Ltd,2007.

作者簡(jiǎn)介

聶孟慶,碩士研究生,主要研究方向?yàn)橛?jì)算機(jī)視覺(jué)與模式識(shí)別;

余愚,教授,主要研究方向計(jì)算機(jī)視覺(jué)與智能控制。

东丽区| 汉寿县| 汽车| 林西县| 安泽县| 关岭| 图木舒克市| 温泉县| 兴业县| 贡山| 准格尔旗| 苍溪县| 台前县| 蓝田县| 黑龙江省| 德江县| 达孜县| 隆林| 分宜县| 武夷山市| 清远市| 镇雄县| 霞浦县| 石台县| 章丘市| 海宁市| 长春市| 蒙自县| 齐河县| 西丰县| 金秀| 微山县| 台湾省| 周口市| 东阳市| 同心县| 当涂县| 理塘县| 吴桥县| 宜兰县| 荥经县|