基于PIC单片机与串行闪存的SPI接口设计

[09-13 23:35:28]   来源:http://www.88dzw.com  电视机电路   阅读:8475

文章摘要: 引 言 PIC单片机以性能稳定、品种众多等特点在工业控制、仪器仪表、家电、通信等领域得到广泛应用。虽然很多型号自身集成了存储器,但在很多情况下难以满足系统对大容量存储的要求,需要外扩非易失性的存储器。与并行Flash存储器相比,串行Flash存储器占用MCU引脚少,体积小,易于扩展,接线简单,工作可靠,故而越来越多地应用在各类电子产品和工业测控系统中。本文主要讨论PIC16F877A单片机与串行闪存M25P16之间的SPI通信,在要求大容量数据存储且MCU引脚资源有限的情况下具有实用价值。 1 SPI工作原理 SPI(Serial Peripher

基于PIC单片机与串行闪存的SPI接口设计,标签:电视机电路,电路设计,http://www.88dzw.com

      引  言

      PIC单片机以性能稳定、品种众多等特点在工业控制、仪器仪表、家电、通信等领域得到广泛应用。虽然很多型号自身集成了存储器,但在很多情况下难以满足系统对大容量存储的要求,需要外扩非易失性的存储器。与并行Flash存储器相比,串行Flash存储器占用MCU引脚少,体积小,易于扩展,接线简单,工作可靠,故而越来越多地应用在各类电子产品和工业测控系统中。本文主要讨论PIC16F877A单片机与串行闪存M25P16之间的SPI通信,在要求大容量数据存储且MCU引脚资源有限的情况下具有实用价值。

      1  SPI工作原理

      SPI(Serial Peripheral Interface)是一种常用的串行通信协议,用于MCU系统与外围设备的通信,可用来连接存储器、A/D转换器、D/A转换器、实时时钟、LCD驱动器、传感器,甚至其他处理器。SPI主要使用4个信号:MOSI(主机输出/从机输人)、MISO(主机输入/从机输出)、SCK(串行时钟)和CS(片选)。其中,SCK由主机产生,作为传输的同步时钟,控制所有数据传输。主机通过触发从设备的CS决定二者之间的SPI传输是否能够进行。主机和外设都包含1个串行移位寄存器。主机通过向自己的SPI串行寄存器写入1个字节来发起1次传输,然后通过MOSI信号线将数据传给外设,同时外设将自己移位寄存器中的内容通过MISO信号线返回给主机,如图1所示。这样,两个移位寄存器中的内容就交换了。也就是说,外设的写操作和读操作是同步完成的。在实际应用中,如果只进行写操作,则主机只需忽略收到的字节即可;如果主机要读外设的数据,必须发送1个字节来引发从机的传输,发送的这个字节可以是任意数据。

      2  M25P16简介

      M25P16是16 Mb的串行闪存,具有先进的写保护机制,支持速度高达50 MHz的SPI总线的存取操作。该存储器有32个扇区,每个扇区256页,每页256字节。工作电压范围2.7~3.6 V,工作温度范围-40~+85℃。数据保存长达20年,每个扇区可擦写/编程100 000次。

      M25P16支持的操作指令共有12条。指令格式为:

    其中,8位的命令字是必需的,地址、哑元以及数据字节的有无和长度会因指令的不同而有所差别,详情如表1所列。所有的命令码、地址、串行输入/输出的数据,均是高位在前,低位在后。

    对M25P16操作时,先选中芯片(即片选信号S拉低),然后串行输入操作指令字节,紧接着串行输入地址字节(0或3字节),必要时还要加入哑读字节,最后串行输入/输出数据字节,然后把片选信号拉高,之后M25P16启动内部控制逻辑,自行完成相应的操作。

      3 SPI硬件设计

      PIC16F877A单片机具有非常完善的SPI接口(RC3/SCK、RC4/SDI、RC5/SDO、RA5/SS),只有PIC16F877A作为从机时,RA5/SS引脚才作为SPI脚,PIC16F877A为主机时,SS可作为普通I/O使用。通过该接口,可比较容易地实现PIC16F877A与SPI Flash的通信。PIC16F877A与M25P16的硬件接口如图2所示。其中,SCK、SDI、SDO为MCU的SPI专用引脚,分别与存储器的对应引脚相连,可选MCU的任意I/O脚作为存储器的片选信号,图中选取RC2脚与存储器的片选S相连,这样,在SPI通信时只涉及MCU的C口,便于操作。M25P16的HOLD和W直接接高电平,表示不允许在S有效的情况下暂停SPI通信且整个存储区都没有写保护。

[1] [2] [3]  下一页


Tag:电视机电路电视机电路,电路设计家电维修 - 单元电路介绍 - 电视机电路

《基于PIC单片机与串行闪存的SPI接口设计》相关文章