欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,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
返回資訊列表
国产激情综合五月久久| 国产午夜精品AV一区二区麻豆| 色色五月丁香婷婷| 色级婷婷| 狠狠ri| 色五月丁香网| 天天色天天舔天天爱天天爽| 久久er免费视频| 色色婷婷综合| 精品一区二区三区四区五区六区| 99日本黄站| 五月天久久婷婷婷| 日韩狠狠色婷婷| 99国产性感视频| 五月丁香久| 丁香六月天婷婷色| 99网| 91丨九色丨东北熟女| 婷婷五月天激情基地| 91婷婷丁香| 五月婷综合| 欧美色色色色色| 色99网站| 26uuu亚洲| 色五月天综合| 79成人网| 久久一二三视频| 大香蕉九九| 伊人久热91| 六月五月天婷婷涩播在线| 中文字幕av久久爽一区| 色色丁香| 99精品久久| XX久久| 激情五月天伊人影院| 婷婷五月天AV网| AV动漫不卡无码免费| 超碰亚洲欧美| 99资源在线| 第四色首页| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 夜夜爽天天干| 婷婷亚洲综合| 99精品国产在热久久| 久久婷婷五月天| 97操碰在线视频| 五月天婷婷激情在线色图| 我爱va亚洲va52| 激情深愛五月視頻| 欧美色欲色欲天天天www| 五月丁香婷成人网| 婷婷情色激情| 黄色成人网站在线播放| 在线日韩视频| 欧美日韩婷婷五月天| 国产FREESEXVIDEOS性中国 | 99这里| 五月丁香婷婷基地| 国产乱人偷精品人妻A片| 狠狠草狠狠草| 国产精品91抖高| 风流少妇A片一区二区蜜桃| 青青草视频免费观看| 色玖玖| 五月天色社区| WWW.HENHENL.| 操碰91| 激情综合网丁香| 99久久a线观| 天天草天天爽| 久久密臀婷婷| 九月丁香婷婷| 激情综合网 激情五月天| 色色色色色网站| 丁香色五月婷婷| 激情五月五月婷婷| 成功精品影院| 9久久久| 天天狠狠婷婷在线| 婷婷色五月在线视频| 激情五月天天狠狠久久| 免费看欧美成人A片无码| 亚洲av另类在线观看| 亚洲成人精品三区| 插插插丁香五月婷婷| 丁香五月天婷婷中文| 激情网综合| 亚洲网站999| a久久| 五月开心播播网| 亚洲av午夜精品一区二区| 玖玖爱伊人| 久久成人精品视频| 成年人丁香五月| 影音先锋秋秋五月婷婷| 伊人丁香六月婷婷| 无码人妻电影| 射久久丁香五月| 67194国产| 精品三区影院| 精品亚洲国产成AV人片传媒| 五月天开心色情网| 五月婷婷69| 天天影院色| 综合久久综合五月天婷婷| 五月天久久综合| 婷婷五月天综合蜜桃| 丁香五月天论坛| 久热这里只有精品6| 伊人狼人干| 久久久香| 天天操婷婷| 香蕉97碰碰碰欧美| 五月天婷婷色播综合在线| 99精品热| 六月综合婷婷开心伊人| 色五狠狠| 亚洲精品a成人在线播放| 色色色在线观看| 五月丁香亚洲五月| 婷婷综合视频| 性色播| 九九99热| 五月天婷婷社区久久综合| 涩涩婷婷五月| 丰满少妇乱A片无码| 久大香蕉| 9有码中文| 影音先锋激情网| www.99热这里只有精品| 丁香综合婷婷开心激情网| 色99网站| 色欲婷婷五月天丁香| 日本成人小说婷婷六月| 99久久婷婷综合| 涩涩涩婷婷| 色情五月综合婷婷| www.国产亚洲69ty.久久久久久久久久久久 | 亚洲成人av在线播放| 伊久大香蕉| 情欲综合网| 久久人人妻| 日韩操逼大片| 九月丁香婷婷| 丁香六月天婷婷在线| 亚洲色五月| 色原狠狠综合| 丁香五月欧美激情| 婷婷久久网| 91婷婷在线| 任你擦免费视频| 99热在线观看免费精品| 九九色院| 亚洲热久久| 丁香激情网| 91色逼| 99久久97久久欧美综合网| 俺去也综合| 久久天堂婷婷五月| 蜜臀AV在线成人| 香蕉久久国产AV一区二区| 99热主页日本| 婷婷五月天社区| 99热这里只有精品国产免费| 91男人操女人视频| 99精品网| 99热这里只有精品在线免费| 人人操婷婷| 婷婷六月情| 婷婷五月激情五月丁香五月| 伊人啪啪网| 噜一噜免费视频| 少妇高潮呻吟A片免费看软件| 成人五月天色天堂| 色九九九综合| 99热免费精品| 九九亚洲视频| 九九99久久| 天天综合网站| 九九精品视频在线观看| 五月丁香啪啪激情| 亚洲成人网址在线观看| av在线资源| 婷婷五月激情网站| 91日精品| 玩熟女五十AV一二三区| 九九热欧美| 五月丁香婷婷无码中文| 色色婷婷婷丁香五月天| 五月丁香啪啪| 五月天丁香| 天天做天天爱天天爽夜夜揉| 五月婷婷精品| 亚洲V国产V欧美V久久久久久| 久热播这里只有精品| 五月丁香色综合| 噜噜噜狠狠色综合| 婷婷色五月激情强奸四射| 五月天婷婷色五月天| 丁香五月婷中字在线| 99∨VTV| 婷婷丁香77777| 2050人人操免费工开爱| 色五月婷婷综合| 五月综合六月丁| 婷婷五月激情图片| 婷婷中文网站| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 久久久久久久久久久97| 久久se 综合网 | 秋霞电影理论| 区区久久妻| 97色精品视频 | 五月天婷婷免费| 九九热这里只有精品12| 欧美性二区| 午夜九九九九九九| 99丁香婷婷综合网| 狠狠CAO日日穞夜夜穞AV| 日本九婷婷| 综合色天天| 久久久婷丁香五月天激情综合| 中文字幕人妻熟女在线| 婷婷五月天小说网| 91色综合| 丁香蜜臀黄色婷婷五月天| 五月天堂在线| 婷婷激情五月综合丁香社| 日韩av在线电影| 嫩草视频。| 中文字幕在线免费看线人| 伊久久婷婷| 久热A| 四虎婷婷五月天| 婷婷的99视频网站| 九九热av| 亚洲精品成人| 久热婷婷| 婷婷五月激情的图片| 丁香五月综合首页| 六月婷婷七月丁香| 综合另类视频| 色999五月色| 色情五月停停丁香| 五月天婷婷免费视频| 丁香五月激情视频| 人人超碰99| a性生活久久无| 五月丁香六月婷| 91久久综合亚洲鲁鲁五月天| 超碰av在线| 97人人操| 婷婷五月天色| 亚洲精品V天堂中文字幕| 97干在线视频| 男人大jjc女人免费视频| 婷婷99狠狠躁天天躁| 激情丁香五月婷婷| 国产毛多水多女人A片| AV九九| 激情丁香六月| 久久精彩免费视频| 97精品人人A片免费看| 六月激情网| 天天弄天天操| 91色综合久久| 在线中文亚洲| 伊人春天av| 91中文在线| 六月丁香婷婷五月天| 99久热| 婷婷激情五月吧| 综合AV在线| 草操AV在线| 九九热在线视频观看| 综合久久97| 夜夜操天天干| 色色色五月天婷婷| 日韩精品一品二区三区的使用体验| 久久丁香九| 亚洲无aV在线中文字幕| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 99亚州综合精品成人网| 婷婷97| 国产av天堂| 黄色录像网点| 无码激情| 婷婷五月天第四色| 超碰在线免费| 九月丁香很很色| 激情综合五月丁香六月婷婷| www.色五月.com| 色丁香五月天射婷婷爱婷婷| 色色 9| 精品久久人妻| 欧美怡红院黄站| 91综合在线观看首页| aaa久久| 免費亭亭成人| 久久天堂| 欧美黄色一级| 丁香五月影院| 婷婷欧美激情| 操一操| 丁香花五月天激情| 中文婷婷狠狠| 五月婷婷开心爱| 亚洲色激情| 99热99在线| 国产精品久久久久久久久久| 超碰9| 深爱丁香激情| 囯产精品久久欠久久久久久九大| 成人免费网站免费看| AV九九| 开心五月色婷婷综合开心网| 丁香五月天激情视频| 人碰人人人玩91| 五月丁香久久| XX久久| 欧美激情综合五月色丁香| 久久思思99| 五月丁香婷婷五月色| 天天天在线观看| 9色91视频| 亚洲六月色婷婷| 亚洲情a| 丁香五月av| 2015超碰| 久色五月丁香视频| 月丁香久久久| 丁香婷婷色情社区成人小说| 久久99久久99久久99| 久久草大香蕉| 激情99| 丁J香六月首页| 青青操avbb| 婷婷中文在线| 久久99久久99久久99人受| 婷婷激情五月色综合| 国产毛片欧美毛片久久久| 久久婷婷啪啪视频| 色色丁香五月天| 婷婷五月日本| 操人妻视频91| 五月婷婷精品| 欧美超级视频97| 影院久久久| 热99精品视频| 五月色亭丁香| 婷婷激情六月| 超级黄色片| 丁香美女五月天婷婷| 人碰人人人玩91| 蜜乳国产网站| 九九99九九精品视频| 国产另类综合| 91亚洲天堂| 国产精品久久7777777精品无码| EEUSS鲁片一区二区三区| AV激情五月| 香蕉久久国产AV一区二区| 久久99综合网| 开心五月网| 激情综合网五月在线播放| 婷婷99热| wwwss在线观看| 99 r热| 久久九九热视频| 久久伊人大香蕉| 亚洲色99| 五月丁香综合啪啪対白| 3p九色在线| 99日韩网站| 激情综合丁香| 中文字幕不卡+婷婷五月| 97人人做| BBWCUCKOLD精品熟妇| 99这里只有精品在线| 伊人久久婷婷五月综合97色| 激情都市丁香婷婷| 婷婷激情五月天综合| 欧洲色区| 色色性爱视频| www.粉嫩av.com| 亚洲爆乳无码精品AAA片蜜桃| 五月天色综合服务平台| 国产婷婷久久| 丁香五月天视频| 色婷婷伦理| 色婷婷影视99| 丁香激情五月天| 综合狠狠五月婷婷| 激情综合网色五月| 天天插天天插| 色激情五月| 啪啪色激情五月天| av五月丁香| 免费亚洲婷婷中文字幕| 伍月婷婷六月丁香| 欧美激情综合| 伊人热婷婷| 草草视频91| 欧美性丁香色色五月天| 亚洲AV第二区国产精品| 欧美综合五月天婷婷tin| 婷婷五月天六月丁香| 色婷婷五月天激情| 中文在线成人| 色色婷婷综合| 五月天婷婷成人网| 五月婷婷丁香啪啪| 国产资源91在线| 国产成人+综合亚洲+天堂| 色五月激情五月| 五月婷婷在线观看黄| 久热这里只有精品3| 97操碰日本女人| 久久99精品久久只有精品| 五月天色网站| 婷婷久久国产视频| 亚洲精品无码久久| 丁香婷婷性久久| 免看黄大片AA | 九色91国产| 婷婷五月天亚洲精品| 婷婷五月激情图片| 热久69| 91色呦哟| 久热免费视频| 丁香五月色| 天天综合色| 99 这里只有精品| 日韩操人| 色综合久久综合中文综合网| 婷婷干六月综合旧址| 国产3p露脸普通话对白| 五月婷婷丁香| 五月色亚洲| 性色天| 日本五月视频| 激情综合网 激情五月天| 99国产er热视频| 综合久久影院| www.精品99| 99热一本久道| 我想看国产大学生口爆吞精的视频| 天天干天天插| 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 69人人操人人爽| 99国产精品白浆在线观看免费| 婷婷五月天影院| 99热成人精品网站| 五月婷婷丁香| 99乱视频| 九色91国产| 五月丁香婷婷视频| 99精品在线观看视频| 狠狠操天天干| 久久久27操| 婷香五月激情视频| 丁香五月激情综合| 色婷天天| 日韩另类| 麻豆观看夏晴子| 一二线视频 另类| 另类在线免费视频| 丁香五月天婷婷大香蕉| 夜夜躁婷婷AV| 久久综合性| 天堂综合久久| 这里只有精品视频99| www久久99| 99色色网| 成人无码精品1区2区3区免费看| 婷婷五月天基地| 91五月天| 极品少妇婷婷五月| 久碰婷婷视频| 日韩人妻无码一区二区| 色五月婷激情| 色婷婷超碰| 婷婷色导航| 久久九九国产精品怡红院| 狠狠爱综合| 久久艹 五月天| 色色9 9| 成人免费网站免费看| 99热九九在线| 99爱视频精品在线观看| 五月丁香花开综合网| 99热首页| 天天干,夜夜爽| 婷婷视频在线| 一区二区成人电影| 六月丁香激情婷婷| 99热综合在线| 国产毛片精品一区二区色欲黄A片| 五月婷A V在线| 久久99久久久久久久噜噜| 99操逼| 激情五月丁香在线观看直播| 另类激情五月在线视频欧美| 婷婷五月花| 久草婷妨| 天天综合亚洲综合网天天αⅴ| 色婷婷五月网| 91热在线| 色八戒操婷婷| 激情婷婷内射| 另类图片五月天| 色五月婷婷中文字幕| 日韩久久系列| 99在线精品视频观看免费下载| 亚洲 在线 性爱 | 99综合| 久色激情| www.射伊蕉婷婷| 五月亚洲激情| 婷婷性爱网| 美女久久婷婷| 26uuu视频欧美| 天天情色综合网| 丁香五月天堂| 9一精品视频观看| 丁香婷婷丁香五月欧美人| 丁香桃色网| 中文字幕日产A片在线看| 中文字幕+中文在线| 人人亚洲| 91超级碰| 五月丁香综合中文| 毛片色五月| 色色色热| 五月丁香六月婷| 俺去也五月天婷婷| 亚洲字幕AV一区二区三区四区| 九九热99视频在线| 婷婷开心激情五月激情网| 操操啪| 国产激情在线| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 五月丁香在线| 97超级免费无码| 亚洲熟妇AV综合网五月丁香伊人| 99操逼| 婷婷五月天毛片| 五月婷婷综合潮喷| aaa久久久| 丁香六月av| 色色亚洲五月天| 丁香五月综合激情性爱| 日日噜噜夜夜狠狠久久丁香五月| av不卡网站| 天天在线久久综合| 国产人妻人伦精品一区二区| site:wpjngj.com| AV人人操| 凹凸7777操操操| 婷婷五月天丁香| 99色在线观看视频| 久久伦乱| 97色在线视频| 亚洲精品大片| 色婷婷婷av | 丁香五月另类色婷婷麻豆| 天天日天天干天天爽| 美女被肏网站在线看| 天天干天天干天天干天天干天天干天天| 六月激情婷婷| 色色永久| 色综合激情图区| 亚洲免费99| 99爱在线| 色欲婷婷五月天丁香| 伊人综合色干| 丁香五月婷婷啪啪| 五月婷婷丁香深深爱| 五月天激情小说| 免费99情趣网视频| 婷婷五月丁香亚洲| 亭亭五月丁香五月天激情| 婷婷综合在线视频| 综合久久综合久久| 丁香亭亭久久| 狠狠色综合五月人人| 天天射色五月天| 91免费试看| 五月婷婷六月丁香在线视频免费在线观看| 91九色欧美| 亚洲欧洲另类| 五月开心婷婷| 五月丁香婷色| 亚洲精品99| 蜜桃婷婷丁香五月天狠狠久久综合| 欧美成人AAA片一区国产精品| 91精品国产综合久久密臀| 99久久婷婷综合| 综合网啪啪| 色色色99韩| 人妻有码乱操| www.yw尤物| 伊人丁香花综合影院| 婷婷久久图片| 99综合网| 亚洲色五月| 五月天日日操夜夜操 | 丁香五月婷婷少妇| 婷婷丁香综合| 五月综合视频| 五月天婷婷影院| 丁香六月天婷婷在线| 99热97美女| 久久丁香五月| 日本婷婷| 天天免费成年人视频| 久草视频大香蕉99| 天天做天天爱天天爽| 直接看的av| 久久在这里有精品| 五月丁香琪琪| 激情婷婷黄色五月| 99热这里有精品| 26uuu欧美| 激情综合网,五月| 丁香婷婷色九月| 九九XX视频| 亚洲综合99| 日本五月天激情| 天天爽曰日爽| 丁香五月婷婷五月天在线| 色播五月丁香综合| 超碰九热| 国产精产国品一二三在观看| 久久精品性爱| 9久热在线视频精品| 66精品成人免费网站在线观看| 九九黄色网| 大香蕉九九操| www亚洲无码| 亚洲宗合激情| 老师的粉嫩小又紧水又多A片视频 粉嫩AV久久一区二区三区 | 综合福利网| 九九色精品| 国产精品丝| 五婷婷综合网| 成人.在线日韩| 婷婷成人视频| 激情综合色网| 婷婷亚洲综合| 激情五月天婷婷视频| 久色视频首页| 色五月91| 久久XX| 婷婷刺激综合| 国产精品天天狠天天看| 亚洲爆乳无码精品AAA片蜜桃| 97操碰在线视频| 五月天六月婷婷| 中文字幕 久久9999| 五月婷婷色丁香| 婷婷在线免费| 成人五月天综合网| 日韩一级A片黄色| 丁香色五月AV在线| 操逼国产91| 狠狠爱丁香婷| 人人干人人操外国| 奇米色大香蕉| 久热婷婷在线视频| 久久婷婷五月综合色天| 久久99日本精品视频免费观看| 欧美久久一级内射wwwwww.| 开心激情站| 亚洲操操操| 开心五月天激情网| 亚洲精品字幕在线观看| 色区久久| 少妇水多A片太爽了| 99久久99久久综合| 天天天天天日| 久久婷婷五月天| www久久99| 五月激情六月丁香| 五月婷婷无码| 久草婷婷在线| 最新日韩AV中文字幕| 日韩成人综合| 色婷婷91| j久久性爱视频| 七七九九色色| 天天综合干| 久久婷婷激情视频| 狠狠色噜噜狠狠狠888| 色狠狠999综合| 五月色网| 五月天激情Av| 久热网站| 久久99久久久久久| 亚洲中文字幕在线观看| 婷婷丁香黄色| 9999三级片| 5月激情天| 久久99久久99精品免观看软件 | 婷婷性爱五月天丁香网| 五月丁香人妻| xxxx五月激情| 丁香五月婷婷在线视频| 四虎成人精品永久免费AV九九| 91丨九色丨大屁股| 美女久久婷婷| 欧美色偷拍| 亚洲色色图片| 国产日韩亚洲欧美在线观看| 五月婷婷AV| 日韩av手机在线观看| 丁香五月综合激情久久潮喷| 日日噜人人人做人| 五月婷婷五月天亚洲无码| avv在线| 99亚洲大片精品永久在线观看| 五月丁香影视| 99久久五月婷婷| 五月欧美丁香在线观看| 少妇熟女视频一区二区三区| 91窝窝| 五月丁香美女| 色五月综合在线| 五月天激情网图片| 久久蜜臀婷婷| 婷婷日| 天天在线XXX| 精品亚洲国产成AV人片传媒| 大香蕉Av在线| 婷婷综合六月| 久久婷五月天| 4438国产免费看| 97色色色视屏| 伊人干综合| 久久九九热38| 久久亚洲色导航| 激情图片五月天| 九九五月天| 99视频在线观看视频| 99热国内| 一级黄色影片| 停停综合色色| 国语精品探花| www.夜夜操| 丁香五月电影| 色婷综合| 天天舔天天摸天天透| 天天色播| 欧美三级欧美一级| 婷婷丁香18| 丁香操逼| 天天干天天 亚洲| 大香网伊人久久综合| 亚卅毛片| 性视频久久| 国产操逼网站| 激情六月综合| 国模狼狼| 亚洲第一色区| 91av传媒高清在线视频网| 立川无码av| 99熟女| 五月婷婷三级| 激情综合色婷婷啪啪六月天| 色婷婷在线影院| 色婷婷六月天在线| 秋霞九九无码| 青青草日本亚洲| 日韩在线观看网址| 婷婷五月丁香综合激情小说| 这里只有精品久久| 99免费热在线精品| 大香蕉九九| 天天操天天爱天天日| 性爱综合网| 久99在线视频| 婷婷五月天六月| 大香蕉久久伊人网| 丁香婷婷精品视频| 天天干天天做| ...婷婷国产成人亚洲日韩| 五月激情在线| 婷婷五月丁香狠狠| 色色三级视频| 丁香婷婷伊人| xxxx五月天色色| 五月天综合婷婷| 人人操 色| 色五月综合资源推荐| 一起草无码| 97碰碰在线看视频免费| 亚洲小视频免费播放| 色九月婷婷| 99丁香五月婷| 国产午夜精品一区二区三区四区| 五月天婷婷成人资源站| 99热热热天天人人人超超碰| 99久热这里只有精品| 久久精品五月| 色五月综合在线| 丁香五月自拍| 丁香婷婷五月激情四射网| 丁香五月婷婷激情蜜桃| 国产激情在线| 五月丁香啪啪综合| 激情二色月| 黄色网址五月婷婷| 9九色首页| 婷婷在线免费| 99碰碰。| 久久久宗合| 九九视频在线观看| 激情宗合网激情五月天| 中文字幕不卡视频| 亚洲人人操| 激情网开心网| 丁香六月婷婷久久高清| 天天影院色| 婷婷五月天六月| 4438成人电影| 免费无码毛片一区二区A片| 激情五月天www| 婷婷五月大香蕉| 另类少妇人与禽zOZZ0性伦| 色婷婷六月丁香综合欲精品| 久久伦乱| 六月色丁香婷婷| 97婷婷丁香| 日韩按摩二区| 五月天丁香成人| 97超碰免费超级在线观看| 99精品热| 激情婷婷另类| 久久五月激情综合| 激情影院69| 激情文学久久| 欧美成人色婷婷| 只有精品在线观看| 色色色色色色色色色色色色色97| 亚洲亚洲人成综合网络| 综合色影| 婷婷五月天电影区小说区| 日韩啪啪网| 丁香五月婷婷久久久| 思思热视频在线观看| 久久激情五月| 国产综合激情五月久久| 久久九色| 手机在线视频观看9| 第九色区av天堂| 色婷婷先锋| 深爱五月网| 99热久只有精品首页| 情色五月天网站| 99欧美精品99日本精品| 国产毛片欧美毛片久久久| 综合激情深爱| 五月欧美色色五月| 五月天亚洲最大成人| 丁香婷婷色九月| 91热手机在线| 激情色五月天| 99热99艹在线观看| 五月丁香激情综合网| 黄色五月婷婷| 婷婷免费视频| VfJxEwPH| 嫩草免费视频| 国产在线aaa片一区二区99| 五月婷婷激情久久| 婷婷五月天激情五月天| 日夜夜天天| 蜜臀A∨在线水帘洞| 人人爱操| 九九精品综合| 天堂资源欧日浪女在线播放| 亚洲乱啪| 97超级碰碰碰| CAOBIBI| 欧美久久久久久久久中文字幕| 精品人妻午夜一区二区三区四区| 丁香六月激情综合| AV操操操| 久久久久久人妻| 色婷婷亚洲五月天| 久热这里只有精品99re| 99爱这里只有精品免费视频| 婷婷日日天天| 丁香五月六月激情| 人人天堂操| 婷婷伊人久久综合| www色中色综合| 国产,欧美,日韩,性爱| 丁香五月婷婷88在线| 激情五月天网页| 日日撸日日操| 人人摸人人干人人做| 亚洲另类噜噜| 中文在线视频久1| 五月丁香六月综合激情| 综合在线色婷婷| 五月婷婷日| 狼人婷婷综合| 五月天激情图片| www.五月天婷婷| 97操视频| 少妇熟女视频一区二区三区| 亚洲精品一区无码A片| 亚洲色就是色色色| av五月天婷婷丁香| 五月天婷婷狠狠| 99精品视频推荐| 99久久九九| 丁香九月综合| 新激情五月天色播| 另类激情首页| 涩综合网| 另类图片五月天| 99久久99综合| 啪色综合| 亚洲九区| 婷婷五月久久| 婷婷激情九月| 六月激情网| 久热re视频在线观看网站| 在线免费观看激情视频| AV在线大香蕉| 色日本丁香婷婷| 色色色色av色色色色| 丁香婷婷成人网| 国产精品成人AV在线| 久热免费视频| 婷婷五月天综合久久日美女| 殴美激情综合网| 五月丁香A片| 久久A V无码视频| 五月花婷婷丁香| 婷婷久久五月| www,99热在线观看| 日本色99| 五月婷婷视频28| 免费看成人747474九号视频在线观看| 丁香五月久久| 超碰免费人人肏| 91人人操人人爱| 色了色综合| 色呦呦美女| 激情性爱五月天网页| 欧美性爱中文字幕| 天天舔天天插天天干| 婷婷天堂综合| 97久久人人人干| 4399在线日本A片| 色婷婷色五月色丁香| 91丨九色丨熟女|新版| 欧美韩国日本| 91seav| 99热这里只有精品66| 亚洲精品婷婷| 91精产品自偷自偷综合| 婷婷亚洲丁香五月| 在线另类| 五月婷婷丁香六月| 丁香久久AV| 人妻无码精品一区| 婷五月天| 天天天天做夜夜夜夜做| 色99色| 九九www| 久久99美女精彩视频| 婷婷综合激情| 91人碰| 思思久久思思| 丁香五月天激情综合| 久9久9热久热| 五月丁香中文字幕| 色一色综合| 久久欧洲久久| 996热| 插逼综合网| 久久66成人网站| 精品亚洲国产成AV人片传媒| 91操熟女| 97人人操| 五月丁香激情综合啪啪| 人人噜天天上| 免费色婷婷| 丁香五月激情欧欧美| 五月激情站| 色区久久| 色五月婷婷在线| 超碰爱爱爱| 五月激情婷婷开心| 热热色色五月天婷婷| 天天色,天天操,天天射| 九九色热| 综合激情五月四射婷婷| www色综合| 婷婷热色| 俺去也五月| 丁香五月瑟瑟| 丁香五月无码| 久久人妻伦理| 超极99精品| 激情九九综合网| 熟妇内谢69XXXXXA片| 色五月丁香激情视频| 无码少妇高潮喷水A片免费| site:xiongshengzz.com| 色婷婷丁香五月| 婷婷五月天激情网| 五月婷婷婷婷| 色五月婷婷丁香国产在线| 婷婷六月丁香五月| 777.色色| 久热大香蕉| 久久这里都是精品免费| 天天干天天干天天干| 99热日韩这里只有精品| 色日本颜射| 狠狠激情五月天| 亚洲正能量欧美| 99精吕视频在线观看了| 丁香六月青青草| 婷婷中文无码| 99热乎| 色爱综合网| 九九综合久久| www.9797国产| 久久五月天视频| 99re熱| 成人做爰高潮A片免费视频| 久久婷婷欧美| 激情AV中文| 狠狠五月激情丁香六月| 色狠狠五月天| 五月丁香婷婷钟和色图| 丁香六月视频免费观看| 亚洲色色五月| 在线中文字幕av| 99在线免费视| 超级碰人人操人人干| 六月婷婷综合| 热九九在线| 中文超碰视在线| 欧美五月婷婷| 精品久色| 四季8848精品成人免费网站| 久久久久久久合一狠狠做深爱| 欧美在线视频9| 另类图片天天影视在线观看| tingting五月天亚洲| 日韩一级| 丁香六月天之亚州热女| 久综合九| 亚洲亚洲人成综合网络| 狠狠插狠狠操| 99综合网| 99草在线免费观看视频| 五月丁香婷婷啪啪| 六月色五月天天婷婷| 九九干视频| 欧美色五月| 欧美婷婷五月激情| 成人AV综合在线| 国产成人网| 一级性爱视频| 99热在这里只有免费精品| 国产婷婷久久| 丁香六月激情| 六月丁香啪啪啪| 可以直接看的av网站| 五月天AV大香蕉| 久久久av久av久片一区二区| 日本精品99网站| 精品怡红九九九| 大香蕉AV在线| 激情五月婷婷啪啪| 久久婷婷五月天| 伊人久久大香蕉网| 日日舔夜夜操| 婷婷偷拍网| 久久WW| 热久91| 婷婷五月激情综合| 日本一级特黄大片AAAAA级| 久久九九在线视频| 99操99| www.黄色片-久久成人国产精品在线播放-999AV| 婷婷五月综合色中文字幕| 91日综合欧美| 色色色com| 婷婷五月天激情网| 九九久久综合网站| 一夜福利不卡| 久操欧美在线观看97| 久久久噜噜噜久久人妻| 成人电影AV在线观看| 俺去啦综合网| 色婷婷五月综合在线| 五月婷六月综合在线观看| 日本久久激情| av亚洲国产小电影| 综合色99| 欧美激情综合色综合啪啪五月| 五月婷天天搞视频| 天天cha成人综合网| 色噜噜狠狠色综合日日| 久久香蕉福利| 久久久久久久8| 亚洲久久天堂| 中文字幕丰满孑伦无码专区| 狠狠操狠狠爱| 天天搡日日搡aaaaⅩ| 成人免费高清在线播放| 亚洲操B| 精品草原久久视频| www,五月天激情| 亚洲综合在线丁香五月| 秋霞学生妹一二级| 久热2025无码| www..com色爱| 欧美超碰人人| 欧美VA视频| 夜夜爱伊人| 青青草视频免费观看| 无码少妇高潮喷水A片免费| 五月天婷婷色| 91精品综合久久婷婷九色| 激情五月婷婷丁香| 99精品在线观看| 久色激情| 激情综合色婷婷啪啪六月天| 九九色色| 欧美色99| www99精品| 激情五月天婷婷| 婷婷天堂站| 亚洲精品视频在线播放| 91碰碰碰| 爱99干99| av在线播放网站| 国产黄色大片| 九九干视频| 性色婷婷| 色五月xxx| 欧美黑人巨大猛烈cuckold| 91大屁股| 色丁香五月婷婷在线| 激情五月天影院| 4399在线日本A片| 五月婷婷AV| JAPANRCEP老熟妇乱子伦视频| 六月成人网| 久综合4| 五月天婷婷激情在线色图| 五月色丁香| 久操热| 天天天添天天操| 五月的色婷婷高潮| 97久久人人| 99视频在线| 丁香婷婷欧美综合| 激情综合色婷婷啪啪六月天| 婷婷五月色综合| 激情综合网络插| 激情五月婷在线精品| 人人射人人高潮| 色噜噜婷婷| 国产成人综合电影| 免费黄网不卡AV| 色五月欧美| 久久国产性爱A V| 综合色激情| 久久多色| AA片在线观看视频在线播放 | yw.av| 婷婷91| 欧美va欧美va差| 九九热在线视频观看| 99激情视频| 丁香五月激情啪啪啪| 九九無碼| 五月婷婷激情69| 丁香婷婷九月| 久久AV无码精品人妻系列试探| 丁香五月天天| 日本ww亚洲| 精品人妻伦一二三区久| 五月情四婷婷| 99色精品| 激情亚洲五月| 久久久99视频| 日本激情综合| 色婷婷久久综合中文久久一本| 666555。COm毛片| 久久五月网| av性爱在线| 91九色在线| 亚洲色频| 天天成人五月天| 任你爽精品免费视频6| 欧美日韩精品人妻狠狠躁免费视频| 先锋资源91| 婷婷干| 亚洲婷婷久久综合| 人妻丰满精品一区二区A片| 丁香97综合| 五月婷婷综合激情| www.99热在线观看| 四色五月婷婷| 五月天无码| 五月婷婷草| 日韩国产AV播放| 日木狠狠干| 激情五月综合亚洲另类| AV色色天堂中文| 激情五月图| 五月婷婷激情| 第四色色六月色综合| 婷色成人| 日日操夜夜爽| 99精品视频在线观看| 丁香五月婷婷六月婷婷| 台湾无码A片一区二区| 不卡在线视频| 好好日激情五月天| 婷香五月激情视频| 日韩在线9| 五月天激情AV| 91夫妻网站九色| 五月丁香六月婷婷综合网| 五月婷久久| 九九99九九99| 97色啪| 91se在线观看| 亚洲天天操| 色网五月婷婷| 97干婷婷五月天| 欧美成人AAA片一区国产精品| 99这里有精品视频3| 六月色播| 日韩精品超碰在线观看| 五月激情婷婷播播开心| 大学生高潮无套内谢视频| 丁香五月1页| 五月丁香婷婷综合网| 婷婷综合五月| 99ri视频在线播放| 97婷婷在线| 激情综合色婷婷啪啪六月天| 婷婷五月天毛片| 亚洲欧美另类在线23p| 色婷婷yy久| 五月丁香人妻| 丁香五月天天| 日日.c| 91九色中文| 婷婷五月激情图片| 六月色色| 六月丁香五月天|