基于FPGA的視頻監(jiān)控系統(tǒng)中多畫(huà)面處理器的設(shè)計(jì)
1 黑白四畫(huà)面處理器的組成及主要功能
1.1 黑白四畫(huà)面處理器的組成
黑白四畫(huà)面處理器的方框圖如圖1所示。由圖1可知,該多畫(huà)面處理器以FPGA器件和單片機(jī)為核心,外加A/D、D/A、幀存儲(chǔ)器、串行存儲(chǔ)器、串行時(shí)鐘和字符疊加等輔助芯片組成。
1.2黑白四畫(huà)面處理器的主要功能
該四畫(huà)面處理器主要功能如下:
·視頻格式為CCIR模式,即視頻信號(hào)的場(chǎng)頻為50Hz;
·雙工操作(在錄像的同時(shí)可進(jìn)行回放),菜單設(shè)定;
·全屏顯示時(shí)象素為1024×512,256個(gè)灰度等級(jí);
·4路CVBS輸入及1路錄像輸入;
·1路全畫(huà)面與四分割切換輸出,1路錄像輸出(固定四分割);
·切換時(shí)間可調(diào),范圍為1~255s。
·畫(huà)面上可疊加時(shí)間日期,且位置可調(diào)整;
·有報(bào)警輸入輸出功能,報(bào)警復(fù)位時(shí)間的可調(diào)范圍為1~300s;
·有視頻信號(hào)丟失報(bào)警功能,報(bào)警時(shí)對(duì)應(yīng)的畫(huà)面上有文字顯示。
2 各部分電路的結(jié)構(gòu)及工作原理
本文引用地址:http://butianyuan.cn/article/201706/349476.htm 2.1 輸入緩沖及A/D轉(zhuǎn)換
該部分電路的主要功能是將輸入的模擬視頻信號(hào)轉(zhuǎn)換成數(shù)字視頻信號(hào)供FPGA器件處理,其方框圖如圖2所示。4路視頻信號(hào)經(jīng)過(guò)受FPGA控制的模擬多路選擇器后,輸出2路視頻信號(hào),經(jīng)過(guò)緩沖放大后送到受FPGA控制的模擬開(kāi)關(guān);然后再輸出給A/D,2路視頻信號(hào)需要2片A/D芯片。A/D芯片選TLC5510,該芯片是一種分辨率為8位、20MSPS(20兆采樣點(diǎn)/秒)的CMOS模/數(shù)轉(zhuǎn)換器。在FPGA的控制下,TLC5510將輸入的模擬視頻信號(hào)轉(zhuǎn)換成數(shù)字視頻誤,然后送往幀存儲(chǔ)器。
幀存儲(chǔ)器選AVERLOGIC公司的AL422,共需要2片。AL422是存儲(chǔ)量為384KB×8Bits的FIFO(First In First Out)DRAM,它支持VGA、CCIR、NTSC、PAL和HDTV分辨率,具有獨(dú)立的讀/寫(xiě)操作及輸出使能控制;存儲(chǔ)時(shí)間為15ns的高速異步串行存取,可在5V或3.3V電源電壓下工作,標(biāo)準(zhǔn)的28腳SOP封裝。
2.3 FPGA器件
FPGA是本設(shè)計(jì)的核心,與傳統(tǒng)邏輯電路和門(mén)陣列相比具有不同的結(jié)構(gòu)。FPGA利用小型查找表(16×1RAM)來(lái)實(shí)現(xiàn)組合邏輯,每個(gè)查找表連接到一個(gè)D觸發(fā)器的輸入端,D觸發(fā)器再來(lái)驅(qū)動(dòng)其它邏輯或驅(qū)I/O。這些模塊利用金屬連線互相連接或連接到I/O模塊。FPGA通過(guò)向內(nèi)部靜態(tài)存儲(chǔ)單元加載編程數(shù)據(jù)來(lái)實(shí)現(xiàn)其FPGA通過(guò)向內(nèi)部靜態(tài)存儲(chǔ)單元加載編程數(shù)據(jù)來(lái)實(shí)現(xiàn)其邏輯,存儲(chǔ)在存儲(chǔ)單元中值決定了FPGA實(shí)現(xiàn)的功能;FPGA的這種結(jié)構(gòu)允許無(wú)限次的重新編程。由此可見(jiàn),用FPGA設(shè)計(jì)的產(chǎn)品調(diào)試修改及升級(jí)均很容易,且具有很大的靈活性。目前FPGA的種類(lèi)很多,在本設(shè)計(jì)中選用Spartan系列的XCS05XL。該芯片是Xilinx公司推出的低價(jià)格、高性能的FPGA,其主要特點(diǎn)如下:
·系統(tǒng)門(mén)的數(shù)目達(dá)到了5000,Logic cell數(shù)目達(dá)到了238,系統(tǒng)資源豐富;
·具備片上可編程分布式RAM,最多可編程的RAM達(dá)3200bit;
·分布式算術(shù)邏輯單元,支持分布式DSP運(yùn)算;
·靈活的高速時(shí)鐘網(wǎng)絡(luò),內(nèi)部三態(tài)總線;工作電壓為3.3V。
有關(guān)XCS05XL的詳細(xì)資料請(qǐng)參閱參考文獻(xiàn)[1]。
FPGA的編程數(shù)據(jù)存儲(chǔ)在單片機(jī)的FLASH ROM里。每次上電后單片機(jī)將編程數(shù)據(jù)裝入XCS05XL,編程模式選從串模式,因而其22腳(M1)和24腳(M0)懸空。編程數(shù)據(jù)裝入后,XCS05XL的邏輯功能就確定了;XCS05XL控制視頻信號(hào)的輸入及A/D轉(zhuǎn)換,在其內(nèi)部將每路視頻信號(hào)壓縮為原來(lái)的1/2,同時(shí)在單片機(jī)的控制下給每路疊加時(shí)間、日期、通道數(shù)字字符信息,然后將壓縮的四路視頻信號(hào)合成為一路完整的數(shù)字視頻信號(hào),并輸出給D/A,形成四分割輸出。
2.4 D/A轉(zhuǎn)換及輸出緩沖放大
D/A轉(zhuǎn)換電路將FPGA輸出的數(shù)字視頻信號(hào)轉(zhuǎn)移成模擬視頻信號(hào),然后經(jīng)過(guò)緩沖放大輸出給監(jiān)視器,D/A芯片選HI1171。該芯片是一種分辨率為8位,頻率為40MHz的高速D/A轉(zhuǎn)換器,其最大積分和微分線性誤差分別為1.3LSB和0.25LSB;最小建立時(shí)間僅為5ns,在單5V下工作,功耗只有80mW。輸出緩沖放大由分立元件組成。
2.5 單片機(jī)
單片機(jī)選日本NEC公司的μPD78F0034,該芯片的主要特點(diǎn)是:
·時(shí)鐘為8.38MHz時(shí)的指令周期為0.24μs;
·ROM為32KB FLASH,RAM為1024bytes;
·可尋址空間為64KB,5個(gè)外部中斷,15個(gè)內(nèi)部中斷;
·39個(gè)CMOS I/O,8個(gè)COMS INPUT,4個(gè)N-CH漏極開(kāi)路I/O;
·1個(gè)16位定時(shí)/計(jì)數(shù)器,2個(gè)8位定時(shí)/計(jì)數(shù)器;
·1個(gè)時(shí)鐘定時(shí)器,1個(gè)看門(mén)狗定時(shí)器,1個(gè)UART端口;
·支持I2C總線,有時(shí)鐘信號(hào)及蜂鳴信號(hào)輸出功能;
·外部數(shù)據(jù)總線8位,內(nèi)部寄存器為16位;
·有8位無(wú)符號(hào)乘法指令,16位除法指令;
·工作電壓范圍為1.8V~5.5V,有STOP/HALT工作模式。
由此可見(jiàn),該芯片的性能要優(yōu)于目前流行的MCS-51系列,其8位無(wú)符號(hào)乘法指令及16位除法指令給軟件編程帶來(lái)了很大的方便。另外,由于該芯片本身帶看門(mén)狗定時(shí)器,因而無(wú)需外加看門(mén)狗電路,就能保證系統(tǒng)穩(wěn)定、可靠地工作。
2.6 存儲(chǔ)器
存儲(chǔ)器芯片采用串行EEPROM芯片X24C16。該芯片是容量為2KB帶寫(xiě)保護(hù)的I2C總線數(shù)據(jù)存儲(chǔ)器,當(dāng)WP=1時(shí),只能讀,不能寫(xiě)數(shù)據(jù)。它使用串行數(shù)據(jù)線(SDA)和串行時(shí)鐘線(SCL)進(jìn)行主從器件之間的數(shù)據(jù)傳輸。I2C總線上的數(shù)據(jù)傳輸率可達(dá)100Mbps,快速方式下可達(dá)400Mbps。在I2C總線傳輸中,開(kāi)始和停止條件定義如下:當(dāng)SCL為高時(shí),SDA由高變低為開(kāi)始條件;當(dāng)SCL為高時(shí),SDA由低變高時(shí)為停止條件(如圖3(a)所示)。SDA和SCL都是雙向傳輸線,SDA線上的數(shù)據(jù)在時(shí)鐘為高期間必須是穩(wěn)定的,只有當(dāng)SCL線上的時(shí)鐘信號(hào)為低時(shí),數(shù)據(jù)線上的狀態(tài)才可以改變(如圖3(b)所示)。輸出到SDA線上的每一字節(jié)必須是8位,每次傳輸?shù)淖止?jié)不受限制,每字節(jié)必須有一個(gè)應(yīng)答位。本設(shè)計(jì)中X24C16的第5腳(SDA)和第6腳(SCL)分別接單片機(jī)的P3.6和P3.7。
2.7 時(shí)鐘和字符疊加電路
時(shí)鐘芯片選串行時(shí)鐘DS1302。該芯片是一種高性能、低功耗且?guī)AM的實(shí)時(shí)時(shí)鐘芯片,它有如下主要特性;
·實(shí)時(shí)時(shí)鐘,可對(duì)秒、分、時(shí)、日、周、月、年進(jìn)行計(jì)數(shù),且有閏年補(bǔ)償功能,直至2100年;
·用于數(shù)據(jù)暫存的31B NV RAM,簡(jiǎn)單的三線接口,TTL兼容;
·用于時(shí)鐘或RAM數(shù)據(jù)讀/寫(xiě)的連續(xù)多字節(jié)數(shù)據(jù)傳送方式;
·8引腳DIP或用于表面貼裝的8引腳SOIC封裝;
·工作電壓為2~5.5V,溫度為-40℃~85℃。
字符疊加電路由NEC公司μPD6453組成。該芯片可在屏幕上顯示12行、每行24個(gè)字符、每個(gè)字符為12×18點(diǎn)陣。字符的大小、閃爍頻率可以根據(jù)需要進(jìn)行調(diào)整,屏幕的背景色、字符的邊緣色以及字符本身的顏色也可以修改。該芯片內(nèi)部除固化了191個(gè)日文、英文字母和數(shù)字等字符的字模以外,還固化了49個(gè)漢字(如年、月、日、時(shí))的字模;另外該芯片提供16個(gè)字符的RAM空間,供用戶填入自定義字符。由于畫(huà)面處理器不需要疊加太多的不同字符,因而本設(shè)計(jì)不外加漢字字庫(kù),這樣既節(jié)省了成本和線路板的空間,又簡(jiǎn)化了電路結(jié)構(gòu)。μPD6453所需的行、場(chǎng)同步信號(hào)及時(shí)鐘信號(hào)均由FPGA提供。單片機(jī)通過(guò)串行數(shù)據(jù)傳輸將一系列命令(包括所要顯示的字符或漢字、字符大小、字符的間距、字符的屬性)送往μPD6453,μPD6453收到命令后再將所要顯示的字符或漢字等信息送至FPGA。
2.8 視頻信號(hào)切換電路
該電路由MAX440組成。MAX440是一種內(nèi)含寬帶視頻放大器的高速多路視頻選擇開(kāi)關(guān),可輸入8路視頻信號(hào),輸出為1路視頻信號(hào)。在單片機(jī)的控制下,輸出可與8路視頻輸入中的任一路相連。該芯片的主要特點(diǎn)如下:
·帶寬為110MHz;微分增益為0.04%,微分相位為0.03度;
·開(kāi)關(guān)切換時(shí)間為15ns,轉(zhuǎn)換速率為370V/μs;
·開(kāi)/關(guān)時(shí)的輸入電容為4pF,無(wú)需外接補(bǔ)償元件。
2.9 報(bào)警信號(hào)的接收及處理
由單片機(jī)直接完成,無(wú)需經(jīng)過(guò)FPGA。當(dāng)有報(bào)警發(fā)生時(shí),單片機(jī)收到報(bào)警信息,發(fā)出命令使蜂鳴器件發(fā)出警報(bào)聲,同時(shí)通知FPGA和μPD6453使對(duì)應(yīng)的畫(huà)面閃爍并出現(xiàn)“報(bào)警”字樣。
3 FPGA器件XCS05XL的編程實(shí)現(xiàn)原理
所謂編程就是利用單片機(jī)μPD78F0034將事先設(shè)計(jì)好的數(shù)據(jù)通過(guò)某種方式裝入XCS05XL中,以確定XCS05XL內(nèi)部的CLB和IOB的功能以及布線通道的連接方式,數(shù)據(jù)的寫(xiě)入只在編程過(guò)程中完成。在正常工作期間,存儲(chǔ)單元只用來(lái)提供固定的控制信號(hào),編程存儲(chǔ)單元以陣列形式分布在XCS05XL中。每個(gè)CLB有幾百個(gè)編程數(shù)據(jù)位,每個(gè)編程數(shù)據(jù)位定義了一個(gè)靜態(tài)存儲(chǔ)單元的狀態(tài),該存儲(chǔ)單元可以控制一個(gè)邏輯函數(shù)查找表位、一個(gè)數(shù)據(jù)選擇器輸入或一個(gè)互連開(kāi)關(guān)晶體管。Xilinx開(kāi)發(fā)系統(tǒng)可以將邏輯設(shè)計(jì)轉(zhuǎn)換成網(wǎng)絡(luò)表文件,它自動(dòng)將邏輯電路分區(qū)、設(shè)置和布線,以PROM格式產(chǎn)生編程數(shù)據(jù),并將數(shù)據(jù)存入PROM中。XCS05XL有三種編程模式:從串模式、主串模式和快速模式。編程開(kāi)始前,芯片會(huì)自動(dòng)檢測(cè)M1和M2腳以確定編程模式,編程結(jié)束后,這些腳就沒(méi)有用了。當(dāng)M1和M2腳為高電平時(shí),選從串模式,這也是目前最常用的一種編程模式。實(shí)際上,此時(shí)M1和M2腳可懸空。如果要選擇主串模式,則M1和M2腳必須與相連或通過(guò)1k℃的下拉電阻接地。
圖4所示為μPD78F0034單片機(jī)對(duì)FPGA器件XCSO5XL裝載編輯數(shù)據(jù)的示意圖。XCS05XL的編程模式選從串模式,因而其M1、M2腳懸空(即相當(dāng)于接高電平)。XCS05XL的編輯數(shù)據(jù)存儲(chǔ)在單片機(jī)的FLASH ROM里,上電復(fù)位后,單片機(jī)通過(guò)P30腳將數(shù)據(jù)串行傳送到XCSO5XL中。XCS05XL所需的編程時(shí)鐘(CCLK)信號(hào)由單片機(jī)產(chǎn)生,在每個(gè)CCLK的上升沿,XCS05XL通過(guò)DIN腳接收輸入數(shù)據(jù)。
4 軟硬件設(shè)計(jì)時(shí)要注意的幾個(gè)問(wèn)題
(1)使用幀存儲(chǔ)器AL422應(yīng)注意的問(wèn)題
·由于幀存儲(chǔ)器AL422是FIFO DRAM,因而須確保WCK和RCK信號(hào)始終有且信號(hào)的頻率不低于1MHz,因WCK和RCK中頻率較高者將作為DRAM的刷新時(shí)鐘信號(hào)。
·在AL422的/RRST信號(hào)的上升沿,/RE信號(hào)不能為低,這一點(diǎn)在確定FPGA的編程數(shù)據(jù)時(shí)要特點(diǎn)注意(因/RRST和/RE信號(hào)均由FPGA提供);
·AL422可在5V或3.3V電源電壓下工作,當(dāng)使用5V電源時(shí),其DEC腳(Pin19)須接2.2μF的去耦電容;當(dāng)使用3.3V電源時(shí),DEC腳(Pin19)可直接與3.3V相連,并通過(guò)0.1μF電容旁路到地;電容均使用鉭電容。由于使用3.3V時(shí),器件功耗低,且受噪聲干擾小,因而在本設(shè)計(jì)中采用了3.3V電源對(duì)AL422供電。
(2)為避免視頻信號(hào)之間的串?dāng)_,各種模擬視頻信號(hào)間均用較粗的地線隔開(kāi),且視頻走線足夠?qū)挕?
以上介紹了黑白四畫(huà)面處理器的設(shè)計(jì)。為了節(jié)省線路板空間并使產(chǎn)品小巧玲瓏,所有的元器件及IC芯片均選用貼片式封裝。鑒于篇幅的限制,本文沒(méi)有討論多畫(huà)面處理器軟件方面的設(shè)計(jì)。至于9畫(huà)面和16畫(huà)面處理器的設(shè)計(jì),其設(shè)計(jì)思想及組成方框圖與該4畫(huà)面處理器相類(lèi)似,只不過(guò)要增加A/D、AL422及FPGA,軟件編程也復(fù)雜一些。
評(píng)論