久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(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跑復雜應用時經(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 布線復雜在小型工業(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ā)。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)成。一層是固定磁化方向另一層是自由磁化方向。當兩層磁化方向平行時電阻低代表邏輯 0反平行時電阻高代表邏輯 1。寫入時通過自旋極化電流改變自由層磁化方向讀取時測量隧道結(jié)電阻。這個機制帶來幾個關(guān)鍵特性。第一寫入沒有延遲電流脈沖結(jié)束數(shù)據(jù)就穩(wěn)定了不需要像 Flash 那樣等待電荷注入浮柵。第二擦寫壽命近乎無限Everspin 標稱 10^14 次以上實際測試中基本不用擔心寫壞。第三數(shù)據(jù)保持時間超過 20 年而且不需要供電維持。第四抗輻射、抗磁場干擾能力比 Flash 強在工業(yè)電磁環(huán)境里更可靠。但 MRAM 也不是沒有短板。容量密度比 NAND Flash 低成本高4Mbit 的芯片價格能買幾十兆的 Flash。所以它適合存關(guān)鍵數(shù)據(jù)不適合存大塊日志或者固件。另外MRAM 的寫入電流相對較大高頻連續(xù)寫入時功耗會比 Flash 高一些電池供電場景要算一下功耗預算。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é)果寫不進去。我當年調(diào)這個的時候邏輯分析儀抓了半天發(fā)現(xiàn) WREN 命令被當成 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 的步驟不復雜但有幾個參數(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)定先把預分頻改成 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 配置復雜一些還要處理傳輸完成中斷看項目需求決定。注意MRAM 的寫入速度受限于 SPI 時鐘和 MCU 的發(fā)送能力。36MHz 下理論寫入速率是 4.5MB/s但實際因為 WREN 命令和 CS 翻轉(zhuǎn)的開銷連續(xù)寫入大概在 2-3MB/s。如果你要頻繁寫大量數(shù)據(jù)算一下時間預算。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ù)損壞導致的異常行為。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 走線有沒有過長、有沒有串擾。如果低速也失敗用邏輯分析儀抓 SPI 波形看命令和數(shù)據(jù)是否符合預期。4.2 常見問題速查表現(xiàn)象可能原因排查方法解決措施讀回全 0xFFMISO 未連接或芯片未供電萬用表測 VDD 和 MISO 電壓檢查供電和焊接讀回全 0x00MISO 短路到地斷電測 MISO 對地電阻修復短路寫入后讀回不變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 在某些應用里可能不夠用比如高頻數(shù)據(jù)記錄儀一天就能寫滿。這時候可以掛多顆 MR25H40CDF用不同的 CS 引腳片選。STM32F334R8 的 GPIO 足夠多掛四顆就是 2MB掛八顆就是 4MB。多芯片管理的核心是地址映射。我一般定義一個邏輯地址空間比如 0x000000 到 0x3FFFFF 對應四顆芯片每顆 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é)合的任務調(diào)度在跑 FreeRTOS 或者 RT-Thread 的項目里MRAM 讀寫要加互斥鎖。SPI 總線是共享資源如果多個任務同時讀寫 MRAM不加鎖會導致 CS 時序混亂數(shù)據(jù)錯位。我的做法是創(chuàng)建一個二值信號量每次 MRAM 操作前獲取操作后釋放。如果某個任務要寫大量數(shù)據(jù)可以分塊寫每塊之間釋放一下信號量避免長時間占用總線導致其他任務超時。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)先級任務里通過隊列接收寫請求批量處理。這樣高優(yōu)先級任務不會被 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 應該已經(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 速率是否符合預期。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 次實際使用中基本不用擔心壽命。但數(shù)據(jù)保持方面高溫會加速磁性退化。如果設(shè)備工作在高溫環(huán)境建議定期比如每月做一次數(shù)據(jù)巡檢讀出來校驗 CRC發(fā)現(xiàn)錯誤就用備份恢復。這個邏輯可以放在系統(tǒng)空閑任務里不影響正常功能。另外MRAM 對強磁場敏感。如果設(shè)備附近有電機、繼電器或者大電流走線MRAM 要遠離這些干擾源或者加磁屏蔽。實測中距離 10cm 以上的繼電器動作對 MRAM 沒有影響但如果貼著放寫入時可能出現(xiàn)位翻轉(zhuǎn)。7. 個人實操體會與建議這個方案我從 2021 年開始在幾個工業(yè)項目里用累計出貨幾千臺現(xiàn)場反饋很穩(wěn)。最大的感受是MRAM 的“寫入即持久”特性讓掉電保護邏輯簡化了至少一半。以前用 Flash 的時候要設(shè)計雙備份、寫前擦除、掉電檢測、恢復流程代碼量大且容易出 bug。換成 MRAM 后寫入就是寫入掉電就掉電數(shù)據(jù)不會丟省心很多。選型上MR25H40CDF 的 4Mbit 容量在參數(shù)存儲場景夠用但如果要存大量日志建議選更大容量的型號比如 MR25H256256Kbit或者 MR4A16B16Mbit 并口。SPI 接口的 MRAM 目前最大到 4Mbit再大就要用并口或者換其他技術(shù)路線。驅(qū)動開發(fā)上我建議先把底層讀寫調(diào)通用邏輯分析儀確認時序正確再往上搭數(shù)據(jù)結(jié)構(gòu)和應用邏輯。很多人一上來就寫復雜的存儲管理結(jié)果底層有問題查半天查不出來。分層調(diào)試逐層驗證效率最高。最后分享一個小技巧MRAM 的 CS 引腳上拉一個 10k 電阻到 3.3V防止 MCU 復位期間 CS 浮空導致誤操作。雖然 MRAM 寫入需要 WREN誤觸發(fā)的概率很低但加上拉電阻成本幾乎為零能提高可靠性。我在早期版本上沒加后來有一次現(xiàn)場設(shè)備頻繁復位懷疑是 CS 干擾加上拉后問題消失。這種細節(jié)datasheet 上不會寫但實際項目中很關(guān)鍵。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99热婷婷| 97热视频在线观看| 91大神精品长腿在线观看网站| 青娱乐 成人娱乐在线| 人人操人人插人人摸人人干| 丝袜亚洲综合| 乱人乱色一区二区三区免费| 伊人991| 国产亚洲99久久精品| 一级人妻性爱视频| 欧美se综合| 日本好吊色视频| 激情四射婷婷四五月天| 色色色99| 五月天色五月| 五月激情啪啪| 福利在线黄片| 福利视频一区二区微拍| 欧美日韩电影成人在线| 国产无马在线| WWW.操逼.COM| 少妇色| 国产精选视频| 欧美成人精品欧美一级乱黄一区二…| 亚州九九九精品视频| 欧美色图天堂网m| 欧洲天天在线| 97色伦欧美| 欧洲熟妇xxXx欧美老妇裸体| 日韩无码黄色片| 可以免费看黄片的视频| 国产亚洲精品精AV.| 亚洲在线a| 丰满少妇一区二区三区免费看| 欧美性Fer办公室秘书| 日本黄色裸日本黄色裸体| 免费看污网站| 丝袜天堂| 男人的亚洲天堂| 国产美女精品| yy少妇精品久久| 欧美情色贴图| 超碰久久草| 欧美精品久久| 91麻豆天美国产欧美高潮| 丝袜高跟澳门91视频| 激情婷婷黑人91| 欧美在线|亚洲| 91国产丝袜白虎| 亚洲伊人青青草| 嗯嗯啊啊啊啊轻点视频| 干b网| 亚洲清纯综合| 亚洲欧美天堂| 亚洲操逼视频网站| 天天综合色| 91蜜臀熟女| 91大神电影天堂| 九九九久千久久激情蜜桃在线看| 中文无线日韩一区| 一起草三级AV电影在线观看| 91精品国产日韩欧美综合| 国产精品国产自产高清AV| 国产亚洲精品美女久久久| 91人妻精华帖| 婷婷中文字幕| 日韩 欧美 校园一区| 呦女网站| 97免费视频在线观看| 国产性爱强奸乱伦大全| 欧美日韩国产三级黄色| 超踫中文字幕| 久久97视频| 国产综合在线视频网站| 丁香五月天激情网站| 亚洲丝袜二区| 男人天堂无码| 人人人摸人人| 国产精品久久久久av| 日本三级韩三级99久久| 1024手机看片欧美日韩| 天天综合官网| 最新国产精品久久精品| 69丨亚洲丨精品丨入口免费播放| 亚洲男人天堂AV| blacked精品一区国产| 天天操夜夜操| 99国产精品自在自在| 97超碰超| 黄片不用下载在线观看| 加勒比av官网在线| 欧美色www亚洲国产阿娇要播| 最新中文字幕精品在线| 国产13区| 日韩猛交| 婷婷丁香六月| 欧洲精品区| 美女性91| 91操人视频| 999 久久久| 丝袜 中出 制服 人妻 美腿 中文字幕| 人妻一区视频| 欧美性战999| 午夜啊啊| 日本3级一区二区免费| 精品国产一区二区三区久久久蜜臀| 啊啊啊啊,啊啊好多水| 日本熟女免费視颖| 久久的网站啊啊啊啊啊| 啊啊啊好多水| 精品国产乱码久久久久久久久1| 精品二999| 乱伦一二三区| 99re8免费高清在线| 日本操逼无码| 中文字幕神马久久| 中文字幕精品日韩中文字幕| 丝袜av一区二区三区| 成人av性爱电影在线观看| 青青草密桃在线播放| 97久久综合网| 天天影视网综合少妇| 日韩综合色图| 天天肏美女| 97精品在线视频| 激情丁香五月| 成人性交午夜免费片| 凹凸视频特色日本特黄| 国产成人五月天丁香花| 91蜜臀在线久久久久| 粉嫩av一区二区三区天美传媒| 久久色情| 白丝被操91| 美女淫穴| 一区操逼日比视频| 久久亚洲日韩国产欧| 亚洲无线码一区国产欧美国| 96国产精品| 国产 码在线成人网站| 亚州欧美在线| 亚洲美女精品| 久久av一级av少妇av高潮 | av线电影| renqi久久久久久久久久久久| 69精品| 熟妇熟女亚洲天堂网| 乱伦日本中文自拍| 操淫穴亚洲五月丁香| 国产极品一区二区三区三州| 老妇女91| 久久日本熟女精品一区| 色5月婷婷| 国产精品片| 国产嫩草精品A88AV在线| 欧美成熟性爱精品| 黄色一区三区| 亚洲丝袜色| 韩日性爱av| 国产999精品久久久| 国产精品老熟女一区二区| 中文字幕在线免费观看2| a人欧美综合天堂麻豆| 在线人妻熟女一区二区三区四区五区| 美女视频尤物网在线看| 欧美操逼录像国产黄色国产| 久久久久久久久久久久久久久乱码| 在线岛| 加勒比aⅴ| 国产夜夜艹| 精品成人av一区二区三区在线| 人人操人人肉久久精品| 好屌色综合| 国产少妇与亚洲av| 欧美特大黄一级片片免费| 色欧洲| 日韩亚洲97| 江都AV在线| 可以免费观看的日韩av毛片| 亚洲伊人成综合成人网| 超碰综合97在线| 伊人青青一区成人视频在线观看区| 国产精品视频麻豆入口| 天天上日日上日韩精品| TS人妖另类精品视频系列| 亚洲日韩XXX| 97在线国产精品| 韩国三级理论在线| 黑人白女精品一区| 综合亚洲欧美精品日韩?v| 欧美96交| 亚洲。天堂。日本在线观看| 美女大乳久久久久久久女人18| 亚洲综合在线视频| 9久久精品| 亚洲三区视频| 国产精品亚洲无码| 性久久久| 国产无码精品成人| 91欧洲国产成人久久精品网站| 天天影视之亚洲综合网| 素人一区二区三区日韩| 岛国网址国产| 国产精品免费视频人成| 人人干人人操人人..com| 日韩免费中文字幕视频| 日韩精品字幕| 思思视频免费看网站| 中文字幕丰满子伦无码专区在线视频最新 | 日韩精品一区,二区 九九...老司机| 看黑人AV不卡| 成人色女网| 天天综合精品| 免费久久9999| 欧美日韩少妇色情| 欧美一区二区三区成人性生活| 日韩欧美丝袜诱惑| 亚洲精品蜜桃久久久久久久| 97超碰久久色| 国产精品久久久久久夜夜夜夜| 美女黄码视频午夜| 亚洲脚交| 亚洲高清自拍| 97超碰磁| 性爱精品一区| 黄污污污污| 欧亚乱色熟一区二区三四区| www.欧精品| 91在线免费观看处女| 亚洲国产精品久久久久婷婷青年| 78p欧美| 亚洲第一二区另类图| 少妇人妻无码| 欧美色图在线视频少妇| 亚洲精品视频在线| 熟女中出视频| 长久操视频| 久久久性少妇| 日韩精品一区二区高清 | 久久神马影院| 天天日熟妇| 色97干| 欧美亚洲中文| 天天做日日做天天欢。| 久久伊人大香蕉| 欧美三级免费伊人| 啊啊啊操死我了| 国产老女人久久毛| 欧美黑人精品一区二区| 亚洲色色色| 九九英色视频| 91女日逼| 久久高清欧美国产| 久久9亚洲| 色婷婷一区二区三区久久午夜| 加勒比综合88| 日韩在线观看中文字幕视频| 欧美一区二区情色| 台湾佬大香蕉| 一区二区三区视频国产免费| 992这里有精品| 天天操天天日天天干| 啪啪自拍九九综合| 国产精品熟女丝袜一区二区| 中文字幕91综合| 好爽要喷了| 亚洲欧美国产va在线播放频| 亚洲日韩黑丝| a片自拍直播视频| 亚洲αv一区二区三区| 日本三级韩国三级99| 精品无码一区二区人妻久久蜜桃| 亚洲成aⅴ人片不卡无码| 操逼日韩无码 | 九色 蝌蚪 熟女自| 亚洲精品无码久久AV| 亚洲麻豆精品二区三区| 久草线上视频免费看| 中文乱码字字幕在线第5页| 人人操人人狠狠操| 欧美成人精品一区二区男人蜜臀| 欧美日韩国产三级黄色| 欧美少妇第一页| 嗯嗯啊好爽| 麻豆国产免费影片| 大逼色网站| 色爱三区| 国偷自 一区| 国产人妖视频一区在线观看| 91美女看B| 二男一女成人A片| 日韩78m视频| 亚洲 欧美 精品专区 极品| 久久午夜伦| 91精品网站| 亚洲操操操| 91久久国产精品| 欧美婷婷五月天| 色婷婷日韩精品一区二区三区| 国产精品无码AV网站| 伊人四虎综合| 欧美日韩97在线| 亚洲精品性爱片| 99www.bibizy香蕉资源国产一区二区三区高清 | 亚洲一卡2卡3卡4卡乱码网站 | 2018天天日天天日| 强奸熟女一区二区三区| 亚洲人妻av| 综合色区偷拍| 极品白嫩福利在线| 国产欧美日韩精品中文| 国产精品夜夜夜| 97人人干人人操| 69一区二区| 亚洲熟妇乱女区二区三区| 91一区二匹| 久久9精品视频| 一个国产在线综合网站| 香蕉色网| 人妻少妇一区二区| 中文字幕精品一区欧美| 黄站在线免费观看| 丰满少妇人妻久久久久久| 最新av中文字幕高清| 性欧美精| 欧美专区在线| 国产亚洲色婷婷久久99精品91葵花宝典| 一区二区三区色综合| 日韩国产欧美伦理在线| 人妻精品一区二区三区| 999久久久九| 国产亚洲性生活视频播放| 亚洲激情色片| 蜜臀av一区二区三区免费观看| 好吊色综合| 在线视频一区二区传媒| 色爽——AV| 国产少妇肉丝在线观看| 老司机天天操| a啊啊啊啊啊啊啊啊一区二区| 一级免费啪啪片| 九九热三级片| 亚洲加勒比色图| 久久久蜜桃一区二区三区| 精品无码一区二区三区色欲| 九九人妻| 美女大乳久久久久久久女人18| 1024午夜激情男人的天堂| 国产丝袜欧美在线视频| 九九碰九九爱97超碰| 国产精品老师| 国产精品盗摄 偷窥盗摄| 日韩一级二级三级免费看完整版国语版| 日本3级一区二区免费| 九久精品| 综合97久久| 婷婷五月av| 欧美极品性爱天天射| 久久久一区二区三区麻豆| 男女激情中文字幕| 国产精品麻豆成人AV艾秋| 手机在线中文字幕国产| 91久久久亚洲| 骚货操死你| 久久超碰98| 久久无码电影| 国产精品人妻熟女aⅴ| 日本精品加勒比海一区| 亚洲精品国产av天美传媒| 日本日逼高清| 国产色综合亚洲色综合吹潮| 性色综合网| 97视频www| 久操高青| 精品久久久久,69国产成人精| 浪人综合网| 亚洲国产成人精品999| 亚洲色婷婷综合久久久久中文| 伦理弟一页| 麻豆亚洲AV成人无码久久精品| 熟妇艹鸡八| 91爽啪| 久久激情综合| 日本三级韩三级99久久| 国产熟女完整版中字| 曰韩人妻中文字幕在线| 中文熟女五十乱码在线| 午夜精品久久久久久久99| 久久中文色图| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 欧美亚州手机在线| 国产女上位好爽在线| 色色五月丁香| 97久久久久久久精| 91久热这里只有精品| 黑丝少妇在线观看| AA特级绝黄| 综合久久2017| 永久免费av无码网站国产app| 日韩性爱小视频| 超碰97护士| 天天拍夜夜| 日本淫乱女一区二区三区视频| 97色香蕉| 精品综合久久久久久五月天| 国产一区二区成人av在线播放| 美女视频尤物网在线看| 欧美日韩亚洲一区二区在线观看| 日韩精品人妻一| 国产精品欧美日韩久久| julia高潮后不停追击中出| 久久久五月天| baisiav| 亚熟在线| 91欧洲入口| 99久久99九九99九九九| 久久熟女人| 国产极品999| 亚av顶级裸体一区二区三区四区五区 | 亚州熟女乱伦| 伊人久久在线视频观看| 无码国产精品久久久久| 高凊专区人人操| 97在线无精品| 噜噜噜亚洲精| 国产黄色视频久久| 日韩一区二区三区四区五区| 99热97| 操逼999| 久久成人东京热人妻| 色欧洲| 黄在线| 五月婷在线| 任我爽视频在线观看| 啊啊啊不要好爽日韩无码一区| 久久99久久99精品天美传媒棢·纸:. | 爱射综合| 色一区二区三区综合| 亚洲视频精选| 国产久久av| 婷婷尹人大香蕉免费| 亚洲熟女一区| 久久一区二区三区四区五区| 可以免费观看的日韩av毛片| 色五月婷婷五月天| 超碰日韩美妻| 日本一级真人黄色性爱视频| 国产情侣自拍在线播放| 91天天爱| 九九综合九九综合| 色情五月综合婷婷| 亚热日本熟女| 欧美日产国产在线成人第一区| 久久婷婷影院| 欧美亚洲韩国视频十五区 | 日本一级性爱| 久热久操| 日韩av不卡在线看| 国产97在线视频| 国产熟女乱论| 大香蕉在线视频重口味毛片在线| 男啪女色黄无遮挡免费观看| 色丁香五月婷婷| 好舒服视频| 国产自制av蜜乳| 国产免费一区二区三区最新不卡 | 欧美不卡五十路| 亚洲nv男人的天堂网| 欧美日日人人天天| 欧美强奸乱| 操人妻逼91| 日本人妻伦在线中文字幕| 欧美操人| 久久久久久九九九九九| 色久综合| 亚洲高清自拍| 亚洲另类久操网| 国产丝袜啪啪| 少妇xx精品| 在线免费试看60秒| 超碰人妻天天干| 天堂麻豆天美| 精品亚洲国产成人精品| 色香伊人| 日韩AV一起草| 国产91美女视频| 亚洲天堂人妻一区二区| 97天天| 大香蕉操久久| 国产中文字幕在线点播| 久久久不卡区一区二区三区久久久| 超碰成人人人爽人人爽| 亚洲男人天堂网久久| 婷婷av在线中文字幕| 91色五月俺来也| 极品销魂美女一区二区 | 久久在肏| 超碰三级秋霞| 人人操人人干xxx| 四虎免费看黄| 男女激情黄色网址| 国产精品乱码久久久久久久久| 97久久视频| 神马久久午夜| 久久色激情一区二区三区| 久久久久国产精品久久久| 日韩在线观看三级电影| 欧美91网站| 欧美一区二区观看在线| 97综合激情| 十八禁黄色成人网站观看| 国产女人高潮嗷嗷嗷叫小说 | 加勒比综合88| 美女淫穴| 秋霞视频一区二区| 男女一进一出视频久久| 国产精品高潮久久AV| japan日本高清乱xxxx| 人妻少妇精品| 久久99精品九九久久久婷婷| 99ri精品| 大香焦A片| 97久久久久久久久久| 久久天天摸| 国产操逼逼网| 日B操| 天天综合站| 超碰人人乐97| 人妻精品视频一区二区| 亚洲色图欧美一区二区不卡| 九热超碰| 久9久| 99热免费| 在线无码操| 久久精品国产亚洲AV清纯| 日韩人人精品| 久久女同性恋一二区| 久久九九综合| 国产91乱伦| 妇女性内射冈站HDWWWCOM| 欧美啪啪啪91| 美女丝袜激情小说| 国产熟女二区| sss视频华人在线| 五月天激情影院| 伊人精品久久网站| 1级黄色夫妻对换性交免费看| 婷婷激情丁香| 大香蕉92| 伊人嫩草| 2020中文在线一区二区三区| 东京热天堂网| 日本精品五区| 欧美色图电影| 五月天久久人妻| 欧洲亚洲综合| 日日妻色网| 国产成人AV麻豆| 亚洲熟女国产综合另类| 超碰超碰欧美| 亚洲AV无码天美传媒一区| 六月激情婷婷| 天天插天天插| 99精品免费| 色婷婷亚洲婷婷| 91丨九色丨熟女高潮| 91动漫操逼视频| 天天操天天干一区二区 | 日韩 欧美 视频 在线 一区| 放黄片放3级黄片没穿衣服| 成人性交午夜免费片| 哈哈操 大香蕉| 一二三四区电影| 高颜值美女口爆高潮浪叫| 欧美青青草视频| 亚洲文学偷乱拍啪啪啪啪 | 国产强奸乱伦xd| 午夜啪啪片| 日韩肏逼视频| 亚洲国产91精品一区二区久久| 收看日本人日bb| 香蕉黄色一级视频| 黄色AAAAAAAAAAA大片| 欧美高清18A片| 丁香六月激情| 白嫩国模丰满一二三区| 欧美aaaaaaa| 人妻精品视频一区二区| 激情综合久久| 性爱视频久久| 国产精品网站www| 北条麻妃性愛视频| 国产吹潮女在线观看| 中国少妇啪啪视频| 午夜性生活av免费在线看| 人人操,人人插| 激情接吻视频久久久久久| 亚洲成av人片色午夜乱码| 五月婷婷影院| 亚州色国| 18+91网站| 国产精品不卡av免费在线观看| 欧美αv.com| 亚洲AV成人无码一区二区三区在线观看| 色5月婷婷| 10000部十八禁看电影| 蜜桃精品视频一区二区三区| 国语少妇精| 超碰在线人妻中文字幕| 岛国艾薇凹凸视频天堂| 久久久无码国精品无码三区三区| 日韩精品高清资源在线| 亚洲drav色图| 毛片一区二区| 中文字幕精品一区欧美| 天天拍天天操| 久久久禁| 久久久啊啊啊| 成人免费福利在线观看| 欧美嗯啊……在线观看视频免费| 精品人妻一区春色| 国产在线综合网| 亚欧国产无码精品在线| 欧美无圣光在线| 综合色一区三区二区| 岛国片国产成人亚洲播放| 久久精品小视频| 91色人| 欧美日韩插逼视频| 丁香五月AV| 人人九九精| wwwxxx日本爽| 午夜激情床戏激情| 超碰人妻久久| 欧美日韩性爱视屏免费看了| 91精品成人| 一起草高清无码| 国产成人综合网| 亚洲天堂电影网| 狠狠操夜夜| 亚洲人妻熟妇三十三区| 中文字幕在线观看网址| 久久黄黄| 欧美性性性| 顶级丝袜熟女一区二区三区 | 91欧美高清| 欧美色青| 色综合色色| 久久久成人免费av电影| 国产精品久久99日日| 中文字幕少妇色 | 日韩性爱小视频在线观看 | 国产综合日韩伦理| 天堂资源欧美| 国产高清午夜成人在线观看| 亚洲欧美精品一区天堂久久| 免费视频一二三区| 久久一二三四五六七八九区区区 | 国产女人91精品嗷嗷嗷嗷| 伊人网在线视频| 又大又长又粗又爽又黄| 操91| 国产亚洲日本精品在线| 精品国产一区二区三区久久久蜜臀| 亚洲欧美综合| 九九热男人天堂| 51国产午夜精品视频| 蜜臀亚洲中文| 香伊人在线| 精品一区二区三区四区外站| 天天色天天干天天射| 在线观看午夜婷婷久久久久清性观看| 美中日韩无码| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 欧美综合网A| www.狠狠干.coom | 蜜桃臀av一区二区| 91爱综合| 亚瑟国产精品久久无码| 亚洲精品1区| 综合色99| 97操| 性爱AV天堂| 97人人模人人爽人人| 亚洲熟女诱惑| 99九九精品| 精品欧美不卡在线播放| 一区二区三区成人| 超碰99在线| 久久久久少妇| 97er欧美性| 亚洲另类在线观看| 欧美精品成人一区二区在线观看| 久久久婷| 综合婷婷| 日韩黄色av中文字幕| 劲爆欧美人妖三区91| 亚洲精品男人的天堂| 日韩av性爱在线播放| 九九九九精品一区| 东京热激情视频一二三区| 超碰国产精品无码| 亚洲 欧美 日韩另类 麻豆| 亚洲、日韩、综合、另类| 久久九九视频九九视频| 亚洲色婷婷综合久久久久中文| 亚洲熟妇图片| 日韩免费看黄片| 日韩操逼性鲍| 国产美女自拍视频| 精品一区二区三区四区外站| 精品丰满人妻一区二区三区免费观| 天天插夜夜操| 91亚洲人| 欧美韩日精品99综合| 观看视频图片一区二区三区| AV和黑人在线播放| 亚洲麻豆av一区二区| 日韩欧美蜜桃精品久久中文字幕久久| 安徽熟妇视频| 亚洲精品色| 可以免费观看的日韩av毛片| 日韩av免费一级电影| 99操逼| 熟女高潮合集-永久久久-成人AV| www老逼91| 自拍鲍鱼一区在线高清观看免费| WWW.操逼.COM| 欧美 亚洲| 亚洲欧美91√| 国产精品乱码久久久久久久| 另类亚洲图色| 人妻少妇久久久| 偷窥自拍亚洲天堂网爆| 美女极品一区二区三区| 98超碰欧美| 91青青在线| 91日日夜夜| 澳门黄片一香蕉视频| 中文字幕三四区| 久久精品国产亚洲粉嫩| 97中文综合| 超碰69| 日本裸体久久色噜噜| 亚洲综合色男人网| www.狠狠| 亚洲美乱| 男人的天堂亚洲| 丁香婷婷久久| 精品久久一区二区三区四区五区| 精品性爱无码在线播放| 91精品大奶人妻| 91精品国产高清久久久久久,亚洲成人 | 免费视频97| 超碰美国| 国产丝袜美女在线一区| 国产日韩精品suv| 99久久久无码国产精品性啊聊| 国产精品美女视频诱惑| 黄片免费日韩| 97精品熟女少妇一区| 国产AV久久野战精品| 色色香蕉| 99操99| 中文字暮97| 91啪啪视频| 97视频网站在线观看| 国产精品91一样| 欧美亚洲日韩16色| 欧美第二页午夜| 深夜激情| 中文字幕在线免费观看2| CCYY草草影院地址入口| 日韩无码a片| 特级丰满少妇一级AAAA爱毛片| 亚洲αv一区二区三区| 色色色色综合网| 欧美激情总合网| 欧美亚洲厕所精品偷拍91| 超碰97久久国| 97这里有精品| 国产视频一区二区三区在线免费观看| 亚洲第一精品在线视频| 精品一区二区综合熟妇| 亚洲日韩精品在线播放| 色妹子A V| 天天色踪合| 欧洲综合色| 欧洲性爱无码区| 国产久久av| 欧美视频在线第3页| 亚洲网污污污污| 91爱啪| 日韩免费大片一级播放| 蜜臀99久久国产| 一级片视频啪啪| 色欲日韩欧美在线一区| 日本欧美韩国日产片片在线看免| 日日日骚女人精品| 美女91AV| 青青伊人这里只有精品| 欧美黑人猛交春色影视大全| 欧美 熟女 日韩| 神马久久久久久| 欧美老妇曰批的视频| 五月天婷婷久久| 亚洲日韩东京热一区| 亚洲天天更新| 婷婷深爱五月| 欧美性区| 中文字幕一区二区三区人妻不卡| 国产中文大片资源中文字幕 | 超碰97人妻| 黄色高清无码无码破解免费暗网| 日韩中文字幕av在线播放| 亚洲色资源| 婷婷婷婷婷婷久久久久| 成人麻豆av电影网站| 亚洲色偷偷色噜噜狠狠99网| 后入式福利| 岛国在线免费视频| 久久久久9久久久久| 欧美91网| 天天精品| 东京热大香焦| 性暴力欧美猛交在线直播| 一二三四日本视频高清| 超碰 欧美| 大学生口爆吞精| 18精品一区| 四方色播| 日韩精品99999| 91麻豆天美国产欧美高潮| 久久无码电影| 大乔未久88一区| 999国产精品999久久久久久| 操婷婷逼| 九九九九九九九九九九九蜜桃| 日韩无码黄色片| 精品国产国产AV| 国产操操日韩三级黄| 久久精品老司| 欧美 精品国产制服第一页| 精品人妻一区二区三区-国产精品| 色香天天| 一二三啪啪专区| 久久久新亚洲AV| 色女综合| 手机午夜电影神马久久| 熟妇在线视频一区二区| 丝袜美腿av女优在线| 99热免费| 国产成人91一区二区三区| 久久精品亚洲婷婷| 国产精品不卡高清在线观看| 人妻天天爽夜夜爽精品2| 91亚洲图片| 亚洲日本男人天堂网 | 黑人中出21连凳花野真衣| 91精品人| 国厂麻豆77q4| 日本性爱不卡视频| 一级特级aaaa毛片免费观看| 久久成年片色大黄全免费网站| 精品少妇999| 好爽,再快点啊哈嗯嗯嗯嗯| 日韩欧美加勒比| 91视频成人福利网站在线一区| 国产午夜在线观看| 美女淫穴| 精品性爱一区二区| 青青久草| 草蕉影视亚洲无码| 国产一区二区三区视频在线看| 欧美色图片欧美色图| 留下AⅤ黄色片| 欧美性爱一区二区| 青青草黑寡妇男人天堂| 天天操人人操狠狠插| 国产精品3| 国产精品一二三免费网站| 青草综合| 欧洲亚洲综合| 口爆综合网| 亚洲成人贴图| 任你干在线视频| 97色婷婷| 新久久AV| 中国熟妇| 国产青青美女玩逼视频| 超碰人人在线| 99国产精品视频尤物| 久久r精品| 嫩草伊人久久精品| 国内毛片免费h片在线| 男人女人18禁片免费看网站| 丁香7月婷婷| 久久日韩毛| 日本熟女不卡视频| 久久久成人免费av电影| 日韩草久视频| 婷婷午夜成人色中色| 人人么人人操| 国产精品69久久久久孕妇欧美| 2025亚洲男人天堂| 亚洲乱码国产乱码精网站| 9九九国产| 亚洲91网。| 搡老女人老妇女AAA一VU麻豆| 嗯嗯啊啊啊好爽| 嗯嗯啊啊的视频| 国产人伦精品一区二区三区| 99精品在线观看| 伦伦成年午夜免费视频| 99亚洲国产精品色一区二区三区| 91无码人妻精品一区二区三区蜜桃| 久久鲁夜| 中文字幕 av v| 亚洲免费人妻在| 一区二区三区探花在线观看| 操逼操逼操| 97免费在线观看| 免费国产| 欧美日韩美女精品久草一区二区三区| 熟女在线视频| 人妻日日夜夜精品| 亚洲激情综合| 99综合视频| 亚洲第2页| 2018天天干在线视频| 2017av无码免费无线播| 欧成人精品H无码| 国产日韩美女小穴视频网站不卡| 欧美综合777| 亚洲色丰满少妇高潮| 久久亚洲熟妇在线视频| 日本女厕偷拍| 麻豆黄四叶草网站| 欧美嗯啊……在线观看视频免费| 少妇超碰在线| 成功精品影院| 亚洲人妻AV| 制服乱伦| 久久国产视频性吧 | 国产精品美女久久久久久网站| 超碰色老头| 搡老女人老91二区| 亚洲美女AV无码| 男人天堂电影院| 国产婷婷综合在线观看| 精品少妇999| 国产精品直播在线观看直播| 亚洲一区二区三区春色| 国产黄色影片在线观看| 国产亚洲精品A在线观看下载| 一区不卡在线观看av| 天天谢天天干| 国产精品爽爽va在线观看98| 在线观看日韩av不卡| 亚洲五月天激情| 色久综合| 麻豆影音天美视频| 99精品网站| 久久综合av| 国产夫妻性生活视频| 五毛骚逼极品美女怕怕| 久久爽爽精品| 91精品又粗又猛又爽| 欧美色图自拍| 香蕉大久久久| 国色综合天| 欧美99999| 自拍偷拍草一草| 伊人网青青| 国内精品嫩模A∨私拍小视频| 熟妇xxxxx性春色| 久久亚洲精品成人av| aaa一级黄片| 大香蕉十区| 国产精品不卡一区二区三区| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 极品极品色影院| 亚洲色图久久成人| 国产欧美日韩臀| 99精品九九九九九九| 久久久久国产精品久久久| 欧美成人A天堂片在线观看| 人人看人人摸人人色| 人妻夜夜爽天天爽麻豆三区网站| 大香蕉伊在线久草麻豆天堂故事| 蜜桃AV天堂| 97在线免费| 这里都是精品在线观看| 色哟哟国产精品免费网址| 97欧美色综合| 无码78| 亚洲色图殴美色图激情乱伦| 日日狠狠久久偷偷色综合免费| 久热久操| 上床啊啊啊| 性色av蜜臀av色欲aV| 好淫网一二三视区| 9ⅰ久久久天天| 一区不卡在线观看av| 婷婷九月| 国产熟女自拍| 欧美色www亚洲国产阿娇要播| 操逼逼无码| 五月天伊人| 中文字幕一区二区三区50路| 日韩精品碰碰| 亚洲国产一级中文综合久久天堂在线免费观看 | 日韩久久激情精品| 午夜福利区| 久久久久久性爱免费视频| 欧美做爰无码A片视频| 成人综合视频久久| 久久AV无码AV| 色婷婷色99国产综合精品| 日韩精品大香蕉伊人在线| 屁股久久久久久久| 夜夜爽77777| 精品久久久久成人码免| 亚洲天堂7777| 2026国产精品视频| 日韩av性爱在线播放| 1024亚洲中文字幕久在线看片你懂的| 丰满少妇精品一区二区| 无色无码| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV | 啊啊啊啊,啊啊好多水| 最新日日夜夜天天干干| 色综合加勒比四四季| 天天做天天爱| 91亚·色| 精品1区2区3区| 色爱综合网| 97在线公开视频| 色综合色色| 色97欧美| 欧美九9 9 9| 97精品人妻一二三四| 手机在线视频国内精品| 免费亚洲国产精品久久一区| 一级婬片120分钟试看| 一区 欧美 日韩 麻豆| 精品无码一区二区三区色欲| 欧美超碰96| 熟妇综合一区二区三区| 男人干美女| 澳门黄片一香蕉视频| 中文字幕78| 深夜激情无码| 国产日韩中文字幕欧美| 久久婷婷视频| 久久精品电影在线| 97超级久久强资源| 天美传媒AV在线播放| 亚洲国产一区二区三区在线| 国产丸一视频| 精品久热| 午夜性生活av免费在线看| 射丝袜高跟鞋99| 久久亚洲欧美中文字幕国语| 久噜噜| 97色干| 91综合站| 中文字幕78| 久9视频| 精品对白久久不卡| 综合 青草 伊久久 影院 综合| 亚洲图片激情综合另类| 久欲AV| 伊人成人中文字幕久久网| 以及麻豆国产入口在线观看免费| 老女人老91妇女老热女| 国产1769在线| 欧美色亚洲| 97视频620| 91精品久久久久久综合五月天| JuliaAnn丝袜熟女系列| 97干天天| 日韩成人精品中文字幕| 97亚洲综合影院| 综合九九| 婷婷久久综合| 成人97人人超碰人人| av午夜玫瑰| 亚洲AV操| 一本色道久久综合精品婷婷| 亚洲激情综合| 欧美成熟性爱精品| 五月天AV资源| 久操99| 操高情无码| 一二三区精品视频| 久久超碰大香蕉| 狠狠操夜夜操蜜桃视频三区| 911av网站免费观看| 男人天堂毛片| 久久m| 口爆综合网| 91精品丝袜在线观看| 一个色导综合| 日韩BBN| a片亚洲一本通视频| 中文字幕在线播放2中文字幕在线观看2| 欧美午夜视频免费观看| 蜜桃久久一区二区| 五十路人妻在线| 诱惑人妻欧美一区在线播放| 色九区| 思思热免费视频观看| 亚洲欧洲综合av在线| 国产激情在线| 亚洲91综合| 麻豆天美传媒在线视频天堂| 国产 日韩 欧美高清| 久久春色| 天天干18禁| 亚洲s色图| 69久久久久久久久久久久久| 综合网久久| 99热免费| 国产日比| 国产三级日产三级韩国三级| 亚洲熟女精品| 久久性爱视频99| 91美女小视频| 香蕉精品二区二区| 老鸭窝在线视频播放| 色哟哟av网址| 日本孕妇孕交| 天天做天天爱天天爽AV| 91精品人妻一区二区三区蜜桃臀| 校园春色 男人天堂| 99日精品欧美国产| 免费在线黄片视频| 国产女同视频在线播放| 亚洲第一页色网| 久久久久96| 天天干人妻视频| 大香蕉日韩欧美| 综合网亚洲1| 亚洲情色无码一区二区三区| 国产精品久久久久久久久久久久久久久| 青青久操| 99RE在线视频精品,这里只有精品| 欧美色三级片91| 国产9区| 色狠狠 - 百度| 丁香六月激情| 日本性爱网址| 国产精品久久久久久照片| 欧美探花网| 久久这里只有精品9| 丁香九月婷婷| 国内偷拍精品一区二区| 起碰97| 9丨亚洲一区二区在线| 十八禁的黄污污免费网站|