w25q128中文數(shù)據(jù)手冊(cè)


W25Q128中文數(shù)據(jù)手冊(cè)
一、產(chǎn)品概述
1.1 產(chǎn)品簡(jiǎn)介
W25Q128是一款由華邦電子(Winbond)推出的高性能串行NOR閃存芯片,采用SPI(Serial Peripheral Interface)接口協(xié)議。其存儲(chǔ)容量為128兆位(16兆字節(jié)),支持標(biāo)準(zhǔn)SPI、雙線SPI(Dual SPI)和四線SPI(Quad SPI)模式,能夠滿足不同應(yīng)用場(chǎng)景下的數(shù)據(jù)存儲(chǔ)需求。W25Q128具有低功耗、高可靠性、快速讀寫速度等特點(diǎn),廣泛應(yīng)用于嵌入式系統(tǒng)、消費(fèi)電子、工業(yè)控制、汽車電子等領(lǐng)域。
1.2 主要特性
存儲(chǔ)容量:128兆位(16兆字節(jié))
接口類型:SPI(支持標(biāo)準(zhǔn)SPI、Dual SPI、Quad SPI模式)
工作電壓:2.7V至3.6V
時(shí)鐘頻率:最高支持104MHz(標(biāo)準(zhǔn)SPI模式),Quad SPI模式下可達(dá)更高頻率
頁(yè)大小:256字節(jié)
塊大小:64KB(塊擦除)
扇區(qū)大小:4KB(扇區(qū)擦除)
擦寫周期:約10萬次
數(shù)據(jù)保存時(shí)間:20年以上
工作溫度范圍:-40℃至+85℃
封裝形式:SOIC-8、WSON-8、USON-8等
1.3 應(yīng)用領(lǐng)域
嵌入式系統(tǒng):存儲(chǔ)固件、啟動(dòng)代碼、配置文件等
消費(fèi)電子:智能手機(jī)、平板電腦、智能穿戴設(shè)備等
工業(yè)控制:PLC、傳感器節(jié)點(diǎn)、工業(yè)儀表等
汽車電子:車載儀表盤、行車記錄儀、ECU等
物聯(lián)網(wǎng)設(shè)備:智能家居、智能電表、環(huán)境監(jiān)測(cè)儀等
二、電氣特性
2.1 絕對(duì)最大額定值
供電電壓(VCC):-0.5V至4.0V
輸入電壓(VI):-0.5V至VCC+0.5V
輸出電壓(VO):-0.5V至VCC+0.5V
工作溫度范圍:-40℃至+85℃
存儲(chǔ)溫度范圍:-65℃至+150℃
2.2 直流特性
工作電壓(VCC):2.7V至3.6V
輸入高電平(VIH):0.7×VCC至VCC+0.5V
輸入低電平(VIL):-0.5V至0.3×VCC
輸出高電平(VOH):0.7×VCC至VCC+0.5V
輸出低電平(VOL):-0.5V至0.3×VCC
輸入漏電流(II):±1μA(最大)
輸出漏電流(IO):±1μA(最大)
2.3 交流特性
時(shí)鐘頻率(fCLK):
標(biāo)準(zhǔn)SPI模式:最高104MHz
Dual SPI模式:最高104MHz
Quad SPI模式:最高104MHz
頁(yè)編程時(shí)間(tPP):0.7ms(典型值)
扇區(qū)擦除時(shí)間(tSE):400ms(典型值)
塊擦除時(shí)間(tBE):400ms(典型值)
芯片擦除時(shí)間(tCE):40s(典型值)
寫使能延遲時(shí)間(tW):50ms(最大)
讀數(shù)據(jù)時(shí)間(tRC):25ns(最大)
三、功能描述
3.1 存儲(chǔ)器組織
W25Q128的存儲(chǔ)器組織結(jié)構(gòu)如下:
總?cè)萘?/span>:128兆位(16兆字節(jié))
塊(Block):256個(gè)塊,每個(gè)塊64KB
扇區(qū)(Sector):每個(gè)塊包含16個(gè)扇區(qū),每個(gè)扇區(qū)4KB
頁(yè)(Page):每個(gè)扇區(qū)包含16個(gè)頁(yè),每個(gè)頁(yè)256字節(jié)
3.2 操作模式
W25Q128支持以下操作模式:
標(biāo)準(zhǔn)SPI模式:?jiǎn)尉€數(shù)據(jù)傳輸,時(shí)鐘頻率最高104MHz
Dual SPI模式:雙線數(shù)據(jù)傳輸,時(shí)鐘頻率最高104MHz
Quad SPI模式:四線數(shù)據(jù)傳輸,時(shí)鐘頻率最高104MHz
3.3 指令集
W25Q128支持豐富的指令集,以下為常用指令:
指令 | 指令碼 | 描述 |
---|---|---|
寫使能(Write Enable) | 06H | 使能寫操作 |
寫禁止(Write Disable) | 04H | 禁止寫操作 |
讀狀態(tài)寄存器(Read Status Register) | 05H | 讀取狀態(tài)寄存器1的值 |
寫狀態(tài)寄存器(Write Status Register) | 01H | 寫入狀態(tài)寄存器1的值 |
讀數(shù)據(jù)(Read Data) | 03H | 從指定地址讀取數(shù)據(jù) |
快速讀數(shù)據(jù)(Fast Read) | 0BH | 快速讀取數(shù)據(jù),支持Dummy Cycle |
頁(yè)編程(Page Program) | 02H | 向指定頁(yè)寫入數(shù)據(jù) |
扇區(qū)擦除(Sector Erase) | 20H | 擦除指定扇區(qū)(4KB) |
塊擦除(Block Erase) | D8H | 擦除指定塊(64KB) |
芯片擦除(Chip Erase) | C7H | 擦除整個(gè)芯片 |
讀制造商ID(Read Manufacturer/Device ID) | 90H | 讀取制造商ID和設(shè)備ID |
讀唯一ID(Read Unique ID) | 4BH | 讀取唯一ID(64位) |
進(jìn)入掉電模式(Power Down) | B9H | 進(jìn)入低功耗掉電模式 |
釋放掉電模式(Release Power Down) | ABH | 釋放掉電模式 |
3.4 狀態(tài)寄存器
W25Q128包含三個(gè)狀態(tài)寄存器(SR1、SR2、SR3),用于監(jiān)控和控制芯片狀態(tài)。以下為狀態(tài)寄存器1的主要位定義:
位 | 名稱 | 描述 |
---|---|---|
0 | BUSY | 忙標(biāo)志位(1=忙,0=空閑) |
1 | WEL | 寫使能鎖存位(1=允許寫,0=禁止寫) |
2 | BP0 | 塊保護(hù)位0 |
3 | BP1 | 塊保護(hù)位1 |
4 | BP2 | 塊保護(hù)位2 |
5 | TB | 頂部/底部塊保護(hù)選擇位 |
6 | SEC | 扇區(qū)/塊保護(hù)選擇位 |
7 | SRP0 | 狀態(tài)寄存器保護(hù)位0 |
四、操作流程
4.1 寫操作流程
寫使能:發(fā)送寫使能指令(06H),使能寫操作。
頁(yè)編程:發(fā)送頁(yè)編程指令(02H),指定目標(biāo)地址和數(shù)據(jù)。
等待寫入完成:通過輪詢狀態(tài)寄存器的BUSY位,確認(rèn)寫入完成。
4.2 讀操作流程
發(fā)送讀指令:發(fā)送讀數(shù)據(jù)指令(03H)或快速讀數(shù)據(jù)指令(0BH),指定目標(biāo)地址。
讀取數(shù)據(jù):通過MISO引腳讀取數(shù)據(jù)。
4.3 擦除操作流程
寫使能:發(fā)送寫使能指令(06H),使能寫操作。
擦除指令:發(fā)送扇區(qū)擦除(20H)、塊擦除(D8H)或芯片擦除(C7H)指令,指定目標(biāo)地址。
等待擦除完成:通過輪詢狀態(tài)寄存器的BUSY位,確認(rèn)擦除完成。
五、硬件連接示例
5.1 與STM32的連接
以下為W25Q128與STM32微控制器的典型連接方式:
W25Q128引腳 | STM32引腳 | 描述 |
---|---|---|
/CS(片選) | GPIO引腳(如PA4) | 片選信號(hào),低電平有效 |
CLK(時(shí)鐘) | SPI_SCK(如PA5) | SPI時(shí)鐘信號(hào) |
DO(數(shù)據(jù)輸出) | SPI_MISO(如PA6) | 主機(jī)輸入,從機(jī)輸出 |
DI(數(shù)據(jù)輸入) | SPI_MOSI(如PA7) | 主機(jī)輸出,從機(jī)輸入 |
/WP(寫保護(hù)) | NC或GPIO引腳 | 寫保護(hù)信號(hào),低電平有效(可選) |
/HOLD(保持) | NC或GPIO引腳 | 保持信號(hào),低電平暫停通信(可選) |
VCC | 3.3V | 電源電壓 |
GND | GND | 接地 |
5.2 硬件設(shè)計(jì)注意事項(xiàng)
電源濾波:在VCC引腳附近添加去耦電容(如0.1μF),以減少電源噪聲。
信號(hào)完整性:SPI信號(hào)線(CLK、MOSI、MISO、/CS)應(yīng)盡量短,避免信號(hào)干擾。
上拉電阻:/WP和/HOLD引腳可通過上拉電阻(如10kΩ)接至VCC,以確保默認(rèn)狀態(tài)。
六、軟件編程示例
6.1 初始化SPI接口
以下為基于STM32 HAL庫(kù)的SPI初始化代碼示例:
#include "stm32f1xx_hal.h"
SPI_HandleTypeDef hspi1;
void SPI1_Init(void) { hspi1.Instance = SPI1; hspi1.Init.Mode = SPI_MODE_MASTER; hspi1.Init.Direction = SPI_DIRECTION_2LINES; hspi1.Init.DataSize = SPI_DATASIZE_8BIT; hspi1.Init.CLKPolarity = SPI_POLARITY_LOW; hspi1.Init.CLKPhase = SPI_PHASE_1EDGE; hspi1.Init.NSS = SPI_NSS_SOFT; hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_256; hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; hspi1.Init.TIMode = SPI_TIMODE_DISABLE; hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; hspi1.Init.CRCPolynomial = 7; if (HAL_SPI_Init(&hspi1) != HAL_OK) { // 初始化錯(cuò)誤處理 Error_Handler(); } }
6.2 寫使能函數(shù)
void W25Q128_WriteEnable(void) { uint8_t cmd = 0x06; HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET); // 拉低/CS HAL_SPI_Transmit(&hspi1, &cmd, 1, HAL_MAX_DELAY); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); // 拉高/CS }
6.3 頁(yè)編程函數(shù)
void W25Q128_PageProgram(uint32_t addr, uint8_t *data, uint16_t size) { uint8_t cmd[4]; cmd[0] = 0x02; // 頁(yè)編程指令 cmd[1] = (addr >> 16) & 0xFF; cmd[2] = (addr >> 8) & 0xFF; cmd[3] = addr & 0xFF;
W25Q128_WriteEnable(); // 寫使能 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET); // 拉低/CS HAL_SPI_Transmit(&hspi1, cmd, 4, HAL_MAX_DELAY); HAL_SPI_Transmit(&hspi1, data, size, HAL_MAX_DELAY); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); // 拉高/CS
// 等待寫入完成 while (W25Q128_ReadStatusRegister() & 0x01); }
6.4 讀數(shù)據(jù)函數(shù)
void W25Q128_ReadData(uint32_t addr, uint8_t *data, uint16_t size) { uint8_t cmd[4]; cmd[0] = 0x03; // 讀數(shù)據(jù)指令 cmd[1] = (addr >> 16) & 0xFF; cmd[2] = (addr >> 8) & 0xFF; cmd[3] = addr & 0xFF;
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET); // 拉低/CS HAL_SPI_Transmit(&hspi1, cmd, 4, HAL_MAX_DELAY); HAL_SPI_Receive(&hspi1, data, size, HAL_MAX_DELAY); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); // 拉高/CS }
七、注意事項(xiàng)
寫保護(hù):在寫入數(shù)據(jù)前,需確保寫保護(hù)引腳(/WP)為高電平,或通過狀態(tài)寄存器禁用寫保護(hù)。
擦除操作:寫入數(shù)據(jù)前需先擦除對(duì)應(yīng)扇區(qū)或塊,直接覆蓋寫入會(huì)導(dǎo)致數(shù)據(jù)錯(cuò)誤。
總線沖突:在多設(shè)備共享SPI總線時(shí),需合理管理片選信號(hào)(/CS),避免總線沖突。
供電穩(wěn)定性:在寫入或擦除操作過程中,需確保供電穩(wěn)定,避免因斷電導(dǎo)致數(shù)據(jù)損壞。
溫度范圍:W25Q128的工作溫度范圍為-40℃至+85℃,超出此范圍可能導(dǎo)致性能下降或損壞。
W25Q128是一款高性能、低功耗的串行NOR閃存芯片,具有128兆位(16兆字節(jié))的存儲(chǔ)容量,支持SPI、Dual SPI和Quad SPI模式。其豐富的指令集和靈活的操作模式,使其廣泛應(yīng)用于嵌入式系統(tǒng)、消費(fèi)電子、工業(yè)控制等領(lǐng)域。通過合理的硬件設(shè)計(jì)和軟件編程,可充分發(fā)揮W25Q128的性能優(yōu)勢(shì),滿足各種數(shù)據(jù)存儲(chǔ)需求。
責(zé)任編輯:David
【免責(zé)聲明】
1、本文內(nèi)容、數(shù)據(jù)、圖表等來源于網(wǎng)絡(luò)引用或其他公開資料,版權(quán)歸屬原作者、原發(fā)表出處。若版權(quán)所有方對(duì)本文的引用持有異議,請(qǐng)聯(lián)系拍明芯城(marketing@iczoom.com),本方將及時(shí)處理。
2、本文的引用僅供讀者交流學(xué)習(xí)使用,不涉及商業(yè)目的。
3、本文內(nèi)容僅代表作者觀點(diǎn),拍明芯城不對(duì)內(nèi)容的準(zhǔn)確性、可靠性或完整性提供明示或暗示的保證。讀者閱讀本文后做出的決定或行為,是基于自主意愿和獨(dú)立判斷做出的,請(qǐng)讀者明確相關(guān)結(jié)果。
4、如需轉(zhuǎn)載本方擁有版權(quán)的文章,請(qǐng)聯(lián)系拍明芯城(marketing@iczoom.com)注明“轉(zhuǎn)載原因”。未經(jīng)允許私自轉(zhuǎn)載拍明芯城將保留追究其法律責(zé)任的權(quán)利。
拍明芯城擁有對(duì)此聲明的最終解釋權(quán)。