站在风口上,边缘计算牵手OK1043A-C开发板

站在风口上,边缘计算牵手OK1043A-C开发板,第1张

今年6月初,工信部宣布我国5G已经具备商用基础,正式发放5G商用牌照。5G发展的脚步越来越快,将能带动很多新兴行业的发展,创造上万亿经济效益、千万个就业机会。  边缘计算领域就是其中一方面。

边缘计算,大家都不陌生。早在2013年,边缘计算伴随着4G网络的铺设以及商用化进程被提出和展开,在5G研究初期移动边缘计算(MEC)就被列入5G系统网络重构的一部分,一度被誉为5G时代的下一个“风口”。

随着智能化设备的深入发展,越来越多的设备联网,越来越多的数据产生,海量数据分析与储存对网络带宽提出了巨大的挑战,而边缘计算就是为了解决这一问题。

目前,边缘计算在智能网联车和自动驾驶、虚拟现实、工业物联网、智能家居以及智慧城市领域均已有应用。

下面我们根据边缘计算的应用场景需求,结合飞凌嵌入式 LS1043A 系列OK1043A-C主板,来探讨下  边缘计算网关  的应用。
1、海量数据分析,边缘计算能力

边缘计算,是在终端设备附近靠近数据源的一侧进行的本地计算分析。终端设备会产生大量数据,这些数据有些是有价值的,有些是不需要进行分析的,通过在边缘设备上执行数据分析,实时让设备做出直接反应,同时将设备的大量状态数据进行过滤和优化,将有价值的数据再上传到云端,减少网络流量压力。

这就要求边缘计算网关,具备强大的数据处理能力,恩智浦推出的 面向智能边缘节点的能效最佳64位平台LS1043A,飞凌嵌入式基于LS1043A四核处理器设计 FET1043A-C核心板 ,完全满足边缘计算能力的需求,CPU内置面向硬件增强虚拟化的ARM SMMU,核心板主频16GHz,ARM Cortex-A53 架构,是一款价格适中,高性能、高能效的产品。
2、多场景应用,超强兼容性 

边缘计算网关的应用场景越来越丰富,如工业物联网、智能家居以及智慧城市等行业的应用,有可能需要接不同类型或者接口的传感器,要求网关有很好的接口兼容性,还要求网关能兼容主流的设备和协议,便于企业低成本替换设备等。

以 OK1043A-C /FET1043A-C主板为例,其兼容性体现在以下几方面:

❶ 接口丰富多样

7路原生网口,2路USB30,1路miniPCIe,2路串口,满足各种行业需求。

❷  通信方式多样(可扩展)

支持4G、ZigBee或Lora等通信方式,适用于多种应用场景。

❷ 支持Ubuntu系统,便于客户二次开发

OK1043A-C支持市面上嵌入式设备主流的Ubuntu系统中用户的应用程序,无需交叉编译即可直接运行在此主板上,支持丰富的第三方应用和插件,如 docker 、DPDK、LXC、内网穿透等,从而提高用户软件开发的效率。
3、庞大数据量接入,高性能网络功能 

在很多应用场景中,边缘设备产生庞大的数据量要接入 边缘计算网关 ,从而要求边缘计算网关具备强劲的网络性能,拿飞凌LS系列OK1043A-C来说,网口支持1个10Gbps和6个1000Mbps。且OK1043A-C底板做了兼容性设计,可接LS1046A系列FET1046A-C核心板,使用光模块,保证更高的传输速率,提高响应速度。

4、工业级品质,应对复杂环境 

在工业物联网,智能交通等行业,必须保证边缘设备的质量和稳定性,以保证边缘计算更好的服务。 FET1043A-C核心板 采用12层PCB设计,核心板和底板采用高速COMExpress板对板连接器,传输速率可达10GHz,为高速功能接口引出提供保障。主板温度适用于-40℃ ~+80℃ 宽温。

5、网络信息安全有保证 

网络安全性一直以来都是物联网行业至关重要的话题,也将是一项长期的任务挑战。IoT的每个节点,从终端设备、边缘计算、网络,再到云计算,都要考虑安全处理。 LS1043A  的 QorIQLS1 系列都内置安全引擎,确保信息安全可靠。

5G商用化伊始,边缘计算机遇与挑战并行,市场需求的不断提高将会促进边缘计算设备的逐步提升,让我们拭目以待,迎接新的物联网时代。

本实验采用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通信

>IoT Studio 是支持 LiteOS 嵌入式系统软件开发的工具,提供了代码编辑、编译、烧录 及调试等一站式开发体验,支持 C、C++、汇编等多种开发语言,让您快速,高效地进 行物联网开发。
IoT Studio 目前支持 Cortex-M0,Cortex-M4,Cortex-M7,Cortex-A7,ARM926EJ-S,RISC-V 等芯片架构。

IoT Studio 目前已经适配了多种开发板,主流支持小熊派IoT开发条件,另外还包括 GD、ST、HiSilicon、FudanMicroelectronics 等主流厂商的开发板。

IoT Studio 支持新增 MCU 列表,以满足用户其他开发板的业务需求。
IoT Studio下载地址如下:

下载会得到一份压缩包,其中包含一份安装指南,详细的安装教程可以参考该文档。
使用一键安装方式,无须再手动安装其他工具,安装步骤如下:

双击运行IoT-Studio_035exe文件开始安装。

选择我同意此协议:
选择安装路径,可以改动,不要有中文和空格,这里我保持默认:
确认设置,开始安装:
安装完成,选择是否安装ST-Link和Jlink驱动和工具,推荐全选:
IoT Studio安装成功之后会自动运行,在首次运行时检测到没有开发工具包,选择“是”,软件会调用浏览器开始下载,下载好之后双击运行developToolsexe。

软件会自动将需要用到的开发工具解压到C:UsersAdministratoropenSourceTools目录:
之后软件会自动开始安装ST-Link和J-link,根据提示安装即可。

打开工具目录,里面有两个路径需要我们在IoT Studio中配置:
安装完develop Tools之后,再次启动IoT Studio,无提示说明开发工具安装成功,IoT Studio的主界面如下:
在IoT Studio启动页面,选择用户指导文档,即可打开 IoT Studio 完整的使用指南,在以后使用的过程中遇到任何问题,都可以在此文档中找到答案:
小熊派开源社区,专注于前沿技术分享,关注“小熊派开源社区”微信公众号,获取更多资料教程。

简介:  没有设备,也能立刻体验物联网平台的功能:使用物联网平台提供的“在线调试”功能,体验虚拟设备上云&设备数据存储分析的功能。

产品推荐:阿里云物联网开发者工具( IoT Studio ), 立刻免费体验吧!

你可能遇到以下情况:

1、手头没有开发板

2、还不懂“物联网云服务”怎么玩,想体验一下

3、设备端开发跟物联网云服务没跑通,不确定哪个环节出现问题

这时,你就需要用到“在线调试”功能来虚拟一个设备,详细步骤如下:

1、登陆物联网平台控制台 , 现在登入

2、左侧导航栏中,找到在线调试功能

3、开始设备上云开发,这个环节分为3个步骤:创建产品→创建设备→激活设备(使用在线调试)

31 创建产品

下方的都是默认选项,不用改动,点击完成,成功创建1个产品

32 产品和设备是包含与被包含的关系,我们创建成功产品后,即可在这个产品下添加设备

设备添加成功后,即d出设备的三元组(设备证书),这个三元组是全网唯一的设备身份校验要素

ProductKey:是物联网平台为产品颁发的全局唯一标识。该参数很重要,在设备认证以及通信中都会用到,因此需要您保管好。

DeviceName:在注册设备时,自定义的或自动生成的设备名称,具备产品维度内的唯一性。该参数很重要,在设备认证以及通信中都会用到,因此需要您保管好。

DeviceSecret:物联网平台为设备颁发的设备密钥,和DeviceName成对出现。该参数很重要,在设备认证时会用到,因此需要您保管好并且不能泄露。

考虑设备实际生产时对安全和成本的不同需求,我们可以选择“一机一密”,或者“一型一密”。

一机一密:每个设备烧录其唯一的设备证书(ProductKey、DeviceName和DeviceSecret)。当设备与物联网平台建立连接时,物联网平台对其携带的设备证书信息进行认证。

一型一密:同一产品下所有设备可以烧录相同产品证书(即ProductKey和ProductSecret)。设备发送激活请求时,物联网平台进行产品身份确认,认证通过,下发该设备对应的DeviceSecret。

33 激活设备

我们发生几个开灯关灯的指令,就可以看到设备上报的数据:

4、使用物联网平台的“数据分析”功能存储数据

点击确定后,设备数据即成功存储

再点击“查看”,即可看到数据的存储

查看表结构

查看表数据

查询表数据

了解更多数据分析能力:

1、阿里云物联网平台数据分析服务主页

2、技术文档


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/13169489.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-15
下一篇 2023-06-15

发表评论

登录后才能评论

评论列表(0条)

保存