當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化

工業(yè)現(xiàn)場(chǎng)因?yàn)榄h(huán)境復(fù)雜,實(shí)時(shí)性要求高,常常需要對(duì)一處或多處重要位置同時(shí)進(jìn)行監(jiān)控,且能夠在需要時(shí)切換其中一幅畫面全屏顯示。這就要求設(shè)計(jì)一種實(shí)時(shí)視頻監(jiān)控系統(tǒng),既能夠滿足工業(yè)現(xiàn)場(chǎng)應(yīng)用的特殊環(huán)境,具有體積小、功耗低、可定制的特點(diǎn),又能夠?qū)Χ帱c(diǎn)進(jìn)行同時(shí)采集和同屏顯示以及對(duì)其中的一路進(jìn)行切換。

  國(guó)內(nèi)現(xiàn)有的視頻監(jiān)控方案一般是采用CCD攝像頭+視頻解碼芯片(如SAA7113H/ADV7181B)+FPGA/CPLD+DSP的模式實(shí)現(xiàn),其中視頻解碼芯片用來對(duì)CCD攝像頭采集的模擬信號(hào)進(jìn)行AD轉(zhuǎn)換,F(xiàn)PGA/CPLD對(duì)數(shù)據(jù)采集進(jìn)行控制,DSP最終對(duì)數(shù)據(jù)進(jìn)行處理。這種方法開發(fā)周期長(zhǎng),成本高,且可更改性差。

  本文介紹的系統(tǒng)主要由兩片Altera公司的CycloneⅡ系列的EP2C8Q20818和飛利浦公司的視頻解碼芯片SAA7113H以及外存儲(chǔ)器件SRAM等組成。兩片F(xiàn)PGA分別完成前端圖像的采集和后端數(shù)據(jù)的處理,視頻解碼芯片完成模擬信號(hào)向數(shù)據(jù)信號(hào)的轉(zhuǎn)換,存儲(chǔ)器件在FPGA的控制下起到數(shù)據(jù)緩存作用。

  1 系統(tǒng)描述

  系統(tǒng)主要分為采集模塊、解碼模塊、數(shù)據(jù)格式轉(zhuǎn)換模塊、存儲(chǔ)模塊、UART模塊和LCD/VGA顯示模塊,如下圖1所示。四片視頻解碼芯片在FPGA1的控制下通過I2C總線完成配置和初始化過程,輸出8位與CCIR656兼容的YCrCb 4:2:2格式的視頻數(shù)據(jù),同時(shí)還包括行同步HS、場(chǎng)同步VS和奇偶場(chǎng)RTS0等信號(hào)。由于顯示終端支持的是標(biāo)準(zhǔn)的RGB格式的數(shù)據(jù),所以要對(duì)視頻解碼芯片輸出的YCrCb 4:2:2格式數(shù)據(jù)進(jìn)行轉(zhuǎn)換。經(jīng)轉(zhuǎn)換所得的RGB數(shù)據(jù)在FPGA2的控制下,配合相應(yīng)的時(shí)序信號(hào),截取要顯示的有效的640x480個(gè)像素,乒乓存入兩個(gè)SRAM中,并最終在:LCD /VGA顯示模塊的控制下將數(shù)據(jù)顯示在屏幕上。UART通訊模塊集成在FPGA里,通過PC機(jī)的串口發(fā)送相應(yīng)的控制命令,F(xiàn)PGA接收后切換相應(yīng)通道的畫面。

圖1 系統(tǒng)結(jié)構(gòu)圖

  2 系統(tǒng)軟件結(jié)構(gòu)

  系統(tǒng)軟件主要由采集模塊、解碼模塊、存儲(chǔ)模塊、顯示模塊和UART模塊組成,軟件結(jié)構(gòu)如圖2所示。

圖2 軟件結(jié)構(gòu)圖

  3 ITU656解碼

  ITU656解碼模塊根據(jù)ITU656標(biāo)準(zhǔn)將4:2:2的數(shù)據(jù)流解碼成ITU656標(biāo)準(zhǔn)視頻流。ITU656并行接口除了傳輸4:2:2的YCbCr視頻流外,還有行、場(chǎng)同步所用的控制信號(hào)。PAL制式的圖像一幀有625行,每秒掃描25幀;每行數(shù)據(jù)由1128字節(jié)的數(shù)據(jù)塊組成。其中,PAL制式23~311行是偶數(shù)場(chǎng)視頻數(shù)據(jù),312~552行是奇數(shù)場(chǎng)視頻數(shù)據(jù),其余為垂直控制信號(hào)。

  圖3為ITU656每行的數(shù)據(jù)結(jié)構(gòu)。每行數(shù)據(jù)包含水平控制信號(hào)和YCbCr視頻數(shù)據(jù)信號(hào)。視頻數(shù)據(jù)字是以27兆字/秒的速率傳送的,其順序是:Cb,Y,Cr,Y,Cb,Y,Cr,…其中,Cb,Y.Cr這3個(gè)字指的是同址的亮度和色差信號(hào)取樣,后面的Y字對(duì)應(yīng)于下一個(gè)亮度取樣。每行開始的288字節(jié)為行控制信號(hào),開始的4字節(jié)為EAV信號(hào)(有效視頻結(jié)束),緊接著280個(gè)固定填充數(shù)據(jù),最后是4字節(jié)的SAV信號(hào)(有效視頻起始)。

圖3 ITU656每行的數(shù)據(jù)結(jié)構(gòu)

  SAV和EAV信號(hào)有3字節(jié)的前導(dǎo):FF、FF、00;最后1字節(jié)XY表示該行位于整個(gè)數(shù)據(jù)幀的位置及如何區(qū)分SAV、EAV。在每個(gè)時(shí)鐘的上升沿讀取從解碼芯片傳來的8位數(shù)據(jù)。當(dāng)檢測(cè)到一行數(shù)據(jù)的開始標(biāo)志FF0000XY時(shí),檢測(cè)到SAV信號(hào)或EAV信號(hào),提取H、F、V信號(hào)。然后發(fā)出開始命令,同時(shí)開啟行列計(jì)數(shù)器,開始對(duì)接下來的圖像數(shù)據(jù)進(jìn)行解碼,根據(jù)每個(gè)8位數(shù)據(jù)自身帶的信息,判斷該數(shù)據(jù)為Y,Cr還是Cb,從而得到Y(jié),Cr,Cb各分量的值。解碼流程如圖4所示。

圖4 解碼流程

  4 幀存儲(chǔ)控制器與LCD/VGA顯示控制器的設(shè)計(jì)

  4.1 數(shù)據(jù)格式的轉(zhuǎn)換

  根據(jù)前面第2節(jié)的介紹,從ITU656解碼模塊出來的數(shù)據(jù)為8位4:2:2的YUV空間圖像數(shù)據(jù),而LCD/VGA顯示器只能接收RGB數(shù)據(jù)。因?yàn)閅-CrCb4:2:2格式不能直接轉(zhuǎn)換為RGB,所以需要先轉(zhuǎn)換為YCrCb4:4:4格式。

  我們知道解碼芯片得到的視頻數(shù)據(jù)是順序?yàn)镃b,Y,Cr,Y,Cb,Y,Cr,……的序列,存儲(chǔ)的時(shí)候?qū)⒁粋€(gè)Y與一個(gè)C(Cb或Cr)結(jié)合起來組成一個(gè)16位的數(shù)據(jù)。而當(dāng)數(shù)據(jù)被讀出來時(shí)就要將這些視頻數(shù)據(jù)轉(zhuǎn)換為每個(gè)像素占24位(Y、Cb、Cr各占8位)的4:4:4的數(shù)據(jù)流。4:2:2到4:4:4的轉(zhuǎn)換采用最簡(jiǎn)單的插值算法,在采樣的時(shí)候,每隔一個(gè)像素才采一次色度值(Cb和Cr)。在轉(zhuǎn)化時(shí),直接將前一個(gè)有色度信息的像素點(diǎn)的Cr以及Cb的值直接賦給后一個(gè)像素的Cr和Cb,這樣就能得到4:4:4的像素?cái)?shù)據(jù),每個(gè)像素占用24位位寬。

  4.2 幀存儲(chǔ)控制器

  作為系統(tǒng)的重要組成部分,幀存儲(chǔ)控制器主要用來進(jìn)行有效數(shù)據(jù)的緩存。視頻數(shù)據(jù)在FPGA1的控制下乒乓寫入兩片SRAM。乒乓技術(shù)應(yīng)用的關(guān)鍵在于乒乓切換信號(hào)frame的產(chǎn)生,本系統(tǒng)中根據(jù)視頻解碼芯片的奇偶場(chǎng)信號(hào)RTS0來產(chǎn)生幀切換frame信號(hào),也就是一個(gè)RTS0周期切換一次。一個(gè)RTS0周期由一個(gè)奇場(chǎng)和一個(gè)偶場(chǎng)組成,是一副完整的畫面。當(dāng)frame為1是,F(xiàn)PGA通過計(jì)數(shù)器的計(jì)數(shù)截取最終顯示所需要的有效的像素點(diǎn)信息按照SRAM的控制時(shí)序?qū)懭隨RAM1,同樣當(dāng)frame為0時(shí),將對(duì)應(yīng)的像素信息寫入SRAM2,如圖5所示。

圖5 乒乓存儲(chǔ)示意圖

  系統(tǒng)加電的同時(shí),4片視頻解碼芯片同時(shí)工作,為了保證數(shù)據(jù)采集的準(zhǔn)確性和顯示的同步性,系統(tǒng)內(nèi)生成一個(gè)八倍于像素時(shí)鐘的寫時(shí)鐘信號(hào)write_clk,這樣,在一個(gè)像素時(shí)鐘周期,寫時(shí)鐘信號(hào)已經(jīng)過了八個(gè)周期,而每?jī)蓚€(gè)周期分別完成一路圖像數(shù)據(jù)的寫過程。

  由于SRAM是一維存儲(chǔ)空間,一個(gè)地址對(duì)應(yīng)一個(gè)數(shù)據(jù)。所以在寫入數(shù)據(jù)時(shí)將SRAM的地址空間劃分為4段,每一段用來存儲(chǔ)一路圖像數(shù)據(jù)。

  用程序?qū)崿F(xiàn)比較簡(jiǎn)單,設(shè)置一個(gè)地址寄存器sram_addr_reg,將它賦給SRAM的地址控制信號(hào)sram_addr。然后在對(duì)每一路圖像寫入時(shí),將對(duì)應(yīng)的SRAM的起始地址加上一個(gè)固定的基數(shù)。如:

  這樣就保證了SRAM中對(duì)應(yīng)地址的數(shù)據(jù)和屏幕上顯示位置的一一對(duì)應(yīng)關(guān)系,在讀程序中,只需要按照順序讀SRAM即可,如圖6所示。

圖6 SRAM地址驗(yàn)證

  4.3 LCD/VGA顯示控制器

  本模塊主要是用FPGA來產(chǎn)生LCD/VGA顯示時(shí)所需要的時(shí)鐘信號(hào)CLK(像素時(shí)鐘信號(hào))、VSYNC(幀同步信號(hào))、HSYNC(行同步信號(hào))和使能信號(hào)(VDEN),并在相應(yīng)控制時(shí)序的作用下,依次將顯示緩存即SRAM中的數(shù)據(jù)依次讀出,輸出到LCD上的過程。

  LCD顯示所需的主要時(shí)序信號(hào)的關(guān)系如圖7所示。

圖7 LCD時(shí)序信號(hào)圖

  在系統(tǒng)中,LCD屏幕分辨率為640x480,像素時(shí)鐘CLK為25MHz,由于FPGA的主時(shí)鐘輸入選用了20 MHz的有源時(shí)鐘,那么就要求利用Cyclone芯片的內(nèi)部邏輯資源來實(shí)現(xiàn)時(shí)鐘倍頻,以產(chǎn)生所需要的CLK(25 MHz)、用Verilog語言編寫參數(shù)化的時(shí)序生成模塊,產(chǎn)生HSYNC(32 kHz)及VHY-NC(60 Hz)時(shí)鐘信號(hào),如圖8所示。

圖8 時(shí)序驗(yàn)證

  VGA顯示原理與LCD相似,除了在硬件上正確連接ADV7125芯片電路外根據(jù)需要的分辨率來生成相應(yīng)時(shí)鐘信號(hào)即可。

  5 圖像抖動(dòng)的分析與解決

  在系統(tǒng)完成后軟硬件聯(lián)調(diào)時(shí),出現(xiàn)畫面抖動(dòng)現(xiàn)象,其中以RTSO為基準(zhǔn)而產(chǎn)生乒乓切換的那一路圖像穩(wěn)定,其他三路都出現(xiàn)不同程度的抖動(dòng)現(xiàn)象。對(duì)此我們做了深入的分析和實(shí)驗(yàn),分析整個(gè)系統(tǒng)的結(jié)構(gòu)可知,系統(tǒng)在多個(gè)時(shí)鐘控制下共同工作,也就是所說的典型的異步系統(tǒng)。我們知道,數(shù)據(jù)在異步系統(tǒng)傳輸時(shí)對(duì)時(shí)鐘要求非常嚴(yán)格,稍微的一點(diǎn)時(shí)鐘偏差都會(huì)帶來對(duì)有效像素截取的偏差,最終影響圖像的顯示質(zhì)量。

  解決的辦法有兩個(gè),一是加入緩沖機(jī)制,利用FIFO對(duì)數(shù)據(jù)存儲(chǔ)的特性來實(shí)現(xiàn)數(shù)據(jù)在異步時(shí)鐘之間的無縫傳輸;二是同步時(shí)鐘,利用狀態(tài)機(jī)等方法使得異步系統(tǒng)的時(shí)鐘能夠盡可能同步。采用第二種方法對(duì)系統(tǒng)進(jìn)行改進(jìn),首先系統(tǒng)中所有的分頻、倍頻盡量使用Quartus 6.0自帶的PLL產(chǎn)生,并且使用專用時(shí)鐘引腳進(jìn)行時(shí)鐘輸出;其次把寫時(shí)鐘write_clk降為54M,也就是每隔一個(gè)像素采集一次。最終,四路圖像都能穩(wěn)定顯示。

  6 結(jié)束語

  本文實(shí)現(xiàn)了一種結(jié)合Altera公司生產(chǎn)的CycloneII系列FPGA與視頻解碼芯片ADV7181B的嵌入式圖像采集系統(tǒng)。系統(tǒng)具有低功耗、低成本、高可靠和靈活性好等特點(diǎn)。基于FPGA的多路圖像采集系統(tǒng)采用兩片F(xiàn)PGA作為主控芯片,完成四路視頻畫面的同時(shí)顯示和切換,實(shí)現(xiàn)兩個(gè)FPGA的級(jí)聯(lián)配置,采用Verilog語言編寫的控制邏輯解決了畫面抖動(dòng)問題。系統(tǒng)軟件集成度高,硬件結(jié)構(gòu)清晰簡(jiǎn)單,即可滿足一般監(jiān)控場(chǎng)合對(duì)多處位置進(jìn)行實(shí)時(shí)監(jiān)控的需求,又能為功能更復(fù)雜的圖像處理、壓縮、傳輸系統(tǒng)提供前端圖像數(shù)據(jù)采集。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉