LPC1768与N25Q256 SPI连接及寻址方式解析

需积分: 47 24 下载量 186 浏览量 更新于2024-08-09 收藏 893KB PDF 举报
"本文主要介绍了如何在DX200现场总线系统中,结合LPC1768微控制器,安装并操作N25Q256串行闪存芯片,特别是其寻址方式和读写操作。N25Q256芯片具有256Mbit的存储容量,由两片128Mbit单元组成,支持3字节地址读写,并可通过特定命令扩展地址范围。" LPC1768是NXP公司设计的一款基于ARM Cortex-M3内核的微控制器,拥有100MHz的工作频率,它通过SPI接口与N25Q256串行闪存相连。SPI接口的连接包括P1.18作为片选信号,P1.20为时钟信号SCK0,P1.23为MISO(主输入,从输出),P1.24为MOSI(主输出,从输入)。N25Q256A芯片由Micron公司制造,具备大容量和快速读写能力,最高读写速度可达108MB/s。 在寻址方式上,N25Q256芯片有独特的特点。由于其由两片128Mbit存储单元组成,所以总共可以寻址到128MBit的数据。默认情况下,只使用了Lower 128Mbit区域。如果需要访问Upper 128MBit区域,必须执行WRITE EXTENDED ADDRESS REGISTER控制命令来修改地址寄存器。这种寻址方式使得N25Q256可以灵活地处理大量数据存储需求。 在实际操作中,为了与N25Q256进行通信,需要对LPC1768的SPI接口进行初始化,这个过程通常由SPI_FLASH_Init函数完成,它负责设置SSP0引脚的复用功能,设置SPI工作模式为主模式,并设定适当的时钟频率,例如25MHz。 读取数据时,N25Q256提供了多种读取方式,如常规读(READ)、快速读(FASTREAD)、双输出快速读(DUAL OUTPUT FASTREAD)等。在编程实践中,一般采用FASTREAD(0x0B)指令来实现高速读取。读取操作的函数SSTF016B_RD就利用了这一指令。 对于写入数据,N25Q256使用PAGE PROGRAM指令进行,但在写入前,必须先发送WRITE ENABLE指令来解锁写保护,允许数据写入。写入操作的函数SSTF016B_WR就是按照这个流程执行的。 LPC1768与N25Q256之间的交互涉及了SPI接口配置、寻址方式的理解和控制命令的正确使用,这对于在DX200现场总线系统中实现高效的数据存储至关重要。理解这些细节对于进行嵌入式系统的开发和调试非常有帮助。