加入好友 youtube facebook twitter  
儀器事業處 Instrument Division
繁體中文 / 简体中文 / English  
新聞中心
>> 成功案例 首頁 / 新聞中心 /
活動資訊
新品介紹
軟體更新
歷史訊息
電子報
使用者見證

電玩週邊公司
 
2017/3/6 韌體工程師 Alex

孕龍科技的LAP-C邏輯分析儀幫我計算出光點瞄準的實際座標 我是Alex在新北市某間電玩週邊公司擔任韌體工程師,負責公司產品內部所使用MCU及FPGA的程式編輯撰寫職務。公司在過去曾研發過數款遊戲光槍並且在市場上取得不錯的成績,尤其是某款光槍更是締造了高達7千萬的營收紀錄,因此遊戲光槍可說是必公司其中一項主力產品。    我們公司前一代的遊戲光槍所使用的CMOS Sensor輸出解析度為160*120 每秒60張。在規格不高的情形下使得在遊戲中的光槍瞄準點(光標)移動時產生些微不平滑的情況,甚至稍微有一格一格的情形,讓玩家無法輕易的瞄準,而螢幕畫面也會顯得粗糙,缺乏臨場感。   為了更進一步提升光槍的效能,在2013年公司開案計畫研發一款使用CMOS Sensor解析度可以達到640*480,並且每秒可以輸出120張畫面的遊戲光槍,讓畫面更逼真,玩家也可以輕易的瞄準標靶,最重要的是可以增加遊戲的寫實感。   我來大約說明這支光槍的設計方式:首先我們好設定光槍的IR Mark Pattern形式,接著使用了Omni Vision的CMOS Sensor在前端加上IR Pass濾鏡,將可見光設定在濾除雜波後僅留IR通過。我們使用Xilinx Spartan6 FPGA接收從CMOS Sensor Parallel Interface輸出的影像資料,之後做歸納計算後得出光點座標。接著再使用STM 32F4 系列MCU接收光點座標號得到實際光槍瞄準點的座標。   開發新一代光槍的關鍵點在於:CMOS Sensor輸出給FPGA的IR光點影像需要乾淨清晰,不可模糊不清。若是影像不乾淨或是模糊,則有可能FPGA在歸納計算IR光點座標時產生錯誤,將雜訊誤判為真正的光點,或是真正的光點被判斷成沒有光點,對我們設計的IR Mark Pattern形式造成干擾,進而影響到MCU無法計算出光點瞄準的座標,甚至計算出錯的座標。      因此CMOS Sensor輸出乾淨清楚的影像資料至關重要。開發初期,我有先請教Omni Vision原廠如何對CMOS Sensor下Initial flow,原廠有先了解我的需求,我針對新一代光槍的改良,告訴原廠我的需求是取“亮度”。因此原廠提供了YUV模式,就是讓CMOS Sensor使用Bayer Pattern輸出luma (Y)亮度 + chroma (UV)色度濃度,讓FPGA只取Y(亮度)輸入就可以達成我們取(亮度)的需求。經過1~2個月的測試,我將FPGA架構完成後開始驗證計算光點座標功能。   然而就在這關鍵的時刻,在IR Mark Pattern左下方的光點總是比較暗FPGA無法辨識出來。   一開始我一直懷疑是FPGA架構的問題,經過驗證後發現FPGA架構並無問題。因此我開始思索是否因CMOS Sensor輸出影像本身就不清楚而造成光點無法辨識的問題。      Omni Vision提供的CMOS Sensor本身有Demo Board,提供使用者去觀察在不同模式及不同設定下的CMOS Sensor的影像輸出Performance如何,例如影像是否清晰,是否有雜點… 等。   然而,我的做法是在YUV模式下只取(Y)亮度做光點歸納,因此需要使用其他方式確認此方式的效能如何。我使用FPGA剩餘的Gate Count做了一組CMOS並列輸出的介面,將YUV模是收到的(Y)亮度當成Raw Data輸出。   就在這個時候,我遇到開發此專案最大的問題:雖然透過介面將影像以並列介面格式輸出,但是沒有透過治具或是其它裝置將畫面呈現,還是無法確認CMOS Sensor輸出影像如何。   我開始上網求救,在網路上查詢過市面上多款邏輯分析儀,以及徵求許多前面的幫忙,都不能滿足解碼呈現CMOS Sensor影像的需求,讓我感到十分苦惱,難道就沒有其他方式將並列介面輸出資料以影像方式呈現嗎?    在一次偶然的機會中我接觸了孕龍科技的LAP-C邏輯分析儀,頓時讓困擾我已久的問題出現一道曙光!最主要的原因是:孕龍科技LAP-C邏輯分析儀提供的CMOS Image匯流排解碼功能。最讓人感到驚豔的是:它能夠將解碼後的資料以影像方式呈現,讓工程師們能夠更直觀的去觀察CMOS Sensor輸出的影像,這正是使用CMOS Sensor做為開發的工程師的一大福音!   於是我開始著手使用孕龍科技LAP-C邏輯分析儀提供的CMOS Image匯流排解碼去確認在OV2722 使用YUV模式下只取(Y)亮度的影像品質如何。使用孕龍科技LAP-C邏輯分析儀的CMOS Image解碼匯流排觀察OV2722 CMOS Sensor使用YUV模式只取(Y)亮度的影像後才發現,原來在影像下方的光點總是比較暗,在左下角的光點更是在所有光點鐘最暗的部分,也難怪FPGA架構總是無法辨識出左下角的光點。    我將這個結果與原廠詢問後才知道,YUV模式是經過影像處理後得到的影像輸出,詳細討論後原廠建議我使用Raw Data模式就可以了。根據原廠的建議我開始著手修改CMOS Sensor設定以及FPGA架構的調整,也不忘使用孕龍科技LAP-C邏輯分析儀的CMOS Image匯流排解碼功能確認Omni Vision OV2722 CMOS Sensor輸出影像品質如何。     果然在修改為Raw Data輸出後CMOS Sensor輸出影像清晰許多,FPGA架構也能清楚辨識到原來在YUV模式取(Y)亮度無法辨識到的光點。之後我也順利完成在MCU端藉由FPGA歸納光點計算出光槍瞄準點的功能,使得這個專案能順利完成,多虧了孕龍科技LAP-C邏輯分析儀的CMOS Image匯流排解碼功能,才讓我這個專案得以順利完成,最重要的是節省我在開發上的寶貴時間。   孕龍科技的邏輯分析儀真的是能夠協助所有的工程人員順利完成開發工作的好夥伴!

 
   
 

 
Copyright ZEROPLUS TECHNOLOGY CO., LTD. 孕龍科技股份有限公司