嵌入式物联网之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通信

>

物联网在生活中的应用包括第二代身份z、ETC自动收费、智能物流等。

1、第二代身份z:

第二代身份z最大的改革就是它的防伪技术,第二代身份z有定向光变色“长城”图案、光变光存储“中国CHINA”字样、防伪膜、等防伪技术,二代身份z采用的是非接触式IC芯片卡和指纹感应,这是典型的物联网基础应用。

2、ETC自动收费系统:

ETC自动收费系统可以让来回的车辆在经过拦车杆时只需要减速行驶,就可以完成认证、计费,在很大程度上节省了人力和物力。但因为要升级收费系统,还需要在车辆上面安装识别芯片,所以很多地方是采用ETC与人工收费两种系统。

3、智能物流:

物联网技术同样运用到运输物流业,将转感器安装在货车和正在运输的各个独立部件上,从一开始中央系统就追踪这些货物直到结束,这样便可以全面实时的追踪这些车辆和货物行程,不仅可以实时更新货物信息,还可以防止货物被盗。

扩展资料:

物联网的运用范围:

物联网将现实世界数字化,应用范围十分广泛。物联网拉近分散的信息,统整物与物的数字信息,物联网的应用领域主要包括以下方面:运输和物流领域、工业制造、健康医疗领域范围、智能环境(家庭、办公、工厂)领域、个人和社会领域等,具有十分广阔的市场和应用前景。

在物联网上,每个人都可以应用电子标签将真实的物体上网联结,在物联网上都可以查出它们的具体位置。通过物联网可以用中心计算机对机器、设备、人员进行集中管理、控制,也可以对家庭设备、汽车进行遥控,以及搜索位置、防止物品被盗等,类似自动化 *** 控系统。

同时透过收集这些小事的数据,最后可以聚集成大数据,包含重新设计道路以减少车祸、都市更新、灾害预测与犯罪防治、流行病控制等等社会的重大改变,实现物和物相联。

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

物联网是新一代信息技术的重要组成部分。其英文名称是“The Internet of things”。由此,顾名思义,“物联网就是物物相连的互联网”。这有两层意思:第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。因此,物联网的定义是通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监控和管理的一种网络

以下回答仅供参考:
1首先从定义上来理解:物联网是新一代信息技术的重要组成部分,其英文名称是:“TheInternetofthings”。顾名思义,物联网就是物物相连的互联网。这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;其二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信也就是物物相息。物联网就是“物物相连的互联网”。物联网通过智能感知、识别技术与普适计算、广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。
2其次再看一下物联网又那些具体应用:物联网用途广泛,遍及智能交通、环境保护、政府工作、公共安全、平安家居、智能消防、工业监测、环境监测、路灯照明管控、景观照明管控、楼宇照明管控、广场照明管控、老人护理、个人健康、花卉栽培、水系监测、食品溯源、敌情侦查和情报搜集等多个领域。
3最后看一下实际案例:
1)物联网传感器产品已率先在上海浦东国际机场防入侵系统中得到应用。
系统铺设了3万多个传感节点,覆盖了地面、栅栏和低空探测,可以防止人员的翻越、偷渡、恐怖袭击等攻击性入侵。上海世博会也与中科院无锡高新微纳传感网工程技术研发中心签下订单,购买防入侵微纳传感网1500万元产品。
2)ZigBee路灯控制系统点亮济南园博园。ZigBee无线路灯照明节能环保技术的应用是此次园博园中的一大亮点。园区所有的功能性照明都采用了SZ10系列ZigBee无线技术达成的无线路灯控制系统,实现远程控制、近距离组网,并且能够实现策略管理,配合APP使用更方便。
3)首家手机物联网落户广州
将移动终端与电子商务相结合的模式,让消费者可以与商家进行便捷的互动交流,随时随地体验品牌品质,传播分享信息,实现互联网向物联网的从容过度,缔造出一种全新的零接触、高透明、无风险的市场模式。手机物联网购物其实就是闪购。广州闪购通过手机扫描条形码、二维码等方式,可以进行购物、比价、鉴别产品等功能。
这种智能手机和电子商务的结合,是“手机物联网”的其中一项重要功能。预计2013年手机物联网占物联网的比例将过半,至2015年手机物联网市场规模达6847亿元,手机物联网应用正伴随着电子商务大规模兴起。
4)与门禁系统的结合
一个完整的门禁系统由读卡器、控制器、电锁、出门开关、门磁、电源、处理中心这八个模块组成,无线物联网门禁将门点的设备简化到了极致:一把电池供电的锁具。除了门上面要开孔装锁外,门的四周不需要设备任何辅佐设备。整个系统简洁明了,大幅缩短施工工期,也能降低后期维护的本钱。无线物联网门禁系统的安全与可靠首要体现在以下两个方面:无线数据通讯的安全性包管和传输数据的安稳性。
5)与云计算的结合
物联网的智能处理依靠先进的信息处理技术,如云计算、模式识别等技术,云计算可以从两个方面促进物联网和智慧地球的实现:首先,云计算是实现物联网的核心。其次,云计算促进物联网和互联网的智能融合。
6)与TD结合
物联网发展是确保TD成功的重大契机。TD-SCDMA是我国拥有自主知识产权的第三代移动通信系统,是宽带无线通信网络,TD的发展需要数据业务的拉动,物联网应用是需求最迫切的增强型数据业务,具有广阔的应用前景,能够充分发挥TD网络优势,有助于促进TD产业链的成熟。
完善现有网络,发挥TD优势,积极推动无线传感器网络与TD网络融合,构建适于物联网应用的GPRS/TD/WSN(无线传感器网络)融合网络,大力发展适于TD网络承载的物联网业务,提升TD的核心竞争力,给物联网的发展以强有力的支撑,是中国移动的发展思路。
7)与移动互联结合
物联网的应用在与移动互联相结合后,发挥了巨大的作用。
智能家居使得物联网的应用更加生活化,具有网络远程控制、摇控器控制、触摸开关控制、自动报警和自动定时等功能,普通电工即可安装,变更扩展和维护非常容易,开关面板颜色多样,图案个性,给每一个家庭带来不一样的生活体验。
8)与指挥中心的结合
物联网在指挥中心已得到很好的应用,网连网智能控制系统可以指挥中心的大屏幕、窗帘、灯光、摄像头、DVD、电视机、电视机顶盒、电视电话会议;也可以调度马路上的摄像头图像到指挥中心,同时也可以控制摄像头的转动。网连网智能控制系统还可以通过3G网络进行控制,可以多个指挥中心分级控制,也可以连网控制。还可以显示机房温度湿度,可以远程控制需要控制的各种设备开关电源。
9)物联网助力食品溯源,肉类源头追溯系统
从2003年开始,中国已开始将先进的RFID射频识别技术运用于现代化的动物养殖加工企业,开发出了RFID实时生产监控管理系统。该系统能够实时监控生产的全过程,自动、实时、准确的采集主要生产工序与卫生检验、检疫等关键环节的有关数据,较好的满足质量监管要求,对于过去市场上常出现的肉质问题得到了妥善的解决。此外,政府监管部门可以通过该系统有效的监控产品质量安全,及时追踪、追溯问题产品的源头及流向,规范肉食品企业的生产 *** 作过程,从而有效的提高肉食品的质量安全。

物联网 (Internet of Things): 物联网顾名思义就是物物相连的互联网, 是基于互联网之上,使不可交流的物体与物体之间进行交流,而产生的过程,称之为物联网。

起初这一慨念是由美国提出来的。把任何物品通过物联网域名相连接,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种网络概念。物联网从表面看来就是物物相连,其实背后却蕴藏着很多新兴技术和概念。物联网的理念最早起源于咖啡壶事件。在1991年,剑桥大学特洛伊计算机实验室的科学家们在工作时,需要下楼看咖啡是否煮好,常常都是空手而归。因此他们编写了一套程序,并且在咖啡壶旁边安装了一个便携式摄像机,利用计算机图像捕捉技术,传递到实验室的计算机上,工作人员可以很方便的看到咖啡是否煮好,这就是著名的“特洛伊咖啡壶”。

那么物联网是怎样让不可以交流的物体与物体之间通信呢?

这里就涉及到通讯设备了,就像我们人与人之间的通话是通过手机,而物与物之间就要通过下面这个设备进行通信。它的名字叫做“无线数传终端”,简称DTU 英文全名 (Data Transfer unit),

DTU就是通过串口,然后把原本不可以通讯的设备进行通讯,比如我们平时都知道的电表、水表等,它们本身是无法通讯的,通过DTU的串口电表链接起来,就可以把电表的数据上传的到监控中心,这样电力局就可以通过监控中心来查看每家每户的电表每个月的使用情况。

再比如我们都知道的共享单车,就是通过物联网技术--nb-iot模块(nb-iot为物联网专用网络),又叫nb-iot通信模块。原理是当用户手机扫描共享单车二维码时,该模块会发送信号到共享单车的平台,然后平台收到请求后再将数据下发到共享单车通信模块,告诉模块开锁,最终完成我们平时所看到的共享单车解锁。

将来万物互联是什么景象呢?大到 汽车 ,小到纽扣,都可能会被植入智能芯片。在互联网时代,我们会传照片、写评论、打分,到了物联网时代,这个过程的很大一部分都能自动完成。

console模式既是即时命令行模式, 也可以称之为交互模式, 就像micropython的交互模式一样

烧录console模式脚本, 烧录方法和第一篇中讲解的一样, 脚本是luattools v2自带的,在 \resource\8910_script\script_LuaTask_V236\demo\console 目录下

烧录完成后, 我们需要用一条micro-USB数据线连接UART接口, 然后打开电脑上的串口调试助手, 我们可以看到串口调试助手进入了console

根据air724ug a13原理图: >

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

原文地址:https://54852.com/dianzi/13021247.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-29
下一篇2025-08-29

发表评论

登录后才能评论

评论列表(0条)

    保存