|
无代码可视化嵌入式系统实现触摸感应和接近式触摸(连载一) |
|
副标题:无代码可视化嵌入式系统实现触摸感应和接近式触摸 |
| 日期:2008-1-7 23:05:46 来源:网络 编辑:51Touch |
|
电容式感应用户界面近年来已使其自身成为众多消费品中实用型和创新型按钮升级版。在光滑表面上轻轻一触,或者用手靠近一下,就能代替机械开关的物理传动。
有了电容式感应模块,给系统添加一个触摸和接近感应就变得容易起来了,因为无需编写或调试任何代码。只需选择现成的模块,然后加载到系统中就行了。但是,仅仅感应模块所执行的功能可能稍欠灵活,因而可能会限制产品的某些特色。最好有一种更具灵活性的解决方案,让某种产品在最后一刻从众多竞争产品中脱颖而出的往往就是多出来的那么一点点功能。
本文介绍的是,如何将电容式感应特色融入至一个简单的嵌入式系统之中,而无需编写一行代码。这种无代码方法不仅具有现成模块的便利性,而且具有代码密集型嵌入式控制器的灵活性。本文描述了完整的设计过程,提出了一种实际产品的创造理念,从构思一直到制作样机。
这种用于系统设计的无代码方法可通过PSoC Epress软件和FirstTouch评估套件实现,此二者均为赛普拉斯公司的产品。为新产品苦思冥想的创意人员不必为了得到样机辛辛苦苦地将设计交给工程部加工了。如果你能画出系统的方块图,你就能利用PSoC Express的图形化界面创造出实际产品。即便对于PSoC Express的新手而言,也只需短短几个小时就能完成整个过程。在此过程中,开发时间和项目成本均显著减少了。
构建一个更好的触发器
优秀的发明家的追求是构建一个更好的触发器。以下讨论所给出的一个设计实例距离所需要的结果非常接近。我们来创建一个嵌入式系统,以此作为结合了电子元件两种趋势的设计实例:电容式感应和数字摄影。我们的实例项目是一个可以触发数码相机的智能近程传感器。近些年来,这类相机已多次登上科技新闻的头条。野生动物研究人员已使用相机触发器,借此向人们证明他们一度认为已经绝种的动物仍然生存着,比如亚马逊流域里的美洲虎[1]。在像婆罗洲稠密的原始森林这样的偏远地区,科学家们亦使用这类相机发现了全新的物种[2]。
现有的相机触发器技术似乎很有效。为何发明车轮?本文对传统技术和新技术进行了简要比较,以便对构建更好的触发器起到抛砖引玉的作用。
传统技术:基于PIR运动传感器。周围环境温度较高时,目标区域的动物会迷失在背景情境中。反射的阳光使探测出现错误。体积庞大的硬件需要避开动物的视线,并且保护元件不受损坏,但光路上的任何障碍都会使触发器失效。使用简单的镜片,很难定制出触发器区域。
新技术:基于电容式近程传感器,使用导线作为近程传感器。隐蔽的导线可粘在树枝上,穿过石头或。触发器区域最好选局部化,并使用断线钳进行微调。在阳光明媚的白天和天空缀满星星的夜晚,效果同样很好。背景热量对其性能没有影响。近程传感器会定时检测,并且只有当动物在目标区域的时候才会触发相机,这样就节省了电池电力。
比较两种构建相机触发器的方法,我们可以发现构建相机触发器的电容式感应法在特定情况下,拥有超过现有方法的优点。这种新方法应该会在野生动物研究领域派上用场。
设计流程概览 无代码设计流程分为六个步骤。 简要描述系统。 绘制系统方块图。 定义状态机、传递函数和真值表。 系统仿真。 测试实际系统。 微调CapSense
第1步 简要描述系统
我们将采取一种自上而下的设计方法。这意味着,首先用几句话定义一下系统的工作原理,然后填入所需的技术细节信息。以下是一段关于系统的非技术性描述。
本系统将对动物进行持续监视。当检测到有动物出现时,相机就会启动,进而拍出照片。当没有检测到动物时,相机会关闭。为了防止拍摄到设置相机触发器的研究人员,系统复位时,检测系统会被关闭一段时间。
这些简短的语句是一个很好的开端,但是进入PSoC Express之间还需要更多的细节。以下是关于系统工作原理的更为专业描述。
架设相机。
将导线隐藏在目标区域中。譬如,将导线粘在树枝上。环境中应设置导线绝缘装置。
将传感器导线和相机控制电缆接至控制器面板上。
打开控制器面板的电源。
红色LED会闪亮30秒,这样研究人员就有时间远离系统,而不会被拍照。在此期间以及相机关闭时,相机触发器是不起作用的。
红色LED停止闪亮,并保持关闭状态。
相机触发器这时候就处于工作状态,等待动物靠近近程传感器。
当动物触发近程传感器时,红色的LED会亮起。相机便被启动,进而拍照。
动物离开目标区域时,绿色的LED将会熄灭。相机会在没有输入信号的一段时间之后自动关闭。
10.返回第7步,重复循环。
第2步 绘制系统方块图
系统方块图采用PSoC Express绘制,如图1所示。该方块图通过一个图形化的拖放过程来予以定义。PSoC Express拥有一个名为驱动目录的器件库,其中包括像温度传感器、光线传感器和加速器之类的功能部件。根据需要,用鼠标将各方块从目录中拖到方块图中。为简便起见,本设计实例系统的唯一输出端是红色LED和绿色LED。这样,通过从驱动目录中抓取两个数字输出来向相机中添加“相机 开/关”和“拍照”输出,就是非常简单的事情了。
图1 系统方块图

在本设计实例中,系统由以下部件组成。
近程传感器—一个基于CapSense CSD方法的接近式感应器件。 绿色LED—当近程传感器被触发时,该LED会亮起。 红色LED—复位后30秒的失效期间内闪亮。 Tick1 Second—时基,以每秒一个脉冲的速度输出一个脉冲列。 红色计数器—每秒增加一次的计数器。 红色延迟—30秒后更改状态的状态机。 初始化—系统复位时对计数器进行复位的状态机。
第3步 定义状态机、传递函数和真值表。
尽管使用PSoC Express无需编写代码,但还是需要对系统的逻辑描述进行定义,这是通过状态机、传递函数和真值表来实现的。
设计中有两种简单的状态机,而且二者均具有相同的基本结构。状态图在PSoC Express中进行绘制,如图2和图3所示。过渡逻辑列于各图所包含的表格之中。
被称为“初始化”的状态机之所以被融入本系统之中,是为了在名为ResetSim的复位开关的控制之下,使仿真用户界面更加友好。从图2中传递函数表可以看出,当复位开关处于“开”时,这台状态机会处于“状态0”。否则,则处于“状态1”,同时允许计数器计数。
图2 被称为“初始化”的状态机的状态图
状态0;State 1 状态1;Counter 计数器;SimRes ;SimHold
SimReset CountersReset SimHold
传递函数:初始化状态机


名为“红色延迟”的状态机被添加至系统中,其作用是显示系统被复位后经过的30秒时间。图3中的传递函数表浅显易懂。
图3 被称为“红色延迟”的状态机的状态图
State0 状态0;State 1 状态1; SimReset ;SimHold ;RedOff
SimReset SimHold RedOff
传递函数:红色延迟状态机

|
|
|
| 对这篇文章您有更多的想法?
请去论坛发表意见吧
|
 |
“无代码可视化嵌入式系统实现触摸感应和接近式触摸(连载一)” 的相关新闻 |
 |
|
|
|