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

>

 自己在立创的Ada里面建立的那个原图原理图发给别人,这个的话,我是觉得如果你实在发不了的话,你就把它复制粘贴。

《手把手教你学做电路设计--基于立创EDA》是2019年9月北京航空航天大学出版社出版的图书,作者是孟瑞生、杨中兴、吴封博。

本书以“立创EDA”为平台,系统地介绍了电路设计的方法与技巧。全书共分为11章。

内容包括立创EDA介绍、原理图设计基础、PCB设计基础、原理图库及PCB封装库的制作、原理图的绘制、PCB的绘制、电路板的生产、TP4056锂电池充电器电路设计、096寸OLED电路设计实例、ESP8266物联网电路板设计实例、在电子竞赛与企业协同中的高级应用。


系统简介

水肥一体化智能控制系统通过与灌溉系统相结合,实现智能化控制。系统由物联网监控平台、气象数据采集终端、视屏监控、施肥一体机、过滤系统、阀门控制器、电磁阀、田间水管线等组成。


图为河南益民控股5G+智慧辣椒种植基地水肥一体化系统控制中心

概述

水肥一体化技术是将灌溉与施肥融为一体的农业新技术。水肥一体化是借助压力系统(或地形自然落差),将可溶性固体或液体肥料,按土壤养分含量和作物种类的需肥规律和特点,配兑成的肥液与灌溉水一起,通过可控管道系统供水、供肥,使水肥相融后,通过管道、喷q或喷头形成喷灌、均匀、定时、定量,喷洒在作物发育生长区域,使主要发育生长区域土壤始终保持疏松和适宜的含水量,同时根据不同的作物的需肥特点,土壤环境和养分含量状况,需肥规律情况进行不同生育期的需求设计,把水分、养分定时定量,按比例直接提供给作物。

系统原理图

水肥一体化系统通常包括水源工程、首部枢纽、田间输配水管网系统和灌水器等四部分,实际生产中由于供水条件和灌溉要求不同,施肥系统可能仅由部分设备组成。

水肥一体机

水肥一体机系统结构包括:控制柜、触摸屏控制系统、混肥硬件设备系统、无线采集控制系统。支持pc端以及微信端实施查看数据以及控制前端设备;水肥一体化智能灌溉系统可以帮助生产者很方便的实现自动的水肥一体化管理。系统由上位机软件系统、区域控制柜、分路控制器、变送器、数据采集终端组成。通过与供水系统有机结合,实现智能化控制。可实现智能化监测、控制灌溉中的供水时间、施肥浓度以及供水量。变送器(土壤水分变送器、流量变送器等)将实时监测的灌溉状况,当灌区土壤湿度达到预先设定的下限值时,电磁阀可以自动开启,当监测的土壤含水量及液位达到预设的灌水定额后,可以自动关闭电磁阀系统。可根据时间段调度整个灌区电磁阀的轮流工作,并手动控制灌溉和采集墒情。整个系统可协调工作实施轮灌,充分提高灌溉用水效率,实现节水、节电,减少劳动强度,降低人力投入成本。

施肥系统

水肥一体化施肥系统原理由灌溉系统和肥料溶液混合系统两部分组成。灌溉系统主要由灌溉泵、稳压阀、控制器、过滤器、田间灌溉管网以及灌溉电磁阀构成。肥料溶液混合系统由控制器、肥料灌、施肥器、电磁阀、传感器以及混合罐、混合泵组成。

41:输配水管网系统

由干管、支管、毛管组成。干管一般采用PVC管材,支管一般采用PE管材或PVC管材,管径根据流量分级配置,毛管目前多选用内镶式滴灌带或边缝迷宫式滴灌带;首部及大口径阀门多采用铁件。干管或分干管的首端进水口设闸阀,支管和辅管进水口处设球阀。

输配水管网的作用是将首部处理过的水, 按照要求输送到灌水单元和灌水器,毛管是微灌系统的最末一级管道,在滴灌系统中,即为滴灌管,在微喷系统中,毛管上安装微喷头。


42:环境数据采集器

421气象信息采集

环境数据采集器由低功耗气象传感器、低功耗气象数据采集控制器和计算机气象软件三部分组成。可同时监测大气温度、大气湿度、土壤温度、土壤湿度、雨量、风速、风向、气压、辐射、照度等诸多气象要素;具有高精度高可靠性的特点,可实现定时气象数据采集、实时时间显示、气象数据定时存储、气象数据定时上报、参数设定等功能。

422土壤墒情采集

土壤检测仪可实现对土壤不同深度的温度、湿度、EC、 PH等数据监控,通过5G信号传输至AI农大数据平台,借助于大数据平台的综合建模分析,从而给出土壤土质的综合评级,并语音播报。


43:无线阀门控制器


阀门控制器是接收由田间工作站传来的指令并实施指令的下端。阀门控制器直接与管网布置的电磁阀相连接,接收到田间工作站的指令后对电磁阀的开闭进行控制,同时也能够采集田间信息,并上传信息至田间工作站,一个阀门控制器可控制多个电磁阀。

电磁阀是控制田间灌溉的阀门,电磁阀由田间节水灌溉设计轮灌组的划分来确定安装位置及个数。

44:灌水器系统

微灌按微灌灌水流量小,一次灌水延续时间较长,灌水周期短,需要的工作压力较低,能够较精确的控制灌水量,能把水和养分直接地输送到作物根部附近的土壤中去。

系统功能

51:用水量控制管理

实现两级用水计量,通过出口流量监测作为本区域内用水总量计量,通过每个支管压力传感采集数据实时计算各支管的轮灌水量,与阀门自动控制功能结合,实现每一个阀门控制单元的用水量统计。同时水泵引入流量控制,当超过用水总量将通过远程控制,限制区域用水。


52:运行状态实时监控

通过水位和视频监控能够实时监测滴灌系统水源状况,及时发布缺水预警;

通过水泵电流和电压监测、出水口压力和流量监测、管网分干管流量和压力监测,能够及时发现滴灌系统爆管、漏水、低压运行等不合理灌溉事件,及时通知系统维护人员,保障滴灌系统高效。

53:阀门自动控制功能

通过对农田土壤墒情信息、小气候信息和作物长势信息的实时监测,采用无线或有线技术,实现阀门的遥控启闭和定时轮灌启闭。根据采集到的信息,结合当地作物的需水和灌溉轮灌情况制定自动开启水泵、阀门,实现无人职守自动灌溉,分片控制,预防人为误 *** 作。

54:PC展示平台

通过物联网水肥一体化智能监测平台,能够为用户提供传感器数据、远程、采集、传输、储存、处理及报警信息发送等服务。该平台以集中式分区化的方式为用户提供便捷、经济、有效的远程监控整体解决方案。通过物联网智能监测平台,用户可以不受时间、地点限制对监控目标进行实时监控、管理、观看和接收报警信息。

55:移动终端

建立手机系统,客户直接采用微信客户端就可以控制和查看实时数据,手机端具有手动启动、关闭电磁阀,水泵等设备功能。

56:运维管理功能

包括系统维护、状态监测和系统运行的现场管理;实现区域用水量计量管理、旱情和灌溉预报专家决策、信息发布等功能的远程决策管理;以及对用水、耗电、灌水量、维护、材料消耗等进行统计和成本核算,对灌溉设施设备生成定期维护计划,记录维护情况,实现灌溉工程的精细化维护运行管理。

节水灌溉自动化控制系统能够充分发挥现有的节水设备作用,优化调度,提高效益,通过自动控制技术的应用,更加节水节能,降低灌溉成本,提高灌溉质量,将使灌溉更加科学、方便,提高管理水平。

物联网应用技术就业方向及前景如下:

1、物联网应用技术就业方向

物联网应用技术专业毕业生可在各类物联网企业和IT企业从事物联网方案设计、物联网方案系统集成、物联网系统售前技术支持与售后技术服务、物联网技术应用实施等岗位工作;物联网应用企业从事物联网系统的管理与维护工作。或可继续深造,在高校或科研机构从事研究和教学工作。

目标岗位(群)主要为物联网工程项目规划、施工管理工作岗位群,物联网设备安装、测试工作岗位群物联网系统技术支持工作岗位群,物联网系统开发、集成、营销与服务以及智能高速公路、智能停车场、智能公交、智能楼宇等工作岗位群。

2、物联网应用技术就业前景

物联网应用技术专业的就业前景是不错的! 随着物联网的高速发展,物联网应用技术已经紧密渗透到9大领域:智能工业、智能农业、智能物流、智能交通、智能电网、智慧环保、智能安防、智能医疗、智能家居。

各个行业之中,且物联网应用技术专业技能适用于各种物联网应用技术平台的开发以及运营推广。这意味着该专业就业前景是相当广阔的。

现如今随看物联网在智能化城市、交通、物流、电网、医疗、工业、农业等方面的广泛应用,物联网人才都将处于供不应求的状态,其需求具有紧泊性和稀缺性,所以物联网应用技术专业不仅就业前景乐观同时也算的上是一个有前途的专业。

物联网应用技术专业主要职业能力

1、具备对新知识、新技能的学习能力和创新创业能力。

2、具备无线传感网节点电子原理图和 PCB 图的绘制能力。

3、具备无线传感网节电路板的焊接、检测、装配、调试和维修能力。

4、具备无线传感网单片机程序的编程、下载和调试能力。

在高考志愿填报时,很多考生对物联网应用技术专业的就业前景问题很关心。下面是由编辑为大家整理的“物联网应用技术专业怎么样 好就业吗。

物联网应用技术专业培养目标

本专业培养德、智、体、美全面发展,具有良好职业道德和人文素养,掌握 RFID、无线传感网、嵌入式开发、传感器等基础知识,具备物联网系统集成、安装调试、软件编程和测试等能力,从事物联网应用系统集成、安装调试、维护和相关软件开发、测试等工作的高素质技术技能人才。

物联网应用技术专业就业前景

物联网目前正处于高速发展阶段,其用途遍及智能交通、环境保护、政府工作、公共安全、平安家居、智能消防、工业监测、环境监测、路灯照明管控、景观照明管控、楼宇照明管控、广场照明管控、老人护理、个人健康、花卉栽培、水系监测、食品溯源、敌情侦查和情报搜集等多个领域。由于其应用覆盖的广泛性,物联网对人才的需求非常大,学员的就业面非常广泛,现在有很多企业在大量招聘物联网研发工程师,就业前景非常好。

因为物联网应用技术是个交叉学科,涉及通信技术、传感技术、网络技术以及RFID技术、嵌入式系统技术等多项知识,但想在本科阶段深入学习这些知识的难度很大,而且部分物联网研究院从事核心技术工作的职位都要求硕士学历,因此本科毕业生可从与物联网应用技术有关的知识着手,找准专业方向、夯实基础,同时增强实践与应用能力。

面对现在大学生毕业就业难的情况下,物联网领域却急需相关专业的人才,同时物联网行业内前景大好,这也是成为高校热门专业的一个重要原因。从工信部以及各级政府所颁布的规划来看,物联网在未来十年之内必然会迎来其发展的高峰期。而物联网技术人才也势必将会“迎娶”属于它的一个美好时代。

1具备对新知识、新技能的学习能力和创新创业能力;

2具备无线传感网节点电子原理图和 PCB 图的绘制能力;

3具备无线传感网节电路板的焊接、检测、装配、调试和维修能力;

4具备无线传感网单片机程序的编程、下载和调试能力;

5具备物联网系统集成能力;

6具备物联网应用系统软件编程能力;

7具备物联网应用系统安装调试、故障分析和排除能力;

8了解物联网和无线传感网的基本概念和原理,了解物联网应用系统的基本组成和工作原理。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存