Cortex-A8处理器与Android平台的颜色检测系统设计

2016-08-05 07:58陈建明张亚军赵明明陈方里崔羊威
计算机应用与软件 2016年7期
关键词:驱动程序温湿度处理器

陈建明 张亚军 赵明明 陈方里 崔羊威

(华北水利水电大学电力学院 河南 郑州 450045)



Cortex-A8处理器与Android平台的颜色检测系统设计

陈建明张亚军赵明明陈方里崔羊威

(华北水利水电大学电力学院河南 郑州 450045)

摘要针对便携式颜色检测设备的自动化与智能化实际应用的要求,首次在Android平台下设计一种颜色检测系统。采用Cortex-A8内核的S5PV210作为主控制器,配合TCS3200颜色传感器、AM2301温湿度传感器,实现了对液体颜色数据的精确测量,且对使用环境无特殊要求。实际测试表明,该系统对不同颜色的测试准确可靠,且系统结构创新,具有易操作、性能稳定的特点,为颜色检测提供了一种新途径。

关键词AndroidS5PV210颜色传感器温湿度传感器

0引言

随着现代工业向高速化、自动化方向的发展,颜色成为评价许多行业产品质量的重要指标,颜色的精确度量和不同颜色之间的辨识在生产中的作用越来越重要。当前,颜色检测在许多行业都有不同程度的应用。例如:在油脂色泽检测中,以色泽作为油脂的重要质量指标[1];在包装印刷行业,卷材也从单一的黑——白色向彩色发展。颜色问题愈发受到工业制造者的重视,其测量系统也日益受到青睐。

目前颜色测量应用较为广泛的是比色分析法,但是无论是光电比色法还是分光光度法,在测试完成前都需要进行一系列的操作,容易因为液体性质的变化和环境温湿度的变化而产生误差。因此,设计了基于Cortex-A8处理器与Android平台的颜色检测系统,该系统可对颜色和温湿度进行实时测量,且测量精度高、快捷、可靠、稳定,也符合未来颜色检测系统便携化、小型化、快速化和智能化的发展趋势

1颜色检测系统总体设计

由于在温度变化时,色度和色差会受到影响,因此在进行精确颜色测量时,外界环境因素是不可忽略的[2],该颜色检测系统应具有以下基本功能:

1) 精确的采集液体的颜色;

2) 实时采集当前环境的温湿度。

硬件环境:本系统采用ARM作为主控制器,并与温湿度传感器AM2301和颜色传感器TCS3200相结合,构建了颜色检测系统所需的硬件环境。温湿度传感器选用含有已校准数字信号输出的AM2301,其功能为采集温湿度数据;颜色传感器选用RGB颜色传感器TCS3200,其功能为采集液体的颜色值[3]。

软件环境:系统以ARM公司的CortexTM-A8系列的微处理器S5PV210为核心,在Linux 3.0.8内核中完成了AM2301、TCS3200传感器的驱动程序设计与开发,并且在Android 4.0.3操作系统下通过Java本地调用JNI(Java Native Interface)调用Android底层的Linux驱动开发了颜色检测系统的应用软件[4]。

目前嵌入式产品中运用比较成熟的处理器是S3C2440和S3C6410,但是S3C2440仅仅是能够运行Android系统,在使用过程中卡顿严重,而S3C6410可以正常运行Android 2.3系统,Android 4.0.3系统需要配置相对较高,采用S5PV210可以流畅的运行,极大地增强了用户体验,故选用S5PV210处理器。

从功能上来说,整个系统需要完成的工作主要分为以下几个部分:系统硬件平台的构建,基于Linux 3.0.8内核的温湿度传感器AM2301和颜色传感器TCS3200驱动程序设计与开发,Android应用层颜色检测软件的设计。传感器与ARM电路连接如图1所示。

图1 传感器与ARM电路连接

2系统硬件设计

2.1嵌入式微处理器

系统硬件设计的处理器采用SAMSUNG公司S5PV210处理器,它采用了ARM CortexTM-A8内核,是ARM公司第一款基于ARMv7架构的应用处理器。该处理器采用32位RISC(精简指令集),内部架构采用64/32位总线结构,最大处理速度可达到1 GHz,CPU内部具有16/32 KB可配置的一级数据/指令缓存,512 KB的二级缓存,可实现2000 DMIPS(每秒运算2亿条指令集)的高性能运算能力[5]。且有一套完整的通用系统外设,功耗低于300 mW,具有低功耗、高性能等优点,减少了系统的整体成本。

2.2AM2301数字式温湿度传感器

温湿度采集模块采用数字式温湿度传感器AM2301,其相对湿度测量范围为20%~ 90% RH,相对湿度测量精度:±4%~ ±5% RH;摄氏温度测量范围为0~50 ℃,摄氏温度测量精度:±1~ ±2 ℃。AM2301是一款含有已校准数字信号输出的温湿度复合传感器,包括一个电容式感湿元件和一个NTC(负温度系数)测温元件,并与一个高性能的ARM连接,具有响应迅速,可靠性高和稳定性好等优点。

2.3TCS3200颜色传感器

颜色采集模块是该系统的核心部分,负责对液体进行颜色检测。目前常用的颜色传感器大体分为2类,这两类传感器均属于光电式,分别为:色标传感器、RGB颜色传感器。本文采用的TCS3200模块由一片RGB颜色传感器及其外围电路构成,属于第二类。TCS3200颜色传感器采用美国TAOS公司研制的可编程彩色光/频率的转换器,其芯片结构见图2所示。它把可配置的硅光二极管与电流频率转换器集成在一个单一的CMOS电路上,芯片上集成了红、绿、蓝(RGB)3种滤光器,其上有一个有数字兼容接口,可以驱动标准的TTL或者CMOS逻辑输入,因此可以直接与微处理器或者其他逻辑电路相连接。由于其输出为数字量,并且能够实现彩色通道10位以上的转换精度,所以在转换过程中不需要A/D转换电路,使电路变得简单,并大大提高了该芯片的抗噪声性能,符合颜色检测系统小型化和稳定性的要求[6]。

图2 TCS3200功能框图

由三原色感应原理可知,如果知道构成各种颜色的三原色的值,就能够知道被测物的颜色,对于系统采用的传感器来说,当选定一个颜色滤波器时,它只允许某种特定的颜色通过,阻止其他颜色通过。TCS3200传感器有红色、绿色、蓝色和无滤波全透光4类(各占1/4)滤光器,可直接根据液体不同颜色的范围,通过驱动程序改变其引脚S2和S3的电平高低来动态选择所需要的滤波器,经过电流到频率的转换器后输出不同频率的方波(占空比是50%),且输出频率与光强度成线性关系[7]。选择滤波器模式所需的S2和S3电平如表1所示。还可以通过S0和S1设置OUT引脚输出信号频率与其内置振荡器频率比率因子,本文所述系统把比率因子设为100%,即S0和S1引脚所接I/O保持高电平不变。通过白平衡校正得到RGB比例因子,再通过OUT引脚输出信号频率来换算出被测物体由三原色光强组成的R、G、B值。

表1 S2、S3滤波器模式选择

3系统软件设计

系统软件设计包括3个层面:一是操作系统;二是传感器驱动程序;三是颜色检测程序。

操作系统采用Google公司的Android 4.0.3系统,开发平台是Ubuntu 12.04系统。首先在该平台上进行系统定制,底层传感器驱动程序的设计与开发如温湿度传感器AM2301、颜色传感器TCS3200等工作,精简操作系统,保留颜色检测系统所必须的基本功能,如Display、Input、Android标准内容等,然后开发应用程序作为颜色检测系统的主程序,负责与传感器的通信以及显示温湿度和颜色的测试数据。

3.1操作系统的选择

目前较为流行的嵌入式操作系统主要有:微软公司的Windows CE、风河公司(WindRive)的VxWorks、Palm公司的Palm OS、Micrium公司提供的uC/OS-II、嵌入式Linux操作系统等。基于嵌入式Linux的Android系统凭借其安全性高、人机交互强和代码开源等优点,在嵌入式移动设备领域内具有很好的应用前景,正在逐渐成为众多嵌入式操作系统的另外一种选择[8]。在Android系统中也提供了对多种传感器的支持,但要想使得Android系统支持新添加的传感器设备并且使得开发人员可以通过调用系统API来直接编写传感器的应用程序,不仅需要在Linux内核中添加相应的硬件驱动,还必须在硬件抽样层HAL(Hardware Abstract Layer)中实现相应的接口。而本系统采用的S5PV210是一款适用于智能手机和平板电脑等多媒体设备的应用处理器,由于其强大的性能,该处理器能够轻松运行Windows CE、Linux、Android等操作系统并进行较为复杂的信息处理。结合800×480分辨率的7英寸的电容式触摸屏,实现触摸屏取代传统键盘,具有良好的人机交互功能,并结合了温湿度传感器和颜色传感器对环境温湿度以及液体的颜色进行即时的采集、存储,是移动平台与工业化结合的一次良好尝试。

3.2温湿度传感器AM2301驱动设计

AM2301与ARM之间的通信采用单总线数据格式,一次完整的数据传输为40 bit,高位先出。数据格式为:16 bit湿度数据+16 bit温度数据+8 bit校验和。驱动程序开始之后,等待1 s以越过不稳定状态,然后S5PV210按照时序发送采集指令并接收数据,一次通信时间5 ms左右。使用ARM实现AM2301温湿度传感器采集温湿度流程的驱动程序设计与开发流程如图3所示。

图3 AM2301驱动程序流程

3.3颜色传感器TCS3200驱动设计

(1) 白平衡调整

白平衡调整是整个颜色检测系统的重要基准[9]。理论上,在R、G、B三种不同的滤波片下,标准白板测出反射光强的脉冲值是相等的,实际上由于TCS3200对三基色的敏感性并不相同,导致其输出并不相等,不同滤波片下标准白板采集值R、G、B分别为5312、5035、6214,因此在测试时必须进行白平衡调整。

(2) 数据采集

TCS3200颜色传感器主要是把外界图像转换为脉冲信号,而测量R、G、B的值主要有两种方法:脉冲采集法和脉宽采集法。脉冲采集法是设置定时器为一个固定的时间(如10 ms),然后选通三种颜色的滤波器,采集这段时间内TCS3200的输出脉冲数,计算出1个比例因子,通过这个比例因子可以把这些脉冲数变成255,把测得的脉冲数乘以求得的比例因子得到对应的R、G、B值;脉宽采集法是等脉冲采集法的特殊情况,即用定时器记录一次脉冲宽度,程序以脉冲高电平宽度作为脉宽测量值。本系统采用的是脉冲采集法。需要指出的是,实际测量中应该在传感器上加遮光罩,以便进行白平衡的调整。

使用ARM实现TCS3200颜色传感器颜色采集流程的驱动程序设计与开发流程如图4所示。

图4 TCS3200驱动程序流程

3.4颜色检测程序的设计

整个系统实验平台如图5所示,在Eclipse(集成开发环境)中设计并实现了一个环境温度检测的程序,安装到Android系统中,赋予程序访问TCS3200和AM2301驱动程序提供节点的权限,运行系统并启动程序,采集20次测试颜色样本的数据和实时的温湿度数据,如表2所示。实际测试结果同人眼的颜色感觉有较好的一致性,并且和RGB颜色查询对照表吻合。

图5 实验平台

次数RGB人眼识别温度11390240紫色22.36℃225212866橙色22.33℃381225绿色22.34℃415150222蓝色22.34℃︙︙︙︙︙︙1719138236蓝色22.35℃18242129116红色22.34℃19240151102橙色22.37℃200023黑色22.36℃

4结语

针对现代颜色检测系统的发展趋势,设计了基于Cortex-A8处理器与Android平台的颜色检测系统。该系统运行稳定,能够实现对液体的颜色采集和实时的温湿度数据监测的功能,避免了温湿度变化和测试时间过长造成液体性质的变化而引起的误差,且温度、湿度、颜色值的测量精度高、快捷、可靠。该系统具有操作界面人性化,控制方便,实时性好等优点,同时采用发展前景较好的Android操作系统,具有进一步朝智能化、微型化和产业化方向发展的潜在优势。

参考文献

[1] 王安敏,尚绪超,赵龙.基于颜色传感器TCS230的油水界面检测仪的设计[J].机械设计与制造,2010(9):21-22.

[2] 韩凌,陆荣鑑.制袋机的检测与控制技术发展概述[J].包装工程,2010(11):135-139.

[3] 郑巧.嵌入式系统的应用与开发分析[J].制造业自动化,2011(5):171-173.

[4] 郑云卿,黄琦.基于Android平台的软件自动化监控工具的设计开发[J].计算机应用与软件,2013(2):235-238.

[5] 吴宇,杨江,张龙.基于Cortex-A8的移动在线水质监测平台的研究[J].电子技术应用,2012(10):34-36,40.

[6] 王璞,刘教瑜,陈前平.基于WinCE的色彩分析仪的研究与设计[J].电子测量技术,2011(5):49-52.

[7] 高富强,李岭,安康.基于RGB的颜色辨识系统设计[J].传感器与微系统,2012(10):84-87.

[8] 熊积健,王琪.基于S5PV210平板电脑的设计[J].计算机与现代化,2012(5):189-191,194.

[9] 潘海鸿,陈琳,黄炳琼,等.基于TCS230传感器的高精度颜色识别系统设计[J].微计算机信息,2009(16):159-161.

[10] 李敏,董志学.基于Android的嵌入式机器声音故障检测系统的设计与实现[J].计算机应用与软件,2013(7):301-304.

收稿日期:2014-10-29。陈建明,教授,主研领域:传感器与检测技术。张亚军,硕士生。赵明明,硕士。陈方里,硕士生。崔羊威,硕士生。

中图分类号TP277

文献标识码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

猜你喜欢
驱动程序温湿度处理器
基于AT89C51的数字型蚕用温湿度计的设计
基于DSP的多路温湿度监测系统
计算机硬件设备驱动程序分析
基于温湿度控制的天气预测装置
蒸发冷却温湿度独立控制空调系统的应用
Imagination的ClearCallTM VoIP应用现可支持Cavium的OCTEON® Ⅲ多核处理器
ADI推出新一代SigmaDSP处理器
基于MPC8280的CPU单元与内部总线驱动程序设计
妙用鼠标驱动
驱动程序更新与推荐