传感器的数量在整个地球表面和人们生活周遭空间激增,提供世界各种数据讯息。这些价格亲民的传感器是物联网(IoT)发展和我们的社会正面临数字化革命,背后的驱动力,然而,连接和获取来自传感器的数据并不总是直线前进或那么容易,以下有5个技巧以协助缓解工程师与传输接口到传感器的第一次战争。
技巧1―先从总线工具开始
第一步,工程师应当采取首次介接到传感器时,是透过一个总线工具的方式以限制未知。一个总线工具连接一台个人计算机(PC),然后到传感器的I2C、 SPI或其他可让传感器可以“说话”的协议。与总线工具相关的PC应用程序,提供了一个已知与工作来源用以发送和接收数据,且不是未知、未经认证的嵌入式微控制器(MCU)驱动程序。在总线工具的工作环境下,开发人员可以传送和接收讯息以得到该部分如何运作的理解,在试图于嵌入式等级操作之前。
技巧2―在Python编写传输接口码
一旦开发者已尝试使用总线工具的传感器,下一步就是为传感器编写应用程序代码。并非直接跳到微控制器的代码,而是在Python编写应用程序代码。许多总线 工具在编写脚本(writing scripts)配置了插件(plug-in)和范例码,Python通常是随着.NET中可用的语言之一。在Python编写应用程序是快速且容易的, 其并提供一个方法已在应用程序中测试传感器,这个方式并未如同在嵌入式环境测试的复杂。拥有高层级的代码,将使非嵌入式工程师易于挖掘传感器的脚本及测 试,而不需要一个嵌入式软件工程师的照看。
技巧3―以Micro Python测试传感器
在Python写下第一段应用程序代码的其中一个优势是,透过调用Micro Python,应用程序调用到总线工具应用程序编程接口(API)可易于进行更换。Micro Python运作在实时嵌入式软件内,其中有许多传感器可供工程师来了解其价值,Micro Python运作在一个Cortex-M4处理器,且其是一个很好的环境,以从中为应用程序代码除错。不仅是简单的,这里也不需要去写I2C 或SPI驱动程序,因为它们已被涵盖在Micro Python的函式库中。(可在EDN网站阅读Using Micro Python for real-time software development或5 Advantages of using Micro Python for Embedded Software Programming两篇文章,以获得更多相关细节。)
技巧4―利用传感器供货商代码
任何可以从传感器制造商“搜括”到的范例码,工程师需要走一段很长的路才能了解传感器如何工作的原理。不幸的是,许多传感器供货商并非嵌入式软件设计的专家,因此不要期待可以发现一个可投入生产的漂亮架构和优雅的例子。就使用供货商代码,学习这部分如何运作,之后重构的挫折感将出现,直到它可以被干净利索地整合到嵌入式软件。它可能如“意大利面条般(spaghetti)”开始,但利用制造商对其传感器如何运作的理解,在产品推出之前,将有助于减少许多得 被毁掉的周末时间。
技巧5―使用一个传感器融合函式库
机 会是,传感器的传输接口并不是太新,且先前没有人这么做过。已知的所有函式库,如由许多芯片制造商提供的“传感器融合函式库”,以协助开发人员快速掌握、 甚至更好,更可避免他们陷入重新开发或大幅修改产品架构的轮回。许多传感器可以被整合至一般类型或类别,而这些类型或类别将使驱动程序顺利被开发,若处理得当,几乎是普遍或是少可重复使用。寻找这些传感器融合函式库,并学习它们的优点和短处。
最后的想法
感测器被整合至嵌入式系统时,有许多方式可以帮助提高设计时程和易用性。开发者在开始设计时,透过一个高层次抽象概念,以及在把传感器整合进一个较低等级的 系统之前,学习传感器如何运作,就绝对不会“走错路”。今天存在的众多资源将可协助开发人员“旗开得胜”,而无须从头开始。