數字圖像處理技術在許多領域得到愈來愈廣泛的應用?微機圖像處理系統以其使用靈活?性能價格比高而在醫療?氣象?工業視覺等領域獲得廣泛應用?在工業控制中一般采用攝像頭得到現場的圖像,而現在攝像頭輸出的信號多為模擬信號?為了實現攝像頭和計算機的接口,必須采用圖像采集卡?
但是現在市面上的圖像采集卡往往數據采集和數據讀取不能同時進行,這給編程和實時控制帶來很大的麻煩?本文提供的圖像卡解決了這個問題,它采用兩片存儲器,計算機讀取的內存和圖像采集所用的內存交替使用,使得圖像采集與計算機讀取數據可同時進行?
本文先分析了一般圖像采集卡的缺陷,然后給出了新的圖像采集卡的原理和設計思想?由于本圖像采集卡基于全電視信號,所以有必要先來簡要地介紹黑白全電視信號?
1 全電視信號及其原理
黑白CCD攝像頭經過光電轉換將圖像(光信號)轉變為電信號,其最終輸出信號就是黑白全電視信號?它主要由圖像信號(視頻信號)?復合消隱脈沖和同步脈沖組成?
電視信號其極性可分為正極性和負極圖像信號?若圖像最亮時,對應其信號電壓的幅度最大,則該信號稱為正極性信號;反之為負極性信號?這里采用負極性信號?將圖像信號送到視頻放大器中進行放大?處理,同時加入同步機送來的行?場同步脈沖和行?場消隱脈沖,就形成了全電視信號?
消隱脈沖主要用于消除行場掃描逆程時產生的回掃線,同步脈沖保證收端與發端的掃描點應有一一對應的幾何位置?
由于場同步期間沒有行同步信號,這會影響在整個掃描過程中的嚴格同步?為了解決整個問題,采取在場同步脈沖中開槽的方法用以替代同步信號?場同步前后兩倍行頻的脈沖稱為均衡脈沖?
電視標準規定,全電視信號的幅度比例是:若以峰值白電平到同步電平作為100%,則峰值白電平到消隱?黑 電平的值為75%,峰值白電平為0%,圖像信號介于白與黑電平之間?
信號如圖1所示,從時間上看,每秒傳送25幀圖像,每幀625行;隔行掃描時每秒50場,每場312.5行?每一行的周期為64μs?其中圖像占52.2μs,行消隱占11.8μs?行同步脈沖為4.7μs,它比行消隱延遲1.3μs?每一場的周期為312.5H=20ms,其中場消隱信號占25H+1行消隱信號,即等于1600μs+11.8μs?均衡脈沖的寬度為2.35μs,周期為半行,共12個?前6個,后6個 ?場同步脈沖的寬度為2.5H的時間?即160μs ?場同步脈沖有6個槽脈沖,其寬度為4.7μs?
在全電視信號中,把奇數場同步信號的前沿作為一場的起點,第1?2?3行是場同步信號,第4?5?6行是后均衡脈沖,7~22行還是場消隱信號,該場消隱信號從前場623行開始,因此,整個消隱信號是25行加一個行消隱的時間?圖像信號從23行出現到309.5行止,共287.5行,這就是第一場或稱奇數場?從309.5行開始又是下一場的場消隱信號及前均衡脈沖,在312.5行出現下一個偶數場的同步脈沖,奇數到此結束,偶數場開始?一個奇數場加上一個偶數場合在一起稱為一幀?
2 一般圖像采集卡的原理
一般圖像采集卡的結構如圖2所示?
首先對視頻信號進行預處理和同步分離?預處理主要是進行放大?亮度?對比度調節?信號限幅(保護A/D)?同步分離電路主要是分離出信號中的行同步和場同步信號,供采集卡的時序電路使用?然后由高速的A/D轉換器把處理后的視頻信號轉化為數字信號,在時序電路的控制下寫入存儲器?
但這樣的采集卡有一個問題,數據采集和數據讀取不能同時進行?不妨設奇數場掃描期間,每采樣一次就將A/D轉換的結果存入存儲器,在偶數場期間,計算機將存儲器中的數據讀入計算機?但是,由于在計算機讀存儲器時,A/D轉換的結果并不能同時寫入該片存儲器,即存儲器不能同時進行讀和寫兩種操作,所以會丟掉偶數場的信息?
3 基于雙內存的圖像采集卡的設計
為了解決這個問題,這里用了兩片存儲器進行交替工作?當給其中一片存儲器寫數據時,計算機讀取另一片存儲器的數據,反之亦然?這種采集卡的框圖如圖3所示?下面對各部分電路進行介紹?
(1)預處理電路:實現把標準的全電視信號轉化為0~5V模擬信號,并具有亮度調節?對比度調節等功能?放大器用的運放采用寬帶運放LM318?
(2)同步分離電路:為了將數字化后的圖像信號存入相應的幀存儲器,必須獲得行同步信號和場同步信號?由于同步信號的幅度最大,占全電視信號幅度的76%~100%的電平范圍,可根據這一特征采用幅度分離法先將復合同步信號分離出來?又因為場同步脈沖的寬度為160μs,遠大于行同步脈沖的寬度4.7μs,這樣又可在已分離出的行?場復合同步信號中 進一步分離出行同步和場同步出來?
(3)A/D轉換器:圖像采集卡中的A/D轉換器選用8bit高速視頻轉換芯片CA3318CE完成?它的最高轉換速率可達15MHz?由前面的黑白全電視信號的分析可知,每一行圖像約52.2μs,本卡在電視信號每行的行正程期間需采樣512點,采樣時鐘約為10MHz.因此選用CA3318CE 完全符合要求,只需將其采樣率選在10MHz即可?
(4)控制電路:控制電路的核心器件是一片通用邏輯門陣列GAL20V8?
該電路產生幀存儲器的讀信號MEMR1?MEMR2和寫信號MEMW1?MEMW2以及圖像采集卡所需的工作狀態信號PC/LOCAL和!PC/LOCAL,電路原理如圖4所示?U33是一片GAL20V8,它工作在簡單模式,管腳18~22配置成輸出,其它配置成輸入?1~6管腳接PC機的地址線PC_A4~PC_A9,7~10管腳接PC機的地址線PC_A16~PC_A19,管腳11接系統時鐘CLK,管腳13接PC機的PC_IOW信號,管腳14接PC/LOCAL信號,管腳15?16分別接行消隱和場消隱指示信號H_MR和V_MR,管腳17接PC機的讀存儲器信號PC_MEMR,管腳18?19輸出幀存儲器RAM1的寫信號MEMW2和讀信號MEMR2,20?21腳輸出存儲器RAM1的寫信號MEMW1和讀信號MEMR1,22腳輸出信號PC/LOCAL_CLK作為觸發器OP6?B的時鐘,23腳接PC機的PC_AEN信號?
控制電路還要產生PC/LOCAL信號?該信號必須由PC機控制?在這里,PC/LOCAL作為PC機I/O口的最低一位,口地址是220H~22FH,PC機只需向220H~22FH任意地址寫1或0即可以將PC/LOCAL設置為1或0?I/O口地址的譯碼由U33完成,可以用ABEL語言描述如下:
IOCS=?。?!PC_A4&PC_A5&!PC_A6&PC_A7&!PC_A8&PC_A9&!PC_AEN
PC/LOCAL_CLK=IOCS#PC_IOW
IOCS是端口的選通信號,低電平有效?當PC機的地址線PC_A9~PC_A4為100010時,PC_AEN為低電平?PC_AEN為高電平時指示PC機處于DMA狀態 時,IOCS有效?C/LOCAL_CLK由IOCS和PC機的I/O口寫地址PC_IOW相或產生,當端口未選中時,它一直是高電平;當端口被選中后,由PC_IOW產生一個上升沿?C/LOCAL_CLK的上升沿將觸發OP6?B,將PC機的最低一位數據線PC_D0鎖存,產生PCLOCAL和!PCLOCAL?
當幀存儲器的地址由PC機產生時,需要譯碼邏輯?C機低于1M的內存空間分配如表1所示?為了不發生地址沖突,從表中可知,可以把D0000H~DFFFFH空間作為幀存儲器的映射地址?這部分譯碼工作也由U33完成,用ABEL語言描述:
MEMCS=?。≒C_A19&PC_A18&!PC_A17&PC_A16
由式子可知當PC_A19~PC_A16為1101時,MEMCS有效?低電平 ?
幀存儲器的讀信號MEMR1?MEMR2和寫信號MEMW1?MEMW2也由控制電路產生?當PC/LOCAL為0時,PC機讀幀存RAM1,同時AD轉換的結果送入幀存RAM2;反之亦然?讀信號由PC機的外存儲器讀信號PC_MEMR和譯碼信號MEMCS產生;寫信號由系統時鐘CLK?行?場消隱指示信號H_MR?V_MR生成?當H_MR或V_MR任意一個為高電平時,表示現在處于消隱狀態;只有當H_MR和V_MR都為低電平時,表示處于場正程和行正程,A/D轉換的結果才寫入幀存儲器?
(5)存儲器:為了實時采集和顯示,數字圖像采集卡中設置了存儲器?一般對圖像幀存儲器有如下要求:A 高速存取,B 存儲量大,C 非同步輸入輸出的存取?存儲一幀或一場電視信號必須的存儲容量可用下式計算:
存儲容量=1幀(或1場)的掃描線數×1行的取樣數×量化bit數
在本圖像采集卡中,一場采集的圖像為512×256點,需要存儲容量為128K×8bit的存儲器?在前面硬件框圖中曾經討論過,需要兩片幀存儲器交替工作,也就是需要設置兩片128K×8bit的幀存儲器,分別用來存放奇數場和偶數場的數據信息,因而選用兩片高速靜態存儲芯SRAM 628128?
兩片幀存儲器的讀信號MEMR1和MEMR2,寫信號MEMW1和MEMW2均由控制電路產生?其中讀信號與PC機的讀存儲器信號PC_MEMR有關,而寫信號與圖像采集卡的采樣時鐘!CLK有關?幀存儲器的八位數據線D0~D7通過接口電路與PC機的數據線PC_D0~PC_D7相連?
上面提到,把幀存儲器映射到D0000H~DFFFFH,這樣尋址范圍只有64K,而一場的圖像數據有128K,故采用地址分段實現,這可通過對幀存地址線A16進行I/O操作實現?
(6)時序發生電路:主要用來產生圖像采集卡所需的幀存儲器的掃描地址信號和實現同步并避開行逆程的消隱信號?
(7)地址切換電路:該電路用于切換時序發生電路產生的掃描地址信號和PC機的地址信號?需要用二選一的數據選擇器來切換PC機的地址信號和采集卡上的地址信號?通用的集成電路中只找到四位的數據選擇器,若選用它則34條地址線需要九片,那將占用了太多采集卡的空間,故而采用GAL器件來實現?每片GAL16V8可實現8位數據選擇,而GAL20V8可實現10位數據選擇,從而34條地址線僅需3片GAL16V8和1片GAL20V8?
該圖像采集卡已制作完成,經測試性能完全達到設計要求?該圖像采集卡可用于DOS操作系統?也可用于Windows操作系統?由于采用了可編程邏輯器件大大減少了芯片數目?
采用攝像頭加采集卡作為傳感器,可解決許多常規傳感器無法實現的場合?如在鑄造廠的自動澆注過程中,為了測量砂模中鐵水液位的高度,常規液位傳感器難以承受1400°C的高溫?即使有這樣的傳感器,因為一個砂模澆完以后,又有新的砂模傳送過來,不可能在每個砂模都插一個液位傳感器?而采用攝像頭拍攝砂模澆口杯的圖像,由計算機進行圖像處理,就能夠計算出砂模澆口杯內鐵水液位高度,解決了自動澆注系統中的實時控制問題?
責任編輯:gt
-
轉換器
+關注
關注
27文章
8741瀏覽量
147686 -
控制系統
+關注
關注
41文章
6654瀏覽量
110767 -
存儲器
+關注
關注
38文章
7525瀏覽量
164151
發布評論請先 登錄
相關推薦
評論