LPC1768与N25Q256 SPI Flash交互:初始化与擦写操作

需积分: 47 24 下载量 62 浏览量 更新于2024-08-09 收藏 893KB PDF 举报
"本文主要介绍了如何在基于LPC1768微控制器的系统中,进行N25Q256串行Flash的擦除和安装,包括LPC1768与N25Q256的硬件连接、寻址方式以及读写函数的实现。" N25Q256是一款由Micron公司生产的256Mbit串行Flash存储器,具有高速读写能力。在进行擦除操作时,它提供了三种不同级别的擦除方式:SubSector擦除(4KB)、Sector擦除(64KB)和BULK全片擦除。根据实际需要擦除的数据量,可以选择最快的方式来执行操作,以提高效率。 LPC1768是NXP公司基于Cortex-M3内核的微控制器,其与N25Q256之间的连接是通过SPI接口完成的。具体连接引脚为:P1.18和P1.21作为片选信号,P1.20用于SCK0(时钟),P1.23作为MISO0(主输入/从输出),P1.24作为MOSI0(主输出/从输入)。 N25Q256的内存组织结构分为两个128Mbit的存储单元,采用3字节地址进行读写,总共可以寻址128MBit。默认访问的是Lower128Mbit部分,若需访问Upper128Mbit,需利用WRITEEXTENDEDADDRESSREGISTER控制命令来改变地址范围。 在软件实现上,有以下几个关键函数: 1. **SPI_FLASH_Init**:这个函数负责初始化SPI接口,设置SSP0引脚的复用功能,设定SPI工作模式为主控制器,并设置适当的时钟频率,如测试时的25MHz。 2. **SSTF016B_RD**:这是读取数据的函数,N25Q256支持多种读取模式,如READ、FASTREAD等。此函数中使用了FASTREAD(0x0B)指令来快速读取数据。 3. **SSTF016B_WR**:这个函数用于向N25Q256写入数据,采用PAGEPROGRAM指令。在写入操作前,需要先发送WRITEENABLE指令,以允许数据写入。 在进行cc-link现场总线安装时,这些基本的读写和擦除操作是基础,确保了LPC1768能正确地与N25Q256通信,从而实现对现场总线数据的存储和读取。熟悉这些步骤和函数对于配置和维护基于LPC1768的系统至关重要。