基于雙內存的圖形采集卡的設計
摘要:提出一種新的圖像采集卡的設計方案,它采用兩片存儲器交替使用,使得圖像采集和計算機讀取圖像數據可同時(shí)進(jìn)行,提高了圖像質(zhì)量。分析了一般圖像采集卡的缺陷,給出了新的圖像采集卡的設計思想和原理。
本文引用地址:http://dyxdggzs.com/article/242279.htm關(guān)鍵詞:圖象采集 上內存 計算機
數字圖像處理技術(shù)在許多領(lǐng)域得到愈來(lái)愈廣泛的應用。微機圖像處理系統以其使用靈活、性能價(jià)格比高而在醫療、氣象、工業(yè)視覺(jué)等領(lǐng)域獲得廣泛應用。在工業(yè)控制中一般采用攝像頭得到現場(chǎng)的圖像,而現在攝像頭輸出的信號多為模擬信號。為了實(shí)現攝像頭和計算機的接口,必須采用圖像采集卡。
但是現在市面上的圖像采集卡往往數據采集和數據讀取不能同時(shí)進(jìn)行,這給編程和實(shí)時(shí)控制帶來(lái)很大的麻煩。本文提供的圖像卡解決了這個(gè)問(wèn)題,它采用兩片存儲器,計算機讀取的內存和圖像采集所用的內存交替使用,使得圖像采集與計算機讀取數據可同時(shí)進(jìn)行。
本文先分析了一般圖像采集卡的缺陷,然后給出了新的圖像采集卡的原理和設計思想。由于本圖像采集卡基于全電視信號,所以有必要先來(lái)簡(jiǎn)要地介紹黑白全電視信號。
1 全電視信號及其原理
黑白CCD攝像頭經(jīng)過(guò)光電轉換將圖像(光信號)轉變?yōu)殡娦盘?,其最終輸出信號就是黑白全電視信號。它主要由圖像信號(視頻信號)、復合消隱脈沖和同步脈沖組成。
電視信號其極性可分為正極性和負極圖像信號。若圖像最亮時(shí),對應其信號電壓的幅度最大,則該信號稱(chēng)為正極性信號;反之為負極性信號。這里采用負極性信號。將圖像信號送到視頻放大器中進(jìn)行放大、處理,同時(shí)加入同步機送來(lái)的行、場(chǎng)同步脈沖和行、場(chǎng)消隱脈沖,就形成了全電視信號。
消隱脈沖主要用于消除行場(chǎng)掃描逆程時(shí)產(chǎn)生的回掃線(xiàn),同步脈沖保證收端與發(fā)端的掃描點(diǎn)應有一一對應的幾何位置。
由于場(chǎng)同步期間沒(méi)有行同步信號,這會(huì )影響在整個(gè)掃描過(guò)程中的嚴格同步。為了解決整個(gè)問(wèn)題,采取在場(chǎng)同步脈沖中開(kāi)槽的方法用以替代同步信號。場(chǎng)同步前后兩倍行頻的脈沖稱(chēng)為均衡脈沖。
電視標準規定,全電視信號的幅度比例是:若以峰值白電平到同步電平作為100%,則峰值白電平到消隱黑電平的值為75%,峰值白電平為0%,圖像信號介于白與黑電平之間。
信號如圖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)消隱信號占25H+1行消隱信號,即等于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。
在全電視信號中,把奇數場(chǎng)同步信號的前沿作為一場(chǎng)的起點(diǎn),第1、2、3行是場(chǎng)同步信號,第4、5、6行是后均衡脈沖,7~22行還是場(chǎng)消隱信號,該場(chǎng)消隱信號從前場(chǎng)623行開(kāi)始,因此,整個(gè)消隱信號是25行加一個(gè)行消隱的時(shí)間。圖像信號從23行出現到309.5行止,共287.5行,這就是第一場(chǎng)或稱(chēng)奇數場(chǎng)。從309.5行開(kāi)始又是下一場(chǎng)的場(chǎng)消隱信號及前均衡脈沖,在312.5行出現下一個(gè)偶數場(chǎng)的同步脈沖,奇數到此結束,偶數場(chǎng)開(kāi)始。一個(gè)奇數場(chǎng)加上一個(gè)偶數場(chǎng)合在一起稱(chēng)為一幀。
2 一般圖像采集卡的原理
一般圖像采集卡的結構如圖2所示。
首先對視頻信號進(jìn)行預處理和同步分離。預處理主要是進(jìn)行放大、亮度、對比度調節、信號限幅(保護A/D)。同步分離電路主要是分離出信號中的行同步和場(chǎng)同步信號,供采集卡的時(shí)序電路使用。然后由高速的A/D轉換器把處理后的視頻信號轉化為數字信號,在時(shí)序電路的控制下寫(xiě)入存儲器。
但這樣的采集卡有一個(gè)問(wèn)題,數據采集和數據讀取不能同時(shí)進(jìn)行。不妨設奇數場(chǎng)掃描期間,每采樣一次就將A/D轉換的結果存入存儲器,在偶數場(chǎng)期間,計算機將存儲器中的數據讀入計算機。但是,由于在計算機讀存儲器時(shí),A/D轉換的結果并不能同時(shí)寫(xiě)入該片存儲器,即存儲器不能同時(shí)進(jìn)行讀和寫(xiě)兩種操作,所以會(huì )丟掉偶數場(chǎng)的信息。
3 基于雙內存的圖像采集卡的設計
為了解決這個(gè)問(wèn)題,這里用了兩片存儲器進(jìn)行交替工作。當給其中一片存儲器寫(xiě)數據時(shí),計算機讀取另一片存儲器的數據,反之亦然。這種采集卡的框圖如圖3所示。下面對各部分電路進(jìn)行介紹。
(1)預處理電路:實(shí)現把標準的全電視信號轉化為0~5V模擬信號,并具有亮度調節、對比度調節等功能。放大器用的運放采用寬帶運放LM318。
(2)同步分離電路:為了將數字化后的圖像信號存入相應的幀存儲器,必須獲得行同步信號和場(chǎng)同步信號。由于同步信號的幅度最大,占全電視信號幅度的76%~100%的電平范圍,可根據這一特征采用幅度分離法先將復合同步信號分離出來(lái)。又因為場(chǎng)同步脈沖的寬度為160μs,遠大于行同步脈沖的寬度4.7μs,這樣又可在已分離出的行、場(chǎng)復合同步信號中 進(jìn)一步分離出行同步和場(chǎng)同步出來(lái)。
(3)A/D轉換器:圖像采集卡中的A/D轉換器選用8bit高速視頻轉換芯片CA3318CE完成。它的最高轉換速率可達15MHz。由前面的黑白全電視信號的分析可知,每一行圖像約52.2μs,本卡在電視信號每行的行正程期間需采樣512點(diǎn),采樣時(shí)鐘約為10MHz.因此選用CA3318CE 完全符合要求,只需將其采樣率選在10MHz即可。
(4)控制電路:控制電路的核心器件是一片通用邏輯門(mén)陣列GAL20V8。該電路產(chǎn)生幀存儲器的讀信號MEMR1、MEMR2和寫(xiě)信號MEMW1、MEMW2以及圖像采集卡所需的工作狀態(tài)信號PC/LOCAL和?。校茫蹋希茫粒?,電路原理如圖4所示。U33是一片GAL20V8,它工作在簡(jiǎn)單模式,管腳18~22配置成輸出,其它配置成輸入。1~6管腳接PC機的地址線(xiàn)PC_A4~PC_A9,7~10管腳接PC機的地址線(xiàn)PC_A16~PC_A19,管腳11接系統時(shí)鐘CLK,管腳13接PC機的PC_IOW信號,管腳14接PC/LOCAL信號,管腳15、16分別接行消隱和場(chǎng)消隱指示信號H_MR和V_MR,管腳17接PC機的讀存儲器信號PC_MEMR,管腳18、19輸出幀存儲器RAM1的寫(xiě)信號MEMW2和讀信號MEMR2,20、21腳輸出存儲器RAM1的寫(xiě)信號MEMW1和讀信號MEMR1,22腳輸出信號PC/LOCAL_CLK作為觸發(fā)器OP6B的時(shí)鐘,23腳接PC機的PC_AEN信號。
控制電路還要產(chǎn)生PC/LOCAL信號。該信號必須由PC機控制。在這里,PC/LOCAL作為PC機I/O口的最低一位,口地址是220H~22FH,PC機只需向220H~22FH任意地址寫(xiě)1或0即可以將PC/LOCAL設置為1或0。I/O口地址的譯碼由U33完成,可以用ABEL語(yǔ)言描述如下:
IOCS=?。ǎ。校茫撸粒矗Γ校茫撸粒担Γ。校茫撸粒叮Α牐校茫撸粒罚Γ。校茫撸粒福Γ校茫撸粒梗Γ。校茫撸粒牛危?/p>
PC/LOCAL_CLK=IOCS#PC_IOW
IOCS是端口的選通信號,低電平有效。當PC機的地址線(xiàn)PC_A9~PC_A4為100010時(shí),PC_AEN為低電平PC_AEN為高電平時(shí)指示PC機處于DMA狀態(tài)時(shí),IOCS有效。PC/LOCAL_CLK由IOCS和PC機的I/O口寫(xiě)地址PC_IOW相或產(chǎn)生,當端口未選中時(shí),它一直是高電平;當端口被選中后,由PC_IOW產(chǎn)生一個(gè)上升沿。PC/LOCAL_CLK的上升沿將觸發(fā)OP6B,將PC機的最低一位數據線(xiàn)PC_D0鎖存,產(chǎn)生PCLOCAL和?。校茫蹋希茫粒?。
當幀存儲器的地址由PC機產(chǎn)生時(shí),需要譯碼邏輯。PC機低于1M的內存空間分配如表1所示。為了不發(fā)生地址沖突,從表中可知,可以把D0000H~DFFFFH空間作為幀存儲器的映射地址。這部分譯碼工作也由U33完成,用ABEL語(yǔ)言描述:
表1 微機低端內存空間分配
內存區域 | 內 容 |
A 0000~AFFFF | EGA顯示內存 |
B 0000~B7FFF | 單色顯示內存 |
B 8000~BFFFF | 彩色顯示內存 |
C 0000~C7FFF | 圖形BIOS |
C 8000~EFFFF | 無(wú) |
F 0000~FFFFF | 系統BIOS |
MEMCS=?。ǎ校茫撸粒保梗Γ校茫撸粒保福Γ。校茫撸粒保罚Γ校茫撸粒保叮?/p>
由式子可知當PC_A19~PC_A16為1101時(shí),MEMCS有效低電平。
幀存儲器的讀信號MEMR1、MEMR2和寫(xiě)信號MEMW1、MEMW2也由控制電路產(chǎn)生。當PC/LOCAL為0時(shí),PC機讀幀存RAM1,同時(shí)AD轉換的結果送入幀存RAM2;反之亦然。讀信號由PC機的外存儲器讀信號PC_MEMR和譯碼信號MEMCS產(chǎn)生;寫(xiě)信號由系統時(shí)鐘CLK、行、場(chǎng)消隱指示信號H_MR、V_MR生成。當H_MR或V_MR任意一個(gè)為高電平時(shí),表示現在處于消隱狀態(tài);只有當H_MR和V_MR都為低電平時(shí),表示處于場(chǎng)正程和行正程,A/D轉換的結果才寫(xiě)入幀存儲器。
(5)存儲器:為了實(shí)時(shí)采集和顯示,數字圖像采集卡中設置了存儲器。一般對圖像幀存儲器有如下要求:A 高速存取,B 存儲量大,C 非同步輸入輸出的存取。存儲一幀或一場(chǎng)電視信號必須的存儲容量可用下式計算:
存儲容量=1幀(或1場(chǎng))的掃描線(xiàn)數×1行的取樣數×量化bit數
在本圖像采集卡中,一場(chǎng)采集的圖像為512×256點(diǎn),需要存儲容量為128K×8bit的存儲器。在前面硬件框圖中曾經(jīng)討論過(guò),需要兩片幀存儲器交替工作,也就是需要設置兩片128K×8bit的幀存儲器,分別用來(lái)存放奇數場(chǎng)和偶數場(chǎng)的數據信息,因而選用兩片高速靜態(tài)存儲芯片SRAM 628128。
兩片幀存儲器的讀信號MEMR1和MEMR2,寫(xiě)信號MEMW1和MEMW2均由控制電路產(chǎn)生。其中讀信號與PC機的讀存儲器信號PC_MEMR有關(guān),而寫(xiě)信號與圖像采集卡的采樣時(shí)鐘?。茫蹋擞嘘P(guān)。幀存儲器的八位數據線(xiàn)D0~D7通過(guò)接口電路與PC機的數據線(xiàn)PC_D0~PC_D7相連。
上面提到,把幀存儲器映射到D0000H~DFFFFH,這樣尋址范圍只有64K,而一場(chǎng)的圖像數據有128K,故采用地址分段實(shí)現,這可通過(guò)對幀存地址線(xiàn)A16進(jìn)行I/O操作實(shí)現。
(6)時(shí)序發(fā)生電路:主要用來(lái)產(chǎn)生圖像采集卡所需的幀存儲器的掃描地址信號和實(shí)現同步并避開(kāi)行逆程的消隱信號。
(7)地址切換電路:該電路用于切換時(shí)序發(fā)生電路產(chǎn)生的掃描地址信號和PC機的地址信號。需要用二選一的數據選擇器來(lái)切換PC機的地址信號和采集卡上的地址信號。通用的集成電路中只找到四位的數據選擇器,若選用它則34條地址線(xiàn)需要九片,那將占用了太多采集卡的空間,故而采用GAL器件來(lái)實(shí)現。每片GAL16V8可實(shí)現8位數據選擇,而GAL20V8可實(shí)現10位數據選擇,從而34條地址線(xiàn)僅需3片GAL16V8和1片GAL20V8。
該圖像采集卡已制作完成,經(jīng)測試性能完全達到設計要求。該圖像采集卡可用于DOS操作系統、也可用于Windows操作系統。由于采用了可編程邏輯器件大大減少了芯片數目。
采用攝像頭加采集卡作為傳感器,可解決許多常規傳感器無(wú)法實(shí)現的場(chǎng)合。如在鑄造廠(chǎng)的自動(dòng)澆注過(guò)程中,為了測量砂模中鐵水液位的高度,常規液位傳感器難以承受1400°C的高溫。即使有這樣的傳感器,因為一個(gè)砂模澆完以后,又有新的砂模傳送過(guò)來(lái),不可能在每個(gè)砂模都插一個(gè)液位傳感器。而采用攝像頭拍攝砂模澆口杯的圖像,由計算機進(jìn)行圖像處理,就能夠計算出砂模澆口杯內鐵水液位高度,解決了自動(dòng)澆注系統中的實(shí)時(shí)控制問(wèn)題。
評論