1 概 述
在當(dāng)今的社會生活中,顏色識別得到越來越廣泛的應(yīng)用,。各個領(lǐng)域的廣泛應(yīng)用需求使顏色識別技術(shù)有了長足的發(fā)展,,結(jié)合其他技術(shù),可為工業(yè)控制,、產(chǎn)品制造等多個行業(yè)更好地服務(wù),。目前,顏色識別技術(shù)主要是通過結(jié)構(gòu)簡單,、使用方便的單片機(jī)來實(shí)現(xiàn),,而本設(shè)計選用FPGA來實(shí)現(xiàn),該系統(tǒng)可應(yīng)用于印染,、油漆,、汽車等行業(yè),也可以裝在自動生產(chǎn)線上對產(chǎn)品的顏色進(jìn)行監(jiān)測,。這樣選擇的好處有以下幾點(diǎn):
①FPGA芯片是并行運(yùn)算的,,每個振蕩周期都可以執(zhí)行任務(wù),而單片機(jī)(如8051系列)的每條指令都需要12個振蕩周期,。例如,,單片機(jī)I/O端口的變化最快也需要24個振蕩周期,而FPGA只需要2個振蕩周期,,所以同樣的振蕩周期下,,F(xiàn)PGA速度更快,。
②FPGA有豐富的I/O資源(一般有數(shù)百個I/O口),容易實(shí)現(xiàn)大規(guī)模系統(tǒng),,可以方便地連接外設(shè)(比如多路A/D,、D/A等)。而單片機(jī)的I/O口有限,,要進(jìn)行仔細(xì)的資源分配,、總線隔離。
③FPGA可以進(jìn)行硬件重構(gòu),,在功能擴(kuò)展或性能改善方面也非常容易,。
本設(shè)計選用了Altera公司的:NioslI軟核,使用SOPC的軟硬件綜合解決方案,。與傳統(tǒng)的設(shè)計方法完全不同,,從硬件和軟件整體設(shè)計上進(jìn)行了極大的改進(jìn),使硬件電路更加簡單,、有效,、易于理解,軟件設(shè)計更輕松,、可移植性更強(qiáng),。
2 設(shè)計原理
如圖1所示,顏色識別系統(tǒng)主要由模擬和數(shù)字兩部分組成,。模擬部分主要用來轉(zhuǎn)換光電信號,、放大信號和濾除噪聲。數(shù)字部分主要用來對A/D采樣進(jìn)來的數(shù)字信號實(shí)現(xiàn)中值濾波,、查對數(shù)表,、求對數(shù)比,以及顯示等操作,。
3 模擬部分
3.1 顏色采集模塊
本設(shè)計中采用的色敏傳感器是CLS9032,。該傳感器有2個垂直連接的PN結(jié),其厚度可以給色敏傳感器起到一個光學(xué)濾波器的作用,。波長較短的光在硅的表面就被吸收了,,而波長較長的光到達(dá)深一些的位置才會被吸收?;谶@種光譜的敏感性,,根據(jù)光的波長來選擇信號(顏色)。使用2個光電二極管之間的對數(shù)電流比作為信號處理的方法,。不同顏色的光照射時,,該色敏傳感器紅、綠、藍(lán)區(qū)3個引腳都會輸出電流信號,,但是相應(yīng)顏色的引腳輸出的電流信號會比其他引腳輸出的電流信號強(qiáng),。利用這種原理能夠有效地避免外界環(huán)境造成的輸出電流的起伏,因此這種器件具有較高的可靠性,。
在距離色敏傳感器1.5 cm處,,分別用紅、綠,、藍(lán)3種顏色的光源直接照射,,檢測經(jīng)過模擬部分處理后的輸出電壓信號。實(shí)際測試數(shù)據(jù)如表1所列,。
3.2 放大模塊
圖2是模擬部分制成PCB后的實(shí)物圖,。選取了有代表性的紅、綠,、藍(lán)3種顏色,,分別用相應(yīng)顏色的發(fā)光二極管來代表。使顏色識別系統(tǒng)有充足的光線照射,,便于探測,。
色敏傳感器負(fù)責(zé)把不同顏色的光信號轉(zhuǎn)換成電流信號,但是電流信號只是幾十到幾百nA的數(shù)量級,,需要放大電路來放大到所需要的程度,。不同顏色產(chǎn)生的微弱電流信號傳送到對應(yīng)的線路通道上,通過以下3級放大,,把nA級的電流信號轉(zhuǎn)換成V級的電壓信號,。具體電路如圖3所示。
①第1級是在電流放大的模式下工作,,運(yùn)放選用高精度、低噪聲的高精密運(yùn)放OP177,。經(jīng)過放大的信號大致能達(dá)到幾十mV,。這個幅度的電壓還太小,不能輸入到數(shù)字系統(tǒng),,因此還要對電壓信號進(jìn)行進(jìn)一步的放大,。
②第2級放大為同相的電壓放大,選用高精度的集成運(yùn)放OP07,。放大后的電壓幅度大致為幾百mV,,且放大的輸出為負(fù)。
③第3級放大要采用反相的電壓放大,,運(yùn)放同樣選用OP07,。輸出的信號幅度為幾伏,能夠滿足輸入數(shù)字系統(tǒng)的要求。
3.3 濾波模塊
經(jīng)過放大后的直流信號,,因?yàn)橛性肼暤母蓴_,,還有一些毛刺。經(jīng)過查閱參考文獻(xiàn)和實(shí)際的實(shí)驗(yàn)測試,,最終采用20 Hz二階有源低通濾波器,,可以為后面的級聯(lián)使用提供干凈的信號。
4 數(shù)字部分
本次設(shè)計的核心地方是數(shù)字部分,,系統(tǒng)的搭建是基于Altera公司的NiosII處理器,。
電壓信號經(jīng)過濾波處理,被傳送到A/D轉(zhuǎn)換器,,經(jīng)過A/D轉(zhuǎn)換得到數(shù)字信號,,為數(shù)字部分對信號的識別處理作準(zhǔn)備。根據(jù)所選用的色敏傳感器的工作原理,,用 SOPC系統(tǒng)進(jìn)行控制,,對3路模擬電路信號進(jìn)行同步的A/D轉(zhuǎn)換以增強(qiáng)系統(tǒng)準(zhǔn)確性。在保證可靠性和精度的前提下,,為降低系統(tǒng)成本,,滿足對輸入數(shù)字信號倍數(shù)的要求,A/D轉(zhuǎn)換器選用8位串行輸出的ADC0809轉(zhuǎn)換器,。采用NiosII軟核搭建的FPGA系統(tǒng)處理數(shù)字信號,,主要經(jīng)過以下操作:
①中值濾波,進(jìn)一步去除干擾信號,;
②查對數(shù)表,,查數(shù)據(jù)所對應(yīng)的對數(shù)值;
③求對數(shù)比,,對分別采集到的2個數(shù)據(jù)求對數(shù)比,,為判斷是哪種顏色提供依據(jù);
④顯示顏色識別結(jié)果,,亮不同的燈來表明所識別出來的不同顏色,。