陳建明 張亞軍 趙明明 陳方里 崔羊威
(華北水利水電大學(xué)電力學(xué)院 河南 鄭州 450045)
?
Cortex-A8處理器與Android平臺(tái)的顏色檢測(cè)系統(tǒng)設(shè)計(jì)
陳建明張亞軍趙明明陳方里崔羊威
(華北水利水電大學(xué)電力學(xué)院河南 鄭州 450045)
摘要針對(duì)便攜式顏色檢測(cè)設(shè)備的自動(dòng)化與智能化實(shí)際應(yīng)用的要求,首次在Android平臺(tái)下設(shè)計(jì)一種顏色檢測(cè)系統(tǒng)。采用Cortex-A8內(nèi)核的S5PV210作為主控制器,配合TCS3200顏色傳感器、AM2301溫濕度傳感器,實(shí)現(xiàn)了對(duì)液體顏色數(shù)據(jù)的精確測(cè)量,且對(duì)使用環(huán)境無(wú)特殊要求。實(shí)際測(cè)試表明,該系統(tǒng)對(duì)不同顏色的測(cè)試準(zhǔn)確可靠,且系統(tǒng)結(jié)構(gòu)創(chuàng)新,具有易操作、性能穩(wěn)定的特點(diǎn),為顏色檢測(cè)提供了一種新途徑。
關(guān)鍵詞AndroidS5PV210顏色傳感器溫濕度傳感器
0引言
隨著現(xiàn)代工業(yè)向高速化、自動(dòng)化方向的發(fā)展,顏色成為評(píng)價(jià)許多行業(yè)產(chǎn)品質(zhì)量的重要指標(biāo),顏色的精確度量和不同顏色之間的辨識(shí)在生產(chǎn)中的作用越來(lái)越重要。當(dāng)前,顏色檢測(cè)在許多行業(yè)都有不同程度的應(yīng)用。例如:在油脂色澤檢測(cè)中,以色澤作為油脂的重要質(zhì)量指標(biāo)[1];在包裝印刷行業(yè),卷材也從單一的黑——白色向彩色發(fā)展。顏色問(wèn)題愈發(fā)受到工業(yè)制造者的重視,其測(cè)量系統(tǒng)也日益受到青睞。
目前顏色測(cè)量應(yīng)用較為廣泛的是比色分析法,但是無(wú)論是光電比色法還是分光光度法,在測(cè)試完成前都需要進(jìn)行一系列的操作,容易因?yàn)橐后w性質(zhì)的變化和環(huán)境溫濕度的變化而產(chǎn)生誤差。因此,設(shè)計(jì)了基于Cortex-A8處理器與Android平臺(tái)的顏色檢測(cè)系統(tǒng),該系統(tǒng)可對(duì)顏色和溫濕度進(jìn)行實(shí)時(shí)測(cè)量,且測(cè)量精度高、快捷、可靠、穩(wěn)定,也符合未來(lái)顏色檢測(cè)系統(tǒng)便攜化、小型化、快速化和智能化的發(fā)展趨勢(shì)
1顏色檢測(cè)系統(tǒng)總體設(shè)計(jì)
由于在溫度變化時(shí),色度和色差會(huì)受到影響,因此在進(jìn)行精確顏色測(cè)量時(shí),外界環(huán)境因素是不可忽略的[2],該顏色檢測(cè)系統(tǒng)應(yīng)具有以下基本功能:
1) 精確的采集液體的顏色;
2) 實(shí)時(shí)采集當(dāng)前環(huán)境的溫濕度。
硬件環(huán)境:本系統(tǒng)采用ARM作為主控制器,并與溫濕度傳感器AM2301和顏色傳感器TCS3200相結(jié)合,構(gòu)建了顏色檢測(cè)系統(tǒng)所需的硬件環(huán)境。溫濕度傳感器選用含有已校準(zhǔn)數(shù)字信號(hào)輸出的AM2301,其功能為采集溫濕度數(shù)據(jù);顏色傳感器選用RGB顏色傳感器TCS3200,其功能為采集液體的顏色值[3]。
軟件環(huán)境:系統(tǒng)以ARM公司的CortexTM-A8系列的微處理器S5PV210為核心,在Linux 3.0.8內(nèi)核中完成了AM2301、TCS3200傳感器的驅(qū)動(dòng)程序設(shè)計(jì)與開(kāi)發(fā),并且在Android 4.0.3操作系統(tǒng)下通過(guò)Java本地調(diào)用JNI(Java Native Interface)調(diào)用Android底層的Linux驅(qū)動(dòng)開(kāi)發(fā)了顏色檢測(cè)系統(tǒng)的應(yīng)用軟件[4]。
目前嵌入式產(chǎn)品中運(yùn)用比較成熟的處理器是S3C2440和S3C6410,但是S3C2440僅僅是能夠運(yùn)行Android系統(tǒng),在使用過(guò)程中卡頓嚴(yán)重,而S3C6410可以正常運(yùn)行Android 2.3系統(tǒng),Android 4.0.3系統(tǒng)需要配置相對(duì)較高,采用S5PV210可以流暢的運(yùn)行,極大地增強(qiáng)了用戶(hù)體驗(yàn),故選用S5PV210處理器。
從功能上來(lái)說(shuō),整個(gè)系統(tǒng)需要完成的工作主要分為以下幾個(gè)部分:系統(tǒng)硬件平臺(tái)的構(gòu)建,基于Linux 3.0.8內(nèi)核的溫濕度傳感器AM2301和顏色傳感器TCS3200驅(qū)動(dòng)程序設(shè)計(jì)與開(kāi)發(fā),Android應(yīng)用層顏色檢測(cè)軟件的設(shè)計(jì)。傳感器與ARM電路連接如圖1所示。
圖1 傳感器與ARM電路連接
2系統(tǒng)硬件設(shè)計(jì)
2.1嵌入式微處理器
系統(tǒng)硬件設(shè)計(jì)的處理器采用SAMSUNG公司S5PV210處理器,它采用了ARM CortexTM-A8內(nèi)核,是ARM公司第一款基于ARMv7架構(gòu)的應(yīng)用處理器。該處理器采用32位RISC(精簡(jiǎn)指令集),內(nèi)部架構(gòu)采用64/32位總線結(jié)構(gòu),最大處理速度可達(dá)到1 GHz,CPU內(nèi)部具有16/32 KB可配置的一級(jí)數(shù)據(jù)/指令緩存,512 KB的二級(jí)緩存,可實(shí)現(xiàn)2000 DMIPS(每秒運(yùn)算2億條指令集)的高性能運(yùn)算能力[5]。且有一套完整的通用系統(tǒng)外設(shè),功耗低于300 mW,具有低功耗、高性能等優(yōu)點(diǎn),減少了系統(tǒng)的整體成本。
2.2AM2301數(shù)字式溫濕度傳感器
溫濕度采集模塊采用數(shù)字式溫濕度傳感器AM2301,其相對(duì)濕度測(cè)量范圍為20%~ 90% RH,相對(duì)濕度測(cè)量精度:±4%~ ±5% RH;攝氏溫度測(cè)量范圍為0~50 ℃,攝氏溫度測(cè)量精度:±1~ ±2 ℃。AM2301是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,包括一個(gè)電容式感濕元件和一個(gè)NTC(負(fù)溫度系數(shù))測(cè)溫元件,并與一個(gè)高性能的ARM連接,具有響應(yīng)迅速,可靠性高和穩(wěn)定性好等優(yōu)點(diǎn)。
2.3TCS3200顏色傳感器
顏色采集模塊是該系統(tǒng)的核心部分,負(fù)責(zé)對(duì)液體進(jìn)行顏色檢測(cè)。目前常用的顏色傳感器大體分為2類(lèi),這兩類(lèi)傳感器均屬于光電式,分別為:色標(biāo)傳感器、RGB顏色傳感器。本文采用的TCS3200模塊由一片RGB顏色傳感器及其外圍電路構(gòu)成,屬于第二類(lèi)。TCS3200顏色傳感器采用美國(guó)TAOS公司研制的可編程彩色光/頻率的轉(zhuǎn)換器,其芯片結(jié)構(gòu)見(jiàn)圖2所示。它把可配置的硅光二極管與電流頻率轉(zhuǎn)換器集成在一個(gè)單一的CMOS電路上,芯片上集成了紅、綠、藍(lán)(RGB)3種濾光器,其上有一個(gè)有數(shù)字兼容接口,可以驅(qū)動(dòng)標(biāo)準(zhǔn)的TTL或者CMOS邏輯輸入,因此可以直接與微處理器或者其他邏輯電路相連接。由于其輸出為數(shù)字量,并且能夠?qū)崿F(xiàn)彩色通道10位以上的轉(zhuǎn)換精度,所以在轉(zhuǎn)換過(guò)程中不需要A/D轉(zhuǎn)換電路,使電路變得簡(jiǎn)單,并大大提高了該芯片的抗噪聲性能,符合顏色檢測(cè)系統(tǒng)小型化和穩(wěn)定性的要求[6]。
圖2 TCS3200功能框圖
由三原色感應(yīng)原理可知,如果知道構(gòu)成各種顏色的三原色的值,就能夠知道被測(cè)物的顏色,對(duì)于系統(tǒng)采用的傳感器來(lái)說(shuō),當(dāng)選定一個(gè)顏色濾波器時(shí),它只允許某種特定的顏色通過(guò),阻止其他顏色通過(guò)。TCS3200傳感器有紅色、綠色、藍(lán)色和無(wú)濾波全透光4類(lèi)(各占1/4)濾光器,可直接根據(jù)液體不同顏色的范圍,通過(guò)驅(qū)動(dòng)程序改變其引腳S2和S3的電平高低來(lái)動(dòng)態(tài)選擇所需要的濾波器,經(jīng)過(guò)電流到頻率的轉(zhuǎn)換器后輸出不同頻率的方波(占空比是50%),且輸出頻率與光強(qiáng)度成線性關(guān)系[7]。選擇濾波器模式所需的S2和S3電平如表1所示。還可以通過(guò)S0和S1設(shè)置OUT引腳輸出信號(hào)頻率與其內(nèi)置振蕩器頻率比率因子,本文所述系統(tǒng)把比率因子設(shè)為100%,即S0和S1引腳所接I/O保持高電平不變。通過(guò)白平衡校正得到RGB比例因子,再通過(guò)OUT引腳輸出信號(hào)頻率來(lái)?yè)Q算出被測(cè)物體由三原色光強(qiáng)組成的R、G、B值。
表1 S2、S3濾波器模式選擇
3系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)包括3個(gè)層面:一是操作系統(tǒng);二是傳感器驅(qū)動(dòng)程序;三是顏色檢測(cè)程序。
操作系統(tǒng)采用Google公司的Android 4.0.3系統(tǒng),開(kāi)發(fā)平臺(tái)是Ubuntu 12.04系統(tǒng)。首先在該平臺(tái)上進(jìn)行系統(tǒng)定制,底層傳感器驅(qū)動(dòng)程序的設(shè)計(jì)與開(kāi)發(fā)如溫濕度傳感器AM2301、顏色傳感器TCS3200等工作,精簡(jiǎn)操作系統(tǒng),保留顏色檢測(cè)系統(tǒng)所必須的基本功能,如Display、Input、Android標(biāo)準(zhǔn)內(nèi)容等,然后開(kāi)發(fā)應(yīng)用程序作為顏色檢測(cè)系統(tǒng)的主程序,負(fù)責(zé)與傳感器的通信以及顯示溫濕度和顏色的測(cè)試數(shù)據(jù)。
3.1操作系統(tǒng)的選擇
目前較為流行的嵌入式操作系統(tǒng)主要有:微軟公司的Windows CE、風(fēng)河公司(WindRive)的VxWorks、Palm公司的Palm OS、Micrium公司提供的uC/OS-II、嵌入式Linux操作系統(tǒng)等?;谇度胧絃inux的Android系統(tǒng)憑借其安全性高、人機(jī)交互強(qiáng)和代碼開(kāi)源等優(yōu)點(diǎn),在嵌入式移動(dòng)設(shè)備領(lǐng)域內(nèi)具有很好的應(yīng)用前景,正在逐漸成為眾多嵌入式操作系統(tǒng)的另外一種選擇[8]。在Android系統(tǒng)中也提供了對(duì)多種傳感器的支持,但要想使得Android系統(tǒng)支持新添加的傳感器設(shè)備并且使得開(kāi)發(fā)人員可以通過(guò)調(diào)用系統(tǒng)API來(lái)直接編寫(xiě)傳感器的應(yīng)用程序,不僅需要在Linux內(nèi)核中添加相應(yīng)的硬件驅(qū)動(dòng),還必須在硬件抽樣層HAL(Hardware Abstract Layer)中實(shí)現(xiàn)相應(yīng)的接口。而本系統(tǒng)采用的S5PV210是一款適用于智能手機(jī)和平板電腦等多媒體設(shè)備的應(yīng)用處理器,由于其強(qiáng)大的性能,該處理器能夠輕松運(yùn)行Windows CE、Linux、Android等操作系統(tǒng)并進(jìn)行較為復(fù)雜的信息處理。結(jié)合800×480分辨率的7英寸的電容式觸摸屏,實(shí)現(xiàn)觸摸屏取代傳統(tǒng)鍵盤(pán),具有良好的人機(jī)交互功能,并結(jié)合了溫濕度傳感器和顏色傳感器對(duì)環(huán)境溫濕度以及液體的顏色進(jìn)行即時(shí)的采集、存儲(chǔ),是移動(dòng)平臺(tái)與工業(yè)化結(jié)合的一次良好嘗試。
3.2溫濕度傳感器AM2301驅(qū)動(dòng)設(shè)計(jì)
AM2301與ARM之間的通信采用單總線數(shù)據(jù)格式,一次完整的數(shù)據(jù)傳輸為40 bit,高位先出。數(shù)據(jù)格式為:16 bit濕度數(shù)據(jù)+16 bit溫度數(shù)據(jù)+8 bit校驗(yàn)和。驅(qū)動(dòng)程序開(kāi)始之后,等待1 s以越過(guò)不穩(wěn)定狀態(tài),然后S5PV210按照時(shí)序發(fā)送采集指令并接收數(shù)據(jù),一次通信時(shí)間5 ms左右。使用ARM實(shí)現(xiàn)AM2301溫濕度傳感器采集溫濕度流程的驅(qū)動(dòng)程序設(shè)計(jì)與開(kāi)發(fā)流程如圖3所示。
圖3 AM2301驅(qū)動(dòng)程序流程
3.3顏色傳感器TCS3200驅(qū)動(dòng)設(shè)計(jì)
(1) 白平衡調(diào)整
白平衡調(diào)整是整個(gè)顏色檢測(cè)系統(tǒng)的重要基準(zhǔn)[9]。理論上,在R、G、B三種不同的濾波片下,標(biāo)準(zhǔn)白板測(cè)出反射光強(qiáng)的脈沖值是相等的,實(shí)際上由于TCS3200對(duì)三基色的敏感性并不相同,導(dǎo)致其輸出并不相等,不同濾波片下標(biāo)準(zhǔn)白板采集值R、G、B分別為5312、5035、6214,因此在測(cè)試時(shí)必須進(jìn)行白平衡調(diào)整。
(2) 數(shù)據(jù)采集
TCS3200顏色傳感器主要是把外界圖像轉(zhuǎn)換為脈沖信號(hào),而測(cè)量R、G、B的值主要有兩種方法:脈沖采集法和脈寬采集法。脈沖采集法是設(shè)置定時(shí)器為一個(gè)固定的時(shí)間(如10 ms),然后選通三種顏色的濾波器,采集這段時(shí)間內(nèi)TCS3200的輸出脈沖數(shù),計(jì)算出1個(gè)比例因子,通過(guò)這個(gè)比例因子可以把這些脈沖數(shù)變成255,把測(cè)得的脈沖數(shù)乘以求得的比例因子得到對(duì)應(yīng)的R、G、B值;脈寬采集法是等脈沖采集法的特殊情況,即用定時(shí)器記錄一次脈沖寬度,程序以脈沖高電平寬度作為脈寬測(cè)量值。本系統(tǒng)采用的是脈沖采集法。需要指出的是,實(shí)際測(cè)量中應(yīng)該在傳感器上加遮光罩,以便進(jìn)行白平衡的調(diào)整。
使用ARM實(shí)現(xiàn)TCS3200顏色傳感器顏色采集流程的驅(qū)動(dòng)程序設(shè)計(jì)與開(kāi)發(fā)流程如圖4所示。
圖4 TCS3200驅(qū)動(dòng)程序流程
3.4顏色檢測(cè)程序的設(shè)計(jì)
整個(gè)系統(tǒng)實(shí)驗(yàn)平臺(tái)如圖5所示,在Eclipse(集成開(kāi)發(fā)環(huán)境)中設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)環(huán)境溫度檢測(cè)的程序,安裝到Android系統(tǒng)中,賦予程序訪問(wèn)TCS3200和AM2301驅(qū)動(dòng)程序提供節(jié)點(diǎn)的權(quán)限,運(yùn)行系統(tǒng)并啟動(dòng)程序,采集20次測(cè)試顏色樣本的數(shù)據(jù)和實(shí)時(shí)的溫濕度數(shù)據(jù),如表2所示。實(shí)際測(cè)試結(jié)果同人眼的顏色感覺(jué)有較好的一致性,并且和RGB顏色查詢(xún)對(duì)照表吻合。
圖5 實(shí)驗(yàn)平臺(tái)
次數(shù)RGB人眼識(shí)別溫度11390240紫色22.36℃225212866橙色22.33℃381225綠色22.34℃415150222藍(lán)色22.34℃??????1719138236藍(lán)色22.35℃18242129116紅色22.34℃19240151102橙色22.37℃200023黑色22.36℃
4結(jié)語(yǔ)
針對(duì)現(xiàn)代顏色檢測(cè)系統(tǒng)的發(fā)展趨勢(shì),設(shè)計(jì)了基于Cortex-A8處理器與Android平臺(tái)的顏色檢測(cè)系統(tǒng)。該系統(tǒng)運(yùn)行穩(wěn)定,能夠?qū)崿F(xiàn)對(duì)液體的顏色采集和實(shí)時(shí)的溫濕度數(shù)據(jù)監(jiān)測(cè)的功能,避免了溫濕度變化和測(cè)試時(shí)間過(guò)長(zhǎng)造成液體性質(zhì)的變化而引起的誤差,且溫度、濕度、顏色值的測(cè)量精度高、快捷、可靠。該系統(tǒng)具有操作界面人性化,控制方便,實(shí)時(shí)性好等優(yōu)點(diǎn),同時(shí)采用發(fā)展前景較好的Android操作系統(tǒng),具有進(jìn)一步朝智能化、微型化和產(chǎn)業(yè)化方向發(fā)展的潛在優(yōu)勢(shì)。
參考文獻(xiàn)
[1] 王安敏,尚緒超,趙龍.基于顏色傳感器TCS230的油水界面檢測(cè)儀的設(shè)計(jì)[J].機(jī)械設(shè)計(jì)與制造,2010(9):21-22.
[2] 韓凌,陸榮鑑.制袋機(jī)的檢測(cè)與控制技術(shù)發(fā)展概述[J].包裝工程,2010(11):135-139.
[3] 鄭巧.嵌入式系統(tǒng)的應(yīng)用與開(kāi)發(fā)分析[J].制造業(yè)自動(dòng)化,2011(5):171-173.
[4] 鄭云卿,黃琦.基于Android平臺(tái)的軟件自動(dòng)化監(jiān)控工具的設(shè)計(jì)開(kāi)發(fā)[J].計(jì)算機(jī)應(yīng)用與軟件,2013(2):235-238.
[5] 吳宇,楊江,張龍.基于Cortex-A8的移動(dòng)在線水質(zhì)監(jiān)測(cè)平臺(tái)的研究[J].電子技術(shù)應(yīng)用,2012(10):34-36,40.
[6] 王璞,劉教瑜,陳前平.基于WinCE的色彩分析儀的研究與設(shè)計(jì)[J].電子測(cè)量技術(shù),2011(5):49-52.
[7] 高富強(qiáng),李嶺,安康.基于RGB的顏色辨識(shí)系統(tǒng)設(shè)計(jì)[J].傳感器與微系統(tǒng),2012(10):84-87.
[8] 熊積健,王琪.基于S5PV210平板電腦的設(shè)計(jì)[J].計(jì)算機(jī)與現(xiàn)代化,2012(5):189-191,194.
[9] 潘海鴻,陳琳,黃炳瓊,等.基于TCS230傳感器的高精度顏色識(shí)別系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2009(16):159-161.
[10] 李敏,董志學(xué).基于Android的嵌入式機(jī)器聲音故障檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2013(7):301-304.
收稿日期:2014-10-29。陳建明,教授,主研領(lǐng)域:傳感器與檢測(cè)技術(shù)。張亞軍,碩士生。趙明明,碩士。陳方里,碩士生。崔羊威,碩士生。
中圖分類(lèi)號(hào)TP277
文獻(xiàn)標(biāo)識(shí)碼A
DOI:10.3969/j.issn.1000-386x.2016.07.029
DESIGNING COLOUR DETECTION SYSTEM BASED ON CORTEX-A8 PROCESSOR AND ANDROID PLATFORM
Chen JianmingZhang YajunZhao MingmingChen FangliCui Yangwei
(SchoolofElectricPower,NorthChinaUniversityofWaterResourcesandElectricPower,Zhengzhou450045,Henan,China)
AbstractFor the first time we designed on Android platform a colour detection system to meet the practical application requirement in automation and intelligence of portable colour detection devices. The system uses S5PV210 based on Cortex-A8 core as the master controller, acting with colour sensor TCS3200 and temperature and humidity sensor AM2301, it achieves the accurate detection of liquid colour data without special demands on operating environment. Practical tests showed that the system is accurate and reliable in testing different colours. With an innovative structure, this system is easy to operate and has stable performance, which provides a new approach for colour detection.
KeywordsAndroidS5PV210Colour sensorTemperature and humidity sensor