基于嵌入式的微型光学手指导航模组设计

基于嵌入式的微型光学手指导航模组设计,第1张

        1  微型光学手指导航模组简介

  微型光学手指导航模组,集感应测量光路、微型机械构造和数字/模拟微电子集成电路于一体,是高度微型化的机电一体化人机输入模块。

 

  1.1  工作原理

  OFN模组,通常由红外LED光源、遮光触摸面板、光学透镜组和具有光敏阵列的片上处理/控制芯片组成,一般制作在便于集成应用的柔性线路FPC(Flexible PrinTIng Circuit)板上。常用的OFNFPC,还集成了表面按键,即所说的“锅仔片(Metal Dome Switch)”,以简单地实现“点击确认”的功能。

  OFN模组的工作原理如下:手指接触遮光触摸面板,光敏阵列检测到有目标活动,唤醒片上系统SoC投入正常工作状态,红外LED发光,启动检测光路,通过光学透镜组的折射和聚焦,由光敏阵列得到一幕一幕的图像数据信息;SoC从中抽象出不同的运动矢量MV(MoTIon Vector),进而根据运动矢量在时间和空间上的相关性,计算出每次手指移动的平面相对量,形成运动数据,并及时通过数据接口向外传输出去。手指移出后,光敏阵列通过检测还可以使SoC转入休眠状态,以节省功耗。

  遮光触摸面板,需要能够应对强光辐射干扰及外界湿度变化影响。

  运动相关性的判断与计算是OFN的核心,通常沿用光电鼠标中成熟的简化的13点、9点、7点或5点运动预测算法。还可以对得到的一系列数据,展开进一步的分析计算,得到“点击”、“双击”、“拖动”等伴随信息,进而实现传统鼠标的各种功能。

  OFN形成的数据信息一般包括两类:控制信息和运动信息。控制信息指示是否运动、点击、双击、拖动等,运动信息即平面的X方向与Y方向相对位移量。

  1.2  技术特征

  从应用角度概括起来,OFN的性能特征如下:

  ① 超薄超小设计。通常,外形面积在10 mm×10 mm以内,有效感光孔径在1.5 mm×1.5 mm以内,厚度在2?8~5?1 mm,也有2 mm厚度的OFN推出。

  ② 极低功耗设计。工作电流在2~16 mA,通常为3 mA;待机电流为80~150 μA,大多数器件为100 μA。

  ③ 直流供电需求。2.6~5.0 V范围,常用为2.8 V工作电压,正在朝自适应、更低的电源供应发展。

  ④ 灵活的多接口支持。可以通过常规数字接口I2C(InterIntegrated Circuit)或SPI(Serial Peripheral Interface)上传数据或接受主机配置,也有PS2鼠标接口或USB接口的;可以以中断方式向主机随时提示需要信息输入;可以通过复位和开关的形式接受主机统一调度。

  ⑤ 可选或自适应的光敏阵列分辨率,200~1250 CPI(Dots Per Inch)通常为800CPI。

  ⑥ 位移数据设置。通常为8位补码格式。

  ⑦ 优良的EMC/EMI设计,2 kV以上的ESD(ElectroStaTIc Discharge)能力。

  1.3  产品化应用

  OFN一经推出,就得到了迅速应用,特别是各种各样的手机,无论是廉价的功能手机(feature phone)还是高性能的3G(3rd?GeneraTIon)智能手机(smart phone),无论是Nucleus MTK、ThreadX?展迅、Symbian体系还是Windows Mobile、ARMLinux/Android、MACOSXiPhone体系,如Samsung的i329/728/780/788/908/8510、Nokia的E72/N900、BlackBerry的8520/9700、LG的ks500/kt500、SonyEricsson的X1/X2/X3、Sharp的SH8020C、中兴的X60等,不胜枚举。

  另外,在MID(Mobile Internet Devices)/MPC(Multimedia Personal Computer)/上网本、GPS导航、PMP(Portable Media Player)娱乐、数码相机/摄像机等大众化产品中,也在不断地得到广泛应用。不着重考虑成本和功耗的工农业过程控制、仪表仪器设备等行业领域,也在悄然进行OFN的扩展应用。

  OFN应用前景十分壮观,需求推动着OFN的应用,应用促进着OFN的不断完善发展。

  2  微型光学手指导航模组开发

  2.1  应用器件选型

  不少半导体公司进行了OFN器件及其模组的研发与生产,如Avago的ABDSA320、ST的VD5376、ATLab的ATA2188MOF与MOA器件及其FO1R/FO3R/SMID/AP33M2I/P模组、CrucialTec的CT01~27系列模组、Apexone的A2815器件及其AMF813模组、Mitsumi的SFN11LE与SFN11GU等。特别值得一提的是SFN11GU,模组超薄化已经达到了2 mm。很多光电半导体公司采用现有的OFN器件生产不同规格的OFN模组系列产品,如科特通信、世纪芯成、合盈光电等。

  选择OFN器件或模组,需要考虑的主要因素有:形体大小、功率消耗、电源供给和硬件接口。形体方面更关心的是厚度,越薄越适宜便携式消费产品,当然成本也会越高。便携式消费产品的应用,特别注重形体、功耗和电源供应,通常形体小巧、工作与待机电流小和可以更低电压供电的OFN器件或模组更受青睐。工农业过程控制、仪表仪器设备等行业应用,则更多考虑的是OFN器件或模组的稳定高效、连接方便和EMI/EMC/ESD能力。

  这里重点说明一下OFN的复合功能,导航及实时手指触控与位移检测是OFN的基本功能,由此衍生OFN的复合功能包括:点击、双击、拖动、滚屏、翻页、卷屏等。通常采用的OFN器件,仅有基本导航功能。为适合常用的“点击确认”需求,构成OFN模组时,常常在其FPC下附带微型的“锅仔片”机械按键,已经能够满足大多数应用场合了,非常经济。一些OFN,则直接把常用的点击、双击、拖动等简单的复合功能集成在器件内,把滚屏、翻页、卷屏等复杂的复合功能设计成规范API函数库,供OFN器件或模组用户在具体的应用系统的上层软件中自由按需添加,CrucialTec的部分CTxx系列OFN模组就是如此。

  2.2  硬件体系设计

  嵌入式系统中引入OFN,硬件电路设计上需要做到:

  ◆  I/O接口的连接。增加10~50 Ω限流电阻加以实现,特别是电压规格不同的情形。

  ◆  电磁干扰的抑制。可以通过瓷片电容与限流电阻构成简洁的RC滤波电路加以实现。

  ◆  驱动能力的增强。可以通过上拉电阻简单加以实现。

  ②  供给电源的去噪滤波可以选用钽电容与瓷片电容,简单加以实现。

  图1给出了一种典型的OFN模组硬件电路设计,其中Mode用于选择I2C或SPI总线形式,INT为对外的实时中断信号,#RST和#ShtDwn为主机的复位和开关控制端口,I2C信号为SCK与SDA,SPI信号为SCK、RxD、TxD和#CS。

基于嵌入式的微型光学手指导航模组设计,第2张

图1  OFN的硬件电路设计示意图

  对于抗干扰、驱动和适应能力强大的OFN器件,可以不考虑滤波、限流和上拉电阻,具体情况应视所选用的OFN模组的性能和电路设计需求而定。电路设计时需要注意参考厂家的推荐电路及其器件参数与相关的估算公式,特别是PCB或FPC的印制板设计。

  2.3  软件体系设计

  OFN模组,作为一种新兴的人机输入微型接口设备,一般是以片外设备的身份,加入到以各类微处理器为核心的嵌入式应用系统中的,嵌入式微处理器软件体系必需实现对OFN模组的驱动才能及时地从中得到来自OFN的各种信息。

  OFN模组的驱动程序主要包括3部分:初始配置、过程变化控制和数据的收发传输。初始配置完成对OFN光敏分辨率、休眠方式、连续中断间隔等项的设置,如果不进行初始配置,OFN则按默认配置工作。过程变化控制用于主机对OFN的开关、复位及其工作参数变化的控制。数据收发传输是OFN的常规行为,只要有手指触控,OFN就会以一定的时间间隔按中断的形式通知主机系统。可以采用中断或查询的方式实时地从OFN中获取手指的触控输入信息。查询 *** 作往往需要使用周期定时器,在定时中断中查询并获取必要的OFN数据。从这层意义上讲,查询方式也是一类中断方式。主机可以在外部事件中断或定时中断服务中,通过I2C或SPI总线 *** 作,得到必要的OFN检测信息。

  通过底层驱动程序得到OFN检测信息后,对于没有嵌入式 *** 作系统EOS(Embedded Operatig System)的直接软件体系,或诸如RTX、μC/OSII等微型嵌入式实时 *** 作系统ERTOS(Embedded Real Time Operating System)的主机系统,上层应用程序直接用来进行屏幕指示、 *** 作控制或数据的存储、转发等活动,这主要针对工农业过程控制、仪表仪器设备、器件性能检测完善等应用情形。对于使用Nucleus MTK、ThreadX展迅、Symbian、Windows CE/Mobile、ARMLinux/Android、MACOSXiPhone、VxWorks等典型EOS及其应用体系的主机系统,还需要对OFN信息进行数据封装或控制格式转换,以便使原有系统的绝大多数应用程序都能直接使用,如鼠标数据包格式、触摸屏数据包格式、方向键信息格式等。这种信息封装或变换, *** 作简单的直接在驱动程序中实现, *** 作复杂的则需要在应用层通过消息、队列等软件通信或同步机制做“二传”或“三传”加以实现。

  具有EOS的软件系统,OFN驱动程序需要遵循相应EOS公用驱动程序的编写、调试、加/卸载要求,如Windows CE/Mobile的单/双层、本地/流接口驱动、动态库形式,ARMLinux的字符设备驱动、动态加/卸载、VxWorks的I/O设备驱动等。OFN驱动程序传播的是系统公用的人机交互输入信息,必须为公用驱动程序。EOS驱动程序可以划分为专用驱动程序或公用驱动程序两大类,公用驱动程序软件要求很高,需要根据具体EOS的特点和要求,认真编写、调试和测试。

  

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2713404.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存