轻松将触控与近距感测功能整合至嵌入式系统

本文作者:admin       点击: 2008-03-10 00:00
前言:

介绍 

电容感测操作接口在近年来发展成一项实际且创新的技术,在许多种类的消费性产品中取代按钮开关,例如:在平滑表面的发光区域,或是侦测手指靠近的组件,都能取代机械按钮开关。

电容感测模块让业者轻易在系统中加入触控或近接感测接口,因为它不需要撰写程序代码也不必进行除错,仅须把现成的模块加入系统即可。传感器模块所执行的功能都是固定的,缺乏调整弹性,可能因此限制了产品扩充功能的空间。业者需要弹性较高的解决方案,因为常常需要在最后一刻在产品中加入新功能,以提高竞争优势。  

本文介绍如何把电容感测功能整合到一个简单的嵌入型系统,过程中连一行程序代码都不必撰写。免撰写程序代码的模式,发挥现成模块的便利性,以及结合含有大量程序代码嵌入型控制器的弹性。完整的设计流程,涵盖实际产品从设计理念,一直到开发出可运作原型产品等阶段。

免撰写程序代码的系统设计模式,采用Cypress提供的PSoC Express软件以及FirstTouch评估套件。设计新产品的创意人员,不必再浪费无数心力来开发可运作的原型产品。若您能画出系统的模块图表,就能利用PSoC Express的图形化接口开发出实际产品。即使是PSoC Express的新手,也能在数小时内完成整个设计流程,可降低开发时间与项目成本。 

打造更好的捕鼠器 

最经典的发明目标就是打造更好的捕鼠器。下面讨论的设计例子很接近最后的结果。我们要设计一个嵌入型系统,在设计例子中结合电子产业的两项趋势:电容感测与数字照相。我们用的例子是一个智能型近接传感器,用来启动一个数字摄影机。这种系统称为 “相机陷阱”。在近几年来,这些摄影机一直是科学新闻的头条。许多野生动物研究人士利用相机陷阱来证明许多一度被认为绝种的动物仍在野外生存,像是亚历桑那州的美洲豹。在像是波罗州浓密森林这类荒郊野外,科学家还利用这类摄影机发现许多新物种。现有的摄影机陷阱技术似乎相当完善。我们何必要发明新的科技? 以下扼要地比较新旧技术之间的差异,并阐述新技术如何打造出更好的陷阱。 

旧技术: 采用PIR动态传感器。在四周温度较高的环境,在目标区域内的动物会消失在背景环境中。反射的阳光会产生侦测错误的状况。笨重的硬设备,须妥善隐藏以躲过动物的目光,并防范各种破坏因素,视线中出现任何物体,就会让触发装置失效。使用者很难透过更换镜头的方式来调整触发区域。 
新技术: 以电容式近接传感器为基础,使用一条线路作为近接传感器。隐密性高的线可绑在树枝、岩石、或山泉水的洞口。只需一把剪线钳就能轻易调整触发区域。在光亮的阳光和星光的夜间,功能完全不变。背景环境的热温不会产生任何影响。近接传感器会定期唤醒启动,且只有当动物出现在目标区时才会启动摄影机,以节省电池的电力。 
比较两种设置摄影机陷阱的方式,用电容感测技术设置摄影机陷阱,在某些情况下,胜过现有的设置方法。新方法在野生动物研究的领域,可找到市场利基。 

设计流程简介 

免撰写程序的设计流程有6个步骤 
1. 以文字描述系统 
2. 描绘系统模块图表 
3. 定义状态机器、转换函式、以及真值表 
4. 执行系统仿真
5. 测试实际系统 
6. 微调CapSense 

步骤1. 以文字描述系统 
我们从上到下观察设计流程。这意谓着以文字定义系统运作的程序,然后再视需求加入技术细节。以下是一段对系统的非技术性简短描述。 
系统会持续监视任何动物。当侦测到动物时,摄影机会启动并拍摄。在没有侦测到动物时,摄影机就会关闭。为了避免拍摄到超出摄影机陷阱设定范围以外的内容,当系统关闭时,侦测系统会解除警戒一段时间。
这些描述是一个很好的起点,但在开始使用PSoC Express之前,还需更详细的描述。以下是系统运作的技术描述: 

1. 设定摄影机 
2. 隐藏目标区的线路。例如:把线连结到树枝或将绝缘线应融入环境之中。
3. 把传感器的线路与摄影机控制线连结到控制器机板。 
4. 打开控制器机板的电源 
5. 红色LED闪烁30秒,让研究人员有时间可以从系统前走开,避免触发照相功能。在这段时间,摄影机的触发器会关闭,摄影机也关闭。 
6. 红色LED停止闪烁,并维持关闭状态 
7. 摄影机的触发器现在开启,等候动物移到近接传感器附近  
8. 当有动物触发近接传感器,绿色LED就会开启。摄影机启动,并拍摄影像。 
9. 当动物移出目标范围,绿色LED就会关闭。摄影机在一般时间没有输入时,就会关闭。 
10. 回到步骤7,重复执行步骤周期。 

步骤2. 描绘系统模块图表
这个系统的模块图表是用PSoC Express来描绘,如图1所示。图表是透过一个图形化拖曳来定义。PSoC Express有一个零组件函式库,名为驱动器目录,包含许多各种功能模块以及温度传感器、光线传感器、以及加速器。使用者视需要用鼠标从目录中把模块拉到模块图表。为让流程更简化,这个设计范例中系统唯一的输出就是红色与绿色LED闪灯。 使用者仅须从驱动目录拉出两个数字输出端,就能将“摄影机开启/关闭”与 “快照”输出功能加入至相机。 

图1的设计范例系统结合以下功能至模块。
● Proximity-A近接传感器采用CapSense的CSD方法。
● 绿色LED闪灯-当近接传感器触发时, 绿色LED就会开启 
● 红色LED闪灯-在重置后30秒的Disarm周期内,红色LED灯会闪烁
● Tick1Second-时基组件会以每秒一个脉冲的频率,输出一个脉冲
● RedCounter-计数器每秒递增一个值。
● RedDelay-在30秒之后变更状态的状态机器 
● Initialize-当系统被重置时,用来重置计数器的状态机器 
状态3. 定义状态机器、转换函式、以及真值表 
PSoC Express虽然不必撰写程序代码,但必须为系统定义逻辑描述,这个作业是透过状态机器、转换函式、以及真值表来进行。 
设计中有两个简单的状态机器,其基本的结构相同。状态图是在PSoC Express中绘制,如图2与图3所示。转换逻辑显示在表中,已纳入每个图表。 

系统中名为Initialize的状态机器,让仿真作业更加容易操作,名为ResetSim的重置开关控制这个程序。在图2的转换函式表中,当重置开关为ON状态时,这个状态机器会维持在State0状态。其它时间状态机器会切换至State1状态,让计数器的值能够递增。  
 
名为RedDelay的状态机器被加入到系统,用来显示系统重置后已经过30秒的时间。图3的转换函式表就是很好的说明。 

设计中有3个真值表.这些真值表的特殊形态名为优先编码器。编码器有单一输出端,其输出的设定,由真值表中输入的逻辑表示式来控制。这些逻辑规则依序进行测试,直到所有条件符合规则为止。这3个真值表用来让计数器进行递增,开启与关闭LED灯,如图4、图5、与图6所示。 

步骤4. 进行系统仿真
PSoC Express诸多强悍功能之一就是仿真。设计范例的仿真检视图如图7所示。这个工具让您能测试系统是否在会适当时机进行转换。仿真功能让您能执行what-if条件式实验,不必对任何部份组件进行程序开发。若所有运作都符合预期,就可开始针对一部份组件撰写程序,然后检查系统在实际运作时的状况。 

步骤5. 测试实际系统 
FirstTouch评估套件的成本低廉,并整合至一个USB随身碟中,如图8与图9所示。这个小巧的开发系统包含评估设计范例所需的所有工具。 
FirstTouch套件的程序开发流程包括选择正确的PSoC,也就是CY8C21434,然后为每项功能选择正确的针脚,如图10所示。项目的hex格式档案在PSoC Express中建立,并编写到FirstTouch套件。实际系统的行为会对应至模拟时预测的情况,以符合先前定义的系统需求。项目成功完成,新手仅须花数个小时就执行完毕。若是有经验的PSoC Express使用者,设计流程甚至会更快。

步骤6. 对CapSense进行微调
这项仿真流程中没有涵盖的一项功能就是CapSense感测模块的微调。CSD与近接属性设定,在FirstTouch套件中运作得相当好,如图11与12所示。 

未来发展 

试想当研究人员想拍的动物靠近树枝,而触发装置正好装在树枝上,因动物触碰到树枝而没有触发。像是蛇或蜗牛爬在树枝上而触发了近接传感器,但研究人员并不想研究这些生物。为了捕捉接近传感器但没有触碰到传感器的动物,研究人员只须在棒子上加装触碰传感器。要在PSoC Express进行这项变更,须在驱动器目标中选择CapSense按钮,然后变更开启绿色LED的逻辑(当 Proximity_status >0 且Button_status <1时启动)。这样就能建构出一个智能型捕鼠陷阱!