欧美成人午夜精品久久久,国产?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伊人青草丁香六月| 99热1| 激情五月婷婷综合| 亚洲av成人电影在线观看| 色五月网址| www.丁香黄色五月天人与| 丁香六月欧美| 五月天成人伊人| 久久五月热| 五月丁香六月婷婷网| 五月婷婷丁香色播网| 91色综合网| 日韩成人中文| 99精品综合视频| 五月天五月天成人网亭亭成人色网站| 亚洲丁香五月美女| 这里只有精品视频视频在线观看| 五月天激情网址| BBWCUCKOLD精品熟妇| 久久久大香蕉| 97碰碰在线看视频免费| 天天摸天天做天天爱天天爽| 中文字幕色色| 综合一本道| 国产精品国产| 婷婷爱爱蜜臀天天操| 五月丁香六月婷婷久久| 欧美色六月婷婷| 99久在线| 大香蕉精品视频| 偷偷操九九| 无码AV免费精品一区二区三区| 五月婷婷熟女| 婷婷色网站| 婷婷激情小说| 网站免费一站二站| 欧美成人精品A片免费一区99| 婷婷五月六月丁香综合| 狠色狠色综合久久| 99精品福利视频| 日日做天天操夜夜爽| 99婷婷| 亚洲秘 无码一区二区三区妃光/1| 婷婷天堂伊人| 丁香久久激情俄| 9久热精品在线视频| 99热综合| 中字幕视频在线永久在线观看免费| 99久久综合网| 99色综合| 中国女人做爰A片| 国产色色在线| 九九热在视频| 欧美激情xxxXX| 激情五月天在线观看婷婷| 7超碰自拍| 日本精品干| 亚洲综合成人网站| 97操操操| 亚洲 精品 综合 精品| 久久综合激情五月天| 九九色逼| 天天色五月| 青青草a在线| 热99国产精品| 色色综合日韩| WWW.99热| 另类 在线| 97超碰在线免费观看| 天天天天干| 精品色色| 日本色五月| 五月丁香影院| 少妇出轨做爰高潮A片| 久久久久久久人妻| 六六久久黄色| 亚洲综合视频网| 婷婷五月AV| 天天五月丁香五月| 99热久草| 色噜噜狠狠色综合网| 97操视频| 在线五月色播| 99热在线只有精品| 婷婷俺去也| 丁香婷婷激情| 热996精品在线观看| 操日本三片99| 日日噜噜久久婷婷五月天| 五月婷婷和六月| 亚洲婷婷五月天激情综合| 婷婷五月天激情五月天| 日韩黄黄| 99re8热精品免费视频| 一区二区传媒视频| 免费成人va| 婷婷亚洲五月丁香综合在线 | 97操碰免费视频| 99热大| 亚洲操精品| 成人婷婷五月天| 夜夜骑天天玩天天日| 在线视频99| 天天爽夜爽| 疯狂做受XXXX高潮A片动画| 男人大jjc女人免费视频| 99碰碰中文| 六月丁香婷婷视频综合在线观看| 国产性爱亚洲是图| 无码日本精品XXXXXXXXX | 精品AV无码超碰| 亚洲色图五月丁香| 99热这里只有精品国产首页| 欧美色色色| 99热在线观看亚洲区| www.99热视频| 日产精品一线二线三线芒果| 激情四射五月天| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 超极99精品| www.久久婷婷| 丁香五月天五码婷婷| 波多野结衣AV无码Porn| 欧美日韩成人综合9| 五月天婷婷伊人| 婷婷五月天AV网| 5月婷婷激情网| 一起草AV| 色婷婷色九月| 影音先锋777xfplay色资源网站| 午夜天堂啪啪| 91亚洲天堂| 亚洲视频色色| 色色亚洲视频| 99色色热热| 这里只有精品视频在线| 欧美婷婷丁香五月| 色婷婷色婷婷五月| 99热九九九九| 婷婷五月丁香伊人| 狠狠色综合无线观看| 天天综合久久| 色婷婷激情| 99精品国产在热久久婷婷| 三级大香蕉网| 亞洲自怕| 99re思思热久久| 日本黄色三级片内射| 秋霞免费三级片| 99在线视频免费| 97超级啪啪在线观看| 婷婷丁香五月激情中文字幕版| 99热在线只有精品| 99re在线观看视频| 无码激情AAAAA片-区区 | 情久久综合五月天| 密视AV综合在线| 久久午夜理论| 久综合4| 先锋男人99资源| 久久婷婷热| 久9热在线视频| 99精品视频免费观看| 91日婷婷在线| 五月婷婷|欧美| 日本色色影院| 97操在线视频| 色五月aV| 色色丁香色五月| 日本久久爱| 十二区无码| 婷婷五月噜噜| 九九十99视频| 亚洲色五月婷婷| 999热在线视频| 亚洲欧美成人在线| 很很干在线视频| 大香蕉久久综合网| 久久99激情| 久久婷婷五月综合精品蜜芽| 色色婷婷丁香| 99热无码| 六月丁香婷婷五月天| 99久在线精品99re8热| 五月婷婷六月丁香免费| 99re资源在线视频导航| 色婷婷综合久久久久| 久久大香蕉同僚| 99色在线| 婷婷99狠狠躁| 天天做天天爱天天日| 婷婷五月花| 武汉美女啪啪视频免费一级片| 嫩草视频| 99ri精品| 色婷婷精品视频| 成人视屏在线观看| 热99.com婷婷| 五月天伊人网| 五月丁香激情综合| 日韩久久这里只有精品| 中文字幕av在线| 蜜臀AV在线观看| 日本色色色| 色综合婷婷| 免费观看全黄做爰的视频| 亚洲热久久| 色婷五月天网站| 噜噜狠狠色综合久| 天天日天天插| 五月涩涩网| 欧美天堂久久| av五月天婷婷丁香| 婷婷在线视频| 丁香五月区| 久久五月丁香激情综合| 99ri国产| 国产亚洲99久久| 五月天婷婷激情小说电影| 亚洲 无码 中文字幕 中出| WWW色色色COM| 欧美搡BBBBB摔BBBBB| 丁香六月无码| WWW色综合| 精品日本视频444| 激情五月婷黄版| 夜夜涩涩涩| 丁香九色不卡aaa| 亚洲色网址| 丁香六月AV| 人妻有码乱操| 亚洲九九夜夜| 99a级片| 色情五月天se| AV色五月婷婷| 人妻性操逼中文字幕 国产| 中文字幕视频色婷婷| 97在线/亚洲| 亚洲色色色色| 开心亚洲久久开心| 婷婷激情中文综合| 亚洲区视频| av五月丁香| 日本99久久| 五月天久久91| 五月丁香六月婷婷婷婷| 伍月激情天| 久久伦乱| 伊人玖玖网| 91丨九色丨高潮丰满日本| 99热在线观看亚洲区| 自拍偷窥99热| 永久免费一区二区三区| 色九月综合网| 自拍视频99| 精品亚洲国产成AV人片传媒| 欧美日韩成人一区二区| 激情人妻综合| 色五月激情网| 丁香六月婷婷| 99热免| 99热精品10| 日韩99视频| 91日日日| 操逼六区| 国产.亚洲.欧洲视频在线| 久久人人添人人爽添人人片αV | 大伊香蕉精品视频在线| 婷婷大香蕉| 色五月成人| 九九热视频这里只有精品| 狠狠色精品综合| 99性感视频| 99视频精品8| 婷婷亚洲激情在线观看视频| 99热综合在线观看| 五月天色婷婷基地| 婷婷五月视频| 激情网五月| 五月婷在线| 五月天四色房丁香亭亭| 99在线资源| 九九热视频这里只有精品| 影音先锋人妻出差| 天天色域综合网| 午夜做爱影院| 天天色宗合| 丁香六月婷婷开心| 九九在线视频| 国产av天天插天天操天天爽| 天天射色五月天| av一区二区电影免费在线观看| 嫩模草| 五月丁香婷婷钟和色图| 九九精品热播| 掩去也综合五月视频| 婷婷五月天AV网| 婷婷丁香射射| 99思思热只有在这里看| 九九色影视| 久久婷婷成人综合色怡春院| 国产肥白大熟妇BBBB视频| 四川BBB搡BBB搡多人乱亂| 99爱在线视频| 色在线免费观看| www色婷婷com| 五月激情丁香久久综合网| 综合久色五月| 综合在线色婷婷| 五月婷婷婷婷网| 97在线刺激| 99操逼| 成人五月天在线观看| 五月丁香婷婷激情在线| 丁香五月成人| 极品人妻VIDEOSSS人妻| 五月婷网| 九热视频这里只有精品| 99热免费精品| 99在线视频操999| 月色色综合婷婷网| 激情丁香婷婷五月天| 色综合开心五月深爱五月| 另类视频五月天| 色婷婷大香蕉| 中文成人在线| 99热在线99| 婷婷色成人| 久久性操| 五月丁香久久激情综合| 这里只有精品日韩精品| 婷婷丁香激情综合色情| 色婷婷激情五月天丁香| 六月丁香婷婷拍拍| 欧美黄色韩日网| 天天综合色丁香| 国自产拍偷拍精品啪啪一区二区| 色综合中文色综合网| 色情五月丁香婷婷网| 精品,99| 99热婷婷| 亚洲婷婷丁香五月| 日日爱699| 丁香婷婷社区| 欧美大香蕉视频| www夜夜操wwwcon| 大香蕉综合| 亚洲欧美综合7777色亭亭| 激情五月天综合婷婷网| 99∨VTV| 日都一级A片| ss99热| 五月天com| 婷婷五月六月| 色播播之激情五月婷婷| 国产精产国品一二三在观看| 成人短视频在线观看| 思思热视频在线观看| 最近中文字幕2019视频1| 狠狠色狠狠| 99热色精品| 噢美99| www.爱操com.| 日日干日日| 啪啪激情网| 天天摸天天舔天天天天爽| 碰碰碰97国产| 久久亚洲婷婷| AⅤ在线播放网| 天天做天天要天天爽| 婷婷色播婷婷| 婷婷五月激情综合| 久草大| 97色啪| 噜噜色婷婷| 超碰操日| 日本色五月| 色级婷婷| 99热在线观看精品免费| 日韩一级网站| 另类图片激情五月| 开心五月婷婷激情| 亚洲1区| 婷婷她六月天| 激情久久伊人| 色七七色九九| 97资源欧美日韩大香蕉超碰一区| 激情图片五月天| 婷婷香香五月| 五月婷婷五月天亚洲无码| 亚洲亚洲人成综合网络| 五月天激情子轮| 色色色色色色色五月| 色情综合网| 秋霞网在线免费基地五月婷婷丁香| 玖玖热视频| 久久9久久| 97香蕉久久超级碰碰高清版| 人人色人人摸人人看| 中文激情网| 婷婷免费成人视频| 啪啪色激情五月天| 亚洲欧洲另类| 色婷婷影音| 男人的天堂在线婷婷| 99精品在这里| 婷婷五月天影视网址| 荫道BBWBBB高潮潮喷| 丁香六月天AV| 亚洲成人av在线观看 | 欧洲亚洲精品| 色婷婷五月天成人网| 伊人久久婷婷五月综合97色| 激情综合网激情五月天| 色五月六月婷婷| 新激情综合| 人人摸人人摸| www.婷婷五月| 97丁香花五月天激情小说| www.婷婷久久五月天| www.日韩国产| 9999色色色色| 99热这里只有精品268| 免费黄网不卡AV| 9久国产| 另类图片激情五月天| 麻豆忘忧草午夜| 丁香五月婷婷AV| 色在线五月天免费| 4399亚洲视频| 色婷婷激情五月天| av在线婷婷| 丁香色色色| 久久久五月婷婷| 五月丁香六月婷婷啪啪| 影音先锋男士资源网一区| 91精品综合久久久久久五月丁香| 婷婷丁香五月在线播放| 天天上天天爽| 97资源碰碰| 欧美日韩色色| 日韩黄在免| 人妻综合网| 婷婷五月色网| 丁香婷婷丁香五月欧美人| 五月狠狠| 日韩一级网站| 性爱五月婷| 激情婷婷五月天| 色色色在线观看| 久久综合天天综合| www狠狠com| 色色色色色色综合网| 亚洲操b| 99视频只有精品| 97涩涩丁香五月天| 五月激情丁香六月狠狠干| 超碰在线国产9| 久久精品日| 亚洲第一成人无码A片| 亚洲精品成人| 丁香花五月天激情| 欧美五月婷婷| 深爱激清网| 亚洲无码成人性爰网| 99久久99九九99九九九| 婷婷五月激情欧美| 91久久五月天| 成人丁香五月| 丁香六月啪啪| eeuss人妻| AA丁香综合激情| 色综合色色色色色色综合| 黄色av高清| 亚洲国产精品VA在线看黑人| 五月丁香视频在线观看| 五月色丁香综合| 丁香六月啪啪| 色五月婷婷五月久久| 夜夜爽天天| 丁香六月婷婷开心| 6080av| 天天舔天天| 五月婷婷在线观看| 婷婷五月丁香在线视频| 色婷婷超碰| 丁香五月先锋| 久久久免费精彩视频| 性无码专区无码| 爱久久小说下载网| 碰久久精品w| 色网站9| 91婷婷五月丁香碰| 婷婷成人网五月天| 五月婷六月丁| 99综合| 久久激情五月婷婷| 成人做爰高潮A片免费视频 | 亚洲第一色网站| 综合久色五月| 日本天天色| 五月天婷综合| 亚洲精品视频在线| 丁香五月天日韩无码| 超色欲天天| 99超级碰免费视频| 思思99re这里只有| 天天插天天射| 少妇真实被内射视频三四区| 色欲色香综合网站| 久操人妻| 色五月婷婷久久大| 天天搡日日搡aaaaⅩ| 欧美黑人巨大性生话| 婷婷不卡基地| 在线播放成人网站| 性生活久久人妻| 欧美在线ee日韩| 丁香五月婷婷综合激情啪啪啪啪啪啪啪 | 婷婷她六月天| 婷婷五月天成人网站| 五月婷婷啪啪综合网| 六月色色| 91综合在线观看首页| 久久婷婷五月丁香网| 婷婷丁香六月五月天| 天天擼久久擼在线| 婷婷五月丁香六月综合网| 欧美va在线| 五月天婷婷狂暴白浆| 99在线热视频| 99热在线中文字幕| 亚洲天堂啪啪| 亚洲九九99精品视频在线播放| 日韩综合久| 91啪级电影| 涩涩五月天| JlZZJlZZ8JlZZ亚洲熟女| 激情综合在线观看| 亚洲成人在线五月天| 26uuu国产| 五月丁香婷婷欧美色图视频五月丁香777电影| 999精品乱码77777| 九色色| 热久精品| 色色五月天丁香婷婷| 婷婷五月天六点丁香五月| 深爱五月婷婷| 久久99操| 色哟哟www| 婷婷丁香五月社区亚洲| 婷婷丁香五月噜噜噜| 六月丁香激情网| 丁香五月最新网址| 久草大| 成人免费120分钟啪啪| 99九九视频| 思思久热| 六月丁花香啪啪激情欧美| 久思思久视频| 国产无套精品一区二区| 国产综合视频婷婷| 国产性爱一级| 天天综合五月| 天天肏高清在线| 99精品手机在线视频| 五月婷人妻| 五月激情网站| 欧美久久婷婷| 欧美色99| 丁香五月另类色婷婷麻豆| 夜夜躁爽日| 91传媒无码人妻精| 久久伊人五月天| 亚洲视频另类| 夜夜爽天天干| 九九热99熟女| www.日韩国产| 97碰碰视频在线观看| 啪啪综合| 丁香五月手机在线| 亚洲av免费在线| 激情中文在线| 久久9精品| 丁香婷婷五月激情| 久久久激情| tingting五月天亚洲| 丁香六月婷| 99re这里只有精品国产99| 久久婷婷五月天| jiujiu无码五区| 被男人添B超爽视频| 五月丁香六月婷婷色| 果冻传媒A片一二三区| 五月丁香花激情综合网| 综合亚洲AV| 99热色精品| 亚洲综合激情五月久久| 欧美性生交XXXXX无码小说| 五月丁香在线国产| 九九九九中文字幕| 999久久久国产精品| www,久久久| 五月婷婷六月丁香| 五月婷婷综合潮喷| 久久精品婷婷| 午夜精品久久久久久久爽| 少妇人妻丰满做爰XXX| 五月婷婷欲色| 婷婷丁香五月天激情四射| 婷婷免费视频| se99高清无码| 99热8在线| 日本久久人| 五月天天天开心激情网| 欧美久人人| 亚洲热久久| 偷拍视频五月天| 五月婷在线影院| 五月丁香六月| 婷婷五月天综合在线| 色色婷| 超碰九热| 99精品在线观看| 97色伦另类图片小说视频 | 色久女| 丁香婷婷六月天| 丁香五月www| 操操碰| 天天干天天爽天天操| 久久久WWW| 日逼AV影音先锋男人资源站| 99热久草| 亚洲在线激情婷婷五月| 91肏| 五月综合激情啪啪啪啪啪| 91成人视频| 天天操夜夜夜夜爽| 996er热| 天天综合区| 久久精品人妻| 五月天另类视频| 色婷婷基地在线| 99免费青青蜜臀| 99精彩视频| 婷婷伊人久久| 日韩无码色色| 久久人人人人妻| 91超碰人人操| 美女黄频aⅴ视频| 色五月色开心开心五月| 日本乱子人伦在线视频| 九九RE视频在线精品| 五月丁香婷婷基地| 99爱精品视频| 天天爱天天做综合| 狠狠爱综合网| 日韩成人中文字幕| 日韩精品一品二区三区的使用体验 | 7月婷婷六月丁香| 91精品无码久久久久久五月天| 久久一级AV| 丁香五月av| www.99婷婷| 亚洲综合另类| 国产性爱一级| 天天插天天插| 激情五月婷婷色| 六月亭亭久久综合激情| 狠狠狠激情网| 天天干-天天日| 色高清无码视频| 这里只有精品99视频| 色婷婷在线播放| 九九亚洲无码| 亚韩在线视频| 日本三级中国三级99| 无码髙清| 337久久| 婷婷丁香激情五月天色色色| 久久人妻熟女一区二区| 国产精品激情AV久久久青桔| 亚洲婷婷性爱| 韩国中文字幕91| 色婷婷在线电影| 夜夜嗨一区二区三区直播内容| 丁香五月婷婷激情97| 五月天网址在线刘玥| 伊人在线视频| 日本色色视频| 九月激情综合| 婷婷97| 狠狠艹狠狠艹| 婷婷色Av| 五月激情综| 天天插天天爱| 特黄三级片| 色优久久| 伊人喵咪a V| Av在线不卡一区| 激情五月,激情综合网| 伊人www22综合色| 一级黄色影片| www.五月婷婷久久.com| 这里只有精品1| 91大神操美女| 99∨VTV| 九九精品re免费视频| 香蕉大综综综合久久| 99自拍视频网站| 99久久综合| 。久久久久久久久久久久久久人妻| 热热久久99| 97婷婷丁香| 无码髙清| 在线视频区| 五月五月婷婷| 六月激情婷婷色| 久色欧美| 亚洲无码色色| 爱iii做iiii日日| 激情久久久久久| 久久婷出差欧美色两性综合网| 中文字幕无码人妻少妇免费视频 | 夜夜撸天天操| 亚州男人天堂婷婷五月| 亚洲在线操| av大香蕉| 五月婷婷六月丁香在线视频免费在线观看| 色啪网| 亚洲狠狠爱婷婷| 91九色|疯狂|高潮|对白|| 丁香婷婷免费| 亚洲婷婷五月天| 东京热五月婷婷| WWW99热| 中文aV网| 五月丁香啪啪网| 1769在线观看欧美国产| 开心婷婷五月激情网小说| 五月草视频| 强辱丰满人妻HD中文字幕| 91porn一起草| 丁香五月婷婷天| 99热大香蕉| 亚洲av另类在线观看| 99热91| 色吧五月婷婷| 天久综合91综合首页| 日韩九区| 亚洲成人婷婷| 热久久这里只有三级视频| 色婷婷五月六月丁香综合视频| 五月婷婷成人| 另类图片五月天激情| 天天草天天爱| 天天激情站| 超碰69天堂| 白天AV月月| 狠狠狠狠狠干| 99re视频在线播放| 丁香久久久| αV电影| 九九视频精品在线免费| 亚洲婷婷五月天| 97碰久久| 国产白丝在线一区| 日韩成人电影在线播放| 99精品性爱| 1024人妻无码中文字幕| 狠狠色噜噜狠狠色噜噜噜999| 免费黄色片子| PORNY九色9l自拍视频成人| 天天操比比| 激情综合婷婷久久| 婷婷色网站| 秋霞少妇AV网站| 成人欧美Va| 国产真实乱了老女人视频| 激情综合五月激情XXXX| 亚洲色五月| 激情综合播播| 九九色影院| 久久久久综合激动五月天| 九九热精品视频| 色色99| 五月综合激情网| 无码se| 色色a| 99视频在线播放大全| 91要啪| 成人av在线网站| 狠狠狠色激情综合适合| 成人午夜免费电影| 粉嫩av懂色av蜜臀av熟妇| 七七色色综合| 九九色影院| 婷婷开心深爱五月天| 成人在线99| 色视五月天婷婷| 丁香五月开心七月| 久久亚洲激情五码| 操操天堂| 开心五月婷婷激情| 天天爽曰日爽| 4438国产免费看| 亚洲综合1024| 中文字幕丰满乱孑伦无码专区| 无码AV免费精品一区二区三区| 精热在线综合网| 五月丁香婷婷色| 九九色热视频| 久热99热| 久久xxxx| 狠狠草在线观看| 91九色小视频| 无码激情AAAAA片-区区| 蜜乳中文字| 欧美天堂久久| 天堂伊人干| 婷婷激情五月天激情| 五月天婷婷操逼视频| 男女啪啪做爰高潮无遮挡| 欧美性爱5月天天天看| 一级性感毛片| 亚洲免费看片| 99久久玖玖| www.五月婷婷| 五月丁香综缴情性爱| 天天操夜夜操| 亚洲在线激情婷婷五月| 91岛国片| 狠狠色丁香| 99re热视频这里只精品| 丁香婷婷人妻| 色婷婷精| 激情五月丁香五月| 久久99热这里只有精品| 九九热a| 万月丁香狠狠爱| 亚洲操操| 国产裸舞表演WWWW| 2013AV天堂| 少妇真实被内射视频三四区| 青青草成人网| 丁香五月自拍| 久久码久久无清| 99热99色| 性视频久久| 六月丁香好婷婷| 日韩无码专区| 大香蕉大香蕉在线影院| 狠狠精品干练久久久无码中文字幕 | 五月天堂婷婷| 六月丁香av| 91人妻人人操| 久久亚洲婷婷| 九色视频91| 久久婷婷综合五月趴| 久久99热这里| 秋霞性爱AV| 亚洲AVwwwwwww| 国产精产国品一二三在观看| 五月天精品视频| 激情小说在线视频| 丁香六月婷婷姐网| 亚洲精品乱码久久久久久综合| 天堂综合久| 欧美男女婷婷| 2025超碰| av大香蕉| 五月天婷婷丁香| www.色9| 欧美va在线| 综合深爱五月| 色婷婷成人影片| 成人电影一区| 色九区| 成人网站av免费网站推荐| 色婷婷久久7777| 秋霞少妇AV网站| 丁香五月天啪啪| 99色综合| 99热精品中文字幕| 激情五月天色网站| www婷婷| 超碰人人操| 色婷婷a v| 六月婷婷色| www99热| 天天插天天操| 久久视频这里99| 丁香五月天激情小说| www.五月激情红色| 狠狠色情婷婷| 婷婷伊人激情婷婷| 激情综合网亚洲色图| 亚洲AV激情五月综合网| www.狠狠干| 亚洲色婷婷婷婷人人爽| 99久久99热| www 五月天 com| 思思热性操| 青青草深爱激情网| 这里只有精品在线免费视频| WWW.桔色成人.COM| 婷婷六月情| 五月激情久久综合网| 看国产探花操逼三级片| 五月婷婷婷| 天天爱天天操| 99无码精品| 欧美丁香五月| 国产91视频| 婷婷五月在线观看| 99国产精品久久久久久久久久久| 粉嫩av懂色av蜜臀av熟妇| 五月天色丁香| 开心五月色婷婷综合开心网| 婷婷综合九色伊人| 五月天堂六月丁香亚州中文字幕久久| 激情婷婷五月综合| 五月婷精品| 久久综合丁香五月| 色五月开心开心五月激情五月| 秋霞影音91人妻久久| 久久成人性爱| 国产日日操夜夜操的肉棒视频| 99re视频精品| 人人人va亚洲视频在线| 国产精品久久久海的味道| www,色婷婷| 九九色影院| 久久A极片| 亚洲9久久精品| 色婷婷综合亚洲| 色天天狠狠干| se99视频| 丁香婷婷久久| httpwww色com日本| 久久人人九| AV五月丁香| 五月婷婷丁香五月天| 亚洲成人免费电影| 1024成人免费看| 熟女网站久久| xfplayav在线| 99爱视频| 嫩草AV久久伊人妇女超级A| 久久一伦| 成人va在线观看视频| 成人丁香婷婷| 丁香五月在线| 激情综合色五月丁香| 五月婷婷综合影院| 婷婷久久国产视频| 五月丁香琪琪| 五月婷婷电影院| 久久99免费视屏| 色丁香影院| 日日撸夜夜操| 在线资源av-超碰中文在线-成人AV| 激情四射五月天偷偷看婷婷| 丁香五月天婷婷激情| 97综合在线| 婷婷五月a| 5月婷婷六月丁香| 婷婷久久丁香五月| 92久久久| 天天做天天爱天天爽在| 中文字幕在线日亚洲9| 99青青草99| 久久综合九九| 天堂久久婷婷| 丁香五月综合网| 热久久99视频| 伊人网碰碰| h在线看免费版在线看| 亚洲xx网| 日日肏夜夜干| 国产乱妇无乱码大黄AA片| 久久99综合网| 亚洲色优| 色色婷婷综合| 亚洲婷婷五月天综合| 美女网黄| 六月激情网| 天天插天天插天天插| 五月婷婷基地| 婷婷爱在线观看| 中文字幕成人影视| 亚洲日比视频| 久久九九99亚洲国产久精综合| 五月天激情久久| 91精品无码| 精品99在线观看| 色婷婷女优有码五月亭| 婷婷五月天人妻| 久久XX| 五月婷婷丁香啪啪| 久久99激情| av色色国产| 日本91在线播放| 国产精品色一哟哟| 久久99国产综合精品免费| 偷偷操99| 亚州操操| 亚洲小电影在线观看黄999| 婷婷国产成人| 亚州婷婷五月激情综合| 特级西西4444www无码| 亚洲色频| 国产这里只有精品| 五月婷婷综合性爱噜噜| 久久五月综合| 丁香五月天婷婷91| 日韩aaaaa| 26uuu丁香婷婷五月| 五月天社区| 五月丁香啪啪综合| 激情图片婷婷| 丁香九月婷| 天天干天天操天天拍| 97操视频| 日日夜夜狠狠| 99er免费在线观看| 免费无码毛片一区二区A片| 亚洲开心激情网| 操97在线观看| 婷婷干五月综合在线播放| 成人VAV视频在线观看| 99热地址| 影音先锋偷偷色男人站| 伊人五月天| 中文字幕av在线播放| 丁香婷婷深情五月亚洲| 五月丁香啪啪啪免费看| 超碰婷婷色| 色婷五月天综合网| 97热久久五月婷婷| 五月婷婷五月天| 麻豆科斗777| 三十熟女| 色性五月天| 无码九九九九| 婷婷基地爱| 色婷五月| 国产精品天天狠天天看| 丁香六月在线| 超碰色色综合| 69精品人人人人| 99色 色| 91九色中文字幕女在线观看| 9+1视频网址| 亚洲九九99精品视频在线播放| 久9热插入| 狠狠香蕉| 五月婷婷婷自由综合| 久久综合首页| 99视频精品| Av狠狠色丁香婷| 成人视频免费观看高清完整版在线观看| 激情五月综合| 亚洲色色图片| 亚洲中文字幕翔田千里| 超碰在线观看99| 五月激情另类| 91狠狠色丁香| 被男人添B超爽视频| 天天日天天色| 丁香婷婷丁香五月欧美人| 丁香婷婷午夜| 五月婷婷综合在线| 国产视频婷婷| 综合久久婷婷五月丁香| 婷婷自拍| 欧美成人精品A片免费一区99| 丁香五月天狠狠| 婷婷色五月激情| 91疯狂操操操操| 免费视频WWW在线观看网站| 六月丁香好婷婷| 久热一本| 狠狠操狠狠爱| 亚洲色夜| 色之综合网| 婷婷久久五月天丁香| 99久久这里只有精品| 欧美成人日韩| 五月婷婷婷婷婷婷艺术| 99热这里在线精品| 大香蕉丁香| 五月天婷婷综合色| 五月丁香六月情| 色婷婷激情四射视频| 视频这里只有精品16| 丁香五月婷婷狠狠色| 综合九九日本| 91九色PORNY大屁股| 婷婷大香蕉| 14色综合婷婷| 亚洲激情网站| 日韩av干| 去干网av| 在线99热| 伊人网啪啪| 午夜福利8055| 九九色婷婷| 玖玖在线视频| dingxiangtingtingliuyue| 激情五月无码| 亚洲色情网站| 9久热这里只有精品| av网址在线| 91精品婷婷国产综合| 婷婷碰碰| 成人综合网站| 开心五月综合激情网| 久久婷婷六月综合| www,av好吊操| 天天拍久久| 5月丁香六月情| 久久99热这里| 一根材五月婷成人| 五月天婷婷黄色视频| 六月丁香花婷婷| 天天搡日日搡aaaaⅩ| 影音先锋噜一噜| 98色花堂98t.R| 99九九在线精品热动漫| 超级碰碰碰91| 欧美三级黄色片久久| 婷婷激情五月视频| 黄色一级影片| 97婷婷在线视频| 91精品综合久久婷婷九色| 婷婷五月丁香激情图片 | 激情第四色| 色99在线| 嫩草极品| 天天躁日日躁狠狠躁日日躁2022年5月9日| 免费视频WWW在线观看网站| 99精品热| 在线播放人妻| 色婷婷久久久| 婷婷五月色播| 国产毛片精品一区二区色欲黄A片| 日本色婷婷| 中日韩美欧成人一区二区精品在线| 国产乱人偷精品人妻A片| 91九色超碰| 91碰碰碰久久久久| 97久人人| 五月婷在线观看| 亚洲色婷婷婷婷人人爽| 69午夜成人影片| 丁香五月区| 五月天开心网| 91九色精品熟女内射| 久久精品性爱| 天天日色情| 色婷婷亚洲综合av| 99热亚洲| WWW.夜夜操.com| 日韩操逼小电影| 玖玖资源天天无码| 婷婷五月天免费视频| 婷婷五月亚洲综合| 色五月婷婷五月天| 欧美日韩成人h| 成人色图情色成人网 www.5b5b5bcom 五月天| 色碰干| 五月天婷婷一起草| 五月丁香婷婷成人综合网| 日韩三级高清无码| 欧美性丁香色色五月天干干| 99网| 日本三级毛片| 国产永久一二一起草| 久久成人精品视频| 日韩精品999| a网站免费观看| 亚洲免费电影2| 久久五月视频| 五月激情婷婷女| 狼人婷婷久久| 亚洲第一成人无码A片| 国产精品色婷婷久久久精品| WWW,激情五月天,COM| 精品草原久久视频| 五月丁香成人| 乱乱av| 亚洲五月天婷婷| 丁香色五月婷婷91桃色| 开心激情综合| 五月婷婷综合色拍| 大香蕉中文| 秋霞AV淫| 九九成人电影婷婷| 激情五月丁香六月综合AVXXXX| 1024国产| 最新婷婷五月丁香| 丁香婷婷基地| 99操逼| 高清无码视频网址| 亚洲另类AV| 五月丁香直播| 精品99在线| 99热每日| 男人的天堂999| 97干在线播放| 狠狠操狠狠色| 综合久久综合| 欧美日韩一区二区三区四区| 国产精品99久久久久久久女警| 色色影院黄大片| 五月婷婷色吧!| 色播丁香| 婷婷色中文| 婷婷色五月色| 思思久久99热只有频精品66| 色色色干| 五月天婷婷在线AN| 国产日韩欧美| 97在线视频 欧美| 婷婷之六月丁香| 任你艹| 99福利导航| 五月天成人综合| 亚洲无AV在线中文字幕| 色综合99| 久久停停超碰| 99热一本久道| 五月婷婷 激情五月| 久久精品一区二区三区四区| www.激情五月天。com| 99re视频在线播放| 综合超碰熟| 国产日韩亚洲欧美在线观看| 极品少妇XXXX精品少妇偷拍| 亚洲 综合中文| 色久天| 99色热视频| 婷婷丁香宗合888| 伊人9草在线观看| 日本五月婷婷| 丁香五月婷婷久久久| 色五月婷激情| 这里只有精品96| 99在线观看视频蜜臀| 99热婷婷| 久久五月婷综合网| 丁香五月色| 情欲综合网| 亚洲综合成人网| 亚洲激情 久久| 国外亚洲成AV人片在线观看| 激情深爱综合| 色色99| www 五月天 com| 国产欧美熟妇另类久久久| 激情婷婷人妻| 日本不卡一区二区三区| 丁香五月天人体| 色五月天婷婷|