摘 要: 在介紹通用工業(yè)內(nèi)窺鏡" title="內(nèi)窺鏡">內(nèi)窺鏡的結(jié)構(gòu)及原理的基礎(chǔ)上,,推出了一種基于ARM9" title="ARM9">ARM9的便攜式" title="便攜式">便攜式內(nèi)窺鏡裝置,。該裝置由照明系統(tǒng)、CMOS 攝像頭,、嵌入式系統(tǒng)" title="嵌入式系統(tǒng)">嵌入式系統(tǒng)三部分組成,。相對于普通內(nèi)窺鏡而言,具有體積小,、重量輕,、結(jié)構(gòu)簡單、攜帶方便,、成本低等優(yōu)點(diǎn),。
關(guān)鍵詞: 工業(yè)內(nèi)窺鏡;ARM9,;便攜式,;嵌入式系統(tǒng)
1921年,以色列人George S.Crampton在美國加利福尼亞研制出世界上第一臺工業(yè)內(nèi)窺鏡,用來檢測蒸汽渦輪轉(zhuǎn)子的內(nèi)部裂縫,。從此,,內(nèi)窺技術(shù)逐漸被工業(yè)界所重視,,并得到不斷發(fā)展。1990年以來,,工業(yè)內(nèi)窺鏡經(jīng)歷了第一代硬桿式,、第二代軟管式和第三代電子鏡式的逐步發(fā)展過程,內(nèi)窺技術(shù)也逐步發(fā)展成為一門嶄新的科學(xué)技術(shù),,成為遠(yuǎn)距離可視監(jiān)測RVI(Remote Visual Inspection)技術(shù)的重要分支,。
目前,工業(yè)內(nèi)窺鏡廣泛應(yīng)用于工業(yè)制造和維修領(lǐng)域,。它延長了人眼的距離,,拓寬了人類觀察的視野,可以在不拆除或不破壞機(jī)器設(shè)備的前提下清晰準(zhǔn)確地觀察內(nèi)部人眼無法到達(dá)的位置,,實(shí)現(xiàn)機(jī)器設(shè)備或零件內(nèi)部的無損檢測,,盡可能節(jié)省維修時(shí)間,這在武器裝備外場檢修應(yīng)用中相當(dāng)重要,。為了實(shí)現(xiàn)內(nèi)窺鏡系統(tǒng)的小型化和便攜性,,本文設(shè)計(jì)實(shí)現(xiàn)了一種基于ARM9的便攜式內(nèi)窺鏡系統(tǒng)。
1 ARM嵌入式系統(tǒng)及其攝像頭接口
嵌入式系統(tǒng)是以應(yīng)用為中心,,以計(jì)算機(jī)技術(shù)為基礎(chǔ),,且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對功能,、可靠性,、成本、體積,、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng),。通常由嵌入式CPU、外圍硬件設(shè)備,、嵌入式操作系統(tǒng)及應(yīng)用程序四部分組成,,用于實(shí)現(xiàn)對其他設(shè)備的控制、監(jiān)視或管理等功能,。該系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù),、半導(dǎo)體技術(shù)和電子技術(shù)結(jié)合后應(yīng)用到各個(gè)具體行業(yè)的產(chǎn)物。IP 級,、芯片級和模塊級是嵌入式系統(tǒng)的三種主要的體系結(jié)構(gòu)形式,。其中,模塊級的形式就是把已成熟的X86處理器構(gòu)成的計(jì)算機(jī)系統(tǒng)模塊嵌入到應(yīng)用系統(tǒng)中, 充分利用目前常用的PC架構(gòu)的通用性和便利性,。
SAMSUNG S3C2440嵌入式微處理器的內(nèi)核采用ARM公司的ARM920T處理器核,。它是目前世界上主頻最快的嵌入式移動(dòng)CPU之一,內(nèi)核電壓為1.3V,采用16/32位ARM920T RISC核心,,提供的接口支持?jǐn)?shù)碼攝像頭,、TFT/STN液晶屏、USB,、HOST/DEVICE,、SD/MMC/SDIO存儲(chǔ)卡以及觸摸屏等。
S3C2440嵌入式微處理器的攝像頭接口(CAMIF)支持ITU-RBT.601/656 YCbCr8比特標(biāo)準(zhǔn)的圖像數(shù)據(jù)輸入,,最大可采樣4 096×4 096像素的圖像,。攝像頭接口可以有兩種模式與DMA控制器進(jìn)行數(shù)據(jù)傳輸:一種是P端口模式,把從攝像頭接口采樣到的圖像數(shù)據(jù)轉(zhuǎn)為RGB數(shù)據(jù),,并在DMA控制下傳輸?shù)絊DRAM(一般這種模式用來提供圖像預(yù)覽功能),;另一種是C端口模式,把圖像數(shù)據(jù)按照YCbCr4:2:0或4:2:2的格式傳輸?shù)絊DRAM(這種模式主要為MPEG4,、H.263等編碼器提供圖像數(shù)據(jù)的輸入)。上述兩種工作模式都允許設(shè)置一個(gè)剪輯窗口,,只有進(jìn)入這個(gè)窗口的圖像數(shù)據(jù)才能夠傳輸?shù)絊DRAM,。攝像頭工作模塊如圖1所示。
2 基于ARM9的便攜式內(nèi)窺鏡系統(tǒng)設(shè)計(jì)
2.1 總體框架設(shè)計(jì)
工業(yè)內(nèi)窺鏡系統(tǒng)主要包括CMOS(CCD)傳感器,、傳導(dǎo)纖維,、導(dǎo)光束、光源,、電源和監(jiān)視器等,,結(jié)構(gòu)如圖2所示。由于監(jiān)視器和冷光源體積及其對電源的要求導(dǎo)致了整個(gè)系統(tǒng)體積大,、不便攜帶,,且不能將圖像按要求保存,不便于后期缺陷信號處理,?;贏RM9的便攜式內(nèi)窺鏡系統(tǒng)在工業(yè)內(nèi)窺鏡檢測系統(tǒng)的基礎(chǔ)上,引入嵌入式系統(tǒng),,充分發(fā)揮嵌入式系統(tǒng)體積小,、輸入電壓低、觸摸屏顯示,、利用編程可以實(shí)現(xiàn)圖像處理和存儲(chǔ)的優(yōu)點(diǎn),,很好地滿足了檢測系統(tǒng)對微型化、易攜帶的要求,。其結(jié)構(gòu)如圖3所示,。
2.2 便攜式內(nèi)窺鏡系統(tǒng)組成
該系統(tǒng)裝置分為照明系統(tǒng)、CMOS 攝像頭、嵌入式系統(tǒng)三部分,。所設(shè)計(jì)的傳感器探頭結(jié)構(gòu)如圖4所示,。
2.2.1 照明系統(tǒng)
一般內(nèi)窺鏡均采用獨(dú)立冷光源,并由光纖把光線傳至檢查位置上,。為達(dá)到較好的照明效果,,對光源和光纖的要求都很高。由于基于ARM9嵌入式系統(tǒng)及對體積的要求,,不能再按照以前采用獨(dú)立冷光源,。在便攜式內(nèi)窺鏡系統(tǒng)設(shè)計(jì)過程中,巧妙應(yīng)用一種功率較低的高亮度發(fā)光二極管(LED)進(jìn)行照明,,以解決光源問題,。該高亮度發(fā)光二極管工作電壓3.3V,光色白色,,亮度很強(qiáng),,與電位器相連,實(shí)現(xiàn)亮度可調(diào),,端部上下各固定一只,,保證視場內(nèi)光照均勻。試驗(yàn)證明完全可行,。
2.2.2 CMOS攝像頭
便攜式內(nèi)窺鏡系統(tǒng)所采用的攝像頭為OmniVision公司生產(chǎn)的OV7660,。該類型CMOS sensor目前廣泛應(yīng)用于便攜式手持設(shè)備。其特點(diǎn)是:靈敏度高,,低電壓工作,,標(biāo)準(zhǔn)串行攝像頭控制總線(SCCB)控制,可輸出窗口尺寸可調(diào)的UXGA/SVGA/VGA/QVGA等不同像素的圖像,、且圖像格式可以是原始RGB/RGB(4:2:2)/YUV(4:2:2)/YCbCr(4:2:2),,圖像處理可編程等。
嵌入式開發(fā)沒有通用的驅(qū)動(dòng)程序,。具體針對OV7660,,需要進(jìn)行相應(yīng)驅(qū)動(dòng)設(shè)計(jì)。對攝像頭進(jìn)行驅(qū)動(dòng)程序設(shè)計(jì),,除了實(shí)現(xiàn)設(shè)備的注冊注銷外, 按照功能還應(yīng)分為實(shí)現(xiàn)攝像頭打開模塊,、攝像頭控制模塊(初始化在該模塊中實(shí)現(xiàn))和攝像頭關(guān)閉模塊。在WinCE系統(tǒng)啟動(dòng)的過程中即調(diào)用攝像頭驅(qū)動(dòng)程序,,實(shí)現(xiàn)攝像頭與2440攝像頭接口參數(shù)設(shè)置及一系列初始化,。下面就驅(qū)動(dòng)的各個(gè)模塊做具體介紹。
(1)攝像頭打開模塊
在應(yīng)用程序中,,通過調(diào)用CreateFile()打開CIS1口,。
hCam=CreateFile(TEXT(“CIS1:”),,GENERIC_WRITE |
GENERIC_READ,0,,NULL,,OPEN_EXISTING,0,,NULL),;
if(hCam==INVALID_HANDLE_VALUE)
{
AfxMessageBox(L”無法打開!”);
}
else
{
AfxMessageBox(L”攝像頭已打開!”),;
}
(2)攝像頭控制模塊
調(diào)用Cam_Init()實(shí)現(xiàn)攝像頭接口以及攝像頭模塊的初始化,,為本驅(qū)動(dòng)程序的主要部分。在正確執(zhí)行這個(gè)函數(shù)后,,攝像頭就可以正常工作,,開始采集數(shù)據(jù)。
攝像頭接口的初始化包括五個(gè)方面:①設(shè)置寄存器CIGCTRL軟件重啟,;②設(shè)置寄存器CISRCFMT確定輸入源格式,;③設(shè)置寄存器CIWDOFST溢出標(biāo)識位復(fù)位并使能窗口偏移;④設(shè)置寄存器CIGCTRL,,反轉(zhuǎn)CAMVSYNC極性與攝像頭保持一致,;⑤設(shè)置YCBCR開始地址寄存器。
Cam_Init()函數(shù)如下:
BOOL Cam_Init()
{
CamGpioInit(),;//camera IO初始化
CAM_IF_Reset();//camera接口初始化
CamClockOn(TRUE),;//設(shè)置camera時(shí)鐘
Camera_Module_Reset(),;//camera模塊重啟
Camera_Initialize();//通過I2C總線設(shè)置
//camera模塊的寄存器
s2440IOP->rGPGCON &=~(0x3<<24),;
s2440IOP->rGPGCON |=(0x1<<24),;
if(image_size==1)
{
CamInit(QCIF_XSIZE,QCIF_YSIZE,,QCIF_XSIZE,,
QCIF_YSIZE,0,,0,,COPIFRAMEBUFFER_B,
COPIFRAMEBUFFER_A),;
//設(shè)置輸出圖像格式,、起始位置
}
else
{
CamInit(CIF_XSIZE,CIF_YSIZE,,QCIF_XSIZE,,
QCIF_YSIZE,,0,0,,COPIFRAMEBUFFER_B,,
COPIFRAMEBUFFER_A);
}
RETAILMSG(1,,(_T(“CamInit().. donern”))),;
return TRUE;
}
在攝像頭驅(qū)動(dòng)設(shè)計(jì)中,,對OV7660寄存器組的設(shè)置至關(guān)重要,。通過函數(shù)void Wr_CamIIC(U32 slvAddr,U32 addr,,U8 data)對OV7660寄存器組進(jìn)行寫操作,,其中slvAddr為OV公司的SCCB總線寫地址(默認(rèn)值為0x42),addr為寄存器偏移地址,,data為設(shè)置值,。具體參數(shù)設(shè)置請參考OmniVision公司提供的OV7660 Setting文獻(xiàn)。
2.2.3 嵌入式系統(tǒng)模塊
嵌入式系統(tǒng)模塊預(yù)裝系統(tǒng)為Windows CE.net 4.2,,驅(qū)動(dòng)程序形式為流接口驅(qū)動(dòng),,基本框架是dll動(dòng)態(tài)鏈接庫,使用Embedded Visual C++ 4.0或者Platform Builder 4.2編譯,。推薦使用EVC(Embedded Visual C++),,因?yàn)镋VC速度比較快。在便攜式內(nèi)窺鏡系統(tǒng)中該模塊主要功能為接收camera圖像信號,,并通過觸摸屏同步顯示圖像,。為實(shí)現(xiàn)該功能,要利用EVC編程,,通過USB同步下載至嵌入式系統(tǒng),,實(shí)現(xiàn)對視頻圖像信號的處理,主要包括圖像處理去噪,、特征提取,、缺陷尺寸估計(jì)、腐蝕缺陷成像等,。其結(jié)構(gòu)示意圖如圖5,。
3 試驗(yàn)驗(yàn)證
用本系統(tǒng)裝置檢測零件內(nèi)部孔徑為φ5.2mm的孔,在孔的邊緣有一微小裂紋,。圖6為圖像信號在采集到嵌入式系統(tǒng)后未經(jīng)過圖像處理的視頻截圖,,圖7為采集到嵌入式系統(tǒng)后經(jīng)過圖像處理的視頻截圖。
由圖7可見,,處理后的圖像清晰,,裂紋明顯,,較好地實(shí)現(xiàn)了原定目標(biāo)。試驗(yàn)證明該系統(tǒng)完全可以用于儀器裝備內(nèi)表面微小缺陷的檢測判定,。
本文主要針對目前通用工業(yè)內(nèi)窺鏡存在的體積大,、重量重、不便于外場檢測的缺點(diǎn),,在基于ARM9嵌入式系統(tǒng)的基礎(chǔ)上,,設(shè)計(jì)實(shí)現(xiàn)了便攜式內(nèi)窺鏡系統(tǒng)。系統(tǒng)在檢測零件上做了試驗(yàn),,結(jié)果表明該裝置系統(tǒng)在徹底解決通用工業(yè)內(nèi)窺鏡缺點(diǎn)的基礎(chǔ)上,,還具有高清晰、高保真的特點(diǎn),,完全可以用于儀器裝備內(nèi)表面微小缺陷的檢測判定,。
參考文獻(xiàn)
[1] 賈遂民,劉濤.多媒體CAI課件制作存在的問題與分析[J].中州大學(xué)學(xué)報(bào),,2004(2):111-112.
[2] 汪兵,,李存斌,陳鵬,,等.EVC高級編程及其應(yīng)用開發(fā)[M].北京:中國水利水電出版社,,2005.
[3] 杜春雷.ARM體系結(jié)構(gòu)與編程[M].北京:清華大學(xué)出版社,2003.
[4] 崔福綿,,付肅真.某型發(fā)動(dòng)機(jī)九級篦齒盤均壓孔裂紋及斷裂分析[C].全國第五屆航空航天裝備失效分析會(huì)議論
文集(2006),,2006:156-160.