王偉
(羅克韋爾自動化控制集成(上海)有限公司,上海,201201)
隨著半導(dǎo)體和電子技術(shù)的發(fā)展,光譜傳感器也有了很大的進(jìn)步,它不斷向小型化、高精度、高性能和低成本的方向邁進(jìn)。一般地,光譜傳感器是由光學(xué)部件和控制部件共同組成,光學(xué)部件包括利用反射光學(xué)元件的成像光學(xué)元件和利用分光鏡來劃分譜段的分光元件。所劃分的各個譜段需要用多個探測器,分別是可見光探測器、近紅外探測器、中波紅外探測器和長波紅外探測器。而控制部件包括控制器、圖像信號處理器、溫度控制器和顯示器,將采集的到信號經(jīng)過數(shù)字化處理,形成離散的數(shù)據(jù)。現(xiàn)在的電子集成技術(shù),讓該類型的傳感器變得小體積,很多廠商也將光譜傳感器封裝成一個IC芯片,例如艾邁斯公司芯片級的光譜傳感器。這些新器件的面世,大大地方便了光譜檢測的應(yīng)用。
在傳感器發(fā)展的同時,也激發(fā)了許多基于光譜測量的應(yīng)用。首先在攝影和攝像領(lǐng)域,專業(yè)的攝影師都非常了解不同的照明源對照片顏色渲染的影響?,F(xiàn)在手機(jī)的拍照功能非常強(qiáng)大,不但提供非常高的像素,同時也提供了更多照片處理的功能,如美顏處理和人工智能處理等。特別在一些高端手機(jī)上,配備一個能夠拍攝真彩色的照片也是一個很大的賣點(diǎn)。在這些要求中,對于光源的檢測無疑變成了一個必須的功能,從而對于白平衡補(bǔ)償技術(shù)提供更有價值的信息。其次在照明領(lǐng)域也有很多應(yīng)用,需要檢測環(huán)境光源的光譜,提供更準(zhǔn)確的光源控制技術(shù)和質(zhì)量。還有很多消費(fèi)領(lǐng)域和工業(yè)領(lǐng)域,需要對產(chǎn)品的顏色有一個準(zhǔn)確的識別,從而來判斷產(chǎn)品的顏色滿足預(yù)期的標(biāo)準(zhǔn)。
這些新的應(yīng)用對光譜傳感器也產(chǎn)生了要求,首先是需要一個更小的體積,能夠嵌入到手機(jī)等電子產(chǎn)品中,很多對光譜測量的新領(lǐng)域都要去便攜。其次需要一個較低的功耗,這些新的應(yīng)用都是電池供電,無法提供很高的功耗,特別是手機(jī)這樣本身就是一個耗電的設(shè)備。最后更高性能的要求是滿足新應(yīng)用的必須手段,只有光譜的檢測更準(zhǔn)確,才能提供對光源的控制和顏色的識別需求。
近年來,艾麥斯公司推出的AS7341光譜傳感器是一款11通道分光儀,特別適用于移動設(shè)備中的光譜識別和色彩匹配應(yīng)用。它具有以下特點(diǎn):
(1)其光譜響應(yīng)定義在約350nm至1000nm的波長范圍內(nèi),八個光學(xué)通道覆蓋可見光譜,一個通道可用于測量近紅外光(NIR),一個通道是沒有濾光器的光電二極管(C)。近紅外光通道與其他可見光通道組合可以提供周圍環(huán)境光條件(光源)檢測的信息。
(2)六個通道可以由獨(dú)立的16位ADC并行處理,而其他通道通過多路復(fù)用器訪問。
(3)該器件還集成了專用通道,可檢測50Hz或60Hz的環(huán)境光閃爍,閃爍檢測引擎還可以用于在外部計算其他閃爍頻率時緩沖數(shù)據(jù)。
(4)該器件還可以通過引腳GPIO與外部信號同步。
(5)小尺寸和低功耗的光譜傳感器。AS7341通過納米光學(xué)沉積干涉濾光片技術(shù)將濾光片集成到標(biāo)準(zhǔn)CMOS硅片中,其封裝提供了一個內(nèi)置光圈來控制進(jìn)入傳感器陣列的光線。該器件采用1.8VDC低電壓供電,典型的功耗210uA。該器件采用超薄型封裝,尺寸為3.1mmX2mmX1mm(OLGA8封裝)。
該器件可以通過串行400KHz I2C接口實(shí)現(xiàn)控制和訪問光譜數(shù)據(jù)。該器件與外部交互采用串行400KHz I2C通信接口實(shí)現(xiàn),它支持7位芯片尋址,并支持標(biāo)準(zhǔn)速度和全速時鐘模式。對器件的讀寫傳輸兼容飛利浦制定的標(biāo)準(zhǔn)。在設(shè)備內(nèi)部有一個8位緩存寄存器,用來存儲要讀寫數(shù)據(jù)的地址??梢哉J(rèn)為該器件的接口是標(biāo)準(zhǔn)的I2C,作為從設(shè)備進(jìn)行操作。
該器件多路檢測的光電二極管,包括具有4X4的光電二極管陣列用來檢測可見光,和在光電二極管陣列的頂部是檢測閃爍頻率的專用光二極管,加上在下部陣列是近紅外光二極管。在陣列下部的兩個角上是沒有過濾器的光二極管,成為“C”通道。每一組過濾器對都可以被映射到一個ADC通道上。
每一個光電二極管通道對應(yīng)一個波長,如表1所示。通過這些光電二極管來檢測其對應(yīng)波長的光強(qiáng)度。
表1 光譜通道與對應(yīng)波長
該光譜傳感器不但具有十分小的尺寸和更低的功耗,并且也提供更多的光學(xué)通道,將可見光分成8個級別的光譜波長。該器件也具有16位的模數(shù)轉(zhuǎn)換采樣,提供了更高的分辨率和檢測能力。
對于這種高度集成的傳感器,使用是十分復(fù)雜的。傳感器AS7341是一個支持標(biāo)準(zhǔn)400Kbps的I2C通信接口的器件,通過通信接口來控制和設(shè)置傳感器,使其工作在我們期望的模式,如檢測的通道配置和檢測的輸出數(shù)據(jù)的范圍等。AS7341器件的I2C地址是0x39,通過I2C的讀寫傳輸對傳感器進(jìn)行操作。通過I2C總線寫寄存器的方式配置傳感器,然后通過讀操作讀取傳感器的狀態(tài)和采集到的數(shù)據(jù)信息。
對于光譜檢測的應(yīng)用,需要將每個通道對應(yīng)的波長強(qiáng)度測量出來。該傳感器一共有11個光電通道,其中10個通道用于檢測光譜的分布,一個通道用于檢測光源的閃爍頻率。在該論文中只討論光譜的分布檢測。因?yàn)樵撈骷灿?個獨(dú)立的ADC通道,不能同時檢測全部的通道,所以需要將檢測的通道分成兩組,第一組檢測F1,F2,F3,F4,CLEAR,NIR共計6個通道,而第二組就是剩余的F5,F6,F7,F8,加上CLEAR和NIR。由于不是同時檢測的,需要判斷檢測的光源是同一個,比較CLEAR和NIR通道的強(qiáng)度,如果兩組檢測的強(qiáng)度是比較接近的,可以認(rèn)為是同一組光源,可以將F1~F8和CLEAR、NIR通道的強(qiáng)度一起成為一組有效的檢測。反之,重新檢測所有通道的強(qiáng)度,直至兩組檢測數(shù)據(jù)是有效的。將有效檢測的數(shù)據(jù)存儲并發(fā)送出來用于分析光源的特征。
首先,需要將被檢測的光譜通道映射到實(shí)際的ADC上。通常地,對于第一組檢測,將F1映射到ADC0,F(xiàn)2映射到ADC1,F(xiàn)3映射到ADC2,F(xiàn)4映射到ADC3,CLEAR映射到ADC4,NIR映射到ADC5。而第二組映射F5映射到ADC0,F(xiàn)6映射到ADC1,F(xiàn)7映射到ADC2,F(xiàn)8映射到ADC3,CLEAR映射到ADC4,NIR映射到ADC5。將這些映射的配置通過I2C的通信接口來寫入到傳感器AS7341的超級多路復(fù)用器SMUX來實(shí)現(xiàn)。
傳感器的輸出依賴于器件的增益參數(shù)AGAIN(gain)和積分時間TINT(integrationtime)。積分時間TINT的值又依賴于ATIME和ASTEP這兩個寄存器。積分時間TINT的計算如下面的公式(1):
通過配置AGAIN和TINT這兩個參數(shù),盡量使器件輸出盡可能的大,來提高測量精度。如果某一通道的測量值達(dá)到65535時,說明信號的飽和,需要改變GAIN值和ATIME、ASTEP的值來調(diào)整器件輸出。所以在測量時,需要根據(jù)傳感器的輸出來調(diào)整傳感器的設(shè)置,讓傳感器的輸出在理想的范圍內(nèi),這將會提高檢測的準(zhǔn)確度。
光譜相關(guān)色溫的計算都依賴于標(biāo)準(zhǔn)化值BasicCount,而這個值的計算需要根據(jù)傳感器的輸出和檢測時的配置參數(shù),如下公式(2)所示:
我們可以根據(jù)AMS提供的傳感器批量生產(chǎn)的修正數(shù)據(jù)和基于CIE1931的XYZ修正矩陣來計算色溫,XYZ修正矩陣如下表2。CIE1931XYZ基色系統(tǒng)中的X、Y、Z的值可依據(jù)下面計算公式(3):
表2 XYZ修正矩陣[4]
CIE1931xyY顏色空間中的相對系數(shù)x、y、z可以采用如下公式(4)計算:
而對應(yīng)的相關(guān)色溫計算公式(5):
由此我們可以計算出相關(guān)色溫的值。
通過上面對傳感器的分析,我們通過下面的實(shí)驗(yàn)來看看傳感器的相關(guān)測量數(shù)據(jù)。在實(shí)驗(yàn)中使用德州儀器的CC2640R2F開發(fā)板,通過開發(fā)板給傳感器供電,并通過開發(fā)板的I2C接口連接傳感器,來配置與控制傳感器進(jìn)行光譜的采集,并通過串口將采集到的數(shù)據(jù)發(fā)送出來,用于實(shí)驗(yàn)數(shù)據(jù)的分析。在試驗(yàn)中,被測光源選擇護(hù)眼臺燈,在距離20cm處進(jìn)行光源的檢測。
首先要在開發(fā)板上設(shè)計軟件對傳感器進(jìn)行配置。使用Code Composer Studio開發(fā)工具新建一個工程SensorAnalyzer,選擇微處理器的型號和工程存儲的位置,并加載CC2640R2F的驅(qū)動庫。在新建的工程中加載微處理器的I2C驅(qū)動文件,并根據(jù)微處理器的驅(qū)動庫設(shè)計幾個操作傳感器的函數(shù)Sensor_Init()、Sensor_Read()、Sensor_Write()和Sensor_Update()。下面詳細(xì)說明一下每個函數(shù)的功能:
(1)Sensor_Init()
該函數(shù)用來初始化I2C的通信參數(shù),對微處理器的GPIO管腳和I2C進(jìn)行初始化,并設(shè)置I2C波特率400KHz,然后使用函數(shù)I2C_open()來打開I2C的主模式。通過讀取傳感器的設(shè)備ID來檢驗(yàn)I2C通信是否成功。根據(jù)傳感器的手冊,設(shè)備ID在寄存器0x92,讀到的值應(yīng)該是0x24。在該函數(shù)中配置光譜采集需要的參數(shù)AGAIN、ATIME和ASTEP這些寄存器,這些配置參數(shù)決定了ADC采集到數(shù)據(jù)的范圍。
(2)Sensor_Read() 和Sensor_Write()
該函數(shù)用來通過I2C通信讀取/寫入傳感器中的數(shù)據(jù)。在初始化的函數(shù)中也是調(diào)用了這些操作來實(shí)現(xiàn)的。
(3)Sensor_Update()
該函數(shù)用來讀取傳感器采集到的光譜數(shù)據(jù)。由于傳感器只有6路獨(dú)立的ADC通道,不能同時采集所有的光譜通道。首先設(shè)置超級多路復(fù)用器,采集F1~F4的光譜值和CLEAR、NIR的值,然后重新配置超級多路復(fù)用器,采集F5~F8的光譜值和CLEAR、NIR的值,并比較前后兩次采集的CLEAR和NIR,如果兩次的值比較接近,大約相差在50(這個值需要進(jìn)一步驗(yàn)證)的范圍內(nèi),可以認(rèn)為兩次的檢測同一光源,將兩次采集到的數(shù)據(jù)保存并通過串口發(fā)送出來。
將寫好的程序下載到微處理器并進(jìn)行調(diào)試,檢查程序運(yùn)行的準(zhǔn)確性,并將采集到的數(shù)據(jù)保存一個文件。在輸出光譜數(shù)據(jù)的同時,也輸出配置參數(shù)的值。根據(jù)測試平臺檢測的數(shù)據(jù),設(shè)置傳感器的寄存器ATIME(寄存器地址0x81)為29,ASTEP(寄存器地址0xCA,0xCB)為599,則根據(jù)公式(1)計算TINT=50.04毫秒。傳感器的寄存器CFG1(寄存器地址0xAA)中的低四位值為10,那么增益值(gain)是512。將傳感器通道的波長與傳感器輸出的原始值可以繪制圖1。
圖1 傳感器通道的波長與輸出原始值對應(yīng)圖
根據(jù)公式(2)可以計算出各個傳感器通道的組成的矩陣BasicCount為
根據(jù)公式(3)可以計算出
從而可以根據(jù)公式(4)計算出
進(jìn)而根據(jù)公式(5)計算出CCT= 3 898K。查詢產(chǎn)品的技術(shù)參數(shù),護(hù)眼臺燈的色溫與計算出來的色溫吻合,滿足測量的要求。
光譜傳感器AS7341是小封裝光譜傳感器技術(shù)取得突破的代表性產(chǎn)品,適合安裝在手機(jī)或其他消費(fèi)設(shè)備中,甚至一些工業(yè)領(lǐng)域。它在同類產(chǎn)品中尺寸最小,提供11個測量通道,與面向消費(fèi)類市場的其他多通道光譜傳感器相比,其光靈敏度更高。該傳感器不但可以重建光譜,而且可以測量光源的閃爍頻率(50赫茲到1000赫茲)。該傳感器還可以用于色彩匹配和膚色測量等方面的應(yīng)用。該傳感器的顏色測量是一個低成本并能滿足很多需求的方案,該傳感器的應(yīng)用領(lǐng)域?qū)徊粩嗤卣?。對于光譜傳感器來說,其準(zhǔn)確度是一個值得關(guān)注的參數(shù),對于那些檢測精度不高的領(lǐng)域來說能夠滿足需求,但要將高集成度的傳感器應(yīng)用于高分辨率的應(yīng)用,就需要更加復(fù)雜的校準(zhǔn)方法,同時也對IC型的光譜傳感器提出更高的挑戰(zhàn)。