<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 通用工業(yè)視頻圖像疊加的設(shè)計(jì)與實(shí)現(xiàn)

          通用工業(yè)視頻圖像疊加的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2008-11-11 來源:網(wǎng)絡(luò) 收藏

            技術(shù)廣泛應(yīng)用于科學(xué)研究、工農(nóng)業(yè)生產(chǎn)、軍事技術(shù)、醫(yī)療衛(wèi)生等領(lǐng)域。在工業(yè)上的應(yīng)用主要有:機(jī)器人視覺的研制、生產(chǎn)過程自動(dòng)化、產(chǎn)品質(zhì)量檢測(cè)、機(jī)器零件的無損探傷、人工地震信號(hào)處理及地層內(nèi)部結(jié)構(gòu)的重建等等。本文介紹的項(xiàng)目是為實(shí)現(xiàn)生產(chǎn)過程自動(dòng)化,疊加工業(yè)現(xiàn)場(chǎng)視頻圖像中多種起標(biāo)識(shí)作用的圖形,簡(jiǎn)化以后的數(shù)字化處理過程;并且可以通過人機(jī)交互,由用戶通過按鍵選擇所要疊加的圖形。目前市場(chǎng)上有能完成其中部分功能的芯片,但是它們價(jià)格太高;而且,這些芯片應(yīng)用面窄,可擴(kuò)充性差,不能滿足客戶的特殊要求。本文作者設(shè)計(jì)并實(shí)現(xiàn)了一種成本低、應(yīng)用靈活可靠,易于擴(kuò)充、實(shí)用性強(qiáng)的方案。

           ?。?的原理及總體設(shè)計(jì)

            為實(shí)現(xiàn),必須先了解圖像傳送的原理。圖像是由明暗不同的部分構(gòu)成的,一幅圖像可以分解成許多個(gè)基本單元,叫“像素”。顯然,像素的數(shù)目越多,就越能呈現(xiàn)出圖像的細(xì)節(jié),因而畫面就越清晰。要想成功地傳送一幅圖像,必須把它所有的像素分別轉(zhuǎn)換成相應(yīng)的電信號(hào),再一一加以傳送?,F(xiàn)代電視技術(shù)中,采用順序(輪流)傳送像素的方法,在發(fā)送端按照各個(gè)像素的行列位置逐個(gè)變成電信號(hào),發(fā)送到接收端;在接收端屏幕上,各個(gè)像素當(dāng)然也是一個(gè)一個(gè)地輪流出現(xiàn)的。因此,要想在接收端的屏幕上得出正確的影象,應(yīng)該符合兩個(gè)條件:首先是發(fā)送與接收兩個(gè)端的掃描時(shí)間應(yīng)該相等,即掃描頻率一致;另外,每一行和每一場(chǎng)開始掃描的時(shí)刻也要一樣,即掃描的相位一致。所以,嚴(yán)格地保證接收端和發(fā)送端的掃描運(yùn)動(dòng)互相同步是非常重要的。目前在傳送視頻信號(hào)時(shí),把影象信號(hào)、消隱信號(hào)和復(fù)合同步信號(hào)三者按一定比例混合在一起,發(fā)送到接收端去控制顯象管中電子束的掃描運(yùn)動(dòng),以保證影象中各像素的位置在熒光屏上正確重顯。我國(guó)采用的電視信號(hào)是PAL制,場(chǎng)掃描頻率為50Hz,行掃描頻率為15625Hz,它的行同步信號(hào)和場(chǎng)同步信號(hào)的基本波形如圖1所示。實(shí)際傳送的視頻信號(hào)波形如圖2所示,在接收端可以利用這三種信號(hào)的幅值不同,用幅度分離將它們彼此分開?!跋[信號(hào)”是為了在行掃描逆程或幀掃描逆程期間,攝象管和顯象管的電子束被截止而設(shè)的信號(hào)?!皬?fù)合同步信號(hào)”可控制掃描振蕩器的工作頻率和相位,它由“水平同步信號(hào)”和“垂直同步信號(hào)”組合而成,二者的頻率不同,在接收端用頻率分離電路(或稱波形分離電路)將它們彼此分開。

          通用工業(yè)視頻圖像疊加的設(shè)計(jì)與實(shí)現(xiàn)

            本項(xiàng)目中,要求對(duì)攝象頭獲得的圖像,疊加上幾種不同形狀的光標(biāo),如十字形、圓形、方形、六邊形等;用戶可以通過鍵盤對(duì)這些光標(biāo)的形狀和大小進(jìn)行選擇。按此要求,我們?cè)趫D像傳送過程中,截取從攝象頭傳出的視頻信號(hào),疊加一些圖形信號(hào),再傳送到接收端(本項(xiàng)目中為監(jiān)視器)。所謂疊加,實(shí)質(zhì)上是在像素級(jí),為每個(gè)像素點(diǎn)選擇電信號(hào)。這其中有兩個(gè)問題,一是精確定位像素點(diǎn),即確定它的行、列位置;二是定位之后,控制電信號(hào)的輸出,即選擇在監(jiān)視器上的某一像素點(diǎn),是顯示現(xiàn)場(chǎng)圖像像素的電信號(hào),還是疊加圖形的像素電信號(hào)。解決第一個(gè)問題的難點(diǎn)在于信號(hào)同步,即從視頻信號(hào)中提取行同步信號(hào)及場(chǎng)同步信號(hào),來控制行/場(chǎng)計(jì)數(shù)器準(zhǔn)確計(jì)數(shù),以定位像素點(diǎn)。解決第二個(gè)問題在于設(shè)置“二選一開關(guān)”控制電信號(hào)輸出。另外,為實(shí)現(xiàn)人機(jī)交互,實(shí)時(shí)動(dòng)態(tài)地控制所疊加圖形的變換,如改變光標(biāo)的形狀、大小,需要對(duì)屏幕編輯緩沖區(qū)RAM進(jìn)行刷新。為避免輸出不完整或不穩(wěn)定的圖像,在刷新過程中,維持原屏幕上的圖像不變,直至刷新結(jié)束。那么如何設(shè)置RAM的讀寫控制信號(hào)來實(shí)現(xiàn)這一要求,是第三個(gè)難點(diǎn)。

          通用工業(yè)視頻圖像疊加的設(shè)計(jì)與實(shí)現(xiàn)

            經(jīng)過上述分析和市場(chǎng)調(diào)查,選用Intel的單片機(jī)90C32(它與8032的引腳和功能完全一致)作為CPU,可以充分發(fā)揮它的靈活性,并且利用其成熟的典型擴(kuò)展電路來減少開發(fā)的難度和成本。在設(shè)計(jì)中,同步信號(hào)的提取、疊加選擇的控制、屏幕編輯緩沖區(qū)的讀寫控制,以及鍵盤譯碼均用硬件實(shí)現(xiàn),使系統(tǒng)快速、穩(wěn)定、可靠運(yùn)行。為減少時(shí)延,擴(kuò)展電路全部采用高速CMOS芯片實(shí)現(xiàn)。在此功能較完善的硬件基礎(chǔ)上,軟件設(shè)計(jì)簡(jiǎn)單多了,主要完成系統(tǒng)初始化的按鍵響應(yīng)。

           ?。?硬件設(shè)計(jì)

            硬件設(shè)計(jì)的總體框圖如圖3所示。

          通用工業(yè)視頻圖像疊加的設(shè)計(jì)與實(shí)現(xiàn)

            下面分別詳細(xì)介紹各個(gè)主要部分的電路。

            2.1 同步信號(hào)的提取及行/場(chǎng)計(jì)數(shù)器電路

            準(zhǔn)確提取視頻信號(hào)中的同步信號(hào)對(duì)于本項(xiàng)目的成攻至關(guān)重要,幸運(yùn)的是市場(chǎng)上提供了LM1881芯片,它僅需幾個(gè)外接元件,就可以可靠地提取出視頻信號(hào)中的同步信號(hào)。LM1881的引腳及連接電路如圖4所示,圖中的電容值均為0.1μF,電阻阻值為680KΩ。

          通用工業(yè)視頻圖像疊加的設(shè)計(jì)與實(shí)現(xiàn)

            行/場(chǎng)計(jì)數(shù)器由193芯片級(jí)聯(lián)而成。按PAL制式規(guī)定,場(chǎng)掃描頻率為50Hz,幀頻25Hz,總掃描線數(shù)625,由于分為奇偶場(chǎng)掃描,每場(chǎng)有312行,需用二進(jìn)制地址9位。選擇4MHz的晶振行為行計(jì)數(shù)器的計(jì)數(shù)脈沖輸入,那么每行有256個(gè)像素點(diǎn),計(jì)算公式為:通用工業(yè)視頻圖像疊加的設(shè)計(jì)與實(shí)現(xiàn)每片193有四位輸入、輸出端,輸入端均接“0”,輸出端組成地址總線。為保持行、場(chǎng)計(jì)數(shù)器電路的整齊,并保留一定的擴(kuò)充性,行、場(chǎng)計(jì)數(shù)器各設(shè)3片193芯片實(shí)現(xiàn)。計(jì)數(shù)器電路如圖5所示。

          通用工業(yè)視頻圖像疊加的設(shè)計(jì)與實(shí)現(xiàn)

            行同步信號(hào)經(jīng)過一級(jí)非門,送往行計(jì)數(shù)器三片193的清零端MR;同時(shí)作為場(chǎng)計(jì)數(shù)器的計(jì)數(shù)脈沖,送往場(chǎng)計(jì)數(shù)器最低級(jí)193的計(jì)數(shù)脈沖輸入端CU;而行計(jì)數(shù)器各級(jí)之間的級(jí)聯(lián)由低級(jí)193芯片的TCU端送往更高一級(jí)193芯片的CU端;圖中未畫出的行計(jì)數(shù)器的計(jì)數(shù)脈沖輸入端CU由晶振信號(hào)送入。場(chǎng)同步信號(hào)經(jīng)過一級(jí)非門,送往場(chǎng)計(jì)數(shù)器三片193的清零端MR;場(chǎng)計(jì)數(shù)器各芯片之間的級(jí)聯(lián)方式同行計(jì)數(shù)器相同。計(jì)數(shù)器產(chǎn)生的18位地址,經(jīng)過總線鎖存器,高15位送往屏幕編程緩沖區(qū)RAM,最低3位送往疊加控制的并串轉(zhuǎn)換電路。

          通用工業(yè)視頻圖像疊加的設(shè)計(jì)與實(shí)現(xiàn)

            2.2 圖像疊加及控制電路

            參與疊加的信號(hào)有兩路:現(xiàn)場(chǎng)視頻信號(hào)、疊加圖形信號(hào)。由于只要求完成對(duì)攝象頭獲取的圖像的疊加,并在監(jiān)視器上重顯圖像,疊加信號(hào)可以為黑電平和白電平。而視覺效果上黑電平更明顯,所以我們選擇疊加黑電平。這個(gè)“二選一”開關(guān)可用美國(guó)MAXIM公司生產(chǎn)的MAX442來實(shí)現(xiàn)。MAX442芯片是內(nèi)含放大器的視頻兩路開關(guān),它具有140MHz的單位增益帶寬,250V/μs的轉(zhuǎn)換速率;相位誤差小于0.09°,增益誤差小于0.07%;通道切換速率為36ns,可以直接驅(qū)動(dòng)50Ω或75Ω的同軸電纜。雖然它價(jià)格相對(duì)較貴,但考慮到選用它之后,系統(tǒng)性能可以得到較大幅度的改善,而且本項(xiàng)目的總體成本仍然很低,即性能價(jià)格比合理,所以選擇這種芯片。

            MAX442的引腳圖與連接電路如圖6所示,圖中的電容容值單位為μF,電阻單位為Ω。INO,IN1為兩路視頻信號(hào)的輸入端,分別外接現(xiàn)場(chǎng)視頻信號(hào)和黑電平;地址線AO控制“二選一”開關(guān),選擇輸出哪個(gè)通道的信號(hào)。AO在屏幕編輯緩沖區(qū)中僅占一位空間,所以疊加控制字可以按位讀寫修改,這大大減少了所需的屏幕編輯緩沖區(qū)RAM的存儲(chǔ)空間。在RAM中數(shù)據(jù)是按照字節(jié)存取的,因此在輸出時(shí),需要把從RAM中讀出的數(shù)據(jù)進(jìn)行并串轉(zhuǎn)換,送到MAX442的AO端。這種“八選一”的數(shù)字邏輯電路用可編程芯片GAL可以很方便地實(shí)現(xiàn),成本也不高,因此我們選擇用GAL實(shí)現(xiàn),邏輯表達(dá)式從略。

            2.3 屏幕編輯緩沖區(qū)的控制設(shè)計(jì)

            屏幕編輯緩沖區(qū)選擇用RAM,是因?yàn)橛脩粢蟑B加的均是規(guī)則的幾何圖形,由CPU 90C32動(dòng)態(tài)計(jì)算圖形各點(diǎn)的位置算法非常簡(jiǎn)單;用戶完全可以接受。

            CPU和視頻輸出端都要對(duì)屏幕編輯緩沖區(qū)進(jìn)行訪問,其中CPU要完成對(duì)RAM的刷新,即“寫”RAM;輸出端僅需讀RAM。也就是說,對(duì)RAM的訪問可以定為“寫時(shí)禁止讀”,“讀時(shí)禁止寫”。讓它們共用數(shù)據(jù)總線DB和地址總線AB,而通過控制CPU和行場(chǎng)計(jì)數(shù)器的地址鎖存器的使能端E,來分時(shí)使用??梢?這兩組地址鎖存緩沖器的使能端E是互斥的,可以僅用90C32的一根PI端口I/O線來作一個(gè)“單刀雙擲開關(guān)”,由CPU通過控制這根I/O線來實(shí)現(xiàn)總線的分時(shí)使用。所以在電路設(shè)計(jì)中,RAM的片選端CS直接接地,寫使能端WR與CPU的WR相連,而讀使能端OE與行/場(chǎng)計(jì)數(shù)器的地址鎖存器的使能端E相連。當(dāng)CPU要對(duì)屏幕編輯緩沖區(qū)寫時(shí),選通它的地址鎖存器的使能端E,同時(shí)行場(chǎng)計(jì)數(shù)器的地址鎖存器被禁止,RAM的讀使能端也被禁止,即RAM處于“只寫”狀態(tài)。反之,當(dāng)CPU不需要對(duì)RAM刷新時(shí),選通行/場(chǎng)計(jì)數(shù)器的地址鎖存器的使能端E,同時(shí)RAM的讀使能也被選通,RAM處于“讀”狀態(tài),并且禁止寫操作。用這種“存儲(chǔ)器雙總線技術(shù)”,避免了對(duì)屏幕編輯緩沖區(qū)的沖突訪問,從而保證數(shù)據(jù)的完整性,得到穩(wěn)定、正確的疊加視頻圖像。

            CPU 90C32的典型擴(kuò)展電路包括程序存儲(chǔ)區(qū)的擴(kuò)展、數(shù)據(jù)存儲(chǔ)區(qū)的擴(kuò)展、時(shí)鐘電路和晶振電路的擴(kuò)展??紤]到項(xiàng)目需求并保留一定的擴(kuò)充余地,存儲(chǔ)器ROM選用27256芯片,RAM選用61256芯片。其中除RAM(屏幕編輯緩沖區(qū))為臨界區(qū),需要特殊設(shè)計(jì)以外,其它電路與通用的單片機(jī)擴(kuò)展電路完全相同,在此不另做介紹。

            2.4 按鍵譯碼電路

            本項(xiàng)目中,用戶在人機(jī)交互選擇疊加光標(biāo)的形狀與大小時(shí),僅需要四個(gè)按鍵,因此不必使用功能強(qiáng)大的8279芯片,直接擴(kuò)展90C32即可。四個(gè)按鍵經(jīng)過譯碼,送到90C32的P1端口,這個(gè)譯碼邏輯非常簡(jiǎn)單,同樣用GAL實(shí)現(xiàn),邏輯表達(dá)式從略。在實(shí)際使用中,用戶選擇一次光標(biāo)的大小與形狀之后,總會(huì)穩(wěn)定一段時(shí)間去進(jìn)行其主要工作,所以操作按鍵的時(shí)間對(duì)于整個(gè)系統(tǒng)的工作時(shí)間而言是很短的。CPU對(duì)按鍵的響應(yīng)采用中斷方式,這可以比輪詢方式大大減少對(duì)CPU處理器資源的占用。在按鍵電路中,一共占用P1端口2根I/O線,AO、A1是譯碼后的按鍵地址(或代碼);另有INT是檢測(cè)是否有按鍵被按下的中斷信號(hào)線,它與90C32的外接中斷輸入端通用工業(yè)視頻圖像疊加的設(shè)計(jì)與實(shí)現(xiàn)相連接。通常INT為高電平,若有按鍵被按下,INT為低電平,CPU可響應(yīng)中斷。

            按鍵電路的設(shè)計(jì),也選擇簡(jiǎn)單、典型而可靠的通用電路實(shí)現(xiàn)。目前,按鍵是利用機(jī)械觸點(diǎn)的合與斷來作用的,當(dāng)電信號(hào)通過按鍵時(shí),在閉合及斷開的瞬間均有抖動(dòng)過程,會(huì)出現(xiàn)一系列的負(fù)脈沖,持續(xù)時(shí)間一般為5~10ms。按鍵的穩(wěn)定閉合期,由操作人員的按鍵動(dòng)作所決定,一般為十分之幾秒至幾秒時(shí)間。為了保證CPU對(duì)按鍵的一次閉合,僅做一次鍵輸入處理,必須去除抖動(dòng)影響。通常去抖影響的措施有硬、軟件兩種,本項(xiàng)目用兩重 去抖來提高可靠性:硬件設(shè)計(jì)中,為每個(gè)按鍵在輸入端加一個(gè)一端接地的電容,濾去毛刺脈沖;軟件設(shè)計(jì)中,有按鍵去抖過程,具體思想在軟件設(shè)計(jì)中詳細(xì)講述。

          通用工業(yè)視頻圖像疊加的設(shè)計(jì)與實(shí)現(xiàn)

           ?。?軟件實(shí)現(xiàn)

            由于本項(xiàng)目中的難點(diǎn)工作均用硬件實(shí)現(xiàn),所以大大減少了軟件設(shè)計(jì)工作量。軟件主要實(shí)現(xiàn)系統(tǒng)初始化和中斷處理過程,其流程圖如圖7所示。

            主要過程的設(shè)計(jì)思想如下所述。

            3.1 系統(tǒng)初始化

            初始化參數(shù),如代表光標(biāo)大小的RDS、代表光標(biāo)形狀的SHAPE等等;

            初始化監(jiān)視器的屏幕:清零屏幕編輯緩沖區(qū)、疊加十字光標(biāo)和圓形光標(biāo);

            開中斷,使CPU處于可接收外部中斷信號(hào)的狀態(tài)。

            3.2 中斷處理過程

            首先打開在CPU響應(yīng)中斷時(shí)關(guān)閉的中斷,然后調(diào)用按鍵去抖過程,確認(rèn)有合法按鍵輸入后取出按鍵代碼,刷新屏幕編輯緩沖區(qū),并調(diào)用按鍵響應(yīng)過程。

            3.3 按鍵響應(yīng)過程

            四個(gè)子程序分別對(duì)應(yīng)于四個(gè)按鍵的功能:

            KEY0:將現(xiàn)在屏幕上的光標(biāo)尺寸放大一個(gè)單位;

            KEY1:將現(xiàn)在屏幕上的光標(biāo)尺寸縮小一個(gè)單位;

            KEY2:改變現(xiàn)在屏幕上的光標(biāo)形狀,依次重復(fù)按此鍵,光標(biāo)的形狀依次變?yōu)閳A形、方形、六邊形;

            KEY3:同時(shí)疊加所有不同大小的圓形光標(biāo),這是考慮到在實(shí)際應(yīng)用中,圓形光標(biāo)的使用頻率較其它形狀更高而特設(shè)的。

            3.4 按鍵去抖過程

            在檢測(cè)到有且僅有一個(gè)鍵被按下時(shí),記錄此時(shí)閉合的按鍵的代碼,然后執(zhí)行一個(gè)延時(shí)過程,如延時(shí)10ms;之后,再判斷是否仍有按鍵閉合。若有,檢測(cè)它的代碼與方才記錄的代碼是否一致,只有二者一致時(shí),才認(rèn)為確實(shí)有按鍵閉合,進(jìn)行按鍵響應(yīng)處理。

            此項(xiàng)目已投入實(shí)際生產(chǎn),運(yùn)行結(jié)果令研制人員和客戶滿意,認(rèn)為它:a)原理簡(jiǎn)單,功能齊全,性能可靠,成本低廉;b)可擴(kuò)充性強(qiáng),只需作少許改動(dòng),即可適應(yīng)用戶的更高要求:

           ?。ǎ保┤粢筮M(jìn)一步提高圖像疊加的精確度,可選擇更高頻的晶振作為行計(jì)數(shù)器的輸入脈沖,必要時(shí)對(duì)行計(jì)數(shù)器電路加以擴(kuò)展;同時(shí)在軟件的地址處理上略加改動(dòng)即可。這相當(dāng)于將像素點(diǎn)細(xì)化,因而疊加后的圖像清晰度更高。

           ?。ǎ玻┤粢髮?duì)疊加的圖形加以擴(kuò)充或改動(dòng),可對(duì)相應(yīng)的軟件“按鍵處理過程”做調(diào)整。若需要增加按鍵的數(shù)目,還要對(duì)硬件中的按鍵譯碼電路進(jìn)行擴(kuò)展。由于在硬件設(shè)計(jì)中已考慮到未來的擴(kuò)展,目前的設(shè)計(jì)僅需作很少改動(dòng),并且可最大限度地減少占用CPU90C32的端口線。如4個(gè)按鍵需要3根I/O線,即2線地址線,1根中斷檢測(cè)線;若擴(kuò)展為8個(gè)按鍵,只需增加1根地址線,并重寫譯碼GAL的邏輯即可。以此類推,若擴(kuò)展N個(gè)按鍵,需要n根I/O線,其中,

            n=[logN]+1+1

            但是,由于GAL芯片本身結(jié)構(gòu)的限制,建議在按鍵超過8個(gè)時(shí),選用8279擴(kuò)展鍵盤,以更好地滿足用戶要求。

           ?。ǎ常┤粢竽墀B加更多類的信號(hào),如增加要求“可選擇疊加黑電平或白電平”,可對(duì)硬件設(shè)計(jì)的疊加電路及其控制部分加以修改。MAXIM公司提供的芯片MAX441是4信道視頻多路開關(guān),MAX440是8信道視頻多路開關(guān),它們的單位增益帶寬更高,其他主要參數(shù)與MAX442基本一致。詳細(xì)介紹請(qǐng)查閱《MAXIM DATABOOK1998》。

           ?。ǎ矗┤粢獙?duì)視頻信號(hào)進(jìn)行其它加工、處理,也可由本文所述的原理與實(shí)現(xiàn)得到參考和啟發(fā)。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();