如何定义工业物联网 (IIoT) 平台?
工业物联网平台 是一种工业物联网软件,它使组织能够安全地管理工业物联网生态系统中所有连接的人、系统和对象。
在界定工业物联网平台时,我们应该认识到,物联网已经创造了一个新的整合水平。随着成千上万的工业物联网设备接入网络,企业需要管理比以往更多的端点。然而,这不是一个简单的设备问题,工业物联网实际上是一个由人、系统和对象组成的数字生态系统。这就需要一个工业物联网平台来安全有效地管理生态系统的每一个元素。
工业物联网平台有哪些不同类型?
虽然工业物联网平台研发的初衷是对工业物联网的设备和数据进行管理和控制,但为了适应不同的用例,已经开发了许多不同类型的平台。事实上,工业物联网平台很难分类,反而工业物联网平台供应商正在改进其平台产品,以满足客户需求和特定的业务需求。
工业物联网平台将提供不同的功能组合,包括工业物联网的端点管理和连接、物联网数据的采集、接收和处理、数据的可视化和分析,以及将物联网数据集成到业务流程和工作流中。在比较不同类型的平台时,应根据组织的业务需求和特定的IT基础设施,并将其与工业物联网的解决方案相匹配。
工业物联网平台应该具备哪些特点?
因此,最好的工业物联网平台因组织而异,单个平台功能集无法为每个用例提供足够的解决方案。但是,任何一个工业物联网平台都应该具备以下特点:
安全
安全性是工业物联网平台的核心,它不仅可以保护所有物联网端点免受外部网络攻击,还可以处理来自组织内部的潜在恶意活动。
连接性
每一个工业物联网设备都必须快速、安全地进行配置,并对其生命周期的所有阶段进行管理,包括在设备配置、注册、激活、挂起、未挂起、删除和按需重置时对其进行跟踪和授权。
集成
集成是工业物联网面临的最大挑战之一。工业物联网平台允许物联网设备与不同的企业应用、云服务、移动应用和传统系统无缝、安全地连接和共享信息。
识别
工业物联网平台可以支持最广泛的物联网设备。无论在工业物联网架构中的任何地方,都能自动感知物联网设备的存在,建立安全连接,并能快速建立设备凭据,或在需要时自动分配。
分析
物联网设备大大增加了组织中的数据量。分析工业物联网应该是工业物联网平台最强大的功能之一。它可以对工业物联网数据进行适当的可视化和分析,为改进数据驱动的决策提供实际的见解。
管理多个工业物联网传感器很简单,但如今,企业拥有数十万台工业物联网设备来执行遍及组织内部的众多任务。工业物联网设备有多种形状和尺寸,没有通用的工业物联网标准或连接方式。管理一个工业物联网网络意味着能够监控一系列异构的工业物联网设备。
如今,工业物联网(IIoT)平台为工业物联网在几乎所有行业的快速发展提供了解决方案。工业物联网平台能够将设备和企业应用软件完美融合,使数据在互联的人、系统和对象之间无缝、安全地流动。本实验采用W25Q64芯片
W25Q64是华邦公司推出的大容量SPI
FLASH产品,其容量为64Mb。该25Q系列的器件在灵活性和性能方面远远超过普通的串行闪存器件。W25Q64将8M字节的容量分为128个块,每个块大小为64K字节,每个块又分为16个扇区,每个扇区4K个字节。W25Q64的最小擦除单位为一个扇区,也就是每次必须擦除4K个字节。所以,这需要给W25Q64开辟一个至少4K的缓存区,这样必须要求芯片有4K以上的SRAM才能有很好的 *** 作。
W25Q64的擦写周期多达10W次,可将数据保存达20年之久,支持27~36V的电压,支持标准的SPI,还支持双输出/四输出的SPI,最大SPI时钟可达80Mhz。
一。SPI接口原理
(一)概述
高速,全双工,同步的通信总线。
全双工:可以同时发送和接收,需要2条引脚
同步: 需要时钟引脚
片选引脚:方便一个SPI接口上可以挂多个设备。
总共四根引脚。
(二)SPI内部结构简明图
MISO: 做主机的时候输入,做从机的时候输出
MOSI:做主机的时候输出,做从机的时候输入
主机和从机都有一个移位寄存器,在同一个时钟的控制下主机的最高位移到从机的最高位,同时从机的最高位往前移一位,移到主机的最低位。在一个时钟的控制下主机和从机进行了一个位的交换,那么在8个时钟的控制下就交换了8位,最后的结果就是两个移位寄存器的数据完全交换。
在8个时钟的控制下,主机和从机的两个字节进行了交换,也就是说主机给从机发送一个字节8个位的同时,从机也给主机传回来了8个位,也就是一个字节。
(三)SPI接口框图
上面左边部分就是在时钟控制下怎么传输数据,右边是控制单元,还包括左下的波特率发生器。
(四)SPI工作原理总结
(五)SPI的特征
(六)从选择(NSS)脚管理
两个SPI通信首先有2个数据线,一个时钟线,还有一个片选线,只有把片选拉低,SPI芯片才工作,片选引脚可以是SPI规定的片选引脚,还可以通过软件的方式选择任意一个IO口作为片选引脚,这样做的好处是:比如一个SPI接口上挂多个设备,比如挂了4个设备,第二个用PA2,第三个用PA3,第四个用PA4作为片选,我们
跟第二个设备进行通信的时候,只需要把第二个片选选中,比如拉低,其他设备的片选都拉高,这样就实现了一个SPI接口可以连接个SPI设备,战舰开发板上就是通过这种方法来实现的。
(七)时钟信号的相位和极性
时钟信号的相位和极性是通过CR寄存器的 CPOL 和 CPHA两个位确定的。
CPOL:时钟极性,设置在没有数据传输时时钟的空闲状态电平。CPOL置0,SCK引脚在空闲时为低电平,CPOL置1,SCK引脚在空闲时保持高电平。
CPHA:时钟相位 设置时钟信号在第几个边沿数据被采集
CPHA=1时:在时钟信号的第二个边沿
CPOL=1,CPHA=1,
CPOL=1表示时钟信号在没有数据传输时即空闲时的状态为高电平。如果CPHA=1,那么数据就在时钟信号的第二个边沿即上升沿的时候被采集。
CPOL= 0,CPHA=1, CPOL=0表示时钟信号在没有数据传输时即空闲时的状态为低电平。
如果CPHA=1,那么数据就在时钟信号的第二个边沿即下降沿的时候被采集。
CPHA=0时:在时钟信号的第一个边沿
CPOL=1,CPHA=0,
CPOL=1表示时钟信号在没有数据传输时即空闲时的状态为高电平。如果CPHA=1,那么数据就在时钟信号的第一个边沿即下降沿的时候被采集。
CPOL= 0,CPHA=0, CPOL=0表示时钟信号在没有数据传输时即空闲时的状态为低电平。
如果CPHA=1,那么数据就在时钟信号的第一个边沿即上升沿的时候被采集。
为什么要配置这两个参数
因为SPI外设的从机的时钟相位和极性都是有严格要求的。所以我们要根据选择的外设的时钟相位和极性来配置主机的相位和极性。必须要与从机匹配。
(八)数据帧的格式和状态标志
数据帧格式:根据CR1寄存器的LSBFIRST位的设置,数据可以MSB在前也可以LSB在前。
根据CR1寄存器的DEF位,每个数据帧可以是8位或16位。
(九)SPI中断
(十)SPI引脚配置 (3个SPI)
引脚的工作模式设置
引脚必须要按照这个表格配置。
二。SPI寄存器库函数配置
(一)常用寄存器
(二)SPI相关库函数
STM32的SPI接口可以配置为支持SPI协议或者支持I2S音频协议。默认是SPI模式,可以通过软件切换到I2S方式。
常用的函数:
1 void SPI_Init(SPI_TypeDef SPIx, SPI_InitTypeDef
SPI_InitStruct);//SPI的初始化
2 void SPI_Cmd(SPI_TypeDef SPIx, FunctionalState NewState); //SPI使能
3 void SPI_I2S_ITConfig(SPI_TypeDef SPIx, uint8_t SPI_I2S_IT,
FunctionalState NewState); //开启中断
4 void SPI_I2S_DMACmd(SPI_TypeDef SPIx, uint16_t SPI_I2S_DMAReq,
FunctionalState NewState);//通 过DMA传输数据
5 void SPI_I2S_SendData(SPI_TypeDef SPIx, uint16_t Data); //发送数据
6 uint16_t SPI_I2S_ReceiveData(SPI_TypeDef SPIx); //接收数据
7 void SPI_DataSizeConfig(SPI_TypeDef SPIx, uint16_t SPI_DataSize);
//设置数据是8位还是16位
8 其他几个状态函数
void SPI_Init(SPI_TypeDef SPIx, SPI_InitTypeDef
SPI_InitStruct);//SPI的初始化
结构体成员变量比较多,这里我们挑取几个重要的成员变量讲解一下:
第一个参数 SPI_Direction 是用来设置 SPI 的通信方式,可以选择为半双工,全双工,以及串行发和串行收方式,这里我们选择全双工模式
SPI_Direction_2Lines_FullDuplex。
第二个参数 SPI_Mode 用来设置 SPI 的主从模式,这里我们设置为主机模式 SPI_Mode_Master,当然有需要你也可以选择为从机模式
SPI_Mode_Slave。
第三个参数 SPI_DataSiz 为 8 位还是 16 位帧格式选择项,这里我们是 8 位传输,选择SPI_DataSize_8b。
第四个参数 SPI_CPOL 用来设置时钟极性,我们设置串行同步时钟的空闲状态为高电平所以我们选择 SPI_CPOL_High。
第五个参数 SPI_CPHA
用来设置时钟相位,也就是选择在串行同步时钟的第几个跳变沿(上升或下降)数据被采样,可以为第一个或者第二个条边沿采集,这里我们选择第二个跳变沿,所以选择
SPI_CPHA_2Edge
第六个参数 SPI_NSS 设置 NSS 信号由硬件(NSS 管脚)还是软件控制,这里我们通过软件控
制 NSS 关键,而不是硬件自动控制,所以选择 SPI_NSS_Soft。
第七个参数 SPI_BaudRatePrescaler 很关键,就是设置 SPI 波特率预分频值也就是决定 SPI 的时
钟的参数 , 从不分频道 256 分频 8 个可选值,初始化的时候我们选择 256 分频值
SPI_BaudRatePrescaler_256, 传输速度为 36M/256=140625KHz。
第八个参数 SPI_FirstBit 设置数据传输顺序是 MSB 位在前还是 LSB 位在前, ,这里我们选择
SPI_FirstBit_MSB 高位在前。
第九个参数 SPI_CRCPolynomial 是用来设置 CRC 校验多项式,提高通信可靠性,大于 1 即可。
设置好上面 9 个参数,我们就可以初始化 SPI 外设了。
初始化的范例格式为:
SPI_InitTypeDef SPI_InitStructure;
SPI_InitStructureSPI_Direction = SPI_Direction_2Lines_FullDuplex;
//双线双向全双工
SPI_InitStructureSPI_Mode = SPI_Mode_Master; //主 SPI
SPI_InitStructureSPI_DataSize = SPI_DataSize_8b; // SPI 发送接收 8 位帧结构
SPI_InitStructureSPI_CPOL = SPI_CPOL_High;//串行同步时钟的空闲状态为高电平
371
SPI_InitStructureSPI_CPHA = SPI_CPHA_2Edge;//第二个跳变沿数据被采样
SPI_InitStructureSPI_NSS = SPI_NSS_Soft; //NSS 信号由软件控制
SPI_InitStructureSPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256; //预分频
256
SPI_InitStructureSPI_FirstBit = SPI_FirstBit_MSB; //数据传输从 MSB 位开始
SPI_InitStructureSPI_CRCPolynomial = 7; //CRC 值计算的多项式
SPI_Init(SPI2, &SPI_InitStructure); //根据指定的参数初始化外设 SPIx 寄存器
(三)程序配置步骤
三。W25Qxx配置讲解
(一)电路图
片选用的PB12
W25Q64 是华邦公司推出的大容量SPI FLASH 产品,W25Q64 的容量为 64Mb,该系列还有 W25Q80/16/32
等。ALIENTEK 所选择的 W25Q64 容量为 64Mb,也就是 8M 字节。(1M=1024K)
W25Q64 将 8M 的容量分为 128 个块(Block),每个块大小为 64K 字节,每个块又分为 16个扇区(Sector),每个扇区 4K
个字节。W25Q64 的最少擦除单位为一个扇区,也就是每次必须擦除 4K 个字节。这样我们需要给 W25Q64 开辟一个至少 4K 的缓存区,这样对 SRAM
要求比较高,要求芯片必须有 4K 以上 SRAM 才能很好的 *** 作。
W25Q64 的擦写周期多达 10W 次,具有 20 年的数据保存期限,支持电压为 27~36V,W25Q64 支持标准的
SPI,还支持双输出/四输出的 SPI,最大 SPI 时钟可以到 80Mhz(双输出时相当于 160Mhz,四输出时相当于 320M),更多的 W25Q64
的介绍,请参考 W25Q64 的DATASHEET。
在往一个地址写数据之前,要先把这个扇区的数据全部读出来保存在缓存里,然后再把这个扇区擦除,然后在缓存中修改要写的数据,然后再把整个缓存中的数据再重新写入刚才擦除的扇区中。
便于学习和参考再给大家分享些spi 的资料
stm32之SPI通信
>
开发之间的重要问题
这些问题对物联网应用开发人员很重要。哪一种才是最好的方法,来构建一个“物联网应用”,它可以做很多事情,从远程控制家庭应用到对引擎改动机制造商发送通知,而这一需要维护服务的引擎有个能在世界任何一个地方?开发人员要具备怎样的技能?要从哪里先开始?
物联网应用开发的始占在于它本身。这些边缘设备通常没有屏幕(尽管并非总是如此)、处理器功耗低,搭载的是某种嵌入式 *** 作系统,使用一个或多个通信协议进行交流(通常是无线)。这些东西可能直接与网络、相邻事物和网络网关相连,一般外形就是一个盒子带一些闪闪发光的灯。
系统的下一层即集成层是软件和基础设施,运行在企业数据中心或云中,来从各种事物中接收和管理数据流。运行在集成层的软件通常也负责管理这些事物,必要时更新固件。
接下来就分析层,用于管理并处理数据。最后,还有一个终端用户层,这一层上应用程序用于用户之间交流。这些可能是企业应用、可能是网络应用,也可能是移动应用。
如果你正在想办法构建物联网应用,最后两层将会是你接触最多的。作为开发人员,你可能没有工具处理这些边缘设备或网关,或者没有适应集成层的能力。
这也就是为什么说构建应用程序要从已经就绪的“物联网平台”开始是有道理的了。这些平台通常包含集成层,这一层承载着以时间为序列输入的数据,以及分析层、自动精简配置,激活和管理功能,实时消息总线和建立其上的平台和应用之间的通信API。
现在市场上有许多公司都在提供这类平台。这有Xively、Mnubo、BugLabs和ThingWorx,他们都有能力与不同的制造商产生的大量“事物”进行沟通。
还有些比较有名的公司,如微软的智能系统服务,和企业软件厂商如SAP的物联网解决方案,这些厂商都在他们的产品中增加了物联网功能。
物联网设备是非标准计算设备,可无线连接到网络并具有传输数据的能力。物联网涉及将互联网连接范围从台式机,笔记本电脑,智能手机和平板电脑之类的标准设备扩展到任何范围的传统“哑”或未启用互联网的物理设备和日常物品。这些设备嵌入了技术,可以通过Internet进行通信和交互。它们也可以被 远程监视和控制。
连接的设备是生态系统的一部分,在该生态系统中,每个设备都与环境中的其他相关设备通信以自动执行家庭和行业任务。他们可以将可用的传感器数据传达 给用户,企业和其他预期的各方。这些设备可以分为三大类:消费类,企业类和工业类。
消费者连接的设备包括智能电视,智能扬声器,玩具,可穿戴设备和智能电器。例如,在 智能家居中,设备旨在感应和响应人的存在。当一个人回到家中时,他们的汽车与车库连通以打开门。进入室内后,温度调节器已经被调整到其首选温度,并且照明设置为较低的强度和颜色,因为他们的智能手表数据表明这是一个充满压力的日子。其他智能家居设备包括根据天气预报调整洒水量的洒水装置和了解最经常清洁房屋区域的机器人真空吸尘器。
企业物联网设备是旨在供企业使用的边缘设备。有各种各样的企业物联网设备可用。这些设备的功能各不相同,但往往倾向于维护设施或提高运营效率。一些选项包括智能锁,智能恒温器,智能照明和智能安全性。这些技术的消费者版本也存在。
在企业中,智能设备可以帮助举行会议。位于会议室中的智能传感器可以帮助员工确定和安排会议可用的房间,确保可以使用合适的房间类型,大小和功能。当与会人员进入会议室时,温度将根据占用情况进行调整,随着屏幕上适当的PowerPoint加载,灯光将变暗,并且演讲者开始演示。
消费者,企业和工业物联网设备的示例包括装配在会议室和装配线机器上的智能电视和智能传感器。
工业物联网设备旨在用于工厂或其他工业环境。大多数工业物联网设备是用于监视装配线或其他制造过程的传感器。来自各种类型传感器的数据将传输到监视应用程序,以确保关键流程处于最佳运行状态。这些相同的传感器还可以通过预测何时需要更换零件来防止意外停机。
如果发生问题,系统可能能够将通知发送给服务技术人员,以告知他们出了什么问题以及解决问题所需的部件。这样可以避免技术人员到现场诊断问题,然后再去仓库获取解决问题所需的零件。
物联网设备如何工作?
物联网设备在功能方面有所不同,但是物联网设备在工作方式上有一些相似之处。首先,物联网设备是旨在以某种方式与现实世界进行交互的物理对象。该设备可能是装配线上的传感器或智能监控摄像头。无论哪种情况,设备都可以感知物理世界中正在发生的事情。
该设备本身包括集成的CPU,网络适配器和固件,通常在开放源代码平台上构建。在大多数情况下,物联网设备连接到动态主机配置协议服务器,并获取该设备可用于在网络上运行的IP地址。某些物联网设备可通过公共互联网直接访问,但大多数设计为仅在专用网络上运行。
尽管不是绝对要求,但许多物联网设备是通过软件应用程序配置和管理的。但是,某些设备具有集成的Web服务器,因此不需要外部应用程序。
物联网设备配置并开始运行后,其大部分流量就出站了。例如,安全摄像头可传输视频数据。同样,工业传感器流式传输传感器数据。但是,某些物联网设备(例如智能灯)确实接受输入。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)