99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

STM32F334R8 驅(qū)動 MR25H40CDF MRAM:SPI 接口與掉電保護實戰(zhàn)

STM32F334R8 驅(qū)動 MR25H40CDF MRAM:SPI 接口與掉電保護實戰(zhàn) 1. 項目緣起與方案選型1.1 為什么要在工業(yè)場景里折騰 MRAM做嵌入式這行十幾年存儲方案的選擇一直是個繞不開的話題。早些年做工業(yè)數(shù)據(jù)采集器EEPROM 擦寫壽命不夠用FRAM 容量又上不去NOR Flash 寫入前還得先擦除整個扇區(qū)掉電保護邏輯寫得人頭大。直到 MRAM磁性隨機存儲器這類器件逐漸成熟才算找到一種能兼顧速度、壽命和掉電安全性的方案。MR25H40CDF 是 Everspin 推出的一款 4Mbit 串行 MRAMSPI 接口40MHz 時鐘最讓人省心的是它沒有寫入延遲——數(shù)據(jù)寫進去就落盤不需要像 Flash 那樣等待內(nèi)部編程周期。這一點在工業(yè)現(xiàn)場特別關(guān)鍵設(shè)備可能隨時斷電如果寫入過程中掉電Flash 方案很容易丟數(shù)據(jù)甚至損壞扇區(qū)而 MRAM 的物理機制決定了它寫入即持久。STM32F334R8 則是 ST 家的一款 Cortex-M4 內(nèi)核 MCU72MHz 主頻帶 FPU 和 HRTIM高分辨率定時器在數(shù)字電源、電機控制、工業(yè)傳感器采集這些場景里出鏡率很高。它片內(nèi) Flash 只有 64KBRAM 12KB跑復(fù)雜應(yīng)用時經(jīng)常捉襟見肘外掛一顆 MRAM 來存參數(shù)、日志、校準數(shù)據(jù)是很自然的思路。這個組合的核心價值在于用 SPI 接口把非易失存儲擴展到 MCU 外部同時保留 MRAM 的字節(jié)級隨機寫入、近乎無限的擦寫壽命和即時持久化特性。適合做工業(yè)儀表、數(shù)據(jù)記錄儀、電機驅(qū)動器參數(shù)存儲、以及任何對掉電數(shù)據(jù)完整性有要求的嵌入式項目。1.2 SPI 接口選型背后的考量MR25H40CDF 只提供 SPI 接口沒有并口版本。為什么選 SPI 而不是 I2C 或者并口這里有幾個實際考量。SPI 是全雙工同步串行總線速率比 I2C 高一個數(shù)量級。MR25H40CDF 支持最高 40MHz 時鐘STM32F334R8 的 SPI1 掛在 APB2 上最高能跑到 36MHz72MHz 二分頻SPI2 掛在 APB1 上最高 18MHz。用 SPI1 的話理論傳輸速率能到 4.5MB/s讀 4Mbit512KB全部內(nèi)容也就一百多毫秒。I2C 最快 400kHz 或者 1MHz差距明顯。并口雖然更快但引腳多、PCB 布線復(fù)雜在小型工業(yè)模塊里不劃算。SPI 只要四根線SCK、MOSI、MISO、CS加上電源和地六根線搞定PCB 走線清爽。還有一個容易被忽略的點MRAM 的 SPI 協(xié)議和普通 SPI Flash 高度兼容命令集類似READ、WRITE、WREN、RDSR 等但去掉了擦除相關(guān)的命令。這意味著如果你之前用 W25Q64 這類 Flash 寫過代碼遷移到 MR25H40CDF 時上層邏輯改動很小主要就是把擦除步驟刪掉寫入前不需要 WREN 之外的額外準備。注意MR25H40CDF 的寫操作不需要先擦除但每次寫入前仍然需要發(fā)送 WRENWrite Enable命令這一點和 Flash 一致。寫完一個字節(jié)或一頁后WREN 自動復(fù)位下次寫入要重新發(fā)。1.3 硬件連接與引腳規(guī)劃STM32F334R8 有多個 SPI 外設(shè)我一般優(yōu)先用 SPI1因為它的時鐘源是 APB2頻率更高。具體引腳分配如下STM32 引腳功能MR25H40CDF 引腳說明PA5SPI1_SCKSCK時鐘建議串聯(lián) 22Ω 電阻PA6SPI1_MISOSO主入從出PA7SPI1_MOSISI主出從入PA4GPIO_OutputCS片選軟件控制3.3V電源VDD加 0.1uF 去耦電容GND地VSS靠近芯片放置CS 片選我用的是軟件控制沒有用 SPI 外設(shè)的硬件 NSS。原因很簡單硬件 NSS 在多從機場景下容易出問題而且 STM32 的硬件 NSS 在某些模式下會自己抖動調(diào)試起來費勁。軟件控制雖然多一行代碼但時序完全可控想什么時候拉低就什么時候拉低配合 MRAM 的高速寫入反而更穩(wěn)。PCB 布線方面SPI 信號線盡量等長SCK 作為時鐘線要遠離模擬信號。如果板上還有 ADC 或者運放SPI 走線最好包地處理。MRAM 芯片靠近 MCU 放置走線不超過 10cm超過這個距離就要考慮信號完整性問題可能需要降低 SPI 時鐘或者加緩沖。2. MR25H40CDF 核心機制與操作要點2.1 MRAM 的物理原理與性能邊界MRAM 的全稱是 Magnetoresistive Random Access Memory磁性隨機存儲器。它的存儲單元是一個磁性隧道結(jié)MTJ由兩層鐵磁材料夾一層極薄的絕緣層構(gòu)成。一層是固定磁化方向另一層是自由磁化方向。當(dāng)兩層磁化方向平行時電阻低代表邏輯 0反平行時電阻高代表邏輯 1。寫入時通過自旋極化電流改變自由層磁化方向讀取時測量隧道結(jié)電阻。這個機制帶來幾個關(guān)鍵特性。第一寫入沒有延遲電流脈沖結(jié)束數(shù)據(jù)就穩(wěn)定了不需要像 Flash 那樣等待電荷注入浮柵。第二擦寫壽命近乎無限Everspin 標稱 10^14 次以上實際測試中基本不用擔(dān)心寫壞。第三數(shù)據(jù)保持時間超過 20 年而且不需要供電維持。第四抗輻射、抗磁場干擾能力比 Flash 強在工業(yè)電磁環(huán)境里更可靠。但 MRAM 也不是沒有短板。容量密度比 NAND Flash 低成本高4Mbit 的芯片價格能買幾十兆的 Flash。所以它適合存關(guān)鍵數(shù)據(jù)不適合存大塊日志或者固件。另外MRAM 的寫入電流相對較大高頻連續(xù)寫入時功耗會比 Flash 高一些電池供電場景要算一下功耗預(yù)算。MR25H40CDF 的具體參數(shù)如下參數(shù)數(shù)值說明容量4Mbit (512K x 8)字節(jié)尋址接口SPI模式 0 和模式 3 都支持最高時鐘40MHz讀操作寫入周期無延遲字節(jié)/頁寫入擦寫壽命10^14幾乎無限數(shù)據(jù)保持20 年工業(yè)級工作電壓2.7V ~ 3.6V典型 3.3V工作溫度-40°C ~ 85°C工業(yè)級封裝DFN-85mm x 6mm2.2 SPI 通信協(xié)議與時序細節(jié)MR25H40CDF 的 SPI 協(xié)議和標準 SPI Flash 非常接近支持模式 0CPOL0, CPHA0和模式 3CPOL1, CPHA1。我一般用模式 0因為 STM32 的 SPI 默認配置就是模式 0省得改。命令集方面常用的有這幾個WREN (0x06)寫使能寫入前必須發(fā)WRDI (0x04)寫禁止一般不用主動發(fā)RDSR (0x05)讀狀態(tài)寄存器WRSR (0x01)寫狀態(tài)寄存器READ (0x03)讀數(shù)據(jù)任意地址WRITE (0x02)寫數(shù)據(jù)頁內(nèi)寫入FAST_READ (0x0B)快速讀支持更高時鐘狀態(tài)寄存器只有一位有用WELWrite Enable Latchbit 1。寫入前發(fā) WRENWEL 置 1寫入完成后 WEL 自動清 0。其他位是只讀或者保留位不用管。時序上要注意幾個點。CS 拉低到第一個 SCK 上升沿之間要有至少 5ns 的建立時間STM32 的 GPIO 翻轉(zhuǎn)速度足夠快但如果你用 HAL 庫的HAL_GPIO_WritePin函數(shù)調(diào)用開銷可能就有幾百納秒所以 CS 操作最好用寄存器直接寫或者用__NOP()配合。寫入時序是這樣的CS 拉低 → 發(fā) WREN (0x06) → CS 拉高 → CS 拉低 → 發(fā) WRITE (0x02) → 發(fā) 24 位地址MR25H40CDF 是 19 位地址但協(xié)議上發(fā) 24 位高 5 位忽略→ 發(fā)數(shù)據(jù)字節(jié) → CS 拉高。注意 WREN 和 WRITE 之間必須拉高 CS這是命令邊界。實操心得很多人第一次用 MRAM 會忘記 WREN 和 WRITE 之間要拉高 CS結(jié)果寫不進去。我當(dāng)年調(diào)這個的時候邏輯分析儀抓了半天發(fā)現(xiàn) WREN 命令被當(dāng)成 WRITE 的一部分了。記住每個 SPI 命令都是獨立的 CS 周期。2.3 頁寫入與地址邊界處理MR25H40CDF 支持頁寫入一頁 256 字節(jié)。但和 Flash 不同的是MRAM 的頁寫入沒有“頁對齊”的硬性要求你可以從任意地址開始寫任意長度。不過如果寫入跨越 256 字節(jié)邊界地址會回卷到頁首覆蓋之前的數(shù)據(jù)。這一點和 Flash 一樣是硬件行為不是 bug。舉個例子從地址 0x00FF 開始寫 10 個字節(jié)實際會寫到 0x00FF 到 0x0008其中 0x0100 回卷到 0x0000。所以寫跨頁數(shù)據(jù)時要么分兩次寫要么確保起始地址和長度不跨頁。我的做法是封裝一個MRAM_Write函數(shù)內(nèi)部自動處理跨頁拆分void MRAM_Write(uint32_t addr, uint8_t *buf, uint32_t len) { while (len 0) { uint32_t page_remain 256 - (addr % 256); uint32_t write_len (len page_remain) ? len : page_remain; MRAM_WritePage(addr, buf, write_len); addr write_len; buf write_len; len - write_len; } }這樣上層調(diào)用就不用關(guān)心頁邊界了。MRAM_WritePage內(nèi)部就是標準的 WREN WRITE 流程。讀操作就簡單多了READ 命令 (0x03) 可以從任意地址連續(xù)讀沒有頁限制地址自動遞增讀到 0x7FFFF 后回卷到 0x00000。如果你要讀整個芯片直接發(fā)一個 READ 命令然后連續(xù)讀 524288 個字節(jié)就行。3. STM32F334R8 端驅(qū)動實現(xiàn)3.1 CubeMX 配置與 SPI 初始化用 STM32CubeMX 配置 SPI1 的步驟不復(fù)雜但有幾個參數(shù)容易設(shè)錯。我一般這樣配Mode: Full-Duplex MasterData Size: 8 BitsClock Polarity: LowClock Phase: 1 EdgeNSS: SoftwareBaud Rate Prescaler: 2APB2 72MHz / 2 36MHzFirst Bit: MSBCRC: Disabled36MHz 是 SPI1 在 72MHz 主頻下的最高速率MR25H40CDF 支持 40MHz所以 36MHz 完全在規(guī)格內(nèi)。如果你發(fā)現(xiàn)通信不穩(wěn)定先把預(yù)分頻改成 4 或者 8降到 18MHz 或 9MHz 試試排除信號完整性問題。GPIO 配置方面SCK、MOSI、MISO 設(shè)為 Alternate Function Push-PullVery High Speed。CS 設(shè)為 GPIO Output初始電平 High。這里有個細節(jié)CS 的 GPIO 速度也要設(shè)成 Very High否則拉低和拉高的邊沿不夠陡高速 SPI 下可能被從機誤判。初始化代碼用 HAL 庫生成后我一般會加一個MRAM_Init函數(shù)做兩件事拉高 CS然后讀一次狀態(tài)寄存器確認通信正常。uint8_t MRAM_Init(void) { MRAM_CS_HIGH(); HAL_Delay(1); uint8_t status MRAM_ReadStatus(); if (status 0xFF || status 0x00) { return 1; // 通信失敗 } return 0; // 成功 }讀狀態(tài)寄存器返回 0xFF 通常意味著 MISO 一直高可能是芯片沒供電或者 CS 沒接對。返回 0x00 可能是 MISO 一直低檢查一下是不是短路了。3.2 底層讀寫函數(shù)實現(xiàn)底層函數(shù)我分成四個MRAM_WriteEnable、MRAM_ReadStatus、MRAM_Read、MRAM_WritePage。每個函數(shù)都直接操作 SPI 和 GPIO不依賴 HAL 的 SPI 傳輸函數(shù)因為 HAL 的函數(shù)調(diào)用開銷在高速場景下有點大。#define MRAM_CS_LOW() HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET) #define MRAM_CS_HIGH() HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET) static void MRAM_WriteEnable(void) { MRAM_CS_LOW(); uint8_t cmd 0x06; HAL_SPI_Transmit(hspi1, cmd, 1, 10); MRAM_CS_HIGH(); } static uint8_t MRAM_ReadStatus(void) { uint8_t cmd 0x05; uint8_t status; MRAM_CS_LOW(); HAL_SPI_Transmit(hspi1, cmd, 1, 10); HAL_SPI_Receive(hspi1, status, 1, 10); MRAM_CS_HIGH(); return status; } void MRAM_Read(uint32_t addr, uint8_t *buf, uint32_t len) { uint8_t cmd[4]; cmd[0] 0x03; cmd[1] (addr 16) 0xFF; cmd[2] (addr 8) 0xFF; cmd[3] addr 0xFF; MRAM_CS_LOW(); HAL_SPI_Transmit(hspi1, cmd, 4, 10); HAL_SPI_Receive(hspi1, buf, len, 1000); MRAM_CS_HIGH(); } void MRAM_WritePage(uint32_t addr, uint8_t *buf, uint32_t len) { uint8_t cmd[4]; cmd[0] 0x02; cmd[1] (addr 16) 0xFF; cmd[2] (addr 8) 0xFF; cmd[3] addr 0xFF; MRAM_WriteEnable(); MRAM_CS_LOW(); HAL_SPI_Transmit(hspi1, cmd, 4, 10); HAL_SPI_Transmit(hspi1, buf, len, 1000); MRAM_CS_HIGH(); }這里有個性能優(yōu)化的點HAL_SPI_Transmit和HAL_SPI_Receive在傳輸大量數(shù)據(jù)時內(nèi)部是逐字節(jié)輪詢的36MHz 下傳 512KB 大概要幾百毫秒。如果你追求極致速度可以用 DMA。SPI1 的 TX 和 RX 都支持 DMA配置好之后讀 512KB 數(shù)據(jù)能壓到幾十毫秒。不過 DMA 配置復(fù)雜一些還要處理傳輸完成中斷看項目需求決定。注意MRAM 的寫入速度受限于 SPI 時鐘和 MCU 的發(fā)送能力。36MHz 下理論寫入速率是 4.5MB/s但實際因為 WREN 命令和 CS 翻轉(zhuǎn)的開銷連續(xù)寫入大概在 2-3MB/s。如果你要頻繁寫大量數(shù)據(jù)算一下時間預(yù)算。3.3 數(shù)據(jù)存儲結(jié)構(gòu)設(shè)計外掛 MRAM 之后怎么組織數(shù)據(jù)是個需要提前想清楚的問題。我一般把 512KB 的空間分成幾個區(qū)域區(qū)域起始地址大小用途配置區(qū)0x000004KB系統(tǒng)參數(shù)、校準系數(shù)日志區(qū)0x01000256KB循環(huán)日志帶時間戳備份區(qū)0x41000252KB固件備份、大數(shù)據(jù)塊保留區(qū)0x7F0004KB魔術(shù)字、版本號、CRC配置區(qū)存結(jié)構(gòu)體每次修改后整體寫入配合 CRC 校驗。日志區(qū)用環(huán)形緩沖區(qū)寫指針存在保留區(qū)每次寫入后更新指針。備份區(qū)存不常變的數(shù)據(jù)比如出廠校準表。結(jié)構(gòu)體定義要注意字節(jié)對齊。STM32 默認 4 字節(jié)對齊如果結(jié)構(gòu)體里有uint8_t和uint32_t混用編譯器會插入填充字節(jié)。寫入 MRAM 時是按字節(jié)流寫的讀回來直接強轉(zhuǎn)指針可能因為對齊問題出錯。我的做法是用__attribute__((packed))或者手動序列化。typedef struct __attribute__((packed)) { uint32_t magic; uint16_t version; float calib_k; float calib_b; uint32_t crc; } Config_t;寫入前算 CRC讀出來后校驗不匹配就加載默認值。這個套路在工業(yè)項目里很常見能有效防止數(shù)據(jù)損壞導(dǎo)致的異常行為。4. 實操驗證與問題排查4.1 讀寫測試與性能實測驅(qū)動寫完之后第一步是跑一個全片讀寫測試。我一般寫一個測試函數(shù)先擦除...等等MRAM 不需要擦除。直接寫 0x00 到 0xFF 的遞增模式然后讀回來對比。void MRAM_Test(void) { uint8_t wbuf[256], rbuf[256]; for (int i 0; i 256; i) wbuf[i] i; for (uint32_t addr 0; addr 0x80000; addr 256) { MRAM_WritePage(addr, wbuf, 256); MRAM_Read(addr, rbuf, 256); if (memcmp(wbuf, rbuf, 256) ! 0) { printf(Mismatch at 0x%05X\n, addr); return; } } printf(MRAM test passed\n); }實測下來36MHz SPI 時鐘全片 512KB 寫入加讀取對比大概 1.2 秒完成。其中寫入約 800ms讀取約 400ms。這個速度對于工業(yè)數(shù)據(jù)記錄完全夠用。如果你發(fā)現(xiàn)測試失敗先降低 SPI 時鐘到 9MHz 再試。如果低速能過高速不過基本是信號完整性問題檢查一下 SCK 走線有沒有過長、有沒有串?dāng)_。如果低速也失敗用邏輯分析儀抓 SPI 波形看命令和數(shù)據(jù)是否符合預(yù)期。4.2 常見問題速查表現(xiàn)象可能原因排查方法解決措施讀回全 0xFFMISO 未連接或芯片未供電萬用表測 VDD 和 MISO 電壓檢查供電和焊接讀回全 0x00MISO 短路到地斷電測 MISO 對地電阻修復(fù)短路寫入后讀回不變WREN 未發(fā)或 CS 時序錯誤邏輯分析儀抓 WREN 和 WRITE確保 WREN 和 WRITE 之間 CS 拉高跨頁寫入數(shù)據(jù)錯亂地址回卷檢查寫入起始地址和長度拆分跨頁寫入高速下偶發(fā)錯誤信號完整性降低 SPI 時鐘測試加串阻、縮短走線、包地數(shù)據(jù)偶爾丟失電源波動示波器看 VDD 紋波加去耦電容、穩(wěn)壓4.3 掉電保護與數(shù)據(jù)完整性MRAM 的最大賣點就是掉電安全但前提是寫入操作已經(jīng)完成。如果 MCU 在發(fā) WRITE 命令的過程中掉電MRAM 可能只寫了一半數(shù)據(jù)。雖然 MRAM 的寫入是原子性的單個存儲單元要么寫成功要么保持原值但多字節(jié)寫入過程中掉電可能出現(xiàn)部分字節(jié)更新、部分字節(jié)未更新的情況。對于關(guān)鍵數(shù)據(jù)我的做法是雙備份加 CRC。比如配置區(qū)存兩份地址 0x00000 和 0x00800每份帶 CRC。讀取時先讀第一份CRC 通過就用不通過讀第二份都不通過加載默認值。寫入時先寫第二份再寫第一份確保任何時候至少有一份是完整的。日志區(qū)用環(huán)形緩沖區(qū)每條記錄帶序號和 CRC。上電后從保留區(qū)讀寫指針然后掃描最近幾條記錄找到最后一條 CRC 正確的記錄從它后面繼續(xù)寫。這樣即使掉電時正在寫日志最多丟一條記錄不會影響整個日志區(qū)。實操心得MRAM 雖然寫入快但不要在主循環(huán)里頻繁寫。我見過一個項目每采集一次數(shù)據(jù)就寫一次 MRAM結(jié)果 SPI 總線占用率太高影響了其他外設(shè)。后來改成攢夠 64 字節(jié)寫一次或者定時 100ms 寫一次問題解決。存儲器件再快也要考慮總線帶寬和系統(tǒng)整體調(diào)度。4.4 與 Flash 方案的對比與遷移建議如果你之前用的是 W25Q64 這類 SPI Flash遷移到 MR25H40CDF 時硬件上基本兼容引腳定義幾乎一樣。軟件上主要改這幾個地方第一去掉所有擦除相關(guān)的代碼。Flash 寫入前要發(fā) 0x06 WREN、0x20 扇區(qū)擦除、0x05 讀狀態(tài)等待擦除完成MRAM 全都不需要。第二寫入前仍然要發(fā) WREN但不需要等待。第三地址范圍變了W25Q64 是 8MBMR25H40CDF 是 512KB如果你的代碼里有地址越界檢查記得改。第四性能特性不同。Flash 的擦除很慢幾十到幾百毫秒所以通常要攢一批數(shù)據(jù)再寫。MRAM 沒有擦除寫入也快可以更頻繁地寫但要注意 SPI 總線占用。第五壽命不同。Flash 擦寫 10 萬次左右MRAM 是 10^14 次基本不用考慮磨損均衡。如果你之前為 Flash 寫了磨損均衡算法遷移到 MRAM 后可以刪掉簡化代碼。從成本角度看MR25H40CDF 比同容量 Flash 貴不少但比 FRAM 便宜而且容量更大。在需要頻繁寫入、掉電保護、長壽命的場景里這個成本是值得的。如果只是存固件或者不常改的參數(shù)用 Flash 更劃算。5. 工業(yè)場景下的擴展思路5.1 多芯片級聯(lián)與容量擴展512KB 在某些應(yīng)用里可能不夠用比如高頻數(shù)據(jù)記錄儀一天就能寫滿。這時候可以掛多顆 MR25H40CDF用不同的 CS 引腳片選。STM32F334R8 的 GPIO 足夠多掛四顆就是 2MB掛八顆就是 4MB。多芯片管理的核心是地址映射。我一般定義一個邏輯地址空間比如 0x000000 到 0x3FFFFF 對應(yīng)四顆芯片每顆 512KB。讀寫函數(shù)根據(jù)地址高兩位選擇 CS 引腳低 19 位作為芯片內(nèi)地址。#define MRAM_CHIP_SIZE 0x80000 #define MRAM_CHIP_NUM 4 void MRAM_SelectChip(uint32_t addr) { uint8_t chip addr / MRAM_CHIP_SIZE; switch (chip) { case 0: HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET); break; case 1: HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET); break; // ... } }多芯片的缺點是 PCB 面積增大CS 走線增多。如果空間緊張可以考慮用 SPI 片選譯碼器用 3 根 GPIO 控制 8 個 CS節(jié)省引腳。5.2 與 RTOS 結(jié)合的任務(wù)調(diào)度在跑 FreeRTOS 或者 RT-Thread 的項目里MRAM 讀寫要加互斥鎖。SPI 總線是共享資源如果多個任務(wù)同時讀寫 MRAM不加鎖會導(dǎo)致 CS 時序混亂數(shù)據(jù)錯位。我的做法是創(chuàng)建一個二值信號量每次 MRAM 操作前獲取操作后釋放。如果某個任務(wù)要寫大量數(shù)據(jù)可以分塊寫每塊之間釋放一下信號量避免長時間占用總線導(dǎo)致其他任務(wù)超時。SemaphoreHandle_t mram_mutex; void MRAM_WriteTask(uint32_t addr, uint8_t *buf, uint32_t len) { xSemaphoreTake(mram_mutex, portMAX_DELAY); MRAM_Write(addr, buf, len); xSemaphoreGive(mram_mutex); }如果對實時性要求高可以把 MRAM 操作放到一個低優(yōu)先級任務(wù)里通過隊列接收寫請求批量處理。這樣高優(yōu)先級任務(wù)不會被 SPI 傳輸阻塞。5.3 數(shù)據(jù)加密與安全存儲工業(yè)設(shè)備有時候需要存一些敏感數(shù)據(jù)比如校準密鑰、設(shè)備證書。MRAM 本身沒有加密功能數(shù)據(jù)是明文存儲的。如果設(shè)備可能被物理拆解MRAM 里的數(shù)據(jù)能被直接讀取。簡單的做法是在 MCU 端做加密后再寫入。STM32F334R8 沒有硬件加密引擎但可以用軟件 AES。ST 的 CryptoLib 提供了 AES-128 的軟件實現(xiàn)加密 512KB 數(shù)據(jù)大概幾百毫秒對于不常寫的數(shù)據(jù)可以接受。更安全的做法是用 STM32 的讀保護功能防止通過調(diào)試接口讀取 Flash 里的密鑰。但 MRAM 是外部芯片讀保護管不到。如果安全要求極高可以考慮用帶加密功能的存儲芯片或者把密鑰存在 MCU 內(nèi)部 Flash 的受保護區(qū)域MRAM 只存加密后的數(shù)據(jù)。注意軟件 AES 加密會消耗 CPU 時間如果寫入頻繁可能影響系統(tǒng)實時性。建議只對關(guān)鍵數(shù)據(jù)加密日志和普通參數(shù)可以明文存儲。5.4 低功耗設(shè)計考量電池供電的工業(yè)傳感器功耗是核心指標。MR25H40CDF 的待機電流典型值 10uA寫入時峰值電流 15mA讀取時 5mA。STM32F334R8 在 Stop 模式下 1uA 左右。如果系統(tǒng)大部分時間在休眠MRAM 的待機功耗可以忽略。但要注意 CS 引腳的狀態(tài)CS 拉高時芯片進入待機拉低時即使沒有時鐘也在耗電。所以休眠前一定要把 CS 拉高。寫入策略上不要頻繁喚醒寫 MRAM。可以攢一批數(shù)據(jù)喚醒后一次性寫入然后繼續(xù)休眠。MRAM 的寫入速度快喚醒時間短整體功耗比 Flash 方案低因為 Flash 擦除要等很久MCU 得一直醒著。實測一個數(shù)據(jù)記錄儀方案每 10 分鐘喚醒一次采集 1KB 數(shù)據(jù)寫入 MRAM然后休眠。平均功耗 50uA 左右兩節(jié) AA 電池能用兩年以上。如果換成 Flash擦除等待會讓平均功耗翻倍。6. 調(diào)試工具與實戰(zhàn)技巧6.1 邏輯分析儀抓包要點調(diào) SPI 器件邏輯分析儀是必備工具。我用的是 Saleae Logic 88 通道100MS/s 采樣率抓 36MHz SPI 夠用。抓包時注意幾點第一采樣率至少是 SPI 時鐘的 4 倍36MHz SPI 需要 144MS/s 以上Logic 8 的 100MS/s 在 36MHz 下只能看到大概波形細節(jié)可能失真。如果條件允許用 Logic Pro 16500MS/s能看清每個邊沿。第二觸發(fā)條件設(shè)成 CS 下降沿這樣每次命令都能抓到。解碼器選 SPI配置 CPOL0、CPHA0、MSB First位序和 MCU 配置一致。第三看波形時重點檢查 CS 和 SCK 的關(guān)系。CS 拉低后第一個 SCK 邊沿之前MOSI 應(yīng)該已經(jīng)穩(wěn)定。如果 MOSI 變化和 SCK 邊沿太近可能是 GPIO 速度不夠或者代碼里操作順序有問題。6.2 用 J-Link 調(diào)試 MRAM 讀寫J-Link 不僅能燒錄 STM32還能通過 RTTReal Time Transfer輸出調(diào)試信息。我在 MRAM 驅(qū)動里加一些 RTT 打印實時看讀寫地址和數(shù)據(jù)比串口方便不占用 UART 資源。#include SEGGER_RTT.h SEGGER_RTT_printf(0, MRAM write addr0x%05X len%d\n, addr, len);如果懷疑某個地址的數(shù)據(jù)不對可以用 J-Link 的 Memory Browser 直接看 MCU 內(nèi)存里的緩沖區(qū)對比 MRAM 讀回的數(shù)據(jù)。J-Link 還能測 SPI 傳輸耗時在傳輸前后讀 DWT-CYCCNT算出實際時鐘周期數(shù)驗證 SPI 速率是否符合預(yù)期。6.3 批量生產(chǎn)時的測試方案產(chǎn)品量產(chǎn)時每塊板子都要測 MRAM。手動跑測試函數(shù)太慢我一般做一個自動化測試工裝MCU 上電后進入測試模式通過 UART 接收命令PC 端發(fā)指令跑全片讀寫測試返回 PASS 或 FAIL。測試內(nèi)容至少包括芯片 ID 讀取如果有、全片寫入遞增模式、全片讀取校驗、邊界地址測試0x00000、0x7FFFF、跨頁寫入測試。測試時間控制在 5 秒以內(nèi)產(chǎn)線能接受。如果發(fā)現(xiàn)不良品記錄故障地址和現(xiàn)象方便分析是焊接問題還是芯片問題。常見的不良是 CS 虛焊、MISO 和 MOSI 接反、電源濾波電容漏貼。這些在目檢時不容易發(fā)現(xiàn)但測試能抓出來。6.4 長期運行的數(shù)據(jù)可靠性驗證工業(yè)設(shè)備可能連續(xù)運行幾年MRAM 的數(shù)據(jù)保持能力需要驗證。我做過一個加速測試在 85°C 環(huán)境下連續(xù)寫入 100 萬次然后讀取校驗沒有出現(xiàn)錯誤。Everspin 的 datasheet 標稱 10^14 次實際使用中基本不用擔(dān)心壽命。但數(shù)據(jù)保持方面高溫會加速磁性退化。如果設(shè)備工作在高溫環(huán)境建議定期比如每月做一次數(shù)據(jù)巡檢讀出來校驗 CRC發(fā)現(xiàn)錯誤就用備份恢復(fù)。這個邏輯可以放在系統(tǒng)空閑任務(wù)里不影響正常功能。另外MRAM 對強磁場敏感。如果設(shè)備附近有電機、繼電器或者大電流走線MRAM 要遠離這些干擾源或者加磁屏蔽。實測中距離 10cm 以上的繼電器動作對 MRAM 沒有影響但如果貼著放寫入時可能出現(xiàn)位翻轉(zhuǎn)。7. 個人實操體會與建議這個方案我從 2021 年開始在幾個工業(yè)項目里用累計出貨幾千臺現(xiàn)場反饋很穩(wěn)。最大的感受是MRAM 的“寫入即持久”特性讓掉電保護邏輯簡化了至少一半。以前用 Flash 的時候要設(shè)計雙備份、寫前擦除、掉電檢測、恢復(fù)流程代碼量大且容易出 bug。換成 MRAM 后寫入就是寫入掉電就掉電數(shù)據(jù)不會丟省心很多。選型上MR25H40CDF 的 4Mbit 容量在參數(shù)存儲場景夠用但如果要存大量日志建議選更大容量的型號比如 MR25H256256Kbit或者 MR4A16B16Mbit 并口。SPI 接口的 MRAM 目前最大到 4Mbit再大就要用并口或者換其他技術(shù)路線。驅(qū)動開發(fā)上我建議先把底層讀寫調(diào)通用邏輯分析儀確認時序正確再往上搭數(shù)據(jù)結(jié)構(gòu)和應(yīng)用邏輯。很多人一上來就寫復(fù)雜的存儲管理結(jié)果底層有問題查半天查不出來。分層調(diào)試逐層驗證效率最高。最后分享一個小技巧MRAM 的 CS 引腳上拉一個 10k 電阻到 3.3V防止 MCU 復(fù)位期間 CS 浮空導(dǎo)致誤操作。雖然 MRAM 寫入需要 WREN誤觸發(fā)的概率很低但加上拉電阻成本幾乎為零能提高可靠性。我在早期版本上沒加后來有一次現(xiàn)場設(shè)備頻繁復(fù)位懷疑是 CS 干擾加上拉后問題消失。這種細節(jié)datasheet 上不會寫但實際項目中很關(guān)鍵。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美性色视频| 国产精品操| 五月丁香好婷婷A片网 | 久婷婷视平| 丁香五月综合在线视频| 99超在线| 爆乳熟妇一区二区三区爆乳照片| 影音先锋AV资源男人站| 精品无码久久久久久久久| 开心激情播播五月天| 色五月丁香五月| 女人被躁到高潮嗷嗷叫小| 婷婷金品综合视频| 99re26视频| 激情伊人网| 99操| 五月丁香色婷婷久久| 欧美久久五月婷婷| 天天干夜夜操A片| 夜夜爱爱亚洲| 五月色婷丁香| 无码人妻一区二区一牛影视| 国产午夜精品一区二区三区四区 | 少妇日麻屄| 天堂网啪啪| 午夜69成人做爰视频| 色综合激情| 深爱丁香网| 色婷婷色九月| 综合激情在线| 9l视频自拍九色9l黑人| 激情综合网婷婷五夜| 六月婷婷色综合| WWW,五月| 五月丁香成人网| 国产片色| 只有久久精品免费| 国产精品久久久60086| 9l视频自拍9l九色成人| 91九色精品女同系列| 变态另类色图 | 麻豆AV一区二区三区| 色综合久久综合中文综合网| 久99热在线观看| 婷婷激情五月天小说校园| 96人人操人人操人人| 婷婷99热| 色情性爱视频网址| 天天爱天天日| 天天色伊人| 第四色色六月色综合| 色色五月天丁香婷婷| 久久免费精彩视频| 日日日日操| 六月丁香五月激情网| 综合五月草| 婷婷激情四射| 九九视频在线观看| 久久与婷婷| 色99视频| www.超碰在线| 久久婷婷六月综合综合| 国产69久久久欧美黑人A片 | 丁香五月综合| 91九九| 久久久久久久久99精品| 超碰chaompinm| 色婷婷婷综合五月天| 婷婷五月在线免费| 99在线视频播放| 久久婷婷东京热大香樵| 婷婷伊人久久无码色五月| 99久久人妻精品无码二区| 五月天社区| 99精品色色| 久久aaa| 99热99日…..| 五月婷婷丁香瑟瑟视频| 另类图片五月天婷婷| 婷婷丁香水多多视频| 色五月激情五月丁香五月婷婷啪啪综合| 色99热| 九九色热| 亚洲第一精品网站| 99热亚洲| 天堂中文国产| 国产一级片色色| 激情综合网五月天天| 2018夜夜草| 五月丁香大香蕉| 99色综合网| 五月婷婷六月丁香激情| 五月丁香成人| 婷婷在线中文字幕| 少妇性按摩无码中文A片| 天天色五月婷婷91久久久久久久| 国产精品成人AV在线| 五月天激情四射| 五月色丁香国产在线视频| 中字幕视频在线永久在线观看免费| 欧美经典片免费观看大全| 色.五月综合网| 午夜福利成人AV91| 思思视频久久| 色5月丁香婷婷| 色色色色色色色色网站| 中文在线视频久9| 五月婷婷啪啪啪| 2050人人操免费工开爱| 99色在线视频| http://www.com久久久精品一区| 成人在线日韩欧美| 天天日人人爽| 婷婷金品综合视频| 色噜久| 超碰人妻在线| 深夜A片| 综合久久综合久久| 99视频啪啪| 丁香六月啪| 激情伊人五月婷婷久久| 91蜜桃婷婷狠狠久久综合9色| 国产精产国品一二三在观看| 五月婷婷色影院| 六月婷婷无码观看| 日本99视频| 99日韩网站| WWW.桔色成人.COM| 91综合视频丁香| 久热九九| 久碰婷婷视频| 岛国资源站| 久久久er热| 色色a| 少妇性BBB搡BBB爽爽爽电影| 色99视频| 99re免费精品视频| 99热99日天天干| 久久九九怡红院| 少妇搡BBBB搡BBB搡毛茸茸 | 丁香婷婷综合影院| 五月丁香六月合| 国产精品久久久久久白浆色欲| 久久综合九色综合97婷婷| 操碰99| 婷婷五月天综合中文| 婷婷五月花| 婷婷9月天| 天天爽天天爽天天爽天天爽天天爽天天爽天天 | 久色五月婷婷综合| 欧美黑人巨大性生话| 国产97色在线 | 日韩| 丁香五月在线观看综合| 国产精品国产成人国产三级| 99热在线精品播放| 久99热在线观看| 9色小视频在线观看| 天天综合五月| 三级黄色大片视频| 91碰人人| 翔田千里无码| 在线不卡AC| 人人摸人人搞| 麻豆精品| 丁香激情五月天| 婷婷丁香成人色综合| 久热精品视频在线观| 美国十月色婷婷在线观看| 日韩黄色中文字幕| 9久热这里只有精品| 少妇性BBB搡BBB爽爽爽电影| 99色热视频| 久热9| 欧洲99视频在线| 婷婷伊人中文字幕| 六月丁香婷婷五月天| 五月婷婷深深爱| 五月婷婷六月丁香首页| 九九成人视频| 色婷婷中文在线| 操操国产| 99色综合网| 六月丁香啪啪啪| 99re热视频这里只有综合亚洲| 婷婷五月综激情| 99国产这里只有精品| 色婷婷av综合网| 天天色综合综合| 97碰碰九九视频| 都市激情小说婷婷| 啪精品| 五月婷丁香| 伊人大香蕉在线视频| 天天做夜夜爽| 日韩色色网| 欧美性猛交 XXXX 乱大交| 色综合久久五月| 免费无码毛片一区二区A片| 免费99情趣网视频| 色婷婷小视频| 亚洲综合视频网| 伊人久久大香网| 五月丁香色色网| 五月婷丁香| 九九色精品| 五月婷婷香蕉| 9久久久| 日本久久精品18| 丁香六月色婷婷| sewuyuejiqingwang| 五月天综合在线网| 玖玖爱综合网| 色一情一乱一乱91Av| 色婷婷操逼| 欧美va精品va老师va| 色婷婷五月天| 日日干天天| 久久五月婷| 婷婷五月天激情网| 国产精品色婷婷久久久精品| 婷婷色五月激情| 夜夜嗨一区二区三区直播内容| 婷婷五月天首页| 五月婷婷,六月婷婷| 色综合九九色综合88| 2015好吊操| 天天色情站| 九九热在线99| 五月婷婷开心爱| 超碰免费电影| 欧美肉大捧一进一出免费视频| 亚洲最大视频网站| 六月婷婷综合| 深爱五月天| 婷婷国产日本欧美| 91色涩| 夜夜穞天天穞狠狠穞AV美女按摩| 狠狠爱激情网| 色激情五月| 色五月婷婷中文字幕| 伊人在线大香蕉网| www.色婷婷.com| 婷婷淫淫狠狠六月| 99热这里只是精品| 婷婷,五月天,丁香,第一| 五月天婷婷偷拍| 日本五月婷| 久久成人人妻| 久久久精久人妻| 九九性爱网| caobi四区| 97操操| 成人短视频在线免费观看| 欧美五月停| 99热这里| 欧美日韩成人h| Av狠狠色丁香婷| 双性美人被调教到喷水A片| 婷婷开心激情| 亚洲中文字幕在线观看| 久久久国产精品黄毛片| 一本色道久久综合狠狠躁一二三| 色婷婷播放| 91狼友视频在线观看| 国产肥白大熟妇BBBB视频| 九九色逼| 久久丁香综合香蕉| 超碰成人AV| 色玖玖玖| 99热啪啪| 五月天国产成人| 七七九九色色| 天天干天天干天天干天天干天天干天天| WWW,五月天| 97人人干人人操| 伊人香大香蕉视频| 99九九免费精品| 色色网91| 婷综合| 亚洲AV综合在线观看| 91九色 婷婷| 久久久8| 五月丁香婷婷在线| 99小精品| 日韩色色视频www| 亚洲欧洲自拍图片专区五月天| 九九这里只这里只有精品| 五月天婷婷久久日| 亚洲色小说在线综合| 五月丁香激情综合六月涩涩爱| 欧美在线骚货| 26uuu欧美日本| 久久狠狠干| 婷婷五月av| 色吧综合网| 亚洲经典三级| 女人天堂久久| 成人婷婷桔色| 日日夜夜综合| 新97人人上人人| 日本婷婷| 人人操操97| 久久人人九| 婷婷丁香五月91| 九九热10| 六月丁香好婷婷| 在线观看婷婷5月| 色色激情| 五月天丁香看婷婷| 亚洲色激婷| 久久久久婷| 色五月网址| 婷婷 激情 五月| 婷婷五月天激情文学| 久操婷婷| 欧在线一区| 成人在线综合| 丁香五月激情澎湃一区| 69精品无码一区二区三区| renrencaoni| 91日本在线观看| 久久婷婷六月综合资源| 一区二区免费看| 久久激情网| 国产91在线视频| 五月婷婷激情久久| 99热这里只有在线| 色色婷婷五月天| 中文字幕不卡视频| 九九热手机在线视频| 91大屁股精品| 1024成人免费看| 久久五月网| 六月丁香五月亭亭| 亚洲爆乳无码精品AAA片蜜桃| 欧美激情 日韩无码 婷婷 五月天| 国内一级精品| 精品久久艹| 亚洲精品视频在线| 综合久久综合| 国产成人+综合亚洲+天堂| 丁香六月天婷婷色| 久久婷婷六月综合资源| 99热国产免费| 9色视频在线| 操骚货在线| 中国女人做爰A片| www.99久| 五月婷婷六月天| www网站在线观看| 五月天久久www| 婷婷激情六月| 丁香五月婷婷久久综合激情网| 亚洲va欧美va天堂v国产综合| 久久精品99国产精品日本| 大香蕉久| 久久XX| 97婷婷在线| 五月天精品视频| 免费视频在线观看的网站| 五月天激情黄色小说在线观看| 天天爽夜夜爽夜夜爽精品视频| 爱久久小说下载网| 欧美综合五月丁香六月婷| 思思热视频在线| 激情综合五月激情XXXX| 日韩啪啪网| 另类视频综合| 天天操综合网| 丁香五月激情天AV无码| 亚洲精品又粗又大又爽A片| 五月婷亚洲精品AV天堂| A久久| 高清无码.com| 五月色综合| 亚洲综人色综网| 欧美日韩99| 亚洲中文字幕AV| 日日夜夜狠狠| 天天干夜夜b| 91久操| 亚洲综合网区| 国产AV一区二区三区最新精品| 开心五月激情站| 少妇性BBB搡BBB爽爽爽电影| 99热日韩| 激情久久久久久久久久久| 天天操天天插| 激情综合网之激情五月| 成人免费黄色短视频| 五月综合激情综合久| 色吊操色妞| 99热这里只有免费精品| 香蕉操亚洲| 26uuu精品一区二区| 色五开心五月五月深深爱| 婷婷丁香97| 九月丁香婷婷网| 中文人妻主播久久| 色婷婷亚洲婷婷| 色色五月天激情| 综合一本道| 青青草免费公开视频| 99热日韩| 亚洲在线资源| 色五月婷婷av| 丁香五月性| 久综合九| 久久综合婷婷五月| 9久热免费视频99| 色狠狠综合入口| 亚洲亚洲人成综合网络| 丁香六月色情| 成 人片 黄 色 大 片| 色情五月天视频网| 九九色逼| 九九久久精品| 丁香六月在线| ,99视频久久| 婷婷天堂综合| 99免费热在线精品| 色综合区| 久草婷婷| 日批在线看| 丁香五月天啪啪a日本| 精品热九九| 激情丁香五月激情婷婷| 色五月丁香com| 开心五月婷婷激情网| 乱精品一区字幕二区| 激情综合网五月天天| 激情文学综合婷婷五月天丁香花| 婷婷亚洲在线| 无码人妻一区二区一牛影视| 久久九九热视频| 日日噜噜久久婷婷五月天| 亚洲AV第二区国产精品| 五月婷婷与六月丁香图片激情| 九九精品热播| 婷婷丁香五月综合| 婷婷大美在线| 91久女| 五月丁香花婷婷玉莉AV| 综合精品99| 亚洲无码播放| 色丁香五月婷婷婷| 综合色、色综合| 能直接看的AV网站| 影音先锋 萱萱| 色99网站| 五月丁香无码| 九九在线精品| 久久精品66| 国产亚洲99久久| 任你操精品免费| 粉嫩av懂色av蜜臀av熟妇| 91丨九色丨熟女| 丁香五月a| 五月婷中文字幕| 大香蕉欧美在线| 九九色婷婷| 丁香婷婷少妇| 开心六月丁香五月婷婷| 99色婷婷| 日韩婷婷| 色激情综合狠狠婷婷| 久久小说| www色五月| 淫水导航| 开心婷婷五月天综合| 久久99精品久久久久久噜噜| 91婷婷| 黄色成人网站在线播放| 久久婷婷综合基地| 久久人人九| 色小说五月天| 91久久99久久91熟女精品| 亚洲婷婷激情888精品久| 久久婷婷六月综合综合| 亚洲俩性性爱图片久久第六页| 久久五月婷婷视频| 丁香五月六月综合欧美| 五月激情婷婷在线| 丁香五月综合在线播放| 亚洲VA欧美VA| 久久无码激情视频| 99热播放| 婷婷五月五月丁香| 日韩在线一级| 久久久精品人妻| 久久金品黃色| 9l视频自拍9l九色9l成人| 成人在线综合| 欧美激情中文字幕| 伊人五月天在线| 91传媒无码人妻精| 久久成人综合五月天| 五月丁香婷婷激激激综合网色播| 五月丁香六月婷婷免费视频| 99热9999| 26uuu国产精品| 婷婷五月综合啪| 国产色99| 五月丁香另类图片| 99综合自拍| 五月丁香另类图片| 伊人色五月| 激情小说五月天| 抽插特写| 六月99天天婷婷激情综合| 思思热国产视频| 久久激情婷婷| 九九色影视| 五月停停直播| 思思热视频在线观看| 国产色网站| 四色AVwww| 五月天综合网| 久久婷婷五月天| 婷婷操逼| 超级碰碰视频无码| 久久永久网址| 五月婷婷AV| 亚洲综合视频网| 丁香婷婷五月香蕉91| 久久婷婷夜| 九九九九中文字幕| ri电影在线| 九色无码| 亚洲春色奇米影视| 成人中文网| 91久久久久久久久久| 日韩aⅴ视频| 91狠狠色色丁香婷婷综合久久| 婷婷亚洲天堂| 亚洲区,视频区,视频区免费| 啪啪小说五月天| 另类视频一区| 极品少妇婷婷五月| 第二色AⅤ| 亚洲啪啪视频| 久久久九九九 99| 天干天天干天天天天天| www.99婷婷| 婷婷视频在线碰| 亚洲乱码日产精品BD在线观看| 伊人久久大香蕉网| 操人91| 色色狼人综合| 五月天网站免费欧美| 99国产精品白浆在线观看免费| 丁香五月最新网址| 国产操碰| 九九婷婷五月天影视| 人人摸人人搞| 欧美婷婷| 久久久久久久久99精品| 思思re视频在线| 五月天综合在线观看| 日日操天天操| 色综合婷婷| 丁香五月婷婷基地| 色色色地址| 超碰九九热| 五月丁香黄色视频| 精品人妻伦一二三区久久| 亚洲字幕AV一区二区三区四区| 婷婷五月天黄色| 久久99热这里只有精品| caop视频| 热99视频| 在线观看免费观看在线9久| 这里只有精品偷拍| 精品一二三区久久AAA片| 九月丁香婷婷| 99色婷婷| 婷婷五月天最新综合你懂的 | 久久色情| 国产成人精品一区二三区熟女在线| 国产激情在线| 五月天成人综合| 五月丁香婷婷啪啪综合| 日日爽夜夜爽| 五月天丁香久久| 久草热视频在线观看| www,奇米影视| 日本成人小说婷婷六月| www.99.色| 情趣视频66| 婷婷五月丁香国产| 亚洲色视频| 青青艹b| 桃色五月天| 日韩欧美一道四区中文字幕| 站长推荐无码播放| 先锋资源婷婷| A久久| 亚洲精品午夜国产va久久成人| 123日本不卡在线| 这里只有精品免费视频在线观看| 九九激情| 五月天婷婷色| 六月伊人婷婷| 996热re视频在线观看视频| 99婷婷国产最新视频| 99热99在线| 狠狠色综合网| AAA亚洲AV| 日韩在线视频中文字幕| 日韩人妻无码专区| 五月停停丁香| 色五月天丁香婷婷| 婷婷情色开心五月天99| 狠狠干,狠狠操| 4438亚洲欧美| 9久热在线视频精品| 午夜大香蕉| 青柠影视免费高清电视剧| 五月天婷婷在线观看精品男人| 99热在线极品极品| 日本五月婷婷| 天天色·欧美| 激情图片久久| 97精品人人A片免费看| 婷婷视频在线| 人妻熟妇国产精品| 1囯产午夜仑鲁鲁| 色噜噜综合网| www色五月天| 五月丁香激情啪啪| 97色综合| 亭亭玉月丁香| 激情校园 亚洲| 99乱视频| 五月天丁香久久综合| 激情婷婷五月亚洲| 超碰在线国产9| 国产肥白大熟妇BBBB视频| 亚洲激情婷婷| 五月丁综合在线观看| 激情五月婷婷视频一区二区三区| 无码AV免费精品一区二区三区| 91婷婷五月天嫩女| 好激情在线综合网| 五月香蕉综合| 欧美视频五区| 国产免费av在线| 日本啪啪视频HD| 婷婷五月激情欧美| 另类激情首页| 丁香婷婷久久老熟女综合网| 91超级碰碰碰| 超级碰碰碰碰视频| 91九色成人原创视频| 五月天激情无码| 亚洲丁香婷婷五月天综合色| 99在线69| 丁香密臀AV激情网| 丁香婷婷五月天成人| 免费视频WWW在线观看网站| 色综合综合色| 色99日韩| 激情小说五月天| 人人草人人看| 色五月丁香五月天| 色小说婷婷五月天天天| 99热20| 五月色婷婷中文字幕| 久热99久热| 久久99网| 亚洲精品第一国产综合亚AV | 久久九九99| 色色com| 婷婷五月天精品| 狠狠色丁香婷婷久久综合| 婷婷天堂伊人| 九一牛视频探花| 久久久久久久久18久久| 色色五月婷婷网| 91精品久久久久久久久久| 99热| 亚洲精品视频电影| 在线成人网址| 狠狠爱综合网| 久久538| 色九月婷婷| 婷婷五月色| 天天日天天舔| 这里只有精品96| 国产无遮挡又黄又爽免费网站| 99热这里是精品| 专区无日本视频高清8| 99视频只有这里精品| 丁香五月天啪啪激情综合网| 日本视频不卡123区| 任你搞网站| 人人操日| 久久怕怕视频| 亚洲看av的网站| 亚洲 在线 性爱| 丁香六月天婷婷开心综合| 色婷婷狠狠18| 99在线资源| 五月丁香色色网| 免费观看全黄做爰的视频| 91色性感五月婷婷丁香| 亚洲成人中文字幕| jiujiu热在线视频| 99热在线里有精品| 可以免费看AV网站| 91偷拍视频| 日本综合久久| 黄色高清无码| 六月婷婷综合| 狠狠草婷婷| 五月草影视| 亚洲第一黄网| 国产成人片| 国产91在线视频| 狠狠做深爱婷婷久久综合一区| 99综合视频| 午夜亚洲AV日韩无码| 蜜桃婷婷狠狠久久综合| 操操操www.com| 日韩色情亚洲五月天婷婷| 五月婷婷五月天激情网| 国产激情久久久| 四色五月婷婷| 色五月激情网| 五月丁香六月综合基地| 婷婷亚洲综合| 亚洲欧洲另类图片| 色婷网| 婷婷色丁香五月| 99视频网址| AA片在线观看视频在线播放| 99在线热视频| 能看的av片| 五月天久久综合| 婷婷丁香五月在线播放| 99色亚洲| 婷婷亚洲久久| 丁香五月成人论坛| 在线另类视频| 色射7856五月天激情四射| 操97| 这里只有精品免费视频| 国自产拍偷拍精品啪啪一区二区| 色婷婷91| 青青福利网| www99热| 五月丁香色综合| 大地9中文在线观看免费高清| 99碰网站| 天天色天天爱天天爱天天爱y| 天天干,夜夜爽| 亚洲AV综合网| 怡红院视频| 国产精品99久久久久久久女警| www.99婷婷| www.精品99| 婷婷丁香色无五月| 182tv992tv人之初午夜免费观看| 丁香蜜臀黄色婷婷五月天| 丁香五月天综合| 丁香97综合| 思思w99| 另类在线| 日本人妻丁香婷婷久久寝取熟女五月| 91爱操| 色婷插| 热这里| 嫩草AV久久伊人妇女超级A| 97自拍视频在线| 色婷婷超碰| 9色免费网| 六月丁香社区| 中文字幕丰满孑伦无码专区| 色噜噜狠狠色综合AV兰草影视| 久久婷婷91| 亚洲av无码精品色午夜| 99视频在线精品免费观看2| 99精彩视频在线观看| 人人爽人人爽人人爽人人爽| 丁香婷婷激情| 激情五月第四色| 五月天婷婷小说| 亚洲亚洲人成综合网络| 26uuuu精品一区二区| 北京熟妇搡BBBB搡BBBB| AV中文在线| 99精品自拍视频| 91久久久久久久久18| 色激情五月天| 这里只有精品99视频| 中文av网站| 99热 免费| 99自拍视频| 亚洲色情一区二区三区四区| 国产肥白大熟妇BBBB视频| 午夜理论片最新午夜理论剧| 久热免费视频| 婷婷丁香五月天狠狠| 久久资源综合| 天天噜| 人妻AV在线| 色色婷婷五月天| 深爱网深爱综合网| 99草在线免费观看视频| 亚洲婷婷欧美婷婷| h在线看免费版在线看| 97色色色色色色色色色色色色色| 国自产拍偷拍精品啪啪一区二区| 婷婷五月天美女| 五月天婷婷色播综合在线| 五月丁香六月婷婷网站| www.97碰碰com| 婷婷五月丁香香蕉| 99色在线视频| 五月色婷婷综合丁香精品无遮挡| 日韩丁香涩| 五月天婷婷乱论小说| 天天爽在线视频| 中文字幕丰满孑伦无码专区| 丁香六月婷婷综合啪啪| 综合色图区| 亚洲乱码日产精品BD| 综合久久五月天| AV操逼网| 久久在线视频免费观看| 日本色视| 开心五月激情网| 玖玖热视频| 伊人深爱综合| 丁香五月在线自慰| 婷婷五月激情基地| 成人一级片| 天天草婷婷五月| 六月婷婷九月丁香| 午夜性做爰电影| 日本操逼九九九九58日本操逼| 一本久道综合99| 成人无码髙潮喷水A片| 五月天啪啪啪| 26uuu国产色| 一级韩国产精品毛| 婷婷性爱| 97碰碰视频| 丁香五月天啪啪激情综合网| 猫咪伊人久久| 丁香婷婷五月色综合| 丁香五月 六月婷婷首页| 99久久.www| 亚洲乱码日产精品BD在线观看| 狠狠五月激情丁香六月| 操99| 综合激情专区| 99在线精品免费视频| 狠狠色色| 婷婷五月天电影网| 五月的婷婷六月丁香| 久99久视频| 日本玖玖在线| 成人看片网站| 色色色色色色色色色色色色色97| 婷婷六月婷婷| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 日韩草草草草草草草草草草草草| 亚洲欧洲小视频9| 人妻丰满精品一区二区A片| 超碰97干| WWW、日本色丁香、co m| 99久久婷婷国产综合| 99ri在线视频| 美女天天爽| 天天操综合网站| 狠狠va| 97超碰综合| 91视频精品99| 五月香蕉网| 婷婷综合玖玖五月| 校花娇喘呻吟校长陈若雪视频| 操97| 99久视频| 视频一二区| 五月天伊人久久久久| 狠狠狠狠狠操| 亚洲精品乱码久久久久99| 五月天色导航婷婷资源婷婷| 97人人爱人人操| 激情久久 婷婷| www久久久久久久| 1024国产在线| 色婷婷丁香AV综合| 九九精品综合| 丁香五月激情月| www.婷婷网| 91狠狠色丁香婷婷综合久久精品| 99熟女| 99在线观看视频| 伊人狠狠丁香婷婷综合尤物| 综合久久久婷| 日韩AV无码影片| 热99在线精品| 久色视频| 中文成人在线| 97视频久久| 色久综合| 免费视频WWW在线观看网站| 国产精产国品一二三在观看| 春色激情| 久久婷婷五月天丁香| 久久久久久久,99精品视频| 久久九九思思| 亚洲不卡123| 亚洲AV第二区国产精品| 久久精品9| Se.婷婷五月天| 99热精品在线播放观看| 婷婷无码视频| 欧美成人网99网| 六月婷婷综合| 久久久久久久久久8888| 97在线观视频免费观看| 91美女艹逼网站| 99久久新视频| 天天爽在线视频| 婷婷六月爽| 丁香六月毛片| 五月激情在线| 天天日,天天插| 婷婷婷婷婷婷婷婷| 婷婷丁香花五月天| 色五月亚洲| 610018岁成人视频| 精品国产一区二区三区四区阿崩| 九 九九九AV| 九九热99视频在线| www。88热在线视频免费观看| 日在线V视频在线播放| 丁香婷婷视频在线| 五月丁香综合啪啪| 国产AV一区二区三区最新精品 | 伊综合蕉| 人人操人人爽成人AV| 五月丁香网av| 丁香婷婷婷五月| 超碰日日操| 国产乱人偷精品人妻A片| 在线色婷婷| 99re最新地址视频| 久久这里只有精品1| 97久久人人操| 天天日天天肏天天奸| 偷偷操99| www.色九月| 丁香五月在线人妻| 天天天久久人人人合| 强伦轩人妻一区二区电影| 97色碰| 99精品丰满| www激情| 色五月在线播放| 色五月天综合网| 色约约视频一区二区三区四区五区 | 久热中文字幕| 国产精品a无线| 亚洲综合婷婷五月| 亚洲久久婷婷| 亚洲黄色影视| 另类丁香综合| 99热国产在线| 成片免费观看视频大全| 久9精品视频| 开心五月婷婷在线视频免费观看| 夜夜夜夜夜操| 五月天婷婷丁香人人操91| 开心五月六月婷婷| 99热在线精品观看| 97超喷视频在线观看| 色。 日日日| 操逼福利视频| 可以看的AV| 亚洲无码www| 视色综合| 五月五婷婷| 久久精品A片777777| 免费看欧美成人A片无码| 99五月婷| 亭亭五月色男人| www.色五月| 国内裸舞二区| 超碰免费99| 国产黄色av| 噜噜噜噜在线| 天天日天天操心| 天天爽人人综合免费7799| 久久总和99| 亚洲 成人 电影av在线观看| 99九九久久| 69精品人人人人| 色婷婷A| 久久99综合网| 色婷婷性爱| WWW.婷婷| 婷婷六久久| 婷婷五月深深爱| 天天日中文| 新激情五月开心五月婷婷五月丁香五月| 亚洲日日日| 97人人操人人干| 丁香婷婷色九月| 九九色之九九色之88| 九九在线这里只有精品视频| 国产91资源在线| 五月天黄色激情小说| 日本精品人妻无码77777| 千人斩操逼| 99ER热精品视频| 综合狠狠干| 少妇性按摩无码中文A片| 思思热99er在线视频| 婷婷五月色天| 婷婷基地成人五月天| 另类图片五月天| 天天成人综合| 国产亚洲精品久久久久久久久动漫 | 99爱欧美| 亚洲性爱AV在线| 99精品视频在线| 六月丁香五月激情亚洲AV| 亚洲激情六月| 91九色丨国产丨爆乳| 久久婷.com| 超级黄色片| 99er这里只有精品视频| 五月婷婷色综图片| 午夜婷婷丁香| 日韩 欧美 国产 一区 二区| 亚洲美女高潮久久久久久69| 91精品综合久久久久久五月丁香| 狠狠香婷婷五月| 婷婷91| 亚洲国产成人裸舞| 日韩狠狠色婷婷| 中文网AV| 日本色婷婷| 色婷婷丁香六月| 激情五月天婷婷| 性爱综合网| 欧美婷婷丁香社区在线播放| 亚洲色图啪啪| 大香蕉网 久久| 五月丁香亭亭操逼| 丁香五月23111| 人人人操97| 五月婷婷色情| 婷婷激情综合| 98色丁香五月婷婷综合网| 九九热99精品| 激情五月天婷婷久久久久久久久久久| 九九AV在线| 中文字幕日韩成人| 在线不卡的视频| 综合激情四射一theav| 伊人久久丁香五月91| 五月婷婷久久爱| 五月丁香婷婷激情| 最新激情五月天| 色五月综合在线| 天天干天天操天天爽| 九九操屄| 天天色视频| 久热99| 94干大香蕉| 天天成人丁香美女AV| 91久久久久久久久18| 色香欲综合| 全部老头和老太XXXXX| 天天艹天天色| 无码少妇高潮喷水A片免费| 人妻精品久久久久久久| 99a级片| www.99热在线观看| 国产亚洲av片| 99热婷婷| 深爱激情综合网| oumeisesewang| 久久青草国| 免费视频这里只有精品| 五月婷婷日| 午夜精品久久久久久久爽| 婷婷五月天情色| 丁香花五月天| 夜夜久久综合网| 亚洲99热| 九九这里都是精品| 五月丁香色婷婷久久| 开心五月婷婷激情网| 色欲人妻综合aaaaaaaa网| 综合99在线| 欧美三级巜人妻互换| 婷婷伊人綜合中文字幕| 伊人五月天| 99热国产在| www.日本久久videos| 精品九九久久| 天天干一干| 亚洲99热| av在线免费网站 | 五月综合缴情网| 蜜臀A∨在线水帘洞| 久久精品五月天| 人人操操| 丁香五月天日韩无码| 三男玩一女三A片| 五月天综合在线| www.五月丁香| 婷婷亚洲五| av网址在线| 婷婷月综合| 99热在线爱| 激情丁香五月AV| 九九爱激情| 香蕉人妻AV久久久久天天| 久久综合婷婷| 丁香婷婷色五月| 99热主页日本| 超碰九九热| 六月婷婷五月天| 日本久久综合| 激情婷婷五月综合| 五月婷婷色色网址| 99精品女人天堂| 色五月天 丁香| 99久久欧美| 国产欧美日韩综合精品一区二区| 99操| 婷婷综合五月天| 婷婷视频网| 99热99色| 精品欧美一区二区三区久久久| 色婷婷久久| 欧美激情综合色综合啪啪五月| 这里只有精品视频在线| 天天射影院| 亚洲情综合五月天| 六月成人网| 五月总合激情网| 久久精典| 天天爽夜夜操| 欧美日本综合网| 五月天激情四射| 26uuu视频欧美| 色婷婷婷av | 久久九九99视频| 中文字幕操比影片| 综合九九日本| 激情久久丁香| 久久色情| 天天插天天玩天天干| 欧洲亚洲免费视频区| 婷丁香五月天| 狠狠五月激情丁香六月| 久久538| 精品人人操| 天天综合网站| 淫五月停停| 9热在线观看| 97色久| 深爱激情九九五月天| 操丝袜视频影院导航| 激情五月婷婷在线观看| 久久ab| 国产成人精品一区二三区熟女在线 | 激情丁香五月| 亚洲成av人影院| 丁香五月婷婷国产av| 殴美日韩成人| 精品无码av丁香五月激情| 另类图片五月天婷婷| 性生活久久人妻| 五月丁香六月婷婷欧美综合| 日本精品99| 欧美成人精品三区综合A片| 九热视频在线伦| 亚洲永久免费| \\五月天婷婷激情| 99精品网| 婷婷五月天av| 丁香五月色色婷| 成人短视频免费| 性爱网久久| 九九热视| 五月色影院| 1024在线观看免费视频| 五月丁香六月婷婷啪啪| 伊人久久婷婷五月天激情四射| 色五月婷婷小说亚洲中文字幕组| 九九操操| 91女人18毛片水多国产| 久草视频一,二三四| 色射婷婷五月天| 五月婷六月| 五月停停99| 丁香六月 婷婷六月| 欧美成人网99网| 精品亚洲国产成AV人片传媒| 色婷婷五月成人网| 丁香六月婷婷高清| 日本久久婷| 香蕉久日夜| 婷婷五月天中文字幕.| 亚洲色婷婷视频| 在线日韩视频| www.久久综合| 天天开心AV色综合婷婷五月天| 久久伊人婷婷| 亚洲第一成人无码A片| 最新婷婷五月丁香| 激情com| 26uuu日韩| 久cao香蕉影院| 91人人操人人爱| 六月婷婷久久大全| 激情性爱五月| www,婷婷,com| site:xmssd.com| 丁香五月六月综合欧美| 丁香五月天堂婷婷| 超级黄色片| 五月天色视频| 在线看的免费网站| 久久激情网| 激情人妻综合| g00d人体西西| 五月天基地| 色吧婷婷五月亚洲| 91久久免费| 亚洲精品激情| 国产av天天插天天操天天爽| 久久这里这里有精品免费视频| AV成人在线播放| 色噜噜狠狠色综无码久久合欧美| 97精品在线| 亚洲欧洲午夜成人精品av| 亚洲av另类在线观看| 六月婷婷狠狠做| 熟女人妻视频| 婷婷五月电影院| 看片视频在线免费日产在线看| www.99热| 久久久久久综合88| www五月天激情com| 色色com| 婷婷第一页| 丁香五月综合AV在线| 日本91在线播放| 久久午夜理论| 99热网站| 丁香激惜男女| 99综合| 26uuu四色| 另类在线| 色婷婷成人在线| 久久五月综合|