嵌入式物联网之SPI接口原理与配置

嵌入式物联网之SPI接口原理与配置,第1张

本实验采用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(Interoperability Test,互 *** 作测试)是多厂商运营环境形成的技术基础。只有完成Iu接口的IOT,才能保证不同厂家的无线接入网与核心网互联互通,也只有完成Uu接口的IOT,才能保证每一款手机与无线接入系统之间的互联互通。从世界上已经完成的3G设备选型中可以看出,有一个非常明显的趋势就是,同一运营商大多选择二至三家厂商的设备,来组建自己的3G网络,形成多厂商设备的运营环境。所以,不同厂商之间的IOT(互 *** 作测试)对3G时代就显得格外重要。IOT已经被摆在非常重要的战略地位,为此,信息产业部也特意组织所有参加信息产业部3G技术试验的系统厂家和手机厂家进行Uu/Iu接口的互 *** 作IOT测试来验证各厂家系统之间和手机与系统之间的互通性。

物联网平台的定义:

物联网平台是一个中间层,一方面位于物联网设备层和物联网网关(和数据)层之间,另一方面是应用。因此,物联网平台也被称为应用支撑平台/智能管理平台。

物联网平台的基本功能和优势:

物联网平台支持物联网设备和端点管理、连接和网络管理、数据管理、处理和分析、应用开发、安全、访问控制、监控、事件处理和接口/集成。

物联网平台有自己的根,需要管理、监控、存储、翻译、保护和分析物联网数据;启用应用程序;物联网设备管理;因为物联网缺乏标准和互 *** 作性、连接性和集成性;安全性、固件更新以及用户和访问管理;可视化并与应用程序、用户和开发人员联系。

物联网平台可以更快、更便宜、更好地构建物联网解决方案,实现物联网项目。它们的基本功能包括连接和网络管理、设备管理、数据采集、处理分析和可视化、应用支持、集成和存储。

随着更多物联网设备/资产、数据、相关技术、网络/连接解决方案的出现,以及基础设施和高效、可互 *** 作和安全连接的发展,物联网平台已经成为专业的物联网部署。

物联网平台已经成为物联网部署的重要组成部分,几种类型和供应商都有各自的侧重点和市场策略。此外,物联网平台的现实和市场非常复杂,因为物联网项目、应用和解决方案具有不同的架构、连接和管理设备的方式、管理和分析数据的可能性、构建应用的能力和利用的选项。对于任何特定环境下的任何给定物联网用例,物联网都是有意义的:例如:消费应用、企业物联网应用和工业物联网或工业40。

物联网是新一代信息技术的重要组成部分。其英文名称是“The Internet of things”。由此,顾名思义,“物联网就是物物相连的互联网”。这有两层意思:第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。因此,物联网的定义是通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监控和管理的一种网络。
物联网被视为互联网的应用扩展,应用创新是物联网的发展的核心,以用户体验为核心的创新是物联网发展的灵魂。 英文名: Internet of Things(IOT),也称为Web of Things。 物联网
物联网是指通过各种信息传感设备,如传感器、射频识别(RFID)技术、全球定位系统、红外感应器、激光扫描器、气体感应器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,与互联网结合形成的一个巨大网络。其目的是实现物与物、物与人,所有的物品与网络的连接,方便识别、管理和控制。
和传统的互联网相比,物联网有其鲜明的特征。 首先,它是各种感知技术的广泛应用。物联网上部署了海量的多种类型传感器,每个传感器都是一个信息源,不同类别的传感器所捕获的信息内容和信息格式不同。传感器获得的数据具有实时性,按一定的频率周期性的采集环境信息,不断更新数据。 其次,它是一种建立在互联网上的泛在网络。物联网技术的重要基础和核心仍旧是互联网,通过各种有线和无线网络与互联网融合,将物体的信息实时准确地传递出去。在物联网上的传感器定时采集的信息需要通过网络传输,由于其数量极其庞大,形成了海量信息,在传输过程中,为了保障数据的正确性和及时性,必须适应各种异构网络和协议。 还有,物联网不仅仅提供了传感器的连接,其本身也具有智能处理的能力,能够对物体实施智能控制。物联网将传感器和智能处理相结合,利用云计算、模式识别等各种智能技术,扩充其应用领域。从传感器获得的海量信息中分析、加工和处理出有意义的数据,以适应不同用户的不同需求,发现新的应用领域和应用模式。
“物”的涵义
这里的“物”要满足以下条件才能够被纳入“物联网”的范围: 1、要有数据传输通路; 2、要有一定的存储功能; 3、要有CPU; 4、要有 *** 作系统; 5、要有专门的应用程序; 6、遵循物联网的通信协议; 7、在世界网络中有可被识别的唯一编号。
物联网定义
物联网是一个基于互联网、传统电信网等信息承载体,让所有能够被独立寻址的普通物理对象实现互联互通的网络。它具有普通对象设备化、自治终端互联化和普适服务智能化3个重要特征。物联网(Internet of Things)指的是将无处不在(Ubiquitous)的末端设备(Devices)和设施(Facilities),包括具备“内在智能”的传感器、移动终端、工业系统、楼控系统、家庭智能设施、视频监控系统等和“外在使能”(Enabled)的,如贴上RFID的各种资产(Assets)、携带无线终端的个人与车辆等“智能化物件或动物”或“智能尘埃”(Mote),通过各种无线/有线的长距离/短距离通讯网络实现互联互通(M2M)、应用大集成(Grand Integration)、以及基于云计算的SaaS营运等模式,提供安全可控乃至个性化的实时在线监测、定位追溯、报警联动、调度指挥、预案管理、远程控制、安全防范、远程维保、在线升级、统计报表、决策支持、领导桌面(集中展示的Cockpit Dashboard)等管理和服务功能,实现对“万物”的“高效、节能、安全、环保”的“管、控、营”一体化。
欧盟定义
2009年9月,在北京举办的“物联网与企业环境中欧研讨会”上,欧盟委员会信息和社会媒体司RFID部门负责人Lorent Ferderix博士给出了欧盟对物联网的定义: 物联网是一个动态的全球网络基础设施,它具有基于标准和互 *** 作通信协议的自组织能力,其中物理的和虚拟的“物”具有身份标识、物理属性、虚拟的特性和智能的接口,并与信息网络无缝整合。物联网将与媒体互联网、服务互联网和企业互联网一道,构成未来互联网。

向北是较底层向高层连接,向南是较高层向底层连接。物联网技术蓬勃发展,很多工厂已经实现自动化和智能化,但有着更多的工业和企业不了解相关领域,承担着较高的设备成本、运维成本、管理成本,利润回收周期也是较长,往往都是做不久就亏钱跑路,我们需要向着那些智能工厂学习,不断学习新的技术知识,充实自身与时俱进。北向接口是指一个较低层级的设备向高层级连接接口,通常在体系结构的顶部,即连接上位机的接口。通过北向接口可以实现对下位机的读取和控制。南向接口则是相反,是指一个较高层级向底层级设备的连接接口,通常在体系结构的底部,即连接下位机的接口。通过南向接口可以实现向上位机的传输交流。

物联网是物物相连的互联网。

物联网通过各种信息传感器、射频识别技术、全球定位系统、红外感应器等技术和装置实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。

物联网把实物联入网络,最终实现物品与物品之间、人与物品之间的全面的信息交互。物与物的连接指向了智能化与自动化,计算机采集数据进行计算,并控制各种物品自动解决问题。

扩展资料:

物联网的应用:

1、智能交通。物联网技术在道路交通方面的应用比较成熟。随着社会车辆越来越普及,交通拥堵甚至瘫痪已成为城市的一大问题。对道路交通状况实时监控并将信息及时传递给驾驶人,让驾驶人及时作出出行调整,有效缓解了交通压力。

2、智能家居。智能家居就是物联网在家庭中的基础应用,随着宽带业务的普及,智能家居产品涉及到方方面面。 家中无人,可利用手机等产品客户端远程 *** 作智能空调,调节室温。

3、公共安全。近年来全球气候异常情况频发,灾害的突发性和危害性进一步加大,网可以实时监测环境的不安全性,情况提前预防、实时预警、及时采取应对措施,降低灾害对人类生命财产的威胁。

参考资料来源:百度百科-物联网


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

原文地址: http://outofmemory.cn/dianzi/10604858.html

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

发表评论

登录后才能评论

评论列表(0条)

保存