0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AMetal助你三步搞定传感器

UtFs_Zlgmcu7890 来源:fqj 2019-05-16 15:16 次阅读

传感器应用广泛种类繁多,能快速配置好传感器并加以使用无疑会帮助产品开发节省很多时间,在AMetal中,我们将配置传感器压缩成三步,每一步仅一个函数,帮助工程师快速实现传感器使用,本文作详细介绍。

人们为了从外界获取信息,必须借助于感觉器官,而对于电子产品而言,传感器就是它们的“感觉器官”。由于传感器的种类繁多,通讯方式也不尽相同,我们使用传感器时,必须阅读相关的手册,以获取它的通讯方式、相关的寄存器地址以及其对应的描述;配置使用一个传感器,基本上一大半的时间都停留在手册上,这对于产品竞争愈演愈烈的时代来说,无疑有些拖后腿。

AMetal传感器框架应运而生!它可以让你在配置传感器时,告别传感器的手册!

本次介绍所使用的传感器为:HTS221。HTS221是一款测量相对湿度和温度的超紧凑型传感器,可用I2C、SPI两种通讯协议。它包括一个传感元件和一个混合信号ASIC,通过数字串行接口传输测量信息。传感元件由能够检测相对湿度变化的电容器组成,并使用专用ST工艺制造。HTS221采用HLGA封装,如图1所示。

图1 HTS221封装

HTS221提供一个DRDY引脚,该引脚输出数据就绪信号,可配置成中断接收数据,连接方式详见图2。

AMetal助你三步搞定传感器

图2 HTS221应用电路

硬件上本次采用ZLG116N32A,使用I2C接口与HTS221通讯,该芯片为Cortex-M0内核,具有64KB Flash/8K SRAM ,运行主频达48MHz,支持宽电压输入(2.0~5.5V),支持多路UART、SPI、I2C等外设接口,性价比相当高。

ZLG116的I2C引脚SCL为PB6、SDA为PB7,将这两个引脚连接到传感器,并将DRDY连接至PIOB_0,搭建好硬件电路;我们开始分三步搞定这个传感器。

步骤1

初始化传感器

在AMetal中,初始化一个外设后,基本都会得到一个返回值:“handle”,这个handle中包含了该外设所有的配置信息、操作函数以及当前状态。

初始化HTS221的函数及内容为:

AMetal助你三步搞定传感器

__g_hts221_dev为HTS221设备结构体;

__g_hts221_info为描述了与HTS221传感器相关信息的结构体;结构体中仅有HTS221的DRDY引脚和HTS221的I2C从机地址:

AMetal助你三步搞定传感器

如果客户在硬件连接上有不一致的地方,直接在此结构体中修改即可。

最后一个传入参数:I2C标准服务句柄;ZLG116的I2C初始化服务函数为am_zlg116_i2c1_inst_init(),此函数的返回值即为I2C标准服务句柄,所以在此处直接调用此函数即可。

在硬件连接一致的情况下,可直接调用HTS221初始化函数完成传感器的初始化:

am_sensor_handle_t hts221_handle = am_sensor_hts221_inst_init (void);

步骤2

使能传感器的通道

某些传感器都具有两个或两个以上的采集功能,本次采用的HTS221就支持温度与湿度的采集。

在AMetal中,将每个功能划分为对应的通道;HTS221是温湿度传感器,它有两个通道,详见图3。

AMetal助你三步搞定传感器

图3 HTS221提供的通道

在使能通道前,应该定义两个数组,一个列举该传感器所有的通道,另一个用于储存两个通道数据的缓存:

AMetal助你三步搞定传感器

然后就可以调用am_sensor_enable使能传感器的通道了,该函数有四个传入参数,详见图4。

AMetal助你三步搞定传感器

图4 使能传感器通道的函数传入参数

根据之前的代码,使能传感器通道的函数为:

AMetal助你三步搞定传感器

步骤3

获取传感器的采样数据

从传感器指定通道获取采样数据的函数为am_sensor_data_get,它的传入参数应与使能传感器通道的传入参数一致:

AMetal助你三步搞定传感器

在调用这个函数后,传感器的采样数据就保存在结构体data中,结构体data的成员函数详见图5,也就是说,我们从传感器获取的采样数据是带有单位的,客户只管使用,不用去翻阅手册获取数据的单位。

AMetal助你三步搞定传感器

图5 am_sensor_val_t结构体说明

最后AMetal中还提供了单位转换函数:am_sensor_val_unit_convert,该函数有三个传入参数,详见图6。

AMetal助你三步搞定传感器

图6 单位转换函数传入参数

其中目标单位支持10-24~1024,基本以103为间隔,部分目标单位如图7所示。

AMetal助你三步搞定传感器

图7 部分目标单位宏说明

三步都已介绍完,我们看一下在AMetal中使用传感器的完整的代码:

AMetal助你三步搞定传感器

可以看到在AMetal中使用传感器所需要写的代码是非常非常少的,而且在配置过程中基本可以告别手册,客户只需要做“选择题”,选择需要测试的通道就可以了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2521

    文章

    47946

    浏览量

    739585
  • 函数
    +关注

    关注

    3

    文章

    3859

    浏览量

    61294

原文标题:AMetal助你三步搞定传感器

文章出处:【微信号:Zlgmcu7890,微信公众号:周立功单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    三步学会行电子焊接

    前的元件处理,具体分三步:   第一 处理引角:就是在焊接前做好焊接部位的清洁工作。一般采用的工具是小刀和细砂纸,对集成电路的引脚、印制电路板进行清理,去除其上的污垢,清理完后一般还需要往待拆元器件上
    发表于 09-30 10:34

    传感器入手三步提高无刷直流电机控制性能

    许多终端市场和应用中的一个明显趋势是用高效率的无刷直流电机(BLDC)替换交流电机或机械泵。要实现电机的精确控制和高效换向,高分辨率电流和旋转位置信息至关重要。虽然无传感器方案可用于检测反电动势电流
    发表于 10-15 09:50

    加速度传感器的原理

      加速度传感器可以帮助你的机器人了解它现在身处的环境。  是在爬山?还是在走下坡,摔倒了没有?或者对于飞行类的机器人来说,对于控制姿态也是至关重要的。更要确保的是,你的机器人没有带着***自己前往
    发表于 11-08 15:46

    holykell生产的HPT604投入式液位传感器的组装工艺流程

    第一:工程师对传感器材料进行筛选,并检测是否达到国际材质安全标准。第二传感器外壳清洁和商标刻印第三步:采用全自动化设备安装品牌芯片,
    发表于 02-28 17:04

    linux安装CodeBlocks的个步骤概述

    最简单的办法,只需三步搞定
    发表于 07-18 06:59

    SOP位移传感器防水功能将进一提高

    SOP位移传感器防水功能将进一提高位移传感器应用的行业越来越广,使用的环境也是各种各样,SOP位移传感器有些系列可以适用于潮湿、油污、灰尘等各种恶劣环境,但是有好些客户问咱们的位移
    发表于 08-20 16:40

    整流三步和六PWM性能有什么区别

    整流三步和六PWM性能有什么区别资料来自网络
    发表于 12-11 22:51

    你和CAD大神的距离,只差这三步

    生巧速度和技巧的精进来源于不断地操作练习!面对CAD繁复的功能,想要更好地掌握,一个字:练!两个字:再练!个字:继续练!三步齐发,你!就是下一个CAD大神!!`
    发表于 01-06 17:21

    灵动微课堂 (第122讲) | 基于MM32 MCU的OS移植与应用:AMetal平台新建工程

    ,可以完全脱离用户手册及繁杂的寄存操作,直接调用AMetal提供的接口函数,软件开发效率将大大提高。AMetal共分为层,硬件层、驱动层和标准接口层,这
    发表于 05-22 17:04

    了解GPIO端口的初始化设置三步

    目录实验目标:实验准备工作;实验代码总结实验目标:学习和理解STM32F103系列芯片的地址映射和寄存映射原理;了解GPIO端口的初始化设置三步骤(时钟配置、输入输出模式设置、最大速率设置)以
    发表于 02-10 07:07

    了解GPIO端口的初始化设置三步

    目录一、实验题目二、工程文件的建立、点亮LED灯(软件部分)四、点亮LED灯(实操部分)五、实验总结六、参考博客一、实验题目1、学习和理解STM32F103系列芯片的地址映射和寄存映射原理;了解GPIO端口的初始化设置三步
    发表于 02-28 07:02

    继续卷!三步完成一个基础组件应用开发!

    的是实现一个图片的缩放和旋转,先看下成果: 其实就三步:第一:新建项目,第二:添加组件,第三步:给组件添加事件。我是全程都按照老师讲的做去做,所以比较顺利的就实现了以上效果。然而,
    发表于 04-21 20:26

    2搞定拼版!AD通用拼版技巧分享!

    你是不是也看过很多拼版教程,一整篇文章全部都是文字说明和各种图示,照着一步步去做,都需要一些时间才能勉强搞定。之前我用过AD20的自带拼版工具,功能上比较简单,而且菜单没有全部汉化,对于新手来说
    发表于 03-29 10:33

    10大法则助你轻松搞定DC/DC电源转换方案

    10大法则助你轻松搞定DC/DC电源转换方案。
    发表于 06-03 16:33 7次下载

    华秋DFM-三步搞定特性阻抗

    华秋DFM的十大优点 1、一键DFM分析,安全距离,开短路分析,23+项常规PCB设计检查,独家断头线分析。 2、三步搞定特性阻抗,打开文件,填写线宽,线距,设定参考层,点击计算特性阻抗,并支持
    发表于 08-06 17:36 0次下载