本文以BASLER A202k面陣CCD攝像機的配置為目標設計嵌入式攝像機配置系統(tǒng)。BASLER公司提供了2種攝像機配置方案:一是利用該公司提供的攝像機配置軟件CCT+(Camera Configuration Tool Plus),二是利用該公司提供的二進制配置命令,由用戶編程實現(xiàn)。本文采用二進制配置命令,通過設計的嵌入式系統(tǒng)配置攝像機。該攝像機的二進制配置命令幀格式如下:
起始字 描述字 數(shù)據(jù)段 BCC 結束字
BCC是塊檢查字(Block Check Character),需要由用戶計算。
此外還有測試圖像命令、選擇啟動點,視頻輸出格式選擇、水平Binning和豎直Binning等命令。攝像機配置和攝像機特性的關系為:AOI(area of interesting)用于局部掃描的控制,Binning用于分辨率的控制,定時器用于曝光時間的控制等。
1 系統(tǒng)結構與原理
設計的攝像機配置系統(tǒng)所在的圖像處理系統(tǒng)框架。
其中RS232和RS644是控制通道所用的協(xié)議,即攝像機配置系統(tǒng)的通道;LVDS和Camera Link是數(shù)據(jù)通道用到的協(xié)議。
根據(jù)所在系統(tǒng)的通道協(xié)議和攝像機的配置命令,同時考慮到必要的人機交互,設計了攝像機配置系統(tǒng)3大模塊:數(shù)據(jù)處理模塊,對二進制配置命令進行必要的處理;通信模塊,通過RS232串口收發(fā)攝像機配置命令;人機接口模塊,用于對攝像機配置的調節(jié)更改以及配置參數(shù)的顯示。此外還有支持處理器工作的時鐘、電源等。
系統(tǒng)的工作原理為:處理器接收數(shù)據(jù)輸入,根據(jù)接收到的輸入執(zhí)行相應的操作,通過串口讀寫配置命令,從而達到對攝像機的配置調節(jié),并根據(jù)需要顯示配置參數(shù)。
2 硬件設計
由于高的性價比,單片機廣泛應用于信號檢測、信號處理、數(shù)據(jù)采集和控制系統(tǒng)中。設計的系統(tǒng)以AT89C51AC2單片機為處理器,以撥碼開關、鍵盤陣列為調節(jié)輸入,以數(shù)碼管作為顯示輸出。同時利用了鍵盤/顯示芯片Intel 8279簡化系統(tǒng)設計。串口芯片選用MAX232A。系統(tǒng)工作時鐘為11.059 2 MHz,整個系統(tǒng)采用+5 V單電源供電。
以下介紹開關電路、鍵盤顯示電路的設計和功能分配;串口電路和其他電路為單片機系統(tǒng)的常規(guī)電路,故此從略。
2.1 開關電路
利用單片機P1口的直接輸入/輸出功能,接開關和LED,單片機復位時,P1口皆為高電平,常態(tài)為高電平,LED不亮。當某一開關接通時,對應的P1.i口被拉成低電平,對應的LED亮。
2.2 鍵盤/顯示電路
Intel 8279有鍵盤處理和自動顯示功能。在8279內部有2個RAM:一是鍵盤FIFO堆棧/傳感器RAM,具有自動消抖動和雙鍵互鎖功能;另一個是顯示RAM,最多可為16個數(shù)碼管提供RAM。
設計的系統(tǒng)需要用到6個數(shù)碼管,因此需要擴展8279的掃描輸出線。選用3~8譯碼器74LS138來擴展,同時設8279的工作方式為外部譯碼方式。由于8279的驅動能力較弱,采用74ls06驅動。數(shù)碼管編號為D0~D5。D0和D5分別表示顯示數(shù)據(jù)的最低位和最高位,其余類推。
3 軟件設計
軟件系統(tǒng)的總體思想如下:首先對單片機和8279進行初始化,然后通過單片機,把不需要調整的命令送到攝像機對攝像機進行控制;再寫進另一部分命令,先給一定的初值,送到攝像機,可以根據(jù)需要隨時通過鍵盤進行調整,這部分命令一直存儲于單片機的RAM。然后單片機不斷查詢鍵盤和開關,一旦有動作,就調用與動作相對應的子程序進行相應的處理。
3.1 存儲單元的分配
AT89C51AC2內部有256 b的片內RAM,其中有一半為特殊寄存器,剩下的另一半可供用戶自由使用。128 b的RAM不能存儲所有的攝像機配置命令。為簡化電路,硬件電路不外接RAM,系統(tǒng)采用分時復用策略使用這128 b的RAM。RAM的分配如下:00h到07h是寄存器R0到R7。08h到0fh用以傳送開關命令和暫存從攝像機讀回的命令;10h到15h用以暫存經(jīng)過調整要傳送給8279的顯示RAM的數(shù)據(jù);16h到18h用以暫存從命令幀中提取的數(shù)據(jù);19h到1ch用以暫存命令數(shù)據(jù)的上下限。20h之后的RAM,用以存放經(jīng)常調整的攝像機配置命令。
3.2 數(shù)據(jù)處理
3.2.1 顯示預處理
從攝像機讀回的命令中提取的命令值在寫進8279顯示RAM之前要做一定的調整。為簡化程序,在顯示子程序中,數(shù)據(jù)的顯示代碼(共陰極)只列了從00h到0fh的16個。而命令值的一個字可以是00fh到ffh中的任意一個,從10h到ffh的數(shù)值必須轉換為00h到0fh的組合來顯示,如ffh一個字變?yōu)閮蓚€字:0fh和0fh。
3.2.2 數(shù)據(jù)判限和計算
對于大部分的攝像機配置命令,數(shù)據(jù)段的值只有在一定的范圍內或是一定值的組合時才是有效的。但是攝像機本身并不執(zhí)行這些數(shù)據(jù)限制的檢查。這項功能由軟件編程實現(xiàn)。數(shù)據(jù)計算包括數(shù)據(jù)值的加一操作和數(shù)據(jù)值的減一操作。
3.2.3 BCC計算
BCC是命令幀中的描述字段和數(shù)據(jù)段的按位異或和(XOR),需要在數(shù)據(jù)處理中計算。
3.3 人機接口
人機接口的軟件設計主要是8279的3個基本程序:一是8279初始化程序,二是顯示程序,三是鍵盤處理程序。初始化程序主要是送入各種命令字,給8279送鍵盤/顯示方式命令、分頻系數(shù)命令和清除命令等,在主程序的初始化部分被調用。顯示程序和鍵盤處理程序在主程序的按鍵查詢部分被調用。
3.4 串口通信
在RAM中開辟發(fā)送數(shù)據(jù)存儲區(qū),首址為feedback(開關操作實現(xiàn))和comdata(鍵盤操作實現(xiàn)),接收數(shù)據(jù)的首地址為feedback(與發(fā)送分時復用)。用R0存儲數(shù)據(jù)發(fā)送的地址;用R1存儲發(fā)送數(shù)據(jù)的字節(jié)數(shù);用R2存儲待發(fā)送數(shù)據(jù)的地址;用R3存儲待發(fā)送數(shù)據(jù)的字節(jié)數(shù)。單片機把數(shù)據(jù)從接收緩沖器中讀出和把數(shù)據(jù)寫入發(fā)送緩沖器。通過檢測是RI置位,還是TI置位來決定單片機是進行發(fā)送操作還是進行接收操作。發(fā)送和接收都是通過調用相應的子程序來完成。
4 實驗結果
本文的設計在Protel Dxp(硬件設計)和偉福編譯器上(軟件設計)實現(xiàn)。利用本文設計的攝像機配置系統(tǒng)結合實驗室研制的DSP圖像采集處理器實現(xiàn)了對BASLERA202k面陣CCD攝像機的實時參數(shù)配置調節(jié),為采集高質量的實時圖像提供了有力的保證,滿足了工程的應用需要。
5 結 論
利用介紹的數(shù)字攝像機二進制編程配置方法,以Basler A202K面陣CCD攝像機的配置為對象設計了基于單片機的嵌入式數(shù)字攝像機配置系統(tǒng)。該系統(tǒng)可作為嵌入式圖像采集和處理系統(tǒng)的子系統(tǒng),通過少量軟件修改可應用于其他攝像機的配置。
-
單片機
+關注
關注
6043文章
44623瀏覽量
638839 -
嵌入式
+關注
關注
5094文章
19185瀏覽量
307904 -
寄存器
+關注
關注
31文章
5368瀏覽量
121244
發(fā)布評論請先 登錄
相關推薦
二進制編碼和二進制數(shù)據(jù)
二進制電平,什么是二進制電平
二進制數(shù)及其他
![<b class='flag-5'>二進制</b>數(shù)及其他](https://file1.elecfans.com//web2/M00/A5/FB/wKgZomUMOx-AI1UTAAAKkO_flZs317.jpg)
什么是嵌入式單片機?嵌入式單片機詳情匯總
51單片機中匯編多字節(jié)24位二進制轉BCD碼的實例說明
![51<b class='flag-5'>單片機</b>中匯編多字節(jié)24位<b class='flag-5'>二進制</b>轉BCD碼的實例說明](https://file.elecfans.com/web1/M00/9C/2C/pIYBAF0llviAZZSwAACFhce9duk751.png)
單片機TIMER0控制LED二進制計數(shù)的C語言程序和仿真資料免費下載
![<b class='flag-5'>單片機</b>TIMER0控制LED<b class='flag-5'>二進制</b>計數(shù)的C語言程序和仿真資料免費下載](https://file.elecfans.com/web1/M00/BD/E0/o4YBAF7aCXOAfevFAALcRC7UObY503.png)
51單片機 Proteus仿真定時器0計數(shù)由LED組成的二進制顯示
![51<b class='flag-5'>單片機</b> Proteus仿真定時器0計數(shù)由LED組成的<b class='flag-5'>二進制</b>顯示](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論