摘 要: 介绍了基于MSP430微控制器和TCS230颜色传感器实现颜色识别的基本方法及其识别电路;同时简要介绍基于FT232BM的USB串行通信的实现。采用MSP430作为主控微控制器对TCS230采集的颜色数据进行计算、标定、存储并通过FT232BM传输至上位机。
关键词: MSP430;颜色识别;TCS230;USB通信;FT232BM
随着社会的进步、科技的发展,生产和图像处理过程中的颜色识别已被基于颜色识别传感器的颜色识别系统所代替。TCS230颜色识别传感器将红绿蓝三基色(RGB)的模拟信号转换成一定频率的频率信号,MSP430主控微控制器将TCS230传输频率信号转变成数字信号,对此信号进行处理、标定,并对TCS230回馈控制。USB通信因本身含有电源,因此可以采用此电源为颜色识别微控制器系统的控制电源。FT232BM为USB-Serial的集成芯片,主要实现在微控制系统USB通信和上位机RS232通信之间的转换。由于颜色的识别需要初始化的基准,因此本系统中设计有存储初始化数据的存储电路以及初始化数据自动生成和读取的程序。
1 颜色传感器TCS230
TCS230是TAOS公司推出的可编程彩色光到频率的转换器,是业界第一个有数字兼容接口的RGB彩色传感器。TCS230可实现每个彩色通道10位以上的A/D转换,图1是TCS230的引脚和功能框图。
1.1 TCS230识别颜色的原理
TCS230采用8引脚的SOIC表贴或DIP封装。在芯片上集成4种类型:(1)带有红色滤波器;(2)带有绿色滤波器;(3)带有蓝色滤波器;(4)不带滤波器各16个共64个光电二极管。64个光电二极管交叉并联均匀分布,可以最大限度减少入射光的不均匀性,又可以消除颜色的位置误差。
S0、S1为输出比例因子或电源关断模式,S2、S3为滤波器类型的选择,如表1。OE 为频率输出使能,也可以片选信号,低电平有效;OUT为频率输出。
当入射光投射到TCS230时,通过S2、S3的不同组合,选择不同的滤波器,经过内部转换电路输出不同频率占空比为1/2的方波。不同频率和光强对应不同的频率,选择S0、S1的组合,选择不同的输出比例因子,对输出频率进行微调。MSP430对TCS230输出的频率进行测试后得到一定的数据,再与基准数据进行比较,从而确定收到的光的颜色的比例及强度。
1.2 TCS230与MSP430的接口电路
图2为MSP430微控制器和TCS230的接口电路,MSP430系列单片机具有超低功耗、强大的处理能力、高性能模拟技术及丰富的片上外围模块、系统工作稳定等优点。P1.5控制频率输出;P1.1、P1.2控制输出比例因子; P1.3、P1.4控制滤波器选择;频率输出接至MSP430定时器的外部输入TACLK端,设置 MSP430的定时器为外部计数方式。通过读取基本计数器A的数值确定TCS230的输出频率,并根据P1.1、P1.2、P1.3、P1.4的控制数据就可以确定R、G、B的颜色及强度。
2 FT232BM
USB是现代化的接口并通过USB总线直接给设备供电,USB接口轻巧并能使大量数据在其中传输。但是USB硬件设计因为高频率和复杂的协议而变得困难。采用FTDI公司的FT232BM就可以很好解决这个问题。FT232BM芯片一边是RS232,另一边是USB,将原来需要外加电源的MAX232转化成了带RS232转换线的FT232BM芯片就可以实现USB和RS232通信之间的转换。
FT232BM需要外接6 MHz晶振,采用2脚陶瓷晶振时,在晶振的两脚需外接27 pF的对地电容。尽管FT232BM工作时可以不外接93C46存储器,但93C46存储器常用于USB内部VID、PID、串行数、产品描述符等参数的设置,因此实际设计中一般均使用,尤其在多片FT232BM连接到一个PC机上时。外接的93C46(56、66)存储器数据要求16 bit,因此93C46的ORG脚接高电平。EECS脚(E2PROM片选)接93C46的CS脚(片选);EESK(E2PROM 信号时钟)接93C46的SK(时钟信号);EEDATA(E2PROM数据)脚接至93C46的DI(数据输入脚)和DO脚(数据输出),为防止输入输出数据的相互干扰,在DI和DO之间连接2.2 k?赘的电阻加以隔离,如图3所示。RSTOUT、USBDP、USBDM通过相应的电阻接至USB的“B”连接头上和外部USB口连接,如图3所示。FT232BM的TXD、RXD和MSP430的URXD0、UTXD0交叉连接,实现FT232BM和MSP430之间的串口通信,如图3所示。
3 MSP430控制电路
MSP430带有6个I/O端口,各端口有大量的控制寄存器供用户操作,最大限度提供了输入/输出的灵活性。通过设置寄存器,每个I/O位都可以独立编程,允许任意组合输入、输出及中断,P1和P2所有8 bit全部可以做中断处理,可以使用所有指令对寄存器操作,可以按字节输入输出,也可按位操作。I/O端口的基本寄存器包括端口方向选择寄存器PxDIR、输入寄存器PxIN、输出寄存器PxOUT、功能选择寄存器PxSEL、P1和P2还带有中断触发沿选择寄存器PxIES、中断标志寄存器PxIFG。MSP430为识别电路的主控芯片,主要对TCS230颜色输出的频率信号进行处理和存储,接口如图2所示。同时完成和FT232BM之间的通信转换,接口如图3所示。为使颜色识别有统一的基准,在颜色识别之前对相关色彩的强弱要进行初始标定、计算和存储。AT24C32为32 KB(4 096×8)串行通信的E2PROM。A0、A1、A2为片选端,在多片系统确定每个芯片的地址。WP为芯片写保护端,高电平时为只读芯片,低电平为读写芯片。SCL为读写时钟端,接MSP430的P5.1脚,SDA为读写数据、地址端,接MSP430的P5.2脚。AT24C32用来存储各颜色的初始基准数据,以后读取的数据均和此数据比较,以确定颜色及光的强度。
TC7660为高频率的直流电压转换器,仅需2个电容就可以实现+1.5 V~+10 V电压至-1.5 V~-10 V电压的转换。LM317为输出为1.2 V~37 V电压调整管。ULN2803AG为高电压、大电流的达林顿管。MSP430的P5.3、P5.4、P5.5的高低电平,经ULN2803AG驱动后接至颜色识别系统的感光测头,R、G、B和W之间的电压即为感光测头供给红、绿、蓝3个标准发光管的电压。通过LM317即可调整W的电位,调整RW、GW、BW之间的电压值,从而改变基准颜色的光强。图4所示为MSP430控制图。
4 软件系统
本颜色识别系统软件主要包括:(1)主控器MSP430和TCS230接口测频程序;(2)主控器MSP430和FT232BM串行通信程序;(3)主控器MSP430和AT24C32数据读写和比较程序;(4)主控器MSP430和ULN2803AG接口的电压控制程序。
在使用时要对颜色基准与色标之间进行比较标定。测头先读取色标的颜色和光强值,并存储为比较的基准值。本系统设计简洁、开发周期短、成本较低、功能较为完善,可以用于对液体、图片等颜色的识别。本系统已成功地应用于彩色扩印机的图像识别系统中,取得了较好的经济价值。
参考文献
[1] 宋家友.集成电子线路设计手册[M].福建:福建科学技术 出版社,2002,1.
[2] 杨素行.模拟电子技术简明教程[M].北京:高等教育出版 社(第三版),2005,10.
[3] 胡大可.MSP430系列超低功耗16位单片机原理与应用[M]. 北京:北京航空航天大学出版社,2000,6.
[4] 胡大可.MSP430系列单片机C语言程序设计与开发[M]. 北京:北京航空航天大学出版社,2003,1.