劉九維,陳鋒,邢嵐
(重慶大學 通信工程學院,重慶 400044)
劉九維、陳鋒(碩士研究生),主要研究方向為信號與信息處理。
飛思卡爾智能車比賽已經成功舉辦4屆,以攝像頭為主要傳感器的參賽隊伍大多數選用了模擬CCD或模擬CMOS攝像頭。本文介紹了數字式CMOS攝像頭MT 9M011的性能特點和工作方式,給出了MT9M011在基于HCS12單片機的智能車控制系統中的應用方案,并分析了數字攝像頭的優勢和不足。
CMOS圖像傳感器可通過CMOS技術將像素陣列與外圍支持電路(如圖像傳感器核心、單一時鐘、所有的時序邏輯、可編程功能和A/D轉換器)集成在同一塊芯片上。與CCD(電容耦合器件)圖像傳感器相比,CMOS圖像傳感器將整個圖像系統集成在一塊芯片上,具有體積小、重量輕、功耗低、編程方便、易于控制等優點;同時,可通過I2C、SPI等接口配置其曝光時間、增益控制等功能,可控性強。因此,CMOS圖像傳感器的應用已經變得越來越廣泛。
MT 9M011是一款Micron公司推出的RGB三基色的130萬像素數字式CMOS攝像頭,具有可編程控制及數字信號輸出等功能。其輸出為Bayer彩色格式,圖像尺寸為4.6 mm×3.7 mm,像素尺寸為3.6μm×3.6μm,最大分辨率為1 280×1 024,支持的最高時鐘頻率為25 MHz;A/D轉換精度為10位,最大信噪比為44 dB,在最高分辨率模式下功耗為129 m W。
MT 9M011輸出為逐行掃描的數字信號,通過內嵌的10位ADC將模擬視頻信號采樣量化后同步輸出10位數據流。同時,MT 9M011還提供像素時鐘(PIXCLK)、行有效信號(LVAL)、幀有效信號(FVAL),以及配置MT 9M011所需的I2C協議引腳SCLK和SDAT。
MT 9M011有25個寄存器,涉及攝像頭的各個方面,通過與I2C兼容的串行總線時序讀寫。結合智能車競賽應用重點介紹以下寄存器:
①行起始寄存器(0x01)和列起始寄存器(0x02)。這兩個寄存器決定輸出圖像的起始點坐標。利用這兩個寄存器可以軟件調節攝像頭采集到的圖像整體位置。
②行寬度寄存器(0x03)和列寬度寄存器(0x04)。MT 9M011的一大特色就是輸出數據的圖像大小可以任意調整。通過這兩個寄存器可以針對當前的應用環境(即賽道)設置合適的圖像范圍。
③曝光時間寄存器(0x09)。該寄存器的值決定了攝像頭采集一幀圖像時感光元器件的感光時間。通過調整該寄存器值的大小可以直接調整圖像的成像質量。
④數據讀取模式寄存器(0x20)。該寄存器可以使輸出的行數據和列數據減少至1/2或者1/4,也可以使輸出的圖像鏡面對稱。
⑤增益設置寄存器。它又包含Green1分量增益設置寄存器(0x2B)、Blue分量增益設置寄存器(0x2C)、Red分量增益設置寄存器(0x2D)、Green2分量增益設置寄存器(0x2E)和全局增益設置寄存器(0x2F)5個寄存器。由于RGB分量對同一光源表現出不同的數值,因此需要針對不同的光源情況分別調整前4個寄存器的值,而這也是這款攝像頭最大的缺點。
2.3.1 Bayer彩色格式輸出
MT 9M011的輸出為 Bayer彩色格式(Bayer color pattern)。這種輸出格式直接將濾波陣列上每一個像素點對應的保留基色模擬電平值,通過A/D轉換后按時序先后輸出。圖1展示了這種輸出格式對應的局部像素點陣。其中,黑色像素點為輸出有效數據的第一個點。

圖1 Bayer彩色格式
2.3.2 MT9M011的輸出信號時序
像素數據輸出時序和幀與行有效信號時序分別如圖2和圖3所示。像素時鐘與主時鐘同頻,在一幀圖像開始輸出時幀有效信號由低電平變為高電平,一幀輸出結束時由高電平變為低電平;而行有效信號則在一行數據輸出有效時由低電平變為高電平,一行數據輸出完成后由高電平變為低電平。根據MT9M011的輸出信號時序就能正確地采集整幀圖像。圖3中,P為幀消隱區,A為有效數據區,Q為行消隱區。

圖2 像素數據輸出時序

圖3 幀與行有效信號時序
MT 9M011的電平是3.3 V,而HCS12單片機系統的I/O電平是5 V,因此需要通過電平轉換芯片將攝像頭輸出數據的電平提升到5 V。結合MT 9M011的輸出信號時序關系和 HCS12單片機的特點,本文利用HCS12的ECT模塊提取 MT9M011的幀有效信號的上升沿,采用ECT模塊對應引腳的普通I/O口功能采集行有效信號的上升沿。MT 9M011的數據輸出信號有10位,鑒于賽道環境相對簡單,只截取高8位作為攝像頭信號輸出,既可以保證圖像分辨率,又可節省 HCS12的存儲空間。HCS12單片機本身帶有一個標準的I2C模塊,直接使用這個模塊與MT9M011的SCLK和SDAT相接。
3.2.1 HCS12單片機I2C模塊配置
HCS 12單片機提供標準的I2C模塊,SCLK引腳能產生多種時鐘頻率,支持主從模式,設有多種標志位以供查詢。初始化I2C模塊時需要完成以下工作:
①設置IBFD寄存器,使產生的SCLK信號能夠對MT 9M011進行正常的配置;
②設置IBEN寄存器位,使能I2C模塊;
③設置IBCR,確定I2C模塊的主、從模式,收、發模式以及是否使能中斷功能等。
3.2.2 MT9M011圖像數據采集
受限于單片機時鐘的約束關系,HCS12的通用I/O口無法檢測攝像頭像素時鐘信號跳變,本文采取以固定周期采集一行數據的方法。因此,采集像素數據的關鍵是準確地采集幀有效信號的上升沿和行有效信號的上升沿。選用的方案是:使用HCS12單片機的ECT模塊采集幀有效信號的上升沿,使用ECT模塊普通端口模式采集行有效信號的上升沿。
采集對象要求縱、橫分辨率都不能過低,而 HCS12內部存儲空間有限,無法為高分辨率提供有利支持。針對這一矛盾,利用一個像素與其周圍點的值的關聯性,以及攝像頭所具有的隔行和隔列輸出功能進行跳采集。確定了1 280×480的分辨率和行列均跳4行采集的模式,同時軟件上再進行一次隔行采集,最終可得80×60=4 800個像素數據。采集數據的流程如圖4所示。

圖4 采集數據流程
3.2.3 采集圖像時遇到的問題及解決方法
(1)攝像頭晶振的選擇
MT 9M011晶振的選擇是一個很重要的問題,如果一幀圖像的時間超過20 ms,就無法體現它的主要優勢。同時,也要考慮到 HCS12單片機的限制,HCS12的總線頻率最大可達到32 MHz,而在此條件下如果MT9M011的晶振選取過大,則每一行采集到的點數過少。
通過式(1)可計算出MT 9M011輸出一幀圖像所需的時間:

式中:ColNum+HBlanking和Row Num+VBlanking分別表示包含空白數據的總列數和總行數;fcamera表示攝像頭晶振頻率,在一幀圖像大小已經確定的情況下,該值越大則一幀時間越短。
通過式(2)可計算出單片機一行采集像素點的個數:

式中:Row PixNum表示一行能采集到的數據;Col-Num表示每一行中輸出的像素數據個數;Tcamera是攝像頭晶振fcamera的倒數;Cycle表示一個采集周期使用的機器周期數,在整個采集過程中固定不變的;fbus表示單片機的總線周期。從式(2)可知,在 fbus一定的情況下,Tcamera越小,則一行采集到的數據就越少,這樣不利于數據分析。
綜合考慮,最終確定使用 8 MHz的晶振作為MT 9M011的時鐘,而采用16 MHz晶振作為HCS12的時鐘,單行采集80個點,可滿足路徑識別的需要。
(2)攝像頭曝光時間和增益的設置問題
MT 9M011是一款RGB三基色的彩色攝像頭,采集到的數據為Bayer彩色格式。由于提取的是賽道上的黑線信息,圖像環境相對簡單,因此這里直接將每一個分量的值作為該點像素的灰度值處理。
如圖5(a)所示,在使用默認曝光時間和增益時采集得到的圖像有明顯的隔行噪聲效應,而且在一行間也有明顯的干擾噪聲存在。這是因為同一光源對于RGB三種分量所體現出的數值不同,直接將其當作灰度值處理會產生恢復的圖像不均勻、噪聲大的現象。解決辦法是通過多次實踐調整攝像頭的曝光時間和RGB每個分量的增益值,使3個分量在同一光源下反應出的數值基本一致。經過調整后得到的圖像如圖5(b)所示。

圖5 曝光時間和增益設置調整前后的對比圖像
數字式CMOS攝像頭M T9M011最大的優勢在于節約時間。選用合適的晶振及圖像大小能將整個小車控制周期限制在20 ms左右。筆者曾經做過實驗,選用20 MHz的晶振作為攝像頭時鐘,將單片機倍頻到32 MHz。在這種條件下,一個控制周期的反應時間甚至能縮短到4 ms左右,與模擬攝像頭的40 ms一幀圖像相比有明顯的優勢。MT 9M011的另一個優勢是圖像大小可以任意設置,因此筆者可以軟件調整圖像的大小和視野的高度,且MT 9M011與單片機接口簡單,很大程度上減輕了硬件負擔。
MT 9M011在智能車比賽應用中也具有一些缺點。它不能自動適應各種光源,需要人工進行調整;同時,它的動態特性不如CCD攝像頭好,這點可以通過提高攝像頭晶振時鐘來縮短采集周期解決。
本文介紹了數字式CMOS攝像頭MT9M011在基于HCS12單片機的智能車中的應用,并針對數字攝像頭與模擬攝像頭的各自特點進行了比較。實踐表明,選用數字式CMOS攝像頭作為智能車路徑識別傳感器是可行的。
[1]安鵬,馬偉.S12單片機模塊應用及程序調試[J].電子產品世界,2006(211):162-163.
[2]Micron,Inc.MT 9M011 Datasheet,2004.
[3]Freescale Semiconductor,Inc.MC9S12DT256 Device User Guide.V03.03,2003-07.
[4]卓晴,黃開勝,邵貝貝.學做智能車——挑戰“飛思卡爾”杯[M].北京:北京航空航天大學出版社,2007.