
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通信
>
针对零基础想要转行UI设计的小伙伴,应该先了解UI设计是什么?UI设计是否有前景?再去考虑自己是否适合UI设计,最后才了解如何学习UI设计。那我们今天就按照这个思路分享一下UI设计的转行步骤。
一、UI设计是什么?UI(User Interface),中文名“用户界面”。Ps:(百度解释)UI是指对软件的人机交互、 *** 作逻辑、界面美观的整体设计。
通俗来说,大家生活中的手机和电脑上使用的各种App、网页软件等产品的原型设计都来自于UI,包括页面的整体配色,按钮设计,图标设计,界面的排版都是UI设计工作的范围。
UI设计在互联网行业中是不可缺少的岗位,他需要参与需求评审,理解PRD、用户调研、情绪板梳理、交互设计等过程,需要完成产品的视觉设计、视觉评审、UI走查、验收等流程。在工作过程中,可能会组织团队成员对设计方案、项目进行复盘,这样细致的分工会把每个环节都打磨得非常到位。
总的来说,UI设计的工作不仅是让软件变得有个性有品味,还要让软件的 *** 作变得舒适、简单、自由,充分体现软件的定位和特点。
二、UI设计是否有前景一个行业是否有前景,最重要的就是看市场的需求量和依赖度。
对于市场的需求量,我们随手去任何一个招聘网站看看目前正在招聘UI设计的企业有多少,就能很直观的得到市场的空缺量有多少?
来源于职友集
对于依赖度,我们可以想想我们的生活中哪些地方用到了UI设计的产品?
来源于网络
日常生活中的一天,从早上用手机扫码乘坐地铁或公交,上班用手机打卡。再到办公用到各类办公软件、浏览各类网页,吃饭点外卖,下班买菜手机支付,网上购物。晚上休息刷新闻、打游戏、追剧和综艺,我们用到的这一类产品,它们的界面都是出自UI设计之手。着互联网、物联网、5G、人工智能、大数据、VR虚拟现实、人工智能等的兴起,UI设计市场并不会饱和,只是需要更多、更专业、知识面更广的UI设计师。
UI设计薪资待遇如何呢?来看看全国UI设计师平均薪资:
来源:职友集
零基础想要转行UI,该先学什么?学习什么内容?又如何学习呢?我们将学习内容拆分出来,以周为学习周期,来分享一下UI设计的学习流程。
越简单的元素搭配,就越考察一个设计师的基础功,如果没有过硬的技术和扎实的基本功,就难以准确地传达产品自身调性和营销卖点。
我们都知道创意思维对于设计师的重要性,却也不能忽略基本功对于设计师的必要性。只有坚持不断的负重训练,扎实美术功底,才能在日后的商业实战中轻松驾驭各种风格。
第一周:手绘
来源:阿多比设计学院学生作品
手绘的重点主要是培养学员的形体结构,光感、空间的关系,这算是一个审美培养的启蒙,时下最流行的矢量插画就和手绘密切相关。
第二、三周:PS、AI基础软件的学习
来源于网络
从零开始学习软件,需要用实际的案例去学习,这样更加容易上手,并且UI设计的学习并不是只是简单的学习软件工具,很多在人都以为UI设计只要会了PS、AI等就可以了,其实让通过实际的案例去了解设计背后的意义即设计思维、创意理解,才是更为重要的目的。
但是只学思维也不行,我们也要加强设计的基本功,对软件完全的精通掌握,这是必须的。
第四、五周:平面构成、Logo
来源:阿多比设计学院学生作品
掌握平面设计中点、线、面,加以延伸到到Logo设计,Logo一方面是包括图形另一方面是包括字体,所以了解文字结构是非常基础的,以及如果这一阶段学的非常好,接Logo私单,价格高到不敢相信。
并且logo品牌部分学习中,要会从Logo的形式、气质、基础属性、思维方式、以及标准制图等去深入学习。一个简单的图形通过形式的变形而演变出千变万化的造型,如此多的变化还怕设计不出Logo吗?
举例:从形入手,一个圆可变实心的圆、可变空心的、可变半圆的还可变椭圆、半圆,那是不是就能联想到鸡蛋、煎蛋、荷包蛋、帽子、水杯呢?
第六周:品牌Logo定稿以及VI手册设计
来源:阿多比设计学院学生
这一周其重点是甲方思维思考设计,对,就是那个烦人的甲方爸爸,需要学习换位思考。
整个第一阶段的学习内容都是非常基础的,目的是培养设计思维,正所谓懂用户所想,还不能设计出好产品?
第七周:响应式网站、一屏式网站
来源:阿多比设计学院学生作品
从案例来讲述网页设计的构成、颜色、字体、功能、按钮以及设计规范、排版规范。
第八周:后台数据
除了后台设计,更多的是后台的数据统计处理,如何做到简单化、明了化。
来源:阿多比设计学院学生作品
第九周:电商设计
来源:阿多比设计学院学生作品
电商平台首页设计,每一个月各大购物平台都会有全站式的活动,活动主题都不一样,所以其实电商设计的人才缺口是非常大的。
第十周:淘宝平台详情页、后台
来源:阿多比设计学院学生作品
这一部分是可以自己去申请淘宝店、上架产品,任何学习都没有直接上手来得快。实 *** 实练,自己去体会各大平台的规范,才会了解得更加清楚。
第十一周:C4D、Banner
来源:阿多比设计学院学生作品
进入3D训练啦,丰富视觉效果,提高就业竞争能力,多会一门技术,就多一些可能,这也是我们要为什么不断学习提升自己的原因。
第二阶段,更多的是网页的设计训练,重点掌握企业站界面设计规范和输出规范,且能够根据企业真实需求设计页面。
第十二周:用户体验、竞品分析、原型图
来源:阿多比设计学院学生作品
本周开始设计APP,通过数据分析来做竞品分析,使用Axure来绘制APP的原型图。
第十三周:图标
来源:阿多比设计学院学生作品
有意思的图标也是完整APP设计的重要一环。
第十四周:界面、胶囊
来源:阿多比设计学院学生作品
通过标志性APP来讲d窗页、闪动页。
第十五周:界面设计
来源:阿多比设计学院学生作品
继续完成APP,并学会切图、命名、标注、打包、交接(前端小哥哥、姐打不打就看这周的学习内容了)
第十六周:运营界面
来源于网络
营销推广性的用户思维培养,把握用户的痛点提升整体运营界面,达到营销推广的目的。这一般都是通过突然跳出来的d窗、闪屏等,比如促销性质的页面,增加了视觉感染力,促进了用户的点击。
第十七周:交互动效
来源:阿多比设计学院学生作品
学好AE动效会非常加分,因为它可以准确的传达出你的思路,演示你想要的表达的效果。这必将成为UI的流行趋势,不想要被市场淘汰,一定要继续学习啊!
这一个阶段,可以尝试着手设计属于自己的APP,你可以选择自己喜欢的主题,没有局限性,这可以成为零基础转行的你的作品集内容哦。
第十八周:前端
大家都知道与UI设计师密切合作的是前端,那作为一个UI设计师,只有懂了前端,这样才会合作得更好,提升工作的效率。我们可以学习HTML5,学习CSS3等。
虽然是以周划分,安排得满满当当,这样学习流程适合大多数零基础的小伙伴,每周的内容如果学习的不扎实,可以适当停留脚步,因为每个人的学习能力不同,学习掌握情况不同。一定要将知识学扎实,一步一个脚印的往前走,才能真正将UI设计知识掌握牢靠。
最后,希望你通过我的分享对你转行UI设计的学习有所帮助,早日找到心仪的UI设计工作。
2017年起,“智慧工地”逐步进入政策视野,此前则多为建筑施工企业出于自身需求开展的创新应用。尤其在国务院办公厅《关于促进建筑业持续健康发展的意见》印发后,“智慧工地”的应用价值及现实意义渐成共识。
当前,针对“智慧工地”的顶层设计尚未明确,各地关于“智慧工地”的概念界定和路径设计也各有千秋。综合多地文件,可以将“智慧工地”理解为基于信息技术,围绕建筑工程项目全生命周期,建立支撑现场管理、互联协同、智能决策、数据共享的信息化系统,实现信息技术与现场管理深度融合的新型施工管控模式。
要而言之,“智慧工地”旨在为工程施工项目装上“智慧大脑”,通过采集、集成和应用建筑施工数据,实现对于施工现场的信息化监管。
1、信息采集:打破“信息孤岛”
施工现场散落着类别多、数量大的信息,涉及政府监管部门、建设、施工、监理、设计和材料供应商等诸多主体,需服务于质量、安全、成本、工期等控制需要。
为改变传统工地中信息重复采集、信息交叉上报、信息冗余严重、信息更新滞后的信息管理现状,“智慧工地”充分利用互联网、物联网、传感器等先进信息化技术手段,提高数据获取的准确性、及时性、真实性和完整性,致力于满足项目管理者对现场作业过程所需数据的及时获取、共享和沟通。
针对现场管理中较为突出的“信息孤岛”现象(表现为功能上不关联互助、信息不共享互换、信息与业务流程和应用相互脱节),“智慧工地”着力打破信息之间的互联互通障碍,构建横向到边、纵向到底的信息交互关系,既在“信息孤岛”间架设桥梁、实现大数据融合,也为破除“信息壁垒”、填平孤岛重建奠定基础。
响应《2016-2020年建筑业信息化发展纲要》针对施工类企业提出的“建立基于BIM的项目管理信息系统”号召,各地也要求逐步推进BIM技术,以降低信息在各环节传递过程中的衰减,实现信息的有效传递和共享。
2、系统集成:汇集多元力量
在优化信息采集的基础上,“智慧工地”还需将软件、硬件、技术和信息等集成到相互关联、统一协调的系统之中,使信息达到充分共享,在此基础上可以对施工现场的人、机、料、法、环等资源进行集中管理。
针对市场上施工现场管理信息系统多而杂的近况,“智慧工地”通过完善并集成项目管理、劳务管理、物资材料管理等系统,将施工现场所应用的各类小而精(杂)的专业化系统集成整合为各功能模块集成统一的系统平台。如《重庆市2020年“智慧工地”建设工作方案》明确智慧工地应具备人员实名制管理、危险性较大的分部分项工程安全管理、工程监理报告、工程质量验收管理、建材质量监管、工资专用账户管理6项元素,江苏省《关于推进智慧工地建设的指导意见》也明确智慧工地应涵盖现场应用、集成监管、决策分析、数据中心和行业监管等五个方面内容。
与此同时,“智慧工地”还有意提高BIM、LBS、VR、AR等技术应用软件和系统的集成程度,一方面提高信息技术集成应用能力,另一方面也有助于解决市场存在的软硬件集成难、系统选型难等问题。
3、数据应用:升级项目管理
信息的采集和系统的集成都是为了发挥大数据智能化对提升施工项目管理效能的价值。在前两步骤的基础上,“智慧工地”得以在数据应用环节发挥巨大潜能:“了解”工地的过去,“清楚”工地的现状,“预知”工地的未来。
对于各方建设主体而言,“智慧工地”有利于施工精细化管控的实现:通过集中获取、传递、处理、再生与利用项目信息,应用人员安全管理、施工进度监督、车辆未冲洗抓拍、现场设备监控等功能,能够提高施工现场决策能力和管理效率,助力项目管理“耳聪目明”,长远来看对于项目管理各方而言也是降低施工成本的创新选择。
对于监管部门而言,一方面可通过“智慧工地”优化对于施工项目的微观管理,如《成都市智慧工地线上巡查管理办法(试行)》要求各区(市)县住建行政主管部门(含质量、安全监督机构)负责所监管项目智慧工地线上巡查工作,督促相关责任单位及时整改和处理巡查问题;另一方面可应用“智慧工地”更好实现“现场与市场”联动管理,落实“现场优秀、市场优选”原则,在建筑企业中普及“以现场促市场、以市场保现场”观念,优化对于建筑市场的宏观管理。
“智慧工地”是建筑业信息化、智能化和精细化的有效载体,也是推进建筑产业现代化的重要环节,其应用能够提升行业监管和企业综合管理能力、驱动建筑企业智能化变革、引领项目全过程升级。当然,其推广还需以智能技术与智能设备的普及使用为出发点,政策支持、措施保障、督导监管加以辅助。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)