基于Mipi I3C总线嵌入式传感器系统的物联网控制与应用

2018-02-26 12:23周晨业
电子技术与软件工程 2018年17期
关键词:实时性物联网

周晨业

摘要

本文致力于设计出一种基于13C总线为系统通信方式并通过实时与传感器进行数据交互的具有传感器数据网络回传功能的嵌入式传感器监控系统。设计工作是基于高通SDM845平台控为核心的,通过I3C总线独有的对总线设备实时交互的特性,从而实时获得设备节点的运行状态。该设计方案可以很好的应用于物联网中对设备环境和运行参数的监测。

【关键词】物联网 高通SDM845平台 I3C总线传输 实时性

如今4G/5G,NB-Iot等网络技术的不断迅猛发展,信息交换沟通的范围迅速扩大,万物互联已经不是纸上谈兵,其实质就是对各个可控设备的实时数据采集,状态监控。而万物互联的技术自然离不开各种传感器。随着监测的数据量不断增大,更加需要传感器采集系统兼具网络化,高时性、和高可靠,简易性等特点。本文致力于研究并设计出一套以I3C总线为系统通信方式的,传感器状态通过I3C总线实时的与控制端以及其他设备进行交互的,并能够快速的通过網络接口把传感器数据发送到终端用户的系统。

1 I3C总线无线控制的传感器电路设计

系统的电路设计主要是由3个模块化电路实现的,其中以SDM845系统电路为控制核心,以I3C控制器和加速度陀螺仪传感器组成SDM845外设的系统电路。

1.1 核心控制器SDM845简介

系统硬件选用高通骁龙系列的SDM845的ARM控制芯片,其对外设有很好的支持能力,并有很高的处理速度和可靠性。并且其芯片本身自带AI Core以及modem模块也是本次设计选择SDM845的缘由。

Qualcomm SDM845使用Kryo 385内核,八核心架构,四颗大核心最高频率可达2.8GHz,四颗小核心频率可达1.8GHz。

诸多新的特性以及性能的提升是SDM845实现整个系统高效,快速,可靠的关键因素之

1.2 Mipi I3C协议简介以及I3C总线的优势

I3C的全称是Improved Inter IntegratedCircuit。I3C兼容了I2C(双线、简单)与SPI(高速度,低功耗)的优势并加入了新功能,包括支持in-band中断、动态编址(dynamicaddressing),以及更先进的电源管理。各种传感器的系统或应用若采用I3C接口,将可大幅降低成本与功耗;这类系统的扩展性也将优于采用I2C或SPI接口的系统。”

I3C总线支持从12.5Mbps到接近37.5Mbps的速率。在SDR模式下,I3C总线中的SCL时钟频率最高为12.5MHz。

同时I3C的带内中断In-band功能可以节省更多的系统GPIO资源,这使得芯片间的连接更加简洁,PCB也可以简化。此外I3C的hot-join功能可以支持从设备的热插拔和主动退线功能,进而节省更多的系统功耗。诸多I3C总线新的特性使得I3C更加适合传感器等类似物联网系统的应用上。

1.3 I3C控制器与传感器简介

I3C的主控制器仍然是高通提供的,其核心是基于cortex-M4的传感器hub。

本次项目中的传感器选用的应美盛的ICM

42605。该芯片是加速度以及陀螺仪以及温度多用途传感器芯片,可以实时稳定的监测设备的状态,包括待检测设备的运行姿态,运行温度等状态。

ICM42605内嵌了最新的MIPI I3C从设备控制器,是如今最早支持I3C总线的传感器芯片之一。

2 I3C总线上传感器的交互程序实现

基于I3C总线的传感器与主控制端的的程序分为4个部分,这4个部分是从软件功能来划分的,如下:I3C主控制端的通信控制逻辑实现,I3C总线的带内中断(In-Band)功能,I3C bus主控端Hot-join热插拔功能,整体系统状态的处理和数据上报。

2.1 I3C主控制端的通信控制逻辑实现

I3C主设备的控制逻辑以及程序流程步骤由如下步骤组成:

(1)主控制设备程序在恰当的状态启动,并通过从设备处收到以下数据:①需要配置动态地址的I3C兼容设备。②挂接到I3C总线上的已有静态地址的I3C设备数量。③挂接到I3C总线上IZC设备的数据

(2)主控端程序使用Set DynamicAddress命令为已有静态地址的I3C设备设置动态地址。

(3)主控端发送广播命令Enter DynamicAddress Assignment。

(4)主控端程序发送一个RepeatedSTART,并产生广播地址7h'7E,并将RnW位置高。

(5)主控端程序将SCL线拉低,并释放SDA线为High-Z状态,以允许上拉电阻将SDA拉为高电平。

(6)在第4步中,每一个响应I3C广播的I3C从设备应当在SDA线上输出自己48-bit的专有ID,直到由于仲裁丢失通讯。

(7)主控端使用相同的时钟连续驱动SCL信号线,同时保持释放SDA。没有丢失通讯的I3C设备接着传送它的BCR数据,直到丢失通讯权。

(8)主控端负责向赢得仲裁的设备传送7bit的动态地址。这一动态地址与主机希望分配的优先级相匹配。赢得仲裁的设备在动态地址被发送的时候ACK。

(9)主控端发送7bit动态地址,然后发送校验位,校验位是7bit数据XOR的取反。

(10)如果校验成功,传感器从设备会在下一SCL时钟接受该动态地址,然后再下一SCL发送NACK

(11)主控端程序一直重复这一过程,跳回第4步,直到总线上不再有I3C设备并返回ACK。

2.2 I3C bus主控端带内中断In-band功能的实现

在I3C中总线通信的带内中断程序实现中,I3地址的优先级决定了传感器从设备请求中断时的优先级。每一个从设备的优先级被编码到其动态地中,地址越小则优先级越高。地址越小优先级高的传感器从设备在发出In-Band中断请求的时候则会被Master更优先处理。

在动态地址指定过程中,主控制器将更低的地址赋给需要优先处理In-Band中断请求的设备。

而在I3C从设备这端,为了请求中断,传感器从设备在START后向总线上发送参与仲裁的地址头。主控端同时将SCL拉低并完成START序列的形成。主控端以既定優先级顺序处理中断请求。接着传感器从设备会将自己的地址写到SDA线上。

此时,主控Master根据需求执行下述三项之一:

(1)第一种情况,通过ACK接受IBI。

1.如果传感器从设备的BCR[2]位是1,则主控制端读取由IBI设备允许的时钟速率发起的数据流。当前的主设备不可以拒绝接收伴随的数据,因为它是以推挽输出模式传送的。

2.如果传感器从设备的BCR[2]是0,当前主设备可以实施任何有效的I3C动作。可以发送一个STOP,或是Repeated START,或者继续按照一般读数据模式读取负载数据。

(2)第二种情况:拒绝IBI但并不禁止中断。当前的主控设备简单的NACK IBI即可。

(3)第三种情况:拒绝IBI并禁止中断。首先当前的主控设备NACK IBI事件,然后起始一个Repeated START,最后使用DisableSlave Event Connnand命令来设置DISINT位以禁止中断。

3 基于I3C总线的传感系统集成设计

之前的部分讲述的是各个模块的软件设计,这里把所有的模块整合在一起就形成了本次设计的整套软件系统。从最低层的主控端与传感器的物理总线通信部分到传感器的状态识别处理,再到通过移动互联网来进行数据分发到终端用户。

简易的系统架构设计模块图如图1。

整个系统分为:系统硬件通信层,数据获取以及处理层,数据分发上报层。

系统硬件通信层:I3C控制端口的初始化模块,传感器初始化和通信模块。

数据获取以及处理层:监测传感器状态的处理线程,Hot-join的监测及处理模块,In-band带内中断模块,传感器数据识别以及处理模块等。

数据分发上报层:移动网络数据分发模块,NB-Iot数据链路模块,物联网设备管理和数据推送模块。

4 结语

此设计方案可用于智能家具等物联网应用,对传感器设备的状况进行实时监测,并可以通过移动互联网获取并控制物联网现场每个传感器设备的状态和参数。经过本设计以及多次实验证明,嵌入式I3C总线控制的传感器监控系统设计方案可行有效。在SDM845上基于I3C总线传输的传感器监控系统的设计是符合并满足如今物联网对于传感器以及衍生设备数据实时获取的需求,而且同时兼备了系统设计的简洁以及高效性。

参考文献

[1]伍新华,陆丽萍.物联网工程技术[M].北京:清华大学出版社,2011.

[2]黄玉兰.物联网传感器技术与应用[M].北京:职业教育出版分社,2012.

[3]沙占友.智能传感器系统设计与应用[M].北京:电子工业出版社,2004.

猜你喜欢
实时性物联网
基于规则实时性的端云动态分配方法研究
基于虚拟局域网的智能变电站通信网络实时性仿真
航空电子AFDX与AVB传输实时性抗干扰对比
基于LABVIEW的温室管理系统的研究与设计
论智能油田的发展趋势及必要性
中国或成“物联网”领军者
一种满足实时性需求的测发控软件改进技术
一种车载Profibus总线系统的实时性分析