???? 關(guān)鍵詞:黑白四畫面分割器,現(xiàn)場可編程門陣列,I2C總線存儲器
近年來,隨著視頻監(jiān)控系統(tǒng)在各個領(lǐng)域的廣泛應(yīng)用,作為其組成之一的多畫面分割器的應(yīng)用也愈來愈普遍。使用一臺四畫面分割器,在一臺監(jiān)視器上可同時監(jiān)控四個目標(biāo),且只需使用一臺錄像機(jī)便可對四路視頻信號同時錄像。目前,多畫面分割器有黑白/彩色四、九、十六畫面分割器共六種類型。一般說來,多畫面分割器除了畫面分割功能外,還有視頻信號切換功能及報警輸入功能:視頻信號切換功能是指多畫面分割器有一路視頻輸出是輸入視頻信號的順序切換,且切換時間可調(diào);報警輸入功能是指當(dāng)某監(jiān)控目標(biāo)有異常發(fā)生時,畫面分割器能報警,且畫面上相應(yīng)地疊加有報警信息,或?qū)缶畔⒋鎯ζ饋硪员闳蘸蟛殚啞?br> 設(shè)計多畫面分割器若使用專用的DSP芯片,可滿足對速度的要求,但開發(fā)周期較長,產(chǎn)品的調(diào)試修改及升級比較困難,且成本較高。而FPGA器件具有集成度高、體積小、功耗低、設(shè)計靈活及價格較低等優(yōu)勢,因而目前多畫面分割器的設(shè)計基本上采用FPGA作為其中的視頻信號處理器件。由于FPGA的功能由其內(nèi)部的編程數(shù)據(jù)來確定,而編程數(shù)據(jù)的裝載幾乎都是上電后由單片機(jī)來實(shí)現(xiàn)的,因此多畫面分割器必須要有單片機(jī)。由此可見,多畫面分割器是一個以FPGA器件和單片機(jī)為核心,外加A/D、D/A、幀存儲器、存儲器、時鐘和字符疊加等輔助芯片組成的一個系統(tǒng)。黑白四畫面分割器的組成方框圖如圖1所示。下面具體介紹黑白四畫面分割器的設(shè)計方法。
1 各部分電路的結(jié)構(gòu)及工作原理
1.1 輸入緩沖及A/D轉(zhuǎn)換
該部分電路的主要功能是將輸入的模擬視頻信號轉(zhuǎn)換成數(shù)字視頻信號供FPGA器件處理,其方框圖如圖2所示。四路視頻信號經(jīng)過由FPGA控制的模擬多路選擇器后,輸出二路視頻信號,經(jīng)過緩沖放大后再送到由FPGA控制的模擬開關(guān),然后輸出給A/D,兩路視頻信號需要兩片A/D芯片。A/D芯片選TLC5510,該芯片是一分辨率為8位、20MSPS(20兆采樣點(diǎn)/秒)的COMS模/數(shù)轉(zhuǎn)換器,在FPGA的控制下,TLC5510將輸入的模擬視頻信號轉(zhuǎn)換成數(shù)字視頻信號,然后送往幀存儲器。
1.2 幀存儲器
幀存儲器選AVERLOGIC公司的AL422,共需兩片AL422。AL422是一存儲量為384K×8 bits的FIFO(First In First Out)DRAM,它支持VGA、CCIR、NTSC、PAL和HDTV分辨率,具有獨(dú)立的讀/寫操作及輸出使能控制;存取時間為15ns的高
1.3 FPGA器件
FPGA是本設(shè)計的核心,F(xiàn)PGA與傳統(tǒng)邏輯電路和門陣列相比具有不同的結(jié)構(gòu),F(xiàn)PGA利用小型查找表(16×1 RAM)來實(shí)現(xiàn)組合邏輯,每個查找表連接到一個D觸發(fā)器的輸入端,由D觸發(fā)器來驅(qū)動其它邏輯或驅(qū)動I/O。這些模塊通過金屬連線互相連接或連接到I/O模塊。FPGA的邏輯是通過向內(nèi)部靜態(tài)存儲單元加載編程數(shù)據(jù)來實(shí)現(xiàn)的,存儲在存儲單元中的值決定了FPGA實(shí)現(xiàn)的功能,F(xiàn)PGA的這種結(jié)構(gòu)允許無限次地重新編程。由此可見,用FPGA設(shè)計的產(chǎn)品調(diào)試修改及升級均很容易,且具有很大的靈活性。FPGA的種類很多,在本設(shè)計中選用Spartan系列的XCS10XL,該芯片是Xilinx公司推出的低價格、高性能的FPGA,其主要特點(diǎn)為:
?。?)系統(tǒng)門的數(shù)目達(dá)到了10000,Logic cell數(shù)目達(dá)到了466,系統(tǒng)資源豐富。
?。?)具備片上可編程分布式RAM,最多可編程的RAM比特數(shù)達(dá)6272。
(3)分布式算術(shù)邏輯單元,支持分布式DSP運(yùn)算。
(4)靈活的高速時鐘網(wǎng)絡(luò),內(nèi)部三態(tài)總線;工作電壓為3.3V。
FPGA的編程數(shù)據(jù)存儲在單片機(jī)的FLASHROM里,每次上電后單片機(jī)將編程數(shù)據(jù)裝入XCS10XL,編程模式選從串模式,因而其22腳(MI)和24腳(MO)懸空。編程數(shù)據(jù)裝入后,XCS10XL的邏輯功能就確定了。XCS10XL要控制視頻信號的輸入及A/D轉(zhuǎn)換,在其內(nèi)部,XCS10XL將每路視頻信號壓縮為原來的1/4,同時在單片機(jī)的控制下給每路疊加時間、日期、通道數(shù)等字符信息,然后將壓縮的四路視頻信號合成為一路完整的數(shù)字視頻信號,并輸出給D/A。
1.4 D/A轉(zhuǎn)換及輸出緩沖放大
??? D/A轉(zhuǎn)換電路將FPGA輸出的數(shù)字視頻信號轉(zhuǎn)換成模擬視頻信號,然后經(jīng)過緩沖放大輸出給監(jiān)視器。D/A芯片選HI1171,該芯片是一分辨率為8位,頻率為40MHz的高速D/A轉(zhuǎn)換器,其最大積分和微分線性誤差分別為1.3LSB和0.25LSB,最小建立時間僅為5ns,在單5V下工作,功耗只有80mW。輸出緩沖放大由分立元件組成。
1.5 單片機(jī)
由于程序量較大,且要裝載FPGA的編程數(shù)據(jù),因而選用內(nèi)部FLASH ROM為64K的8位MSU2964單片機(jī)。該單片機(jī)的主要特點(diǎn)為:內(nèi)部RAM為256 bytes,工作電壓范圍為4.5V~5.5V,具有空閑和掉電兩種工作模式;可在16/25/40MHz三種時鐘頻率下工作,有8位無符號乘法和除法指令,其余和MCS-51系列單片機(jī)兼容。由于MSU2964具有乘除法指令,因而給軟件編程帶來了很大的方便,另外,64K的FLASH ROM空間也為以后的軟件升級留下了余地。
1.6 看門狗
由于MSU2964無看門狗定時器,為了防止系統(tǒng)死機(jī),保證系統(tǒng)可靠地工作,需外加看門狗電路。本設(shè)計采用MAX813L作為電源監(jiān)控和看門狗電路,當(dāng)電源上電、掉電時,該芯片均可提供復(fù)位電平,并且當(dāng)其WDI管腳不能采集到脈沖信號時,就會發(fā)送200ms的復(fù)位脈沖。單片機(jī)采用P1.0腳定時向看門狗電路發(fā)送脈沖信號,以示系統(tǒng)正常工作;當(dāng)由于外部干擾或其他原因?qū)е孪到y(tǒng)死機(jī)時,看門狗電路會自動發(fā)出復(fù)位信號,以保證系統(tǒng)可靠工作。
1.7 存儲器
存儲器芯片采用串行E2PROM芯片X24C16,該芯片是容量為2kbytes帶寫保護(hù)的I2C總線數(shù)據(jù)存儲器,當(dāng)WP=1時,只能讀,不能寫數(shù)據(jù)。它使用串行數(shù)據(jù)線(SDA)和串行時鐘線(SCL)來進(jìn)行主從器件之間的數(shù)據(jù)傳輸。I2C總線上的數(shù)據(jù)傳輸率可達(dá)100bit/s,快速方式下可達(dá)400bit/s。在I2C總線傳輸中,開始和停止條件定義如下:當(dāng)SCL為高時,SDA由高變低為開始的條件;當(dāng)SCL為高時,由低變高時為停止的條件(如圖3(a)所示)。SDA和SCL都是雙向傳輸線,SDA線上的數(shù)據(jù)在時鐘為高期間必須是穩(wěn)定的,只有當(dāng)SCL線上的時鐘信號為低時,數(shù)據(jù)線上的狀態(tài)才可以改變(如圖3(b)所示)。輸出到SDA線上的每一個字節(jié)必須是8位,每次傳輸?shù)淖止?jié)不受限制,每個字節(jié)必須有一個應(yīng)答位。本設(shè)計中,X24C16的第5腳(SDA)和第6腳(SCL)分別接單片機(jī)的P3.6和P3.7。
時鐘芯片選串行時鐘DS1302,有關(guān)DS1302的具體使用方法可參閱參考文獻(xiàn)〔1〕。
字符疊加電路由NEC公司μPD6453組成,該芯片可在屏幕上顯示12行每行24個字符,每個字符為12×18點(diǎn)陣,字符的大小、閃爍頻率可以根據(jù)需要進(jìn)行調(diào)整,屏幕的背景色、字符的邊緣色以及字符本身的顏色也可以進(jìn)行修改,該芯片內(nèi)部除了固化了191個日文、英文字母和數(shù)字等字符的字模以外,還固化了49個漢字(如年、月、日、時)的字模;另外,該芯片提供16個字符的RAM空間以供用戶填入自定義字符。由于畫面分割器不需要疊加太多不同的字符,因而本設(shè)計不外加漢字字庫,這樣既節(jié)省了成本和線路板的空間,又簡化了電路結(jié)構(gòu)。μPD6453所需的行、場同步信號及時鐘信號均由FPGA提供。單片機(jī)通過串行數(shù)據(jù)傳輸將一系列命令(包括所要顯示的字符或漢字、字體大小、字符的間距、字符的屬性)送往μPD6453,μPD6453收到命令后再將所要顯示的字符或漢字等信息送至FPGA。單片機(jī)及FPGA與μPD6453的接口電路如圖4所示。單片機(jī)的P0.0、P0.1、P0.2、P0.7分別與μPD6453的Pin1、Pin2、Pin3、Pin4相連;FPGA的P61、P62、P35、P34分別與μPD6453的Pin9、Pin15、Pin19、Pin20相連。
1.9 MAX4545芯片
??? 視頻信號切換電路由MAX4545組成,該芯片可用于50Ω~70Ω系統(tǒng)中,是一種300MHz的低電壓、雙向多路高頻開關(guān)器件,在10MHz頻率下有大于80dB的較好的高頻關(guān)斷隔離和串?dāng)_指標(biāo),這種CMOS開關(guān)在±2.7V至±6V的供電范圍內(nèi)均能正常工作。一片MAX4545可構(gòu)成一只4×1視頻信號選擇開關(guān),剛好滿足本設(shè)計的要求。
1.10 報警信號處理
報警信號的接收及處理由單片機(jī)直接完成,無需經(jīng)過FPGA。當(dāng)有報警發(fā)生時,單片機(jī)收到報警信息,發(fā)出命令使蜂鳴器發(fā)出警報聲,同時通知FPGA和μPD6453使對應(yīng)的畫面閃爍并出現(xiàn)“報警”字樣。
2 軟、硬件設(shè)計時要注意的幾個問題
?。?)由于單片機(jī)MSU2964本身不帶看門狗定時器,為保證系統(tǒng)工作時不死機(jī),務(wù)必要加看門狗芯片MAX813L。由于MAX813L的WDI腳在1.6秒內(nèi)無脈沖信號輸入時,會產(chǎn)生復(fù)位信號輸出,因此在軟件設(shè)計時要使P1.0輸出脈沖信號的間隔不能大于1.6秒,為留有余地,最好不大于1.3秒。這一點(diǎn)在處理中斷子程序及和X24C16或DS1302串行傳送數(shù)據(jù)時要特別注意,因?yàn)榇袀魉蛿?shù)據(jù)時,單片機(jī)往往要等待ACK(應(yīng)答)信號,確保等待時P1.0也有脈沖信號輸出。
??? (2)使用幀存儲器AL422應(yīng)注意的問題
·由于幀存儲器AL422是FIFODRAM,因而須確保WCK和RCK信號始終有、且信號的頻率不低于1MHz,因WCK和RCK中頻率較高者將作為DRAM的刷新時鐘信號。
·在AL422的/RRST信號的上升沿,/RE信號不能為低,這一點(diǎn)在確定FPGA的編程數(shù)據(jù)時要特別注意(因/RRST和/RE信號均由FPGA提供)。
·AL422可在5V或3.3V電源電壓下工作,當(dāng)使用5V電源時,其DEC腳(Pin19)須接2.2μF的去耦電容;當(dāng)使用3.3V電源時,DEC腳(Pin19)可直接與3.3V相連,并通過0.1μF電容旁路到地。電容均使用鉭電容。由于使用3.3V時,器件功耗低,且受噪聲干擾小,因而在本設(shè)計中采用了3.3V電源對AL422供電。
?。?)為避免視頻信號之間的串?dāng)_,各路模擬視頻信號間均用較粗的地線隔開,且視頻走線足夠?qū)挕?/P>
評論
查看更多