1 引言
  機動車在夜間行車會車時,å°é¢æ±½è»Šè»Šç‡ˆçš„強光會å°é§•駛員產生視覺盲å€(qÅ«),從而引發(fÄ)åš´é‡çš„交通事故。為了徹底消除這種由于汽車暈光產生的交通隱患 。
  本文æå‡ºä¸€ç¨®åŸºäºŽDSP和圖åƒè™•ç†æŠ€è¡“çš„æŠ—æšˆå…‰åœ–åƒé‡‡é›†ç³»çµ±(tÇ’ng)解決方案來解除夜間行車眩光。目å‰ç²å–圖åƒä¸»è¦é‡‡ç”¨CCDå’ŒCMOS圖åƒå‚³æ„Ÿå™¨ï¼Œå…¶ä¸ã€‚CMOS圖åƒå‚³æ„Ÿå™¨å…·æœ‰åŠŸè€—å°ã€æˆæœ¬ä½Žã€å–®ä¸€é›»æºé©…å‹•ã€ä½¿ç”¨å£½å‘½é•·ã€æ˜“于片上系統(tÇ’ng)集æˆç‰ç‰¹é»žï¼Œé©ç”¨äºŽæŠ—暈光圖åƒé‡‡é›†ç³»çµ±(tÇ’ng)。本文æå‡ºæŠ—暈光圖åƒé‡‡é›†ç³»çµ±(tÇ’ng)采用OmniVisionå…¬å¸æŽ¨å‡ºçš„CMOS彩色圖åƒå‚³æ„Ÿå™¨OV7620代替?zhèn)鹘y(tÇ’ng)CCD圖åƒå‚³æ„Ÿå™¨ï¼Œè©²å‚³æ„Ÿå™¨å¯ç”±è»Ÿä»¶ç·¨ç¨‹æŽ§åˆ¶ï¼Œèƒ½ç›´æŽ¥è¼¸å‡ºæ•¸(shù)å—圖åƒä¿¡æ¯ï¼Œè€Œä¸”大大é™ä½Žç³»çµ±(tÇ’ng)è¨è¨ˆé›£åº¦ï¼Œæ¸›å°ç³»çµ±(tÇ’ng)é«”ç©ï¼Œæé«˜äº†ç³»çµ±(tÇ’ng)è¨è¨ˆçš„éˆæ´»æ€§å’Œç©©(wÄ›n)定性。
2 系統(tÇ’ng)硬件è¨è¨ˆ
  本抗暈光圖åƒé‡‡é›†ç³»çµ±(tÇ’ng)是由圖åƒé‡‡é›†å’Œåœ–åƒè™•ç†çµ„æˆã€‚å…¶ä¸ï¼Œåœ–åƒé‡‡é›†éƒ¨åˆ†ç”±å…©è·¯OV7620圖åƒå‚³æ„Ÿå™¨å¯¦ç¾(xià n);圖åƒè™•ç†å‰‡ç”±TMS320C6414實ç¾(xià n)。EPM3128通éŽç·¨ç¨‹è¨ç½®è¼¸å‡ºæ¯å€‹å˜å„²å™¨åœ°å€ã€‚其系統(tÇ’ng)框圖如圖1所示。

  2.1 圖åƒé‡‡é›†éƒ¨åˆ†
  在抗暈光圖åƒé‡‡é›†ç³»çµ±(tÇ’ng)ä¸ï¼ŒTMS320C6414通éŽé€šç”¨GPIOç«¯å£æ¨¡æ“¬I2C總線,è¨ç½®OV7620的內部寄å˜å™¨åƒæ•¸(shù).使其完æˆç›¸æ‡‰åŠŸèƒ½ã€‚OV7620坿供00H~7CHå…±125個寄å˜å™¨ï¼Œç”¨äºŽæŽ§åˆ¶å‚³æ„Ÿå™¨ï¼Œå¯è¨ç½®å‚³æ„Ÿå™¨çš„快門方å¼ã€ç©åˆ†æ™‚é–“ã€A/D轉æ›å™¨å·¥ä½œç‰¹æ€§ã€ä¼½é¦¬æ ¡æ£å’Œé–‹çª—å£ä½ç½®ã€è¼¸å‡ºæ•¸(shù)據(jù)æ ¼å¼ã€å¹€é »ã€åƒç´ 時é˜ç‰åƒæ•¸(shù)。其ä¸ï¼Œç›´æŽ¥å½±éŸ¿åƒå…ƒç©åˆ†æ™‚間的寄å˜å™¨ç‚ºæ›å…‰é‡æŽ§åˆ¶å¯„å˜å™¨ã€æ™‚é˜é åˆ†é »å™¨å¯„å˜å™¨å’Œå¹€é »èª¿æ•´å¯„å˜å™¨ã€‚OV7620通常默èªç‚ºI2C總線上的主器件,å¯å°‡å¯„å˜å™¨29的第6ä½ç½®1,將其改為I2Cç¸½ç·šçš„å¾žå™¨ä»¶ï¼Œå› æ¤ï¼ŒI2C總線的主器件TMS320C6414å¯å°0V7620寫æ“作。
  當TMS320C6414的引腳SBB為低電平,æ‰èƒ½å®ŒæˆI2C總線åˆå§‹åŒ–ï¼Œæ¤æ™‚OV7620作為從器件,支æŒ400 Kbit/sçš„7ä½åœ°å€æ•¸(shù)據(jù)傳輸å”(xié)è°ã€‚å°‡OV7620內部寄å˜å™¨28的第5ä½ç½®1å³ç‚ºé€è¡ŒæŽƒææ–¹å¼;寄å˜å™¨13ã€14的第5ä½ç½®0å³16ä½çš„YUV422-640x480åƒç´ 的數(shù)å—åœ–åƒæ•¸(shù)據(jù)(高8ä½ç‚ºäº®åº¦ä¿¡è™Ÿï¼Œä½Ž8ä½ç‚ºè‰²åº¦ä¿¡è™Ÿï¼‰;輸出è¨ç½®25å¹€/s。OV7620çš„è¦–é »æ™‚åºé›»è·¯ç”¢ç”Ÿè¡ŒåŒæ¥ã€å ´åŒæ¥ã€æ··åˆè¦–é »åŒæ¥ç‰åŒæ¥ä¿¡è™Ÿå’Œåƒç´ 時é˜ç‰å…§éƒ¨æ™‚é˜ä¿¡è™Ÿï¼ŒEPM3128æ ¹æ“š(jù)é€™äº›åŒæ¥ä¿¡è™Ÿç¢ºå®šåœ–åƒçš„讀寫æ“作以åŠç›¸é—œè™•ç†ã€‚本系統(tÇ’ng)é‡‡ç”¨å–®å¹€åœ–åƒæ•¸(shù)據(jù)è¼¸å‡ºè™•ç†æ–¹å¼ã€‚
  EPM3128通éŽI/O端å£å°‡IS6lLV51216的引腳CEã€WEã€LBã€UB置為低電平,OV7620則將16ä½åœ–åƒæ•¸(shù)據(jù)輸入至IS6lLV51216。OV7620的內部控制ä½SRAM信號為高電平表示處于外部RAM狀態(tà i)ï¼Œæ¤æ™‚所有的數(shù)據(jù)總線變?yÅu)æ§¿é¾–B(tà i)并準備發(fÄ)逿•¸(shù)據(jù)。OV7620å‘外部SRAMè¼¸å‡ºå–®å¹€åœ–åƒæ•¸(shù)據(jù)的時åºåœ–如圖2所示。
  首先判斷傳感器的內部控制ä½SRAM,當SRAM為高時OV7620進入外部RAM,接著通éŽEPM3128發(fÄ)é€åˆå§‹åŒ–脈沖至AGCFN來ç²å¾—一幀數(shù)據(jù)。但由圖2看出移出的數(shù)據(jù)å¹¶ä¸å®Œå…¨æ˜¯æœ‰æ•ˆåœ–åƒæ•¸(shù)據(jù)ï¼Œæœ‰æ•ˆåœ–åƒæ•¸(shù)據(jù)是由HREF(水平åƒè€ƒè¼¸å‡ºï¼‰ã€VSYNCï¼ˆå ´åŒæ¥ä¿¡è™Ÿï¼‰å…±åŒç¢ºå®šã€‚å› æ¤éœ€åˆ¤æ–·VSYNC是å¦ç‚º1且HREFä¸Šå‡æ²¿æ˜¯å¦åˆ°ä¾†ã€‚å¦‚æžœæ˜¯ä¸Šå‡æ²¿å‰‡è¡¨æ˜Žå‚³æ„Ÿå™¨é–‹å§‹è¼¸å‡ºæœ‰æ•ˆæ•¸(shù)據(jù)。當HRFF=l時,åƒç´ 時é˜PCLK計數(shù),并把計數(shù)值傳輸至外部SRAM的地å€ç¸½ç·šï¼ŒåŒæ™‚å°‡OV7620è¼¸å‡ºçš„åœ–åƒæ•¸(shù)據(jù)DATA傳輸給SRAM的數(shù)據(jù)總線,å°å¤–部SRAM寫æ“作;ç•¶HRFF=O時,計數(shù)æš«åœã€‚OV7620發(fÄ)é€å®Œä¸€å¹€æ•¸(shù)據(jù)åŽVSYNC=0ï¼Œå› æ¤ï¼Œå¯é€šéŽåˆ¤æ–·VSYNC是å¦ç‚ºOä¾†åœæ¢è¨ˆæ•¸(shù)器計數(shù)å¹¶çµæŸåœ–åƒé‡‡é›†ã€‚
  

  2.2 圖åƒè™•ç†éƒ¨åˆ†
  TMS320C6414是TIå…¬å¸æŽ¨å‡ºçš„ä¸€æ¬¾é«˜æ€§èƒ½æ•¸(shù)å—處ç†å™¨ï¼Œå…·æœ‰å¼·å¤§çš„ç¡¬ä»¶çµæ§‹å’Œè»Ÿä»¶ç³»çµ±(tÇ’ng),å¯é©ç”¨äºŽæŠ—暈光圖åƒé‡‡é›†ç³»çµ±(tÇ’ng)。TMS320C6414çš„L2容é‡ç‚ºl024KB,通éŽcacheé…置寄å˜å™¨ï¼ˆCCFG)的L2MODEå—æ®µæŠŠL2é…置為第5種模å¼ï¼Œå³æŠŠç‰‡å…§SRAMè¨ç½®ç‚º768 KB。TMS320C6414ç¶“EMIFA端å£ï¼Œä»¥EDMAæ–¹å¼å°‡åœ–åƒæ•¸(shù)據(jù)åŒæ¥è®€å…¥å…§éƒ¨SRAM。增強型直接å˜å„²å™¨è¨ªå•(EDMAï¼‰ç”¨äºŽå¯¦æ™‚åœ–åƒæ•¸(shù)å—信號處ç†ï¼Œå¯åœ¨CPUåŽè‡ºå®Œæˆå˜å„²ç©ºé–“ä¸çš„æ•¸(shù)據(jù)轉移,把外部å˜å„²å™¨ä¸çš„åœ–åƒæ•¸(shù)å—ä¿¡æ¯å¿«é€Ÿã€é«˜æ•ˆåœ°å‚³è¼¸?shù)ç´»SP內部SRAMä¸ã€‚è¨ç½®EER控制寄å˜å™¨çš„EVT4ä½ç‚ºl,å³é‡‡ç”¨EDMA的第4通é“(EDMA4ï¼‰é‡‡é›†åœ–åƒæ•¸(shù)據(jù)。該通é“é…置為32ä½å‚³è¼¸æ–¹å¼ï¼Œæ¯æ¬¡ä¸æ–·æ¬ç§»ä¸€å¹€åœ–åƒæ•¸(shù)據(jù)å˜å…¥å…§éƒ¨SRAM。
ã€€ã€€ç‚ºäº†åŒæ¥é‡‡æ¨£ï¼Œç¬¬ä¸€è·¯OV7620çš„SRAMlå’ŒVSYNClå¯é€šéŽèˆ‡éžé–€æŽ§åˆ¶å…©è·¯OV7620åŒæ¥é‡‡æ¨£å¹¶åˆ†åˆ¥å˜å„²åˆ°å„自連接的IS6lLV51216ä¸;VSYNCl䏋陿²¿æ¨™å¿—OV7620ä¸€å¹€åœ–åƒæ•¸(shù)據(jù)è¼¸å‡ºçµæŸï¼ŒVSYNClç¶“åå‘器接至TMS320C6414çš„AF5引腳觸發(fÄ)EDMA4䏿–·ï¼Œå¹¶åŒæ™‚讀å–IS6lLV51216ä¸å˜å„²çš„åœ–åƒæ•¸(shù)據(jù)。CPU采用閾值化分割算法來處ç†åœ–åƒä¿¡æ¯ã€‚在TMS320C6414æŽ§åˆ¶ä¸‹åŒæ¥é€²è¡Œåœ–åƒä¿¡æ¯çš„傳輸和處ç†ï¼Œå®Œå…¨æ»¿è¶³ç³»çµ±(tÇ’ng)çš„å¯¦æ™‚è¦æ±‚。TMS320C6414外接40 MHz的晶體振蕩器,CLOKMODE[l:0]è¨ç½®ç‚º10ï¼Œä½¿å…¶å…§éƒ¨é »çŽ‡é«˜é”480 MHz。DSP通éŽI/Oç«¯å£æª¢æ¸¬OV7620çš„åŒæ¥ä¿¡è™ŸVSYNCã€CHSYNC以åŠåƒç´ 時é˜PCLK,ä¿è‰DSPèƒ½å¤ æº–ç¢ºè®€å–OV7620輸出的數(shù)å—åœ–åƒæ•¸(shù)據(jù)ã€‚åœ¨åŒæ¥ä¿¡è™Ÿå’Œåƒç´ 時é˜çš„å¹²é 下ä¿å˜é‡‡é›†çš„æ•¸(shù)å—åœ–åƒæ•¸(shù)據(jù),ä¿è‰å‚³è¼¸æ•¸(shù)å—圖åƒçš„完整性。圖3所示為第一路圖åƒé‡‡é›†ç³»çµ±(tÇ’ng)硬件電路圖。

3 系統(tÇ’ng)軟件è¨è¨ˆ
  在CCS(Code Composer Studio)編è¯ç’°(huán)境下,采用C語言和線性匯編進行編程。計算機通éŽJTAGæŽ¥å£æŠŠç·¨è¯æˆåŠŸçš„ç³»çµ±(tÇ’ng)程åºå¯«åˆ°å¤–部Flashä¸ï¼Œä½¿è»Ÿä»¶åœ¨ç¡¬ä»¶å¹³è‡ºä¸Šé«˜é€Ÿã€ç©©(wÄ›n)定ã€å¯é é‹è¡Œã€‚系統(tÇ’ng)軟件è¨è¨ˆæµç¨‹å¦‚圖4所示。

  TMS320C6414é‡‡ç”¨é–¾å€¼åŒ–åˆ†å‰²ç®—æ³•ï¼Œå³æŠŠç¬¬ä¸€è·¯OV7620çš„æ›å…‰æ™‚é–“è¨å®šç‚º1/50 s,將采集到的圖åƒä¿¡æ¯å˜å„²åˆ°å˜å„²å™¨1ä¸ï¼ˆé€šéŽEPM3128è¨ç½®å˜å„²å™¨lçš„åœ°å€æœ€é«˜ä½ç‚º0,å³ç‚º0XXXXXXXXXXXXXXXXX);把第二路OV7620çš„æ›å…‰æ™‚é–“è¨å®šç‚ºl/l 000 s,把采集到的圖åƒä¿¡æ¯å˜å„²åˆ°å˜å„²å™¨2ä¸ï¼ˆé€šéŽEPM3128è¨ç½®å˜å„²å™¨2地å€çš„æœ€é«˜ä½ç‚º1,å³ç‚ºlXXXXXXXXXXXXXXXXXX)。兩路OV7620在TMS320C6414æŽ§åˆ¶ä¸‹åŒæ¥é‡‡æ¨£åŒä¸€æ™¯ç‰©ï¼Œå¹¶è¨ç½®äº®åº¦é–¾å€¼ç‚º245。
  TMS320C6414從å˜å„²å™¨lä¸ä¾æ¬¡è®€å–æ¯ä¸€å€‹å˜å„²å–®å…ƒçš„æ•¸(shù)值并判斷其亮度值。如果該åƒç´ 點的亮度值å°äºŽ245,無暈光,則把該åƒç´ 值和地å€å€¼æš«å˜åˆ°DSP內部的SRAMä¸;如果該åƒç´ 點的亮度值大于或ç‰äºŽ245,并有暈光產生,則丟棄該å˜å„²å–®å…ƒæ•¸(shù)據(jù),而從å˜å„²å™¨2å°æ‡‰åœ°å€ï¼ˆ0XXXXXXXXXXXXXXXXXæ›æˆlXXXXXXXXXXXXXXXXX)單元ä¸è®€å–åƒç´ 值和地å€å€¼ã€‚å˜å„²å®Œä¸€è¡Œåƒç´ åŽã€‚判斷所有åƒç´ 地å€çš„èµ·å§‹ä½æ˜¯å¦ç‚ºl。若起始ä½ç‚ºlï¼Œèªªæ˜Žæœ‰æšˆå…‰ç”¢ç”Ÿã€‚æ¤æ™‚å–該åƒç´ 值以åŠå‰åŽå„3個åƒç´ 值,共7個åƒç´ 值求平å‡å€¼ï¼ŒæŠŠå¹³å‡å€¼ä»£æ›¿è©²åƒç´ 值,直到該行åƒç´ 處ç†å®ŒåŽè¼¸å‡º;若起始ä½ä¸ç‚ºl,說明無暈光產生,直接輸出åƒç´ 值。若暈光在一幀圖åƒçš„é–‹é æˆ–者çµå°¾ç”¢ç”Ÿï¼Œå‰‡åªå–ç¬¦åˆæ¢ä»¶çš„åƒç´ 值求平å‡å€¼ã€‚該算法å¯ä»¥æ ¹æ“š(jù)具體采樣的ä¸åŒä¿¡æ¯è‡ªç”±è¨ç½®é–¾å€¼å¤§å°ï¼Œæ±‚å¹³å‡å€¼åƒç´ 的總數(shù)ï¼Œå…·æœ‰è‰¯å¥½çš„éˆæ´»æ€§ã€‚
  采用索尼DCR—DVD808E數(shù)碼æ”åƒæ©ŸåŠPlink數(shù)據(jù)采集å¡ï¼Œé€šéŽPCæ©Ÿé‡‡é›†å–®å¹…éœæ¢åœ–åƒã€‚第一次實驗,相機æ›å…‰æ™‚é–“è¨å®šl/50 s的采集圖åƒï¼Œæ±½è»Šè»Šç‡ˆäº®åº¦è¼ƒå¼·ï¼Œç”¢ç”Ÿæšˆå…‰ï¼Œæ‰€ä»¥ç„¡æ³•分辨車燈外部輪廓以åŠè»Šç‰Œè™Ÿï¼Œè€Œå…‰ç·šç›¸å°è¼ƒæš—çš„é 處人群å¯ä»¥çœ‹è¦‹;第二次試驗,相機æ›å…‰æ™‚間調整為1/1 000 s的采集圖åƒï¼Œäº®åº¦è¼ƒå¼·çš„車燈外部輪廓以åŠè»Šç‰Œè™Ÿå‡å¯è¦‹ï¼Œè€Œé è™•äººæ ¹æœ¬çœ‹ä¸è¦‹ã€‚利用MATLABå°å…©å¹…圖åƒé€²è¡Œé–¾å€¼åŒ–分割算法仿真,閾值è¨ç‚º245,經éŽè™•ç†åŽçš„æ•´é«”åœ–åƒæ¯”較清晰é”åˆ°é æœŸæ•ˆæžœã€‚圖5所示為MATLAB仿真圖。

4 çµèªž
  抗暈光采集系統(tÇ’ng)在交通安全方é¢å¾¹åº•消除汽車行車時產生的暈光,大大減少交通事故的發(fÄ)生,從而ä¿éšœäººæ°‘生命財產安全。而在工æ¥(yè)電弧焊機焊接方é¢ï¼Œè©²ç³»çµ±(tÇ’ng)ä¸ä½†å¯ä»¥ä¿è·æ“作人員的身體å¥åº·ï¼Œè€Œä¸”還大大æé«˜ç„ŠæŽ¥è³ªé‡ã€‚å› æ¤ï¼ŒæŠ—暈光采集系統(tÇ’ng)çš„ç ”ç©¶å…·æœ‰é‡è¦çš„實用價值。