新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于雙內(nèi)存的圖形采集卡的設(shè)計(jì)

基于雙內(nèi)存的圖形采集卡的設(shè)計(jì)

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

摘要:提出一種新的圖像采集卡的設(shè)計(jì)方案,它采用兩片存儲(chǔ)器交替使用,使得圖像采集和計(jì)算機(jī)讀取圖像數(shù)據(jù)可同時(shí)進(jìn)行,提高了圖像質(zhì)量。分析了一般圖像采集卡的缺陷,給出了新的圖像采集卡的設(shè)計(jì)思想和原理。

本文引用地址:http://m.butianyuan.cn/article/242279.htm

關(guān)鍵詞:圖象采集 上內(nèi)存 計(jì)算機(jī)

數(shù)字圖像處理技術(shù)在許多領(lǐng)域得到愈來愈廣泛的應(yīng)用。微機(jī)圖像處理系統(tǒng)以其使用靈活、性能價(jià)格比高而在醫(yī)療、氣象、工業(yè)視覺等領(lǐng)域獲得廣泛應(yīng)用。在中一般采用攝像頭得到現(xiàn)場(chǎng)的圖像,而現(xiàn)在攝像頭輸出的信號(hào)多為模擬信號(hào)。為了實(shí)現(xiàn)攝像頭和計(jì)算機(jī)的接口,必須采用圖像采集卡。

但是現(xiàn)在市面上的圖像采集卡往往數(shù)據(jù)采集和數(shù)據(jù)讀取不能同時(shí)進(jìn)行,這給編程和實(shí)時(shí)控制帶來很大的麻煩。本文提供的圖像卡解決了這個(gè)問題,它采用兩片存儲(chǔ)器,計(jì)算機(jī)讀取的內(nèi)存和圖像采集所用的內(nèi)存交替使用,使得圖像采集與計(jì)算機(jī)讀取數(shù)據(jù)可同時(shí)進(jìn)行。

本文先分析了一般圖像采集卡的缺陷,然后給出了新的圖像采集卡的原理和設(shè)計(jì)思想。由于本圖像采集卡基于全電視信號(hào),所以有必要先來簡(jiǎn)要地介紹黑白全電視信號(hào)。

1 全電視信號(hào)及其原理

黑白CCD攝像頭經(jīng)過光電轉(zhuǎn)換將圖像(光信號(hào))轉(zhuǎn)變?yōu)殡娦盘?hào),其最終輸出信號(hào)就是黑白全電視信號(hào)。它主要由圖像信號(hào)(視頻信號(hào))、復(fù)合消隱脈沖和同步脈沖組成。

電視信號(hào)其極性可分為正極性和負(fù)極圖像信號(hào)。若圖像最亮?xí)r,對(duì)應(yīng)其信號(hào)電壓的幅度最大,則該信號(hào)稱為正極性信號(hào);反之為負(fù)極性信號(hào)。這里采用負(fù)極性信號(hào)。將圖像信號(hào)送到視頻放大器中進(jìn)行放大、處理,同時(shí)加入同步機(jī)送來的行、場(chǎng)同步脈沖和行、場(chǎng)消隱脈沖,就形成了全電視信號(hào)。

消隱脈沖主要用于消除行場(chǎng)掃描逆程時(shí)產(chǎn)生的回掃線,同步脈沖保證收端與發(fā)端的掃描點(diǎn)應(yīng)有一一對(duì)應(yīng)的幾何位置。

由于場(chǎng)同步期間沒有行同步信號(hào),這會(huì)影響在整個(gè)掃描過程中的嚴(yán)格同步。為了解決整個(gè)問題,采取在場(chǎng)同步脈沖中開槽的方法用以替代同步信號(hào)。場(chǎng)同步前后兩倍行頻的脈沖稱為均衡脈沖。

電視標(biāo)準(zhǔn)規(guī)定,全電視信號(hào)的幅度比例是:若以峰值白電平到同步電平作為100%,則峰值白電平到消隱黑電平的值為75%,峰值白電平為0%,圖像信號(hào)介于白與黑電平之間。

信號(hào)如圖1所示,從時(shí)間上看,每秒傳送25幀圖像,每幀625行;隔行掃描時(shí)每秒50場(chǎng),每場(chǎng)312.5行。每一行的周期為64μs其中圖像占52.2μs,行消隱占11.8μs。行同步脈沖為4.7μs,它比行消隱延遲1.3μs。每一場(chǎng)的周期為312.5H=20ms,其中場(chǎng)消隱信號(hào)占25H+1行消隱信號(hào),即等于1600μs+11.8μs。均衡脈沖的寬度為2.35μs,周期為半行,共12個(gè)前6個(gè),后6個(gè)。場(chǎng)同步脈沖的寬度為2.5H的時(shí)間即160μs。場(chǎng)同步脈沖有6個(gè)槽脈沖,其寬度為4.7μs。

在全電視信號(hào)中,把奇數(shù)場(chǎng)同步信號(hào)的前沿作為一場(chǎng)的起點(diǎn),第1、2、3行是場(chǎng)同步信號(hào),第4、5、6行是后均衡脈沖,7~22行還是場(chǎng)消隱信號(hào),該場(chǎng)消隱信號(hào)從前場(chǎng)623行開始,因此,整個(gè)消隱信號(hào)是25行加一個(gè)行消隱的時(shí)間。圖像信號(hào)從23行出現(xiàn)到309.5行止,共287.5行,這就是第一場(chǎng)或稱奇數(shù)場(chǎng)。從309.5行開始又是下一場(chǎng)的場(chǎng)消隱信號(hào)及前均衡脈沖,在312.5行出現(xiàn)下一個(gè)偶數(shù)場(chǎng)的同步脈沖,奇數(shù)到此結(jié)束,偶數(shù)場(chǎng)開始。一個(gè)奇數(shù)場(chǎng)加上一個(gè)偶數(shù)場(chǎng)合在一起稱為一幀。

2 一般圖像采集卡的原理

一般圖像采集卡的結(jié)構(gòu)如圖2所示。

首先對(duì)視頻信號(hào)進(jìn)行預(yù)處理和同步分離。預(yù)處理主要是進(jìn)行放大、亮度、對(duì)比度調(diào)節(jié)、信號(hào)限幅(保護(hù)A/D)。同步分離電路主要是分離出信號(hào)中的行同步和場(chǎng)同步信號(hào),供采集卡的時(shí)序電路使用。然后由高速的A/D轉(zhuǎn)換器把處理后的視頻信號(hào)轉(zhuǎn)化為數(shù)字信號(hào),在時(shí)序電路的控制下寫入存儲(chǔ)器。

但這樣的采集卡有一個(gè)問題,數(shù)據(jù)采集和數(shù)據(jù)讀取不能同時(shí)進(jìn)行。不妨設(shè)奇數(shù)場(chǎng)掃描期間,每采樣一次就將A/D轉(zhuǎn)換的結(jié)果存入存儲(chǔ)器,在偶數(shù)場(chǎng)期間,計(jì)算機(jī)將存儲(chǔ)器中的數(shù)據(jù)讀入計(jì)算機(jī)。但是,由于在計(jì)算機(jī)讀存儲(chǔ)器時(shí),A/D轉(zhuǎn)換的結(jié)果并不能同時(shí)寫入該片存儲(chǔ)器,即存儲(chǔ)器不能同時(shí)進(jìn)行讀和寫兩種操作,所以會(huì)丟掉偶數(shù)場(chǎng)的信息。

3 基于雙內(nèi)存的圖像采集卡的設(shè)計(jì)

為了解決這個(gè)問題,這里用了兩片存儲(chǔ)器進(jìn)行交替工作。當(dāng)給其中一片存儲(chǔ)器寫數(shù)據(jù)時(shí),計(jì)算機(jī)讀取另一片存儲(chǔ)器的數(shù)據(jù),反之亦然。這種采集卡的框圖如圖3所示。下面對(duì)各部分電路進(jìn)行介紹。

(1)預(yù)處理電路:實(shí)現(xiàn)把標(biāo)準(zhǔn)的全電視信號(hào)轉(zhuǎn)化為0~5V模擬信號(hào),并具有亮度調(diào)節(jié)、對(duì)比度調(diào)節(jié)等功能。放大器用的運(yùn)放采用寬帶運(yùn)放LM318。

(2)同步分離電路:為了將數(shù)字化后的圖像信號(hào)存入相應(yīng)的幀存儲(chǔ)器,必須獲得行同步信號(hào)和場(chǎng)同步信號(hào)。由于同步信號(hào)的幅度最大,占全電視信號(hào)幅度的76%~100%的電平范圍,可根據(jù)這一特征采用幅度分離法先將復(fù)合同步信號(hào)分離出來。又因?yàn)閳?chǎng)同步脈沖的寬度為160μs,遠(yuǎn)大于行同步脈沖的寬度4.7μs,這樣又可在已分離出的行、場(chǎng)復(fù)合同步信號(hào)中 進(jìn)一步分離出行同步和場(chǎng)同步出來。

(3)A/D轉(zhuǎn)換器:圖像采集卡中的A/D轉(zhuǎn)換器選用8bit高速視頻轉(zhuǎn)換芯片CA3318CE完成。它的最高轉(zhuǎn)換速率可達(dá)15MHz。由前面的黑白全電視信號(hào)的分析可知,每一行圖像約52.2μs,本卡在電視信號(hào)每行的行正程期間需采樣512點(diǎn),采樣時(shí)鐘約為10MHz.因此選用CA3318CE 完全符合要求,只需將其采樣率選在10MHz即可。

(4)控制電路:控制電路的核心器件是一片通用邏輯門陣列GAL20V8。該電路產(chǎn)生幀存儲(chǔ)器的讀信號(hào)MEMR1、MEMR2和寫信號(hào)MEMW1、MEMW2以及圖像采集卡所需的工作狀態(tài)信號(hào)PC/LOCAL和?。校茫蹋希茫粒?,電路原理如圖4所示。U33是一片GAL20V8,它工作在簡(jiǎn)單模式,管腳18~22配置成輸出,其它配置成輸入。1~6管腳接PC機(jī)的地址線PC_A4~PC_A9,7~10管腳接PC機(jī)的地址線PC_A16~PC_A19,管腳11接系統(tǒng)時(shí)鐘CLK,管腳13接PC機(jī)的PC_IOW信號(hào),管腳14接PC/LOCAL信號(hào),管腳15、16分別接行消隱和場(chǎng)消隱指示信號(hào)H_MR和V_MR,管腳17接PC機(jī)的讀存儲(chǔ)器信號(hào)PC_MEMR,管腳18、19輸出幀存儲(chǔ)器RAM1的寫信號(hào)MEMW2和讀信號(hào)MEMR2,20、21腳輸出存儲(chǔ)器RAM1的寫信號(hào)MEMW1和讀信號(hào)MEMR1,22腳輸出信號(hào)PC/LOCAL_CLK作為觸發(fā)器OP6B的時(shí)鐘,23腳接PC機(jī)的PC_AEN信號(hào)。

控制電路還要產(chǎn)生PC/LOCAL信號(hào)。該信號(hào)必須由PC機(jī)控制。在這里,PC/LOCAL作為PC機(jī)I/O口的最低一位,口地址是220H~22FH,PC機(jī)只需向220H~22FH任意地址寫1或0即可以將PC/LOCAL設(shè)置為1或0。I/O口地址的譯碼由U33完成,可以用ABEL語言描述如下:

IOCS=?。ǎ。校茫撸粒矗Γ校茫撸粒担Γ。校茫撸粒叮Α牐校茫撸粒罚Γ。校茫撸粒福Γ校茫撸粒梗Γ。校茫撸粒牛危?/p>

PC/LOCAL_CLK=IOCS#PC_IOW

IOCS是端口的選通信號(hào),低電平有效。當(dāng)PC機(jī)的地址線PC_A9~PC_A4為100010時(shí),PC_AEN為低電平PC_AEN為高電平時(shí)指示PC機(jī)處于DMA狀態(tài)時(shí),IOCS有效。PC/LOCAL_CLK由IOCS和PC機(jī)的I/O口寫地址PC_IOW相或產(chǎn)生,當(dāng)端口未選中時(shí),它一直是高電平;當(dāng)端口被選中后,由PC_IOW產(chǎn)生一個(gè)上升沿。PC/LOCAL_CLK的上升沿將觸發(fā)OP6B,將PC機(jī)的最低一位數(shù)據(jù)線PC_D0鎖存,產(chǎn)生PCLOCAL和?。校茫蹋希茫粒獭?/p>

當(dāng)幀存儲(chǔ)器的地址由PC機(jī)產(chǎn)生時(shí),需要譯碼邏輯。PC機(jī)低于1M的內(nèi)存空間分配如表1所示。為了不發(fā)生地址沖突,從表中可知,可以把D0000H~DFFFFH空間作為幀存儲(chǔ)器的映射地址。這部分譯碼工作也由U33完成,用ABEL語言描述:

表1 微機(jī)低端內(nèi)存空間分配

內(nèi)存區(qū)域內(nèi) 容
A 0000~AFFFFEGA顯示內(nèi)存
B 0000~B7FFF單色顯示內(nèi)存
B 8000~BFFFF彩色顯示內(nèi)存
C 0000~C7FFF圖形BIOS
C 8000~EFFFF
F 0000~FFFFF系統(tǒng)BIOS

MEMCS=?。ǎ校茫撸粒保梗Γ校茫撸粒保福Γ。校茫撸粒保罚Γ校茫撸粒保叮?/p>

由式子可知當(dāng)PC_A19~PC_A16為1101時(shí),MEMCS有效低電平。

幀存儲(chǔ)器的讀信號(hào)MEMR1、MEMR2和寫信號(hào)MEMW1、MEMW2也由控制電路產(chǎn)生。當(dāng)PC/LOCAL為0時(shí),PC機(jī)讀幀存RAM1,同時(shí)AD轉(zhuǎn)換的結(jié)果送入幀存RAM2;反之亦然。讀信號(hào)由PC機(jī)的外存儲(chǔ)器讀信號(hào)PC_MEMR和譯碼信號(hào)MEMCS產(chǎn)生;寫信號(hào)由系統(tǒng)時(shí)鐘CLK、行、場(chǎng)消隱指示信號(hào)H_MR、V_MR生成。當(dāng)H_MR或V_MR任意一個(gè)為高電平時(shí),表示現(xiàn)在處于消隱狀態(tài);只有當(dāng)H_MR和V_MR都為低電平時(shí),表示處于場(chǎng)正程和行正程,A/D轉(zhuǎn)換的結(jié)果才寫入幀存儲(chǔ)器。

(5)存儲(chǔ)器:為了實(shí)時(shí)采集和顯示,數(shù)字圖像采集卡中設(shè)置了存儲(chǔ)器。一般對(duì)圖像幀存儲(chǔ)器有如下要求:A 高速存取,B 存儲(chǔ)量大,C 非同步輸入輸出的存取。存儲(chǔ)一幀或一場(chǎng)電視信號(hào)必須的存儲(chǔ)容量可用下式計(jì)算:

存儲(chǔ)容量=1幀(或1場(chǎng))的掃描線數(shù)×1行的取樣數(shù)×量化bit數(shù)

在本圖像采集卡中,一場(chǎng)采集的圖像為512×256點(diǎn),需要存儲(chǔ)容量為128K×8bit的存儲(chǔ)器。在前面硬件框圖中曾經(jīng)討論過,需要兩片幀存儲(chǔ)器交替工作,也就是需要設(shè)置兩片128K×8bit的幀存儲(chǔ)器,分別用來存放奇數(shù)場(chǎng)和偶數(shù)場(chǎng)的數(shù)據(jù)信息,因而選用兩片高速靜態(tài)存儲(chǔ)芯片SRAM 628128。

兩片幀存儲(chǔ)器的讀信號(hào)MEMR1和MEMR2,寫信號(hào)MEMW1和MEMW2均由控制電路產(chǎn)生。其中讀信號(hào)與PC機(jī)的讀存儲(chǔ)器信號(hào)PC_MEMR有關(guān),而寫信號(hào)與圖像采集卡的采樣時(shí)鐘?。茫蹋擞嘘P(guān)。幀存儲(chǔ)器的八位數(shù)據(jù)線D0~D7通過接口電路與PC機(jī)的數(shù)據(jù)線PC_D0~PC_D7相連。

上面提到,把幀存儲(chǔ)器映射到D0000H~DFFFFH,這樣尋址范圍只有64K,而一場(chǎng)的圖像數(shù)據(jù)有128K,故采用地址分段實(shí)現(xiàn),這可通過對(duì)幀存地址線A16進(jìn)行I/O操作實(shí)現(xiàn)。

(6)時(shí)序發(fā)生電路:主要用來產(chǎn)生圖像采集卡所需的幀存儲(chǔ)器的掃描地址信號(hào)和實(shí)現(xiàn)同步并避開行逆程的消隱信號(hào)。

(7)地址切換電路:該電路用于切換時(shí)序發(fā)生電路產(chǎn)生的掃描地址信號(hào)和PC機(jī)的地址信號(hào)。需要用二選一的數(shù)據(jù)選擇器來切換PC機(jī)的地址信號(hào)和采集卡上的地址信號(hào)。通用的集成電路中只找到四位的數(shù)據(jù)選擇器,若選用它則34條地址線需要九片,那將占用了太多采集卡的空間,故而采用GAL器件來實(shí)現(xiàn)。每片GAL16V8可實(shí)現(xiàn)8位數(shù)據(jù)選擇,而GAL20V8可實(shí)現(xiàn)10位數(shù)據(jù)選擇,從而34條地址線僅需3片GAL16V8和1片GAL20V8。

該圖像采集卡已制作完成,經(jīng)測(cè)試性能完全達(dá)到設(shè)計(jì)要求。該圖像采集卡可用于DOS操作系統(tǒng)、也可用于Windows操作系統(tǒng)。由于采用了可編程邏輯器件大大減少了芯片數(shù)目。

采用攝像頭加采集卡作為傳感器,可解決許多常規(guī)傳感器無法實(shí)現(xiàn)的場(chǎng)合。如在鑄造廠的自動(dòng)澆注過程中,為了測(cè)量砂模中鐵水液位的高度,常規(guī)液位傳感器難以承受1400°C的高溫。即使有這樣的傳感器,因?yàn)橐粋€(gè)砂模澆完以后,又有新的砂模傳送過來,不可能在每個(gè)砂模都插一個(gè)液位傳感器。而采用攝像頭拍攝砂模澆口杯的圖像,由計(jì)算機(jī)進(jìn)行圖像處理,就能夠計(jì)算出砂模澆口杯內(nèi)鐵水液位高度,解決了自動(dòng)澆注系統(tǒng)中的實(shí)時(shí)控制問題。



評(píng)論


相關(guān)推薦

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

關(guān)閉