免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

STM32F722ZE 驅(qū)動 MR25H40CDF MRAM 工業(yè)存儲方案實戰(zhàn)

STM32F722ZE 驅(qū)動 MR25H40CDF MRAM 工業(yè)存儲方案實戰(zhàn) 1. 項目緣起與方案選型1.1 為什么要在工業(yè)場景里折騰 MRAM做工業(yè)嵌入式這行十幾年最頭疼的往往不是算法跑不動而是數(shù)據(jù)存不住。傳統(tǒng)方案里EEPROM 擦寫壽命十萬次封頂SPI NOR Flash 寫入前得先擦除整個扇區(qū)掉電瞬間還可能把整塊數(shù)據(jù)搞成半吊子狀態(tài)。鐵電存儲器 FRAM 倒是快但容量小、價格高而且很多型號已經(jīng)停產(chǎn)。這幾年 MRAM 慢慢進入視野MR25H40CDF 就是其中比較有代表性的一顆。MR25H40CDF 是 Everspin 家的 4Mbit 磁阻隨機存儲器SPI 接口40MHz 時鐘最關(guān)鍵的是它沒有擦除概念——寫就是寫不需要先擦后寫字節(jié)級隨機訪問寫入延遲和讀取延遲基本在一個量級。官方標稱擦寫次數(shù) 10^14 次以上數(shù)據(jù)保持 20 年工業(yè)級溫度范圍 -40°C 到 85°C。這幾個參數(shù)放在一起對于需要頻繁記錄運行日志、保存標定參數(shù)、掉電前緊急存盤的工業(yè)設(shè)備來說吸引力是實打?qū)嵉?。我這次的項目背景是一臺工業(yè)環(huán)境監(jiān)控終端主控用 STM32F722ZE需要周期性記錄傳感器數(shù)據(jù)、保存設(shè)備配置、并在異常掉電時把關(guān)鍵狀態(tài)寫進非易失存儲。之前用 SPI Flash 方案每次寫之前要判斷扇區(qū)狀態(tài)、搬移數(shù)據(jù)、擦除、再寫回代碼復雜不說掉電保護還得額外加超級電容。換成 MR25H40CDF 之后整個存儲層的邏輯簡化了一大截。1.2 STM32F722ZE 的 SPI 外設(shè)能力評估STM32F722ZE 是 ST 家 F7 系列里性價比比較高的一顆Cortex-M7 內(nèi)核216MHz 主頻帶 512KB Flash 和 256KB SRAM外設(shè)資源豐富。它有多達 6 個 SPI 接口其中 SPI1 掛在 APB2 上最高時鐘可以到 108MHzSPI2/3 掛在 APB1 上最高 54MHz。對于 MR25H40CDF 的 40MHz 上限來說SPI1 完全夠用甚至還有余量。選 SPI1 還有幾個考慮一是它的引腳在 F722ZE 的常見封裝上位置比較順手PA5/PA6/PA7 分別是 SCK/MISO/MOSI片選可以用 PA4 或者任意 GPIO二是 SPI1 支持硬件 NSS但實際用下來我更傾向于軟件片選后面會細說原因三是 DMA 通道資源上SPI1 的 RX 是 DMA2 Stream0/2TX 是 DMA2 Stream3/5和項目里其他外設(shè)不沖突。這里插一句很多人一上來就糾結(jié)用硬件 NSS 還是軟件 NSS。我的經(jīng)驗是單主單從、片選引腳固定、不需要動態(tài)切換從機的場景軟件片選更省心。硬件 NSS 在 STM32 上有個坑就是當 NSS 配置為硬件模式時如果引腳被拉高SPI 會自動進入從模式稍不注意就出怪問題。軟件片選就是普通 GPIO 輸出想什么時候拉低就什么時候拉低時序完全可控。1.3 整體存儲架構(gòu)設(shè)計這個項目的存儲需求分三類第一類是設(shè)備配置參數(shù)比如傳感器校準系數(shù)、通信地址、報警閾值寫入頻率低但要求絕對可靠第二類是運行日志每分鐘記錄一條包含時間戳、溫度、濕度、電壓等寫入頻繁但可以容忍少量丟失第三類是掉電快照檢測到電源異常時立刻把當前關(guān)鍵狀態(tài)寫進去要求寫入延遲極低。針對這三類需求我在 MR25H40CDF 的 512KB 空間里做了分區(qū)區(qū)域起始地址大小用途寫入策略配置區(qū)0x0000016KB設(shè)備參數(shù)、校準數(shù)據(jù)雙備份輪換寫日志區(qū)0x04000480KB運行日志環(huán)形緩沖順序?qū)?、覆蓋最舊快照區(qū)0x7C00016KB掉電狀態(tài)快照雙備份輪換寫配置區(qū)和快照區(qū)用雙備份是因為這兩個區(qū)域的數(shù)據(jù)最關(guān)鍵萬一寫入過程中掉電至少還有一份舊數(shù)據(jù)可用。日志區(qū)用環(huán)形緩沖寫滿就從頭覆蓋不需要擦除這也是 MRAM 相比 Flash 的一大優(yōu)勢——Flash 做環(huán)形緩沖還得處理扇區(qū)擦除MRAM 直接覆蓋寫就行。2. 硬件連接與底層驅(qū)動要點2.1 引腳連接與 PCB 布局注意事項MR25H40CDF 是 8 引腳 DFN 封裝引腳定義很標準CS、SCK、MOSI、MISO、VDD、VSS、WP、HOLD。實際連接時CS 接 STM32 的 PA4SCK 接 PA5MISO 接 PA6MOSI 接 PA7VDD 接 3.3VVSS 接地。WP 和 HOLD 這兩個引腳如果不用硬件寫保護和暫停功能直接上拉到 VDD 就行。PCB 布局這塊有幾個坑我踩過。第一SPI 走線盡量等長尤其是 SCK 和 MOSI40MHz 下走線差太多會導致采樣窗口偏移。第二CS 走線不要和 SCK 平行太長容易耦合噪聲片選誤觸發(fā)。第三電源去耦電容必須靠近芯片 VDD 引腳我一般放一個 100nF 加一個 1uF100nF 最近。第四如果板子上有多個 SPI 從機每個從機的 CS 單獨走線不要共用。還有一點MR25H40CDF 的 DFN 封裝底部有個散熱焊盤這個焊盤要接地不僅為了散熱也為了信號完整性。我第一版板子忘了接地結(jié)果高溫測試時偶發(fā)讀寫錯誤后來補上就好了。2.2 SPI 初始化配置詳解用 STM32CubeMX 生成初始化代碼很方便但有些參數(shù)得手動調(diào)。SPI1 的配置如下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_4; hspi1.Init.FirstBit SPI_FIRSTBIT_MSB; hspi1.Init.TIMode SPI_TIMODE_DISABLE; hspi1.Init.CRCCalculation SPI_CRCCALCULATION_DISABLE; hspi1.Init.CRCPolynomial 7;這里重點說幾個參數(shù)。CLKPolarity 和 CLKPhase要匹配 MR25H40CDF 的時序要求它支持 SPI Mode 0 和 Mode 3我用的是 Mode 0即 CPOL0、CPHA0空閑時 SCK 低電平第一個邊沿采樣。BaudRatePrescaler設(shè) 4SPI1 掛 APB2 上 108MHz分頻后 27MHz在 40MHz 上限內(nèi)實測很穩(wěn)。如果想跑更快可以設(shè) 2 分頻到 54MHz但那就超規(guī)格了我不建議。NSS 選 SPI_NSS_SOFT片選用 GPIO 手動控制。初始化 GPIO 的時候PA4 配成推挽輸出初始拉高。每次讀寫前拉低讀寫完拉高。這里有個細節(jié)拉低和第一個 SCK 邊沿之間要留一點時間MR25H40CDF 的 CS 建立時間最小 5nsSTM32 的 GPIO 翻轉(zhuǎn)速度足夠但如果你在中斷里操作最好加一個 __NOP() 或者幾個空指令確保時序。2.3 MRAM 指令集與讀寫時序MR25H40CDF 的指令集比 Flash 簡單得多常用的就幾條指令編碼功能WREN0x06寫使能WRDI0x04寫禁止RDSR0x05讀狀態(tài)寄存器WRSR0x01寫狀態(tài)寄存器READ0x03讀數(shù)據(jù)WRITE0x02寫數(shù)據(jù)注意MRAM 沒有擦除指令也沒有頁編程概念。寫操作就是直接發(fā) WRITE 指令跟地址然后連續(xù)寫數(shù)據(jù)。地址是 24 位因為 512KB 需要 19 位地址但芯片按 24 位地址傳輸高位補零。讀時序拉低 CS發(fā) 0x03發(fā) 24 位地址然后連續(xù)讀數(shù)據(jù)每個 SCK 周期出一個字節(jié)。寫時序拉低 CS發(fā) 0x06WREN拉高 CS再拉低 CS發(fā) 0x02發(fā) 24 位地址發(fā)數(shù)據(jù)拉高 CS。寫操作前必須發(fā) WREN這是很多人容易忘的一步忘了就寫不進去而且讀狀態(tài)寄存器也看不出明顯錯誤。狀態(tài)寄存器的 bit0 是 WEL寫使能鎖存發(fā)完 WREN 后讀一下確認 WEL1再發(fā) WRITE。寫完之后 WEL 自動清零。bit1 是 BP0、bit2 是 BP1用于塊保護默認都是 0不保護。如果你不小心寫了 WRSR 把塊保護開了那就只能寫特定區(qū)域這個坑我見過有人踩。3. 驅(qū)動層實現(xiàn)與核心代碼3.1 底層讀寫函數(shù)封裝先封裝幾個基礎(chǔ)函數(shù)后面所有操作都基于它們static void MRAM_CS_LOW(void) { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET); } static void MRAM_CS_HIGH(void) { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); } static uint8_t MRAM_SPI_Transfer(uint8_t data) { uint8_t rx; HAL_SPI_TransmitReceive(hspi1, data, rx, 1, 100); return rx; } void MRAM_WriteEnable(void) { MRAM_CS_LOW(); MRAM_SPI_Transfer(0x06); MRAM_CS_HIGH(); } uint8_t MRAM_ReadStatus(void) { uint8_t status; MRAM_CS_LOW(); MRAM_SPI_Transfer(0x05); status MRAM_SPI_Transfer(0xFF); MRAM_CS_HIGH(); return status; } void MRAM_Write(uint32_t addr, uint8_t *buf, uint32_t len) { MRAM_WriteEnable(); MRAM_CS_LOW(); MRAM_SPI_Transfer(0x02); MRAM_SPI_Transfer((addr 16) 0xFF); MRAM_SPI_Transfer((addr 8) 0xFF); MRAM_SPI_Transfer(addr 0xFF); for (uint32_t i 0; i len; i) { MRAM_SPI_Transfer(buf[i]); } MRAM_CS_HIGH(); } void MRAM_Read(uint32_t addr, uint8_t *buf, uint32_t len) { MRAM_CS_LOW(); MRAM_SPI_Transfer(0x03); MRAM_SPI_Transfer((addr 16) 0xFF); MRAM_SPI_Transfer((addr 8) 0xFF); MRAM_SPI_Transfer(addr 0xFF); for (uint32_t i 0; i len; i) { buf[i] MRAM_SPI_Transfer(0xFF); } MRAM_CS_HIGH(); }這段代碼看著簡單但有幾個地方值得說。HAL_SPI_TransmitReceive 的超時設(shè) 100ms正常 27MHz 下傳一個字節(jié)不到 0.3us100ms 是兜底防止總線卡死。每次傳輸前不重新初始化 SPI因為初始化一次就夠了頻繁初始化反而容易出問題。CS 拉高之后不要立刻進行下一次操作MR25H40CDF 的 CS 高電平保持時間最小 10nsSTM32 的 GPIO 翻轉(zhuǎn)足夠慢一般不用額外延時但如果你在 200MHz 以上主頻跑加一個 __NOP() 更保險。3.2 雙備份配置區(qū)讀寫策略配置區(qū)用雙備份邏輯是這樣的兩個備份塊各 8KB每個塊頭部有一個 4 字節(jié)的序列號和 2 字節(jié)的 CRC。寫入時先讀兩個塊的序列號找到較舊的那個把新數(shù)據(jù)寫進去序列號加一CRC 重算。讀取時讀兩個塊校驗 CRC選序列號大的那個。typedef struct { uint32_t seq; uint16_t crc; uint8_t data[8186]; } ConfigBlock; #define CONFIG_BLOCK_A_ADDR 0x00000 #define CONFIG_BLOCK_B_ADDR 0x02000 int Config_Read(uint8_t *out) { ConfigBlock blkA, blkB; MRAM_Read(CONFIG_BLOCK_A_ADDR, (uint8_t*)blkA, sizeof(blkA)); MRAM_Read(CONFIG_BLOCK_B_ADDR, (uint8_t*)blkB, sizeof(blkB)); int validA (CRC16((uint8_t*)blkA.data, sizeof(blkA.data)) blkA.crc); int validB (CRC16((uint8_t*)blkB.data, sizeof(blkB.data)) blkB.crc); if (validA validB) { if (blkA.seq blkB.seq) memcpy(out, blkA.data, sizeof(blkA.data)); else memcpy(out, blkB.data, sizeof(blkB.data)); return 0; } else if (validA) { memcpy(out, blkA.data, sizeof(blkA.data)); return 0; } else if (validB) { memcpy(out, blkB.data, sizeof(blkB.data)); return 0; } return -1; }寫入的時候先讀兩個塊的序列號假設(shè) A 的序列號是 10B 是 11那就寫 A序列號設(shè) 12。這樣即使寫 A 的過程中掉電B 還是完整的下次上電讀 B 就行。CRC 用 CRC16-CCITT多項式 0x1021初始值 0xFFFF這個在嵌入式里很常用計算速度快。這里有個經(jīng)驗序列號不要用 0 和 0xFFFFFFFF 作為有效值因為 MRAM 出廠時全是 0如果你第一次上電讀到兩個塊序列號都是 0CRC 也恰好是 0概率極低但存在就會誤判為有效數(shù)據(jù)。我的做法是初始化時先寫一個魔數(shù) 0x5A5A5A5A 到兩個塊的序列號位置確保首次上電時 CRC 校驗失敗走默認配置。3.3 日志區(qū)環(huán)形緩沖實現(xiàn)日志區(qū) 480KB每條日志 32 字節(jié)能存 15360 條。環(huán)形緩沖的關(guān)鍵是維護一個寫指針寫到末尾就回繞到開頭。因為 MRAM 不需要擦除回繞時直接覆蓋寫就行。#define LOG_START_ADDR 0x04000 #define LOG_END_ADDR 0x7C000 #define LOG_ENTRY_SIZE 32 #define LOG_MAX_ENTRIES ((LOG_END_ADDR - LOG_START_ADDR) / LOG_ENTRY_SIZE) typedef struct { uint32_t timestamp; int16_t temp; uint16_t humidity; uint16_t voltage; uint8_t reserved[22]; } LogEntry; static uint32_t log_write_idx 0; void Log_Write(LogEntry *entry) { uint32_t addr LOG_START_ADDR log_write_idx * LOG_ENTRY_SIZE; MRAM_Write(addr, (uint8_t*)entry, LOG_ENTRY_SIZE); log_write_idx; if (log_write_idx LOG_MAX_ENTRIES) { log_write_idx 0; } }寫指針本身也需要保存不然掉電后不知道寫到哪了。我把寫指針存在配置區(qū)的一個固定偏移里每次寫日志后更新。但這樣每次寫日志都要寫兩次 MRAM一次日志一次指針效率減半。優(yōu)化方案是每寫 16 條日志更新一次指針掉電最多丟 16 條對于環(huán)境監(jiān)控場景完全可以接受。讀日志的時候從寫指針往前讀讀到有效數(shù)據(jù)為止。判斷有效性的方法是看時間戳是否在合理范圍內(nèi)比如大于某個基準時間且小于當前時間。因為 MRAM 掉電不丟數(shù)據(jù)回繞覆蓋后舊數(shù)據(jù)的時間戳會變成新數(shù)據(jù)的時間戳所以按時間戳過濾是可行的。3.4 掉電快照的緊急寫入掉電快照要求寫入延遲極低。MR25H40CDF 的單字節(jié)寫入時間在 27MHz SPI 下大約是 0.3us 傳輸加芯片內(nèi)部寫入時間。官方數(shù)據(jù)手冊里寫周期時間最大 35ns字節(jié)寫入實際上 SPI 傳輸才是瓶頸。寫 32 字節(jié)快照傳輸時間約 10us加上指令開銷總共不到 20us。這個速度足夠在電源跌落的前幾毫秒內(nèi)完成。掉電檢測用 STM32 的 PVD可編程電壓檢測器配置在 2.9V 觸發(fā)。當 VDD 降到 2.9V 時PVD 中斷觸發(fā)在中斷里立刻調(diào)用快照寫入函數(shù)。注意PVD 中斷里不要做復雜操作只寫快照寫完就等復位??煺諈^(qū)也用雙備份邏輯和配置區(qū)一樣。void PVD_IRQHandler(void) { if (__HAL_PWR_GET_FLAG(PWR_FLAG_PVDO)) { __HAL_PWR_CLEAR_FLAG(PWR_FLAG_PVDO); Snapshot_Save(); } }這里有個坑PVD 中斷優(yōu)先級要設(shè)最高不然可能被其他中斷打斷導致快照寫不完。我設(shè)的是搶占優(yōu)先級 0子優(yōu)先級 0。另外快照寫入函數(shù)里不要用 HAL_Delay 或任何阻塞操作全部用寄存器級操作或者確保 HAL 函數(shù)不會阻塞。4. 實測數(shù)據(jù)與性能分析4.1 讀寫速度實測我用邏輯分析儀抓了 SPI 波形配合代碼里的時間戳測了幾組數(shù)據(jù)操作數(shù)據(jù)量耗時等效速率連續(xù)讀1KB312us3.28MB/s連續(xù)寫1KB340us3.01MB/s單字節(jié)寫1B1.2us-32字節(jié)快照寫32B11.5us-讀速率 3.28MB/s 對應(yīng) SPI 時鐘 27MHz理論值 27/83.375MB/s實際有指令和地址開銷312us 讀 1KB 是合理的。寫速率略低因為每次寫之前要發(fā) WREN多了一次 CS 翻轉(zhuǎn)和指令傳輸。單字節(jié)寫 1.2us 這個數(shù)據(jù)很關(guān)鍵意味著掉電快照寫 32 字節(jié)只要 11.5us加上 PVD 響應(yīng)時間和中斷延遲總共不超過 50us。電源從 3.3V 跌到 2.9V 的時間取決于電容容量一般 100uF 電容在 100mA 負載下能撐幾毫秒完全夠用。4.2 擦寫壽命與數(shù)據(jù)保持MR25H40CDF 標稱擦寫次數(shù) 10^14 次這個數(shù)字什么概念如果每秒寫一次一年 31536000 次寫 10^14 次需要 317 萬年。實際項目中日志每分鐘寫一次一天 1440 次一年 525600 次十年才 525 萬次連標稱值的零頭都不到。所以壽命這塊完全不用擔心。數(shù)據(jù)保持 20 年工業(yè)級溫度范圍內(nèi)。我做了高溫老化測試85°C 下連續(xù)讀寫 100 萬次數(shù)據(jù)校驗全部通過。低溫 -40°C 下讀寫也正常沒有出現(xiàn)數(shù)據(jù)錯誤。不過要注意MRAM 對強磁場敏感如果設(shè)備附近有大型電機或磁鐵建議加磁屏蔽或者保持距離。我測試時把一塊釹鐵硼磁鐵靠近芯片 2cm讀寫開始出錯拿開就恢復數(shù)據(jù)沒丟。4.3 與 SPI Flash 方案的對比對比項MR25H40CDFW25Q64 (SPI Flash)擦除需求無寫前必須擦除寫入粒度字節(jié)頁 (256B)擦寫壽命10^1410^5寫入速度3MB/s0.5MB/s (含擦除)掉電風險低高 (擦除中掉電)價格高低容量4Mbit64Mbit從表里能看出來MRAM 的優(yōu)勢在寫入體驗和可靠性劣勢在容量和價格。對于需要頻繁寫入、數(shù)據(jù)量不大的工業(yè)場景MRAM 是更優(yōu)解。對于大容量存儲、寫入不頻繁的場景Flash 更劃算。我這個項目日志量不大512KB 夠用所以選了 MRAM。5. 常見問題與排查實錄5.1 讀寫失敗問題速查現(xiàn)象可能原因排查方法解決方案讀全 0xFFCS 沒拉低示波器看 CS 引腳檢查 GPIO 初始化讀全 0x00MISO 沒接好萬用表測通斷重新焊接寫不進去沒發(fā) WREN讀狀態(tài)寄存器 bit0寫前加 WREN偶發(fā)錯誤SPI 時鐘太快降低分頻改 8 分頻高溫出錯電源去耦不足測 VDD 紋波加 100nF 電容數(shù)據(jù)錯位CPHA/CPOL 不對試 Mode 0 和 Mode 3改 SPI 配置這個表是我實際調(diào)試中總結(jié)的覆蓋了 90% 以上的問題。重點說幾個讀全 0xFF 最常見的原因是 CS 沒拉低因為 MISO 上拉電阻會把線拉高如果 CS 沒拉低芯片不驅(qū)動 MISO讀出來就是 0xFF。寫不進去九成是忘了 WREN這個我一開始也犯過后來在 MRAM_Write 函數(shù)里強制加 WREN就再沒出過。5.2 SPI 時序調(diào)試經(jīng)驗調(diào)試 SPI 時序邏輯分析儀是必備工具。我用的是一款 8 通道 100MHz 采樣率的抓 27MHz SPI 波形夠用。抓波形時重點看幾個點CS 拉低到第一個 SCK 邊沿的時間、SCK 的占空比、MISO 的采樣點是否在數(shù)據(jù)穩(wěn)定區(qū)。有一次遇到讀數(shù)據(jù)偶爾錯一位抓波形發(fā)現(xiàn) SCK 上升沿和 MISO 數(shù)據(jù)跳變幾乎同時采樣窗口太窄。原因是 PCB 走線太長MISO 有延遲。解決辦法是把 SPI 時鐘降到 13.5MHz8 分頻問題消失。后來改板時縮短了走線27MHz 也能穩(wěn)定跑。還有一次寫數(shù)據(jù)時好時壞抓波形發(fā)現(xiàn) CS 在數(shù)據(jù)傳輸中途被拉高了。查代碼發(fā)現(xiàn)是中斷里也調(diào)用了 MRAM 讀寫函數(shù)打斷了主循環(huán)的寫操作。MRAM 讀寫函數(shù)不是可重入的必須加互斥保護。我的做法是在 MRAM_Write 和 MRAM_Read 里關(guān)中斷操作完再開。雖然會稍微增加延遲但保證了數(shù)據(jù)完整性。5.3 掉電保護實測與優(yōu)化掉電保護這塊我做了專門的測試。用可調(diào)電源模擬掉電從 3.3V 快速降到 0V下降時間設(shè) 1ms看快照能不能寫進去。第一次測試失敗快照沒寫完整。查原因發(fā)現(xiàn) PVD 中斷里調(diào)用了 HAL_SPI_TransmitReceive這個函數(shù)內(nèi)部有超時判斷會讀系統(tǒng) tick而掉電時系統(tǒng) tick 可能已經(jīng)不準了。優(yōu)化方案PVD 中斷里的 SPI 傳輸改用寄存器級操作不依賴 HAL 庫和系統(tǒng) tick。直接操作 SPI1 的 DR 寄存器輪詢 TXE 和 RXNE 標志位。這樣即使系統(tǒng)時鐘亂了SPI 外設(shè)只要有時鐘就能工作。改完之后再測1ms 下降時間內(nèi)快照寫入成功率 100%。另外快照區(qū)雙備份的寫入順序要注意先寫備份 B再寫備份 A。因為讀取時選序列號大的如果寫 B 的過程中掉電A 還是舊的但完整下次上電讀 A。如果先寫 A 再寫 B寫 A 時掉電A 可能半新半舊B 是舊的讀 B 也沒問題。但為了邏輯簡單我固定先寫 B 再寫 A序列號 B 比 A 大 1。6. 項目擴展與個人體會這套 MRAM 存儲方案在這個環(huán)境監(jiān)控終端上跑了大半年現(xiàn)場部署了二十多臺沒有出現(xiàn)過數(shù)據(jù)丟失或讀寫故障。后來我把這套驅(qū)動封裝成了一個獨立的中間件換到其他 STM32 型號上也能用只需要改 SPI 初始化和 CS 引腳定義。擴展方向有幾個一是把日志區(qū)改成文件系統(tǒng)比如 LittleFS這樣可以直接用 PC 讀取日志文件不用自己寫解析工具二是加一個 MRAM 到 SD 卡的定期轉(zhuǎn)存把歷史數(shù)據(jù)歸檔三是利用 MRAM 的快速寫入特性做高頻數(shù)據(jù)采集的緩存比如振動監(jiān)測每秒采幾千個點先寫 MRAM再慢慢處理。我個人在實際操作中的體會是MRAM 這東西用起來確實省心但價格擺在那選型時要算清楚賬。如果你的項目寫入頻率不高一年寫不了幾萬次那 SPI Flash 完全夠用沒必要多花錢。但如果你的設(shè)備需要頻繁記錄、掉電保護要求高、或者維護成本很高比如裝在高塔上、井下那 MRAM 多出來的成本很快就能通過減少現(xiàn)場故障賺回來。最后分享一個小技巧MR25H40CDF 的 WP 引腳如果不用一定要上拉到 VDD不要懸空。懸空時引腳電平不確定可能隨機進入寫保護狀態(tài)表現(xiàn)就是寫不進去但讀正常這個坑很隱蔽查起來費時間。我現(xiàn)在的做法是在 PCB 上直接放一個 10K 上拉電阻不管用不用都焊上省得后面調(diào)試時抓瞎。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
www夜夜操comwww| 91互操| www久久久| 亚洲精品久久久久久久久久吃药| 婷婷五月婷婷| 日韩爱操视频| 天天做综合网色综合| 久久婷婷五月激情综合| AA片在线观看视频在线播放| 99热97| 先锋资源 996| 精品99爱免费视频在线观看| 色婷婷六月性| 九九五月天| 激情5月婷婷| 五月婷婷中文字幕| 六月丁香中文字幕| 天堂综合久久 | 天天做天天爽| 天天草天天摸| 超碰1999| 丁香五月天色婷婷| 青青草激情网| 婷婷射丁香| 五月丁香啪啪啪免费看| 丁香五月天AV在线| 亚洲AV网站| 欧美色偷偷大香| 婷婷色在线| 亚洲AV中文在线| 五月婷婷婷自由综合| 天天色天天搡| 婷婷丁香五月天综合网| 五月婷婷内射网| 99九色视频在线观看| 久久天堂女人| 五月色亚洲| 91嫩草国产线观看亚洲一区二区| 久久五月天激情| 99自拍视频| 国産精品| 91欧美| 丁香婷婷色五月| 激情综合网色播五月| 天天热夜夜操| 丁香五月电影| 五月丁香好婷婷A片网| 五月天综合视频| 色99欧洲色19| 五月天婷婷久久| 久久这里有精品| 五月天啪啪| 婷婷五月天资源| 五月婷深深爱激情网| 婷婷五月天777| 亚洲va日| 色性五月天| 99视频这里只有久久精品| 新99思思视频| 夜夜爽天操| 天天操天天日天天爽| 色婷婷五月基地在线| 这里只有精品视频视频在线观看| 涩涩网五月天| 九九色综合网| 丰满少妇猛烈A片免费看观看| 色噜噜婷婷| 亚洲丁香花色| 九月丁香婷婷网| 九九精品系列| 91碰碰| 婷婷五月成人色综合| 五月丁香啪啪啪| 日韩人妻无码一区二区| 俺也去在线视频| 天天激情站| 激情深爱五月天| av色婷婷| 色呦精品| 久久香蕉网| 国产 A片 自拍| 伊人干练久| 午夜无码精品色综合久久| www.av骚货| 天天狠狠六月婷丁香影院| www.色九月| 99热官网| 欧美熟妇一区二区三区| 亚州激情在线视频| 97人妻碰碰碰久久香蕉| 狠狠爱深色婷婷综合| 亚洲AV日韩在线观看| 丁香五月婷婷激情四射| 99热只有精品在线观看| 久久九九99| 岛国在线观看91| 婷五月天| 五月丁香六月香综合激情| 免费亚洲婷婷| 亚洲精品一二三| 婷婷终合色图| 亚洲小视频| 亚洲视频二区| 激情五月天第四色| 丁香五月激情性色郤| 色色日本欧美| 午夜日日| 天天干天天射色综合| www.maotanji.com| 99ri视频在线观看| 婷婷五月综合视频| 久久黄色片| 97干在线播放| 色五月婷婷九月| 香蕉综合网| 丁香五月婷婷激情完整版| 99激情网| 91操碰| 国产av第一专区| 综合97五月| 激情五月婷婷丁香| 91在线观看www| 另类色网| www色五月| 综合久久首页| 天天狠狠干| 伊人综合网站| 婷婷六月丁香久| 97福利视频| 婷婷丁香色性爱| 婷婷的五月天另类视频| 五月天婷婷久久| 百度4399有码精品V在线观看 | www.91.com黄| 99热青青草| 丁香五月天成人网站| 婷婷色五月大香蕉在线| 五月综合婷婷久久在线| 丁香伍月婷电影全集| 中文字幕在线免费观看视频| 亚洲九九夜夜| 99久热| 婷婷九月综合| 99热精品在线观看| 国产伦亲子伦亲子视频观看| 色丁香在线视频| 天天天天天天操| 久久精品91视频| 天天做天天爱天天爽| 开心婷婷五月综合| 色五月婷婷老师| 婷婷久久婷婷| 婷婷伊人久久| 久久国产精品乱子伦_靑青草…| 综合色五月天| 婷婷五月天成人动漫| 99热在线观看| 六月狠狠综合| 五月天基地| 久久综合五月天| 久久久婷婷色五月资源网| 激情婷婷丁香色五月| 激情开心五月天| 丁香五月AV综合激情| 丁香激情五月天| 色五月在线| 亚洲国产精品SUV| 五月婷婷熟女| 色天堂97| 99∨VTV| 色五月婷婷成人视频| a网站免费观看| 五月婷婷深爱六月| 欧美日韩国产伦精品日韩人妻一| 亚洲成人五月天| 婷香五月网在线| 婷婷激情五月| 五月婷婷 激情五月| 丁香五月婷婷激情中文| 亚洲日日日| 99高级会所久久| 校花娇喘呻吟校长陈若雪视频 | 亚洲激情五月| 99国产性感视频| 毛片蕉地一二| 开心激情婷婷| 五月天激情小说| 97操在线视频| 日本 色综合| 中文字幕在线不卡| 夜夜骑天天玩天天日| 五月激情射| 国产 码在线成人网站| 丁香六月高清视频| 久久久久久激情| 69精品人人人人人人人人人| 婷婷五月综激情| 国产夫妻操逼内射视频| 97视频.干com| 丁香五月激情五月| 欧美内射AAAAAAXXXXX| 手机免费福利视频| 五月停停直播| 99精品自拍| 婷婷五月天淫荡| 婷婷五月综合久久中文字幕| 99re在线这里只有精品视频首页| 91婷婷丁香五月天免费视频网站| 国产美女主播vip| 日韩aaaaa| 99久久玖玖| se色99| 国产亚洲99久久精品熟女| 色情五月婷婷| 九热视频在线精品15| 婷婷瑟五月天久久综合| 超碰人妻在线| 婷婷五月天堂| 色婷婷五月影院| 国产午夜精品一区二区三区嫩草| 人妻无码精品一区| 香蕉综合在线| 91免费看片| 亚洲欧州色情在线观看| 五月婷婷婷婷婷婷艺术| 丁香婷婷六月激情| 成人视频九九| site:xiongshengzz.com| 97操碰在线97| 色激情网| 日韩成人电泉AV| 免费观看欧美成人AA片爱我多深| 日日夜夜天天| 婷婷亚洲天堂| 国产亚洲99久久精品| 97色操| 精品少妇蜜臀91| 五月丁香六月婷婷综合在线| 六月丁香婷婷五月天| 婷婷激情在线| 九九五月天| 国内久久亭亭| 91综合色| 91天天操天天干天天射| 丁香五月性爱| 五月色婷婷亚洲 | 色婷婷丁香五月| 五月丁香花免费视频| 六月色婷婷色| 4399在线观看免费高清电视剧| 五月色丁香| 婷婷欧美激情| 国产免费一区二区在线A片视频| 色噜噜五月丁香婷婷| 黄色短视频在线观看| 中文字幕有多少字| 色色热日| 五月丁香啪啪激情| 婷婷的五月天另类视频| 亚洲婷婷成人五月天| 。久久久久久久久久久久久久人妻| 操丝袜视频影院导航| 青青福利网| 甈你aaaaa| 99色热综合| 人妻精品久久久久久久| 91se在线观看| 国产精产国品一二三在观看| 99在线小视频| 自拍偷窥99热| 五月天婷婷色播| 丁香五月激情婷婷激情| 色五月婷婷很很操| 婷色五月| 99婷婷精品推荐在线视频| 99久久国产宗和精品1上映| 国产亚洲精品AAAAAAA片| 另类少妇人与禽zOZZ0性伦| 免费精品99| 九九热9| 超碰av天堂| 欧美色色色色色色色| 五月停亭六月,六月停亭的英语| 色999五月色| 色色色99韩| 狠狠久综合| 99热国产这里只有精品| 狠狠干夜夜干| 久草婷婷视频| AV伊人青草丁香六月| 五月天六月天| 91黄址| 八戒青柠影视剧在线观看| 色综合综合综合| 涩五月丝袜婷婷| 成人丁香五月| 天天综合网网欲色| 婷婷网五月天| 婷婷终合色图| 色婷綜合网| 丁香五月六月综合激情| 欧美日韩99| 亚洲av电影在线| 色婷久九| 婷婷十月激情综合网| 中文字幕av在线播放| 五月婷色| 亚洲另类婷婷综合| 成人免费va| 婷婷五月激情中文字幕| 亚洲av网址| 都市激情久久| 久久网日本| 97久久久久久久久久久| 异能之下短剧免费观看全集| 天天色综网| 午夜婷婷| 久婷| 国产.亚洲.欧洲视频在线| 免费视频无码| 天天摸.天天mo| 五月婷婷啪啪综合网| 97在线观看| 亚洲九区| 深夜男女福利刺激影院一区完整| 玖玖99免费视频| www,婷婷| 九九九九热99超碰| 天天人人天天爽| 亚洲六月婷婷| 久久天堂女人| 丁香五月激情综合啪啪| 国产AV一区二区三区最新精品| 色色综合激情| 五月婷婷中文字幕| 成人AV播放| 人人色婷婷五月天| 天天干电影| 九九热99免费视频| 九九婷婷综合| 97久人人| 色色丁香五月天| 欧美六月婷婷| 六月综合婷婷开心伊人| 9色操| 丁香伊人综合| 色色色激情网| 97韩国久久电影院| 91熟妇大香蕉| 人人爱人人草| 亚洲在线综合| 九九热精品视频| 色碰碰| 色婷婷偷拍| 亚洲成人中文字幕| 婷婷五月天国产在线播放| 亚洲成人AV一区在线观看| 深爱丁香激情| 99ri精品在线观看| 五月精品| 五月婷精品| 中美日韩成人在线| 丁香色五月直播| 久久久久9| 97狠狠色| 久青草影院| 国产成人AV人人爽人人澡Va| 丁香六月成人| 激情五月综合| 99久久久久| 天天做天天爱天天高潮| 五月婷婷免费| 九九99在线视频| 97色女人在线| 天天做天天爱天天摸| 五月丁香六月婷| 79精品在线视频| 亚洲日本韩国| 色五月天婷婷| 99热国品免费| 五六月婷婷久久| 婷婷伊人网| 久久婷婷内射| 欧美性色A片免费免费观看的 | 欧美交换配乱吟粗大25P| 色网站99| 俺去婷婷 丁香| 五月天偷拍| 丁香五月欧美激情| 久久全意婷婷| 五月丁香性爱| 婷婷五月偷拍| 丁香五月影院| 丁香六月综合| 五月激情小说网| 综合色五月天| 久久久.COM| 婷婷午夜| 婷丁香五月天| 艹| 日韩国产在线免费观看| 五月丁香在线| 久9视频免费播放| 激情综合婷婷五月| 超碰色天堂| 亭亭玉月丁香| 九九性爱网| 天天天操天天天爰| 久久在线大香蕉| 丁香六月婷婷久久综合| 午夜成人网站在线观看| 六月丁香婷婷六月激情综合| 激情综合网五月在线播放| 婷婷视频在线碰| 日本久久婷| 色欲资源网| 九色91视频| 亚洲精品又粗又大又爽A片 | 大香蕉九九| 久久这里只| www.五月天婷婷.com| 免费99色| 久久婷婷一级片| 婷婷综合五月| 色婷婷久久| 欧州色色| 精品人妻久久久久| 思思精品久久艹| 91丨九色丨东北熟女| 超级久久久| 久热超碰| 色人久久| 深爱开心激情| 久热91| 精品人妻久久久久| 开心五月深爱激情| 伊人婷婷五月| 激情小说五月天中文字幕| 欧美六月| 色色丁香婷婷| 日本精品99网站| 久久全色| 五月丁香综合影院| 五月天基地| AV色色天堂中文| 精国产品一区二区三区A片| 在线色色| 99啪啪视频| 成人AV中文字幕| 久久久这里有精品| 天天干天天干天天干天天干天天干| 五月色婷婷AV| 五月丁香婷婷中文网| 色五月av伊人| 色五月天视频| 色久激情在线| 色五月中文网| 91肏| 九月丁香亭亭| 思思热视频在线| 97 A I色色| 一起草性爱不卡视频| 中文字幕在线免费观看视频| av中文在线| 欧美va在线| 超碰狠狠操| 九九综合精品| 五月色综合| 免费看欧美成人A片无码| 天天插天天爽| 五月开心播播网| 久久caop| 国产91在线视频| 久久婷婷大香蕉| 国产婷婷久久| 五月婷婷九九热| 日本欧美成人片AAAA| 婷婷久久免费| 天天爱天天操| 亚洲操女| 99狠狠色| 久久这里在精品视频| 婷婷五月天无码熟女| 人人色AV| 婷婷五月色激情欧美激情| 26uuu欧美| 婷婷五月天综合网| 免费无码毛片一区二区A片| 最新无码专区| 久久免费操| 婷婷五月天国产精品| 九九99视频精品| 五月综合婷婷久久在线| 日本在线99| 丁香五月伊人| 九月色婷婷综合亚洲| 亚洲成片在线观看| 国产VA播放| 婷婷五月色综合| 99热精品在线| 亚洲精品国产熟女久久久| 超碰无码老师| 人人亚洲| 色五月综合| 婷婷丁香六月| 成人资源在线| 丁香五月老师| 91成人品| 日本nghangse中文字幕| 亚洲性受XXXX五月丁香| 亚洲热视频在线| 亚洲无码色| a级毛片一区二区免费视频| 超碰在线9| 久久杏爱视频| 天堂久久性| 管管補管管紱| 成人短视频在线观看| 狠狠ri| 99操久久| 婷婷涩涩五月天| 色色色热| 色婷婷导航| 国产精品五月天婷婷| 五月婷婷激情综合网| 人妻有码乱操| 色天天综合色| 六月天婷婷| 99热超碰天堂网| 91啪级电影| 开心五月综合激情网| 九九99精品视品| 婷婷五月激情的图片| 激情五月婷婷五月| 91碰碰视频在线观看| 99 热| 91丨九色丨熟女|新版| 日本色啪| 伊人六月无码视频| 99亚洲精品| 五月天操逼网| 少妇人妻人伦A片| 99cao婷婷| 激情影院内射| 思思热这里只有精品| 另类在线观看视频| 无码色| 色天使色综合| 天天干天天射综合网| 激情99| 色丁香五月天射婷婷爱婷婷| 二色AV| 五月天伊人久久久久| 1024成人免费看| 婷婷丁香五另类网站| 欧洲色| 婷婷综合| 婷婷开心激情| 婷婷激情五月天天天开心| 婷婷黄色| 99无码视频| 日韩欧美一级大黄网站| 丁香六月啪啪| 99精品在线| 99精品热视频只有精品10| WWW久久久| 色三级色三级| 99在线观看精品视频| www.精品99| 在线婷婷| 五月天伊人av| 久草热8精品视频在线观看| 五月视频日本免费观看| av网站不卡在线| 婷婷激情五月综合在线视频| 99视频热99| 五月天精品综合| 久久色吧| 亚洲av综合网| 色噜噜伊人| AAA级久久久精品| 亚洲久久婷婷| 97人操| 色婷婷19| 国产va在线视频| 中文字幕1区2区。| 亚洲无码色色| 综合大香蕉| 久热这里只有| 亚洲综合婷婷六月丁香五月| 艹天天射| 色色色热| 婷婷色爱| 在线中文字幕av| 婷婷五月天伊人| 很操日本7| 五月天丁香花婷婷| 久久综合婷婷| 狠狠操狠狠干综合| 综合久久综合| Av狠狠色丁香婷| 婷婷五月天播播| 丁香六月综合激情| 久9精品视频在线| 久久综合五月天| 国产精品久久99| www.91五月| 丁香久久综合| www.思思99热| 久久激情五月婷婷| 丁香综合日产精品久久| 久久婷狠狠色| 第一区久久网站| 色噜噜狠狠色综合网| 色色丁香| 九九干视频| 婷婷五月 丁香六月| 综合激情四射一theav| 色五月首页| 五月天婷婷永久免费视频| 婷婷久久性爱| 一级黄色片看看| 久综合网| 五月色色激情网| 人妻性爱av网站| 久久久九九九 99| 91丨九色丨43老版熟女| 另类小说五月天| 蜜臀九九九九| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 五月天婷爱综合| 丁香九月久久| 欧美婷婷精品激| 国产精品久久久久久妇女6080| 国产精品久久久海的味道| 翔田千里aV中文字幕| 操操自拍| 久久精品女人天堂AAA| 六月婷婷色综合| 色婷婷五月综合在线| 99久久精品视频女神1| 97亚洲色 torrent magnet| 野外99热| 日韩一级淫乱片一区二区三区| 色色色色色色色色综合网| 色久丁香五| 思思久久青草热| 久久久久久久综合狠狠综合| 五月丁香亭亭操逼| 亚洲综合999| 韩日AV片| YW无码| 色视频色综合91| 99自拍视频在线| 九月婷婷综合| 黄网免费看| 激情五月天婷婷| 色欧洲| 九九精品视频在线观看| 午夜国产精品AV在线播放| 久久这里面只有精品视频| 五月婷婷丁香| 99热99色| 成人五月天在线观看| 激情九月婷婷| 亚洲天堂99| 色五月丁香五月| 大香蕉精品视频| 久久久.COM| 在线观看中文字幕亚洲| 日韩成人无码人妻| 丁香五月婷婷狠狠色| 大香蕉av在线| 欧洲永久精品| 天天综合干| 伊人五月人妻精品| 狠狠色噜噜| 99无码黄色视频| 天天天天操| 视频一二区| 久久婷婷五月天激情四射| 五月婷啪啪| 国产免费一区二区在线A片视频| 97九色| 丁香五月社区| 五月丁久久| 色婷婷亚洲综合天堂| 天天肏天天肏| 色综合激情| 视频这里只有精品| 99热这里精| 欧美日本va| 天天综合 99久久婷婷| 中文字幕在线免费| 天天干天天爽| 丁香五月婷婷激情蜜桃| 色碰干| 久久这里只有精彩| 五月天伊人日日噜影片AV| 中文国产五月天| 99热综合网| 国产精品成人在线| 黄桃AV无码免费一区二区三区| 五月停性愛| 激情久久 婷婷| 久久婷色| 黄色中文字目| 97人操人免费视频| 五月婷婷色丁香| 自拍盗摄 另类| 久久综合婷婷| www.99操.com| 五月丁香六月色婷婷综合五月天| 夜夜夜夜操| 99热这里| 国产,欧美,学生妹,视频| 综合激情在线观看| 同性gv国产精品一区二区| 天天日,天天插| 五月天激情电影| av五月天婷婷丁香| 天天久久人人| 日日天天干| AV中文在线| 伊人五月天97| 99热九九在线| 人妻啪啪啪| 99综合成人视频在线观看| 天天人人综合| 99热碰碰| 亚洲色99综合天堂| 久久婷婷成人视频| www.婷婷六月天| 草草女人亚洲| 99亚色色色| 九九热在线精品视频| 欧美性做爰大片免费看办公室| 香蕉伊人综合| 婷激情五月| 色色色色热| 9999热在线免费观看| 婷婷五月开心中文字幕在线| 久99| 婷婷丁香亚洲色综合91| 婷婷五月综合视频| 99网| 丁香六月 婷婷六月| 猫咪伊人久久| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 99高级会所久久| 女婷久久| 婷婷色中文| 99热99干| 久久视9精| 色欲香综合网| 另类图片五月天| 色性综合| 天天色综网| 大香蕉五月天婷婷丁香91| 久久丁香五月婷| 久久五月婷天天干| tingtingzonghewang| 97在线精品| 超碰91在线| 五月婷婷偷拍| 五月欧美丁香在线观看| 久久久五月天婷婷成人网| 99热最新网址| 大香蕉福利导航| 五月婷婷深爱六月| 97超碰,人人舔,人人操,人人摸 | 99热精品9| 日曰躁夜夜躁2026| 亚洲成人乱码av网站| 欧美槡BBBB槡BBB少妇| 婷婷五月成年人| 免费视频99| 97人人干| 高清无码网址| 五月天婷婷久久综合| 亚洲妇女熟BBW| 五月激情偷拍婷婷| 极品精品一区二区三区在线| 99热这里只有精品1998| 最新婷婷五月丁香| 情久久综合五月天| 色色综合激情| 亚洲综合九九| site:wpjngj.com| 免费视频WWW在线观看网站| 色婷婷丁香特级性爱视频| 国产精品美女久久久久AV超清 | 99热 免费| 97在线观视频免费观看| 伊人狠狠操| 日本情色一区二区| 婷婷五月天激情电影| 97视频久久| 色五月婷婷在线| 五月丁香激情综合六月涩涩爱| 久久五月婷综合| 色婷婷久久综合中文久久一本| 婷婷色五月天色色| 91超碰在线观看| wuyuedingxiang99| 性爱激情久久| 99九九在线视频| www.主妇. com| 精品二区| 午夜婷婷久久| 九九热再线九九视频免费在线观看 | 久热大香蕉| 欧美激情凹凸丁香网| 99啪99| a久久| 99re这里| 91色在线| avh片在线观看| 99热 免费| 97偷拍对白视频| 中文字幕97超级碰| 激情五月婷| 婷婷五月天免费视频| 久久婷婷网站| 大色鬼综合| 亚洲午夜一区二区| 五月婷婷综合色啪| www.99热这里精品| 色色色999| 开心激情网在线| jiujiu热在线视频| 婷婷五月天渟渟| 亚洲综合激情五月久久| 丁香五月欧美激情| 开心五月六月婷婷| 婷婷久久婷婷色五月| 另类激情综合| 丁香五月天亚洲视频| 亚洲婷婷月丁香五月| 人妻操日日| 成人做爰A片免费看视频| z色五月播播久久| www.狠狠操.con| 99爱99操| 天天色五月婷婷91久久久久久久| 五月婷婷天| 精品久久人妻| 激情五月婷婷啪啪| 丁香五月综合| 日韩有码久久| 婷婷色色综合| 久热大香蕉| 婷婷色啪| 天天摸天天做天天爱天天爽| 天天做天天干天天综合网| 婷婷射丁香| 五月婷婷www| 综合久久丁丁香婷| 日本婷婷| 玖玖色综合网| 日日干天天| 五月开心深深爱激情综合 | 91九色精品熟女内射| 日婷婷| 3www激情| 99热99免费| 99热思思在线观看| 婷婷色亚洲| 亚州操操| 丁香六月婷| 免费在线a| 亚洲人成播放网站| 香蕉AV777XXX色综合一区| 五月婷婷之综合激情| 97色永久免费视频| 九色无码| 丁香激情五月| 丁香五月天堂网| 青青草激情网| 国产成人99久久亚洲综合精品| 天天操夜夜夜拍拍拍| 九九激情网| 亚洲综合网区| 国产噜一噜天天噜| 丁香五月天啪啪| 99久在线精品99re8热| 翔田千里 50岁 无码| 成人综合AV| 人人干99| 久久色天堂| 色婷婷导航| 激情五月天婷婷直播| 色狠狠五月天| 久久这有这里精品| 六月丁香射婷婷欧美色图片| 99免费视频| 99热这里是精品| 天堂成人A片永久免费网站| 超碰碰碰碰| 专区无日本视频高清8| 国产偷人爽久久久久久老妇APP| 色五月婷婷五月天| 99视频这里有精品| 亚洲成人日韩无码精品| 激情超碰网| 伊人婷婷五月天av| 人人操97| 婷婷激情五月天天天开心| 精品久久人妻热| 思思久久96热在精品国产,| 天天精品视频在线观看视频| 久久婷婷综合五月天| 久久综合首页| 思思久久99| 亚洲精品国产A久久久久久| 丁香情色五月| 伊人五月天97| 亚洲日韩国产黑丝黑丝AVAV一区二区三区 | 婷婷之六月丁香| 五月丁香淫淫婷婷婷| 天堂在线9| 五月丁香六月婷| 丁香婷婷天堂| 色五月偷偷| 亚洲网站在线鸭子av| 怡红院精品视频久久久久久久久| 婷婷丁香五月高清| 91操网| 性做爰A片免费视频A片直播 | 五月婷婷手机在线| 大天天伊人| 欧美精品999| aaa久久久| 综合激情在线视频| 五月亚洲激情| 26uuu在线观看| 久久a热| 西西4r午夜剧场| 久操综合| 丁香五月久久综合| 欧美综合五月丁香六月婷| 国产精产国品一二三在观看| 超碰在线观看caop| 视频这里只有精品| 五月丁香人妻| 99免费在线视频| 亚洲区1| 开心六月丁香五月婷婷| 五月婷视屏在线观看| 婷婷亚洲天堂| 欧美婷婷综合| 九九免费视频在线| 精品爆操| 9九九久久精品无码专区| 久久精典| www.henhengan| 丁香成人五月天| 99色在线观看视频| 国产精品色一哟哟| 99热最新| 亚洲有码在线视频| 天天开心AV色综合婷婷五月天| 人人97碰| www.99riav99| 久久小视频免费| 亚洲综合视频网| 午夜成人av在线| 色色综合无码| 久热黄色| 日韩精品99久久| 婷婷六月插屄激情| 婷婷丁香五月麻豆| 婷婷五月婷| 久久A极片| 99re99热| 中文字幕在线资源| 久久九九99桃花视频| 欧美激情综合色综合色| 欧美精品XXXXBBBB| 成人 在线 日韩| 色色色99| 婷婷五月丁香激情图片 | 婷婷五月天免费视频| 色婷婷基地 | 日本a片网址| 色婷婷激情| 亚洲九九婷婷| 丁香六月情| 99热最新国内| 囯产精品一品二区三区| 777精品久无码人妻蜜桃| 色九区| 婷婷天堂综合| 99热综合在线| 99热综合色图| 看全色黄大色大片| 激情图片五月天| 九一牛视频探花| 婷婷五月骚厕所| 超碰九热| 天天色综合网吨吧| 五月天丁香久久综合| www.狠狠狠.com| 免费看欧美成人A片无码| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 五月丁香婷中文字幕| 久久久人妻| 婷婷丁香六月影视| WWW.国产| 天天插轮理| www久久久久久久久久久| 婷婷五月天色网久| 亚洲精品国产A久久久久久| 五月天婷婷在线观看精品男人| 国产精品成人在线| www.久久五月天.com| 成人综合网站| 五月婷婷黄色视频| 九九久久9 9在线观看| 色婷婷久久综合丁香五月| WWW色色色COM| 激情五月丁香亭亭| 色噜噜狠狠色综合网| 色婷婷狠狠爱| 18av天堂| 色综啪啪网| 国产玖玖资源| 99日精品视频| 九九婷婷网五月天| 欧美激情xxxXX| 美女久久婷婷| 五月天亚洲综合网| 黄色片区子| 久久怡红院| 伊人深爱综合| 丁香六月婷婷色播| 99热.com| 五月丁六月香av| 色吧网综合| 99毛片| 综合激情五月丁香9999久久精| 亚洲日韩乱码一区二区三区四区 | 搡BBBB搡BBB搡18| 丁香六月婷婷姐网| 五月天婷婷基地综合网| 色婷婷五月天在线观看| 五月花婷婷最新| 一区二区三区四区牛| 91狠狠综合久久久| 色综合性视频| www,超碰| 国产激情视频在线观看| 九色色| 国产精典视频在线观看| 国产在线aaa片一区二区99| 99精色| www,五月天com| 99久久婷婷国产综合精品| WWW.桔色成人.COM| 婷婷在线五月天观看| 丁香社92视频| 免费黄色片子| 精品成人a v无码内射| 99综合在线| 亚洲黄网在线| 久久538| 婷婷婷婷色| 中文字幕丰满乱孑伦无码专区| 日韩五月婷婷久久| 91碰碰| 怡红院视频| 丁香五月狠狠在线观看| 啪啪东京热| 亚洲日韩乱码一区二区三区四区 | 人人摸人人摸| 天天人人天天爽| 99久久99久久| 久热伊人91| 激情五月婷| 99爱精品| 五月天婷婷丁香视频| 久久婷婷色| 亚州精品成人片| 风流少妇A片一区二区蜜桃| 亚州操操| 婷婷丁香色五月| 五月www| 99热91| 色五月婷婷AV| 99热亚洲只有色| 99综合视频一体| 婷婷五月综合网| 天天爽天天摸| 天天草婷婷五月| 91久久久久久久久| 日韩免费99| 欧美日韩成人h| 大学生高潮无套内谢视频| 色五月超碰| 五月天综合在线观看视频| 五月丁香黄色| 天天做天天双| 99色在线视频观看| 91久久精品无码一区二区三区| 91狼友视频在线观看| 国产AV一区二区三区日韩| 五月丁香激情啪啪| 五月狠狠| 色五月综合| 丁香五月播播| 久久A V无码视频| 五月丁香婷婷人体| 日本色婷婷久久99精品91| 欧美激情丁香五月| 久99久视频| 五月丁香婷婷久久| 97亚洲婷婷| 91啪啪啪啪| 色99视| 欧美日本高清视频99| 婷婷五月另类网站| 无毒黄色网址| 伊人大香蕉爱聚| 婷婷激情六月中文| 蒲京久久无码视频| 999热视频精品99免费在线| 亚洲偷| 91色性感五月婷婷丁香| 九月激情婷婷丁香| 丁香婷婷狠狠97| 婷婷影视久久| 91久女| 精品国产a| 国产成人亚洲综合亚洲| 九九99男女视频在线观看| 色天堂操| 噜噜操操| 人妻综合网| 啪啪色激情五月天| 色五月涩涩婷婷蜜桃| 五月伊人综合| 婷久看人爽| 欧美色色色| 久久婷婷五月综合色和| 亚洲色视频| 色婷婷成人网| 日日操夜夜撸| 在线观看免费人成视频无码| 国产精产国品一二三在观看| 9热超碰| 啪啪操操| 国产操碰| 综合激情五月综合激情五月激情1 天天爱天天做天天舔 | 五月婷婷婷婷| 国产乱子轮XXX农村| 九九99九九精品免费 | 伊人综合网4| 开心五月婷婷99| 俺去也综合| 久热9| 亚洲V国产V欧美V久久久久久| 综合久久五| 婷婷色在线播放| 永久的网站AAAA | 日韩操女| 久久五月天激情美女| 亚洲女婷婷五月基地综合久久久| 日日爱699| 91viP在线看| 专区无日本视频高清8| 超碰免费人人肏| 色婷婷五月在线| 人人干天天舔| 99在线视频观看| 色五月婷婷久久| 五月婷婷久久久| 色婷婷电影网| 一区操| 色九月婷婷综合| 五月丁香六月婷婷综合网| 国产VA亚洲VA96| 丁香五月影院| 99九九精品视频推荐| 欧美在线看| 婷婷丁香五另类网站| 99热66| CHINESE熟女老女人HD视频| 伊人丁香五月婷婷潮吹| 久久这里只有精彩| 99爱这里只有精品免费视频| 色综合色色| 婷婷五月激情在线| 亚洲五月天色| 五月天啪啪| 五月综合激情| 五月五月婷婷| 五月丁香六月成人| 麻豆忘忧草午夜| 天天操夜夜爽天天操| 夜夜躁爽日| 噼里啪啦在线观看免费完整版视频| 91九色在线观看免费| 九九热九九| 九九99热久久精品66中文字幕| 蜜桃成语时李时珍 免费| 九九精品热播| 婷婷丁香激情五月天色色| 91久操| 欧美人人超级碰| 五月丁香成人| 丁香婷婷色五月| 99色久| 久久机只有这里精品| 99色精品| 超碰在线观看9| 天天射色五月天| 青柠影视免费高清电视剧| 青青草色在线视频观看| 丁香久久久| 亚洲欧洲中文日韩久久AV乱码| 久久色五月| 深爱婷婷丁香五月激情| 天堂无码人妻精品AV一区| 九九综合精品| 五月丁香综合| 9精品国产在热久久| 深爱激情网婷婷| 99热精品在线播放| 影音先锋91| 天天久| 九九久久9 9在线观看| 99er6| 久9视频| 香蕉综合网| 任你爽免费视频| 综合一区二区三区| 色婷婷五月综合| 91传媒无码人妻精| 97韩国久久电影院| 亚洲精品久久久久久久久久飞鱼| 99激情网| 日日天天干| 婷婷导航| 丁香五月婷婷影院| 91在线日| 99综合久久| 任我肏| 超碰人人操在线| 五月激情射| 色播五月综合网| 婷婷五月天中文字幕| www.五月天婷婷| 色婷亚洲五月丁香| 第四色五月天| 欧美啪啪网| 婷婷丁香五月激情密臀av| 成人网站高清无码| 丁香五月天成人网站| 婷婷久久图片| 日日夜夜干| 成人一级片| 超碰在线人妻| 九九精品视频免费在线| 另类小说色婷婷| 桃色激情婷婷伊人网| 日韩人妻白浆视频系列|