查看: 1197|回复: 18

[经验] 【Arduino】108种传感器模块系列实验(50)---W25Q64存储模块

[复制链接]
  • TA的每日心情
    开心
    2019-12-6 08:45
  • 签到天数: 199 天

    [LV.7]常住居民III

    发表于 2019-7-3 11:12 | 显示全部楼层 |阅读模式
    本帖最后由 eagler8 于 2019-8-30 08:19 编辑

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉。

    【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)

    实验五十:W25Q64 64Mbit FLASH外扩存储模块 (DataFlash SPI接口 )

    W25X64
    该系列是华邦公司推出的大容量SPI  FLASH 产品,W25X64 的容量为 64Mbit(8M),该系列还有 W25Q80/16/32 等W25X16、W25X32、W25X64分别有8192、16384、32768个可编程页,每页256字节,用扇区擦除指令每次可以擦除16页,用块擦除指令每次可以擦除256页,用整片擦除指令既可以擦除整个芯片,W25X16、W25X32、W25X64分别有512、1024、2048个可擦除扇区,或者32、64、128个可擦除的块。W25Q64 的擦写周期多达 10W 次,具有 20 年的数据保存期限,支持电压为 2.7~3.6V,W25Q64 支持标准的 SPI,还支持双输出/四输出的 SPI,最大 SPI 时钟可以到 80Mhz(双输出时相当于 160Mhz,四输出时相当于 320M)。

    0-.jpg

  • TA的每日心情
    开心
    2019-12-6 08:45
  • 签到天数: 199 天

    [LV.7]常住居民III

     楼主| 发表于 2019-7-5 06:30 | 显示全部楼层
    本帖最后由 eagler8 于 2019-7-12 05:54 编辑

    Arduino 系列传感器和模块实验目录清单:

    一块扩展板完成Arduino的9类18项实验(代码+图形+仿真)
    https://www.arduino.cn/thread-88696-1-1.html
    实验一:干簧管传感器模块
    https://www.arduino.cn/thread-86350-1-1.html
    实验二:光敏电阻传感器模块
    https://www.arduino.cn/thread-86393-1-1.html
    实验三:微波雷达感应开关模块
    https://www.arduino.cn/thread-86397-1-1.html
    实验四:振动传感器模块
    https://www.arduino.cn/thread-86512-1-1.html
    实验五:热敏电阻温度传感器模块
    https://www.arduino.cn/thread-86520-1-1.html
    实验六:KY-038高感度声音传感器模块
    https://www.arduino.cn/thread-86576-1-1.html
    实验七:旋转电位器模块
    https://www.arduino.cn/thread-86866-1-1.html
    实验八:湿度传感器模块
    https://www.arduino.cn/thread-87993-1-1.html
    实验九:火焰(红外线)传感器模块
    https://www.arduino.cn/thread-88283-1-1.html
    实验十:敲击传感器模块KY-031
    https://www.arduino.cn/thread-88401-1-1.html
    实验十一:金属触摸传感器模块KY-36
    https://www.arduino.cn/thread-88422-1-1.html
    实验十二:开关霍尔磁力传感器模块
    https://www.arduino.cn/thread-88461-1-1.html
    实验十三:触摸传感器模块
    https://www.arduino.cn/thread-88523-1-1.html
    实验十四:倾斜传感器模块(角度开关)
    https://www.arduino.cn/thread-88530-1-1.html
    实验十五:手指侦测心跳传感器模块KY-039
    https://www.arduino.cn/thread-88557-1-1.html
    实验十六:电容式数字触摸传感器模块(TTP223 )
    https://www.arduino.cn/thread-88567-1-1.html
    实验十七:HC-SR312微型热释电传感器模块
    https://www.arduino.cn/thread-88578-1-1.html
    实验十八:0.25W太阳能滴胶板传感器模块(45X45毫米)
    https://www.arduino.cn/thread-88669-1-1.html
    实验十九:常闭型SW-420震动开关传感器模块
    https://www.arduino.cn/thread-88672-1-1.html
    实验二十:水银开关传感器模块(KY-017)
    https://www.arduino.cn/thread-88787-1-1.html
    实验二十一:激光头传感器模块(KY-008)
    https://www.arduino.cn/thread-88842-1-1.html
    实验二十二:MAX7219点阵显示模块(8X8 LED共阴)
    https://www.arduino.cn/thread-88851-1-1.html
    实验二十三:NE555频率可调脉冲发生器模块(方波简版)
    https://www.arduino.cn/thread-88867-1-1.html
    实验二十四:水位水滴传感器模块(Water Sensor)
    https://www.arduino.cn/thread-88886-1-1.html
    实验二十五:MQ-2气敏式烟雾传感器模块(甲烷等)
    https://www.arduino.cn/thread-88906-1-1.html
    实验二十六:4X4矩阵键盘模块(轻触式按键)
    https://www.arduino.cn/thread-88966-1-1.html
    实验二十七:GY-BMP280-3.3 高精度大气压强传感器模块
    https://www.arduino.cn/thread-89010-1-1.html
    实验二十八:三色5050 RGB全彩LED模块 KY-009
    https://www.arduino.cn/thread-89022-1-1.html
    实验二十九:DS1302实时时钟模块(带电池  掉电走时)
    https://www.arduino.cn/thread-89070-1-1.html
    实验三十:光敏二极管传感器模块(英语photodiode )
    https://www.arduino.cn/thread-89129-1-1.html
    实验三十一:ISD1820录音语音模块(8-20秒)
    https://www.arduino.cn/thread-89154-1-1.html
    实验三十二:雨滴传感器模块(雨水/雨量/叶面湿度)
    https://www.arduino.cn/thread-89184-1-1.html
    实验三十三:ESP8266串口WIFI收发无线模块 (ESP-01S)
    https://www.arduino.cn/thread-89245-1-1.html
    实验三十四:三色LED交通灯模块(红绿黄灯)
    https://www.arduino.cn/thread-89273-1-1.html
    实验三十五:模拟量声音传感器模块(4线制)
    https://www.arduino.cn/thread-89289-1-1.html
    实验三十六:WS2812B智能外控集成LED四位彩灯模块
    https://www.arduino.cn/thread-89297-1-1.html
    实验三十七:MQ-3酒精乙醇传感器模块
    https://www.arduino.cn/thread-89300-1-1.html
    实验三十八:joystick双轴XY按键摇杆模块(游戏控制杆)
    https://www.arduino.cn/thread-89365-1-1.html
    实验三十九:DS18B20单总线数字温度传感器模块
    https://www.arduino.cn/thread-89368-1-1.html
    实验四十:360度旋转增量编码器模块(KY-040)
    https://www.arduino.cn/thread-89427-1-1.html
    实验四十一:IS0203激光接收管传感器模块
    https://www.arduino.cn/thread-89428-1-1.html
    实验四十二:DSM501A韩国PM2.5灰尘粉尘传感器模块
    https://www.arduino.cn/thread-89441-1-1.html
    实验四十三:5V低电平触发单路继电器模块
    https://www.arduino.cn/thread-89445-1-1.html
    实验四十四:类比霍尔磁性传感器 KY-035(模拟量)
    https://www.arduino.cn/thread-89464-1-1.html
    实验四十五:红外避障传感器模块(光电接近开关)
    https://www.arduino.cn/thread-89473-1-1.html
    实验四十六:350Ω高精度电阻式应变片传感器 (BF350)
    https://www.arduino.cn/thread-89474-1-1.html
    实验四十七:七段LED数码管模块(共阴/共阳)
    https://www.arduino.cn/thread-89475-1-1.html
    实验四十八:GY-291三轴重力加速度模块 (IIC/SPI传输)
    https://www.arduino.cn/thread-89567-1-2.html
    实验四十九:有源蜂鸣器报警器发声模块(低电平触发)
    https://www.arduino.cn/thread-89568-1-2.html
    实验五十:W25Q64 FLASH外扩存储模块 (SPI接口 )
    https://www.arduino.cn/thread-89570-1-2.html
    实验五十一:自锁点动触摸按键传感器模块(TTP223芯片)
    https://www.arduino.cn/thread-89721-1-1.html
    实验五十二:SPI接口Micro SD卡模块(带电平转换芯片)
    https://www.arduino.cn/thread-89729-1-1.html
    实验五十三: 土壤湿度水分传感器模块(电阻式)
    https://www.arduino.cn/thread-89734-1-1.html
    实验五十四: 大按键点动轻触开关模块(高电平输出)
    https://www.arduino.cn/thread-89785-1-1.html
    实验五十五:DHT11 温湿度传感器(数字型单总线通信)
    https://www.arduino.cn/thread-89786-1-1.html
    实验五十六: 8路LED流水的灯跑马灯模块SUNLEPHANT
    https://www.arduino.cn/thread-89832-1-1.html
    实验五十七: 四档频率占空比可调矩形波信号发生器(NE555)
    https://www.arduino.cn/thread-89868-1-1.html
    实验五十八: HC-SR04超声波测距传感器模块(5针宽电压)
    https://www.arduino.cn/thread-89869-1-1.html
    实验五十九: RS232转TTL2代串口模块刷机板(MAX3232)
    https://www.arduino.cn/thread-89895-1-1.html
    实验六十:ATTINY85 Digispark kickstarter 微型usb开发板
    https://www.arduino.cn/thread-89898-1-1.html
  • TA的每日心情
    开心
    2019-12-6 08:45
  • 签到天数: 199 天

    [LV.7]常住居民III

     楼主| 发表于 2019-7-7 20:06 | 显示全部楼层
    SPI总线
    SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。SPI是一个环形总线结构,由ss(cs)、sck、sdi、sdo构成,其时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换。上升沿发送、下降沿接收、高位先发送。上升沿到来的时候,sdo上的电平将被发送到从设备的寄存器中。下降沿到来的时候,sdi上的电平将被接收到主设备的寄存器中。

    SPI总线是Motorola公司推出的三线同步接口,同步串行3线方式进行通信:一条时钟线SCK,一条数据输入线MOSI,一条数据输出线MISO;用于 CPU与各种外围器件进行全双工、同步串行通讯。SPI主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等。

    01.gif

  • TA的每日心情
    开心
    2019-12-6 08:45
  • 签到天数: 199 天

    [LV.7]常住居民III

     楼主| 发表于 2019-7-7 20:24 | 显示全部楼层
    SPI 数据速率一般在1到70MHz的范围内,字长为从8位及12位到这两个值的倍数。数据传输一般由数据交换构成。在主控制器向从设备发送数据时,从设备也向主控制器发送数据。因此主控制器的内部移位寄存器和从设备都采用环形设置。在数据交换之前,主控制器和从设备会将存储器数据加载至它们的内部移位寄存器。收到时钟信号后,主控制器先通过MOSI线路时钟输出其移位寄存器的MSB。同时从设备会读取位于SIMO的主控器第一位元,将其存储在存储器中,然后通过SOMI时钟输出其MSB。主控制器可读取位于MISO的从设备第一位元,并将其存储在存储器中,以便后续处理。整个过程将一直持续到所有位元完成交换,而主控器则可让时钟空闲并通过/SS 禁用从设备。

    03.gif
  • TA的每日心情
    开心
    2019-12-6 08:45
  • 签到天数: 199 天

    [LV.7]常住居民III

     楼主| 发表于 2019-7-7 20:27 | 显示全部楼层
    在 SPI 中,主控制器可与单个或多个从设备通信。如果是一个单从设备,从设备选择信号可连接至从设备的本地接地电位,实现永久接入。对使用多个从设备的应用,可使用两种配置:独立从设备与菊花链从设备。要与从设备单独通信,主控制器必须提供多重从设备选择信号。该配置通常用于必须单独访问多个模数转换器 (ADC) 及数模转换器 (DAC) 的数据采集系统中。菊花链从设备只需要主控制器提供一个从设备选择信号,因为这种配置要求所有从设备同时启用,以确保数据不间断地流经该链路中的所有移位寄存器。典型应用是工业 I/O 模块中的级联多通道输入串行器与输出驱动器。注意,菊花链连接不一定适用于所有的SPI设备,特别是要求多字节传输的(比如存储器芯片)设备。另外,要对外设芯片的数据表进行仔细分析,确定能对它做什么而不能做什么。如果芯片的数据表中没有明确提到菊花链连接,那么该芯片不支持这种连接的几率为50%。

    04.jpg
  • TA的每日心情
    开心
    2019-12-6 08:45
  • 签到天数: 199 天

    [LV.7]常住居民III

     楼主| 发表于 2019-7-7 20:40 | 显示全部楼层
    W25Q64FWSSIG参数
    功能数量        1 端子数量        8
    最大工作温度        85 Cel
    最小工作温度        -40 Cel
    最大供电/工作电压        1.95 V
    最小供电/工作电压        1.65 V
    额定供电电压        1.8 V
    最大时钟频率        104 MHz
    加工封装描述        0.208 INCH, GREEN, SOIC-8 状态        ACTIVE 工艺        CMOS
    包装形状 SQUARE
    包装尺寸        SMALL OUTLINE
    表面贴装        Yes
    端子形式        GULL WING
    端子间距        1.27 mm
    端子位置        DUAL
    包装材料 PLASTIC/EPOXY
    温度等级        INDUSTRIAL
    内存宽度        1 组织        64M X 1
    存储密度        6.41E7 deg
    操作模式        SYNCHRONOUS
    位数 6.41E7 words
    位数        64M
    内存IC类型        FLASH 1.8V PROM
    串行并行        SERIAL
    0-0.jpg

  • TA的每日心情
    开心
    2019-12-6 08:45
  • 签到天数: 199 天

    [LV.7]常住居民III

     楼主| 发表于 2019-7-7 20:45 | 显示全部楼层
    05.jpg

    05-.jpg
  • TA的每日心情
    开心
    2019-12-6 08:45
  • 签到天数: 199 天

    [LV.7]常住居民III

     楼主| 发表于 2019-7-8 09:04 | 显示全部楼层
    W25Q64引脚
    CS:CS为片选管脚,低电平有效。上电之后,在执行一条新的指令之前,必须让/CS管脚先有一个下降沿。
    DO(MISO):DO为串行数据输出引脚,在CLK(串行时钟)管脚的下降沿输出数据。
    WP:WP为写保护管脚,有效电平为低电平。高电平可读可写,低电平仅仅可读。
    DI(MOSI):DI为串行数据输入引脚,数据、地址和命令从DI引脚输入到芯片内部,在CLK(串行时钟)管脚的上升沿捕获捕获数据。
    CLK(SLCK):CLK为串行时钟引脚。SPI时钟引脚,为输入输出提供时钟脉冲。
    HOLD:HOLD为保持管脚,低电平有效。当CS为低电平,并且把HOLD拉低时,数据输出管脚将保持高阻态,并且会忽略数据输入管脚和时钟管脚上的信号。把HOLD管脚拉高,器件恢复正常工作。
    VCC:电源2.7V~3.6V。
    GND:地。

    W25Q64内部框架图

    06 (1).jpg

  • TA的每日心情
    开心
    2019-12-6 08:45
  • 签到天数: 199 天

    [LV.7]常住居民III

     楼主| 发表于 2019-7-8 09:12 | 显示全部楼层
    W25Q64操作原理
    通过SPI接口,用标准的SPI协议发送相应指令给flash,然后flash根据命令进行各种相关操作。

    W25Q64常用操作命令

    07.jpg

  • TA的每日心情
    开心
    2019-12-6 08:45
  • 签到天数: 199 天

    [LV.7]常住居民III

     楼主| 发表于 2019-7-8 09:56 | 显示全部楼层
    W25Q64 64Mbit FLASH外扩存储模块

    08-.jpg
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    Blynk与m5stack basic以及uiflow的交互玩法
    Blynk与m5stack basic以及
    Blynk与m5stack basic以及uiflow的交互玩法 [准备工作我们假设玩家已经熟悉下面的准备
    中文 字库 的8针 OLED 12864模块 arduino
    中文 字库 的8针 OLED 128
    屏幕电路SPI连线: 中文字库OLED Arduino UNO GND GND
    【零知ESP8266项目篇】1 OLED天气时钟
    【零知ESP8266项目篇】1 O
    引述: 我们一起学了这么久的零知ESP8266的教程,是不是该检验一下自己了呢?在前面的
    创客集结号:温馨水杯
    创客集结号:温馨水杯
    今天,在创客集结号平台看到一个能自动感应的杯子,不仅神奇还非常有创意,该作品主要
    下载库报错
    下载库报错
    我在编写arduino1602液晶屏温湿度下载DHT_sensor_library库时,下载了库后,还没有改
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表