亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

MR25H40CDF與PIC18F87K22工業(yè)MRAM數(shù)據(jù)存儲設計

MR25H40CDF與PIC18F87K22工業(yè)MRAM數(shù)據(jù)存儲設計 通過 MR25H40CDF 與 PIC18F87K22在工業(yè)和嵌入式應用中存儲和讀取數(shù)據(jù)在工業(yè)現(xiàn)場待久了你就會發(fā)現(xiàn)存儲這個環(huán)節(jié)最容易在“意想不到”的地方翻車。很多設備需要頻繁記錄溫度、壓力、運行時長、累計次數(shù)這類參數(shù)EEPROM 寫入壽命有限Flash 又有擦除塊和寫入放大問題經(jīng)常是程序跑得歡掉個電數(shù)據(jù)卻丟了。我這次的項目就是選用了 Everspin 的 MR25H40CDF4Mbit 掉電非易失 MRAM配合 Microchip 的 PIC18F87K22 8 位 MCU把嵌入式數(shù)據(jù)存儲的讀寫鏈路完整做通了。這篇文章適合正在做工業(yè)存儲方案、或者想在單片機項目里引入 MRAM 的工程師參考我會從選型、硬件連接、SPI 驅動代碼、可靠性設計到實際調試踩坑全流程講清楚。1. 先搞清楚為什么是 MR25H40CDF 而不是 EEPROM 或 Flash1.1 工業(yè)存儲的三角矛盾壽命、速度和掉電保存接觸過工業(yè)設備的人都知道現(xiàn)場對存儲的要求非常“擰巴”。一方面數(shù)據(jù)要掉電不丟另一方面寫入要足夠快、足夠頻繁還要能扛住上萬甚至上百萬次寫入。常規(guī)方案里EEPROM 容量小常用 SPI 接口的容量也就幾十 KB 到幾百 KB寫入壽命標稱 100 萬次但實際在高溫下會打折。而且 EEPROM 每次寫一個字節(jié)都要等好幾毫秒的寫周期頻繁記錄時 CPU 一直被阻塞。NOR Flash 容量大、價格便宜但寫入前必須按扇區(qū)擦除動不動就是 4KB、64KB 的擦除塊。你只是改一個 4 字節(jié)的運行計數(shù)值它卻要先把整個扇區(qū)讀到緩沖區(qū)、擦除、再編程這就是典型的“寫入放大”。更麻煩的是擦除次數(shù)上限通常是 10 萬次日志類的頻繁追加場景很快就會把同一個扇區(qū)磨穿。SRAM 倒是快也扛造但掉電就沒了還得加電池備份成本高不說電池本身在工業(yè)高溫環(huán)境里就是短板。所以工業(yè)現(xiàn)場需要的是一種“寫起來像 SRAM、保存起來像 EEPROM、壽命卻遠超 Flash”的東西。MRAM磁阻式隨機存取存儲器就是干這個的。MR25H40CDF 是 Everspin 的一款 4Mbit512KBMRAM走標準 SPI 接口核心特點是寫入沒有任何“先擦除”步驟直接按字節(jié)改寫理論上寫壽命可以看作無限掉電數(shù)據(jù)保持能力又能達到工業(yè)級要求。如果你只做過 EEPROM 和 Flash第一次用 MRAM 可能會不太適應因為它沒有擦除周期驅動邏輯從“讀-擦-寫”變成“直接寫”代碼簡單一截但前提是你得在 SPI 時序上別掉鏈子。1.2 為什么搭配 PIC18F87K22這顆 MRAM 技術上沒有“挑 MCU”的毛病只要帶 SPI 的芯片都能用。我選 PIC18F87K22 有具體原因它屬于 Microchip 的 8 位高端系列程序 Flash 能做到 128KBSRAM 接近 4KB跑一個帶 Modbus 協(xié)議、幾個 PID 環(huán)路和簡單文件系統(tǒng)的程序綽綽有余。片上集成了兩個獨立的 MSSP 模塊MSSP1、MSSP2都支持 SPI 主模式這意味著存儲總線可以和傳感器總線分離。我在項目里用一個 SPI 接 MRAM另一個 SPI 接 ADC 和外部儀表互不干擾。3.3V 供電和 MR25H40CDF 的工作電壓完全對齊不需要額外電平轉換。工業(yè)級溫度范圍和抗干擾能力在 8 位 MCU 里比較能打項目現(xiàn)場還有變頻器和接觸器這種環(huán)境對 MCU 的魯棒性要求很直接。MR25H40CDF 的供電范圍是 3.0V 到 3.6VPIC18F87K22 跑 3.3V 剛好落在中間硬件匹配度很高。如果換成 5V MCU反而要多加一級電平轉換那才是真的給自己找麻煩。2. 硬件連接與 SPI 調試前的準備2.1 PIC18F87K22 的 MSSP 與 MR25H40CDF 引腳對應MR25H40CDF 是標準的 8 引腳 DFN 封裝信號不多CS 片選、CK 時鐘、DI 數(shù)據(jù)輸入主機側 MOSI、DO 數(shù)據(jù)輸出主機側 MISO、WP 寫保護、HOLD 保持。我的接線表如下MR25H40CDF 信號PIC18F87K22 引腳說明CSRD0普通 GPIO片選必須用 GPIO 單獨控制不要依賴硬件自動片選CKSCK1MSSP1 時鐘輸出DISDO1MOSI主機發(fā)送到 MRAMDOSDI1MISOMRAM 數(shù)據(jù)返回主機WP3.3V 經(jīng) 10K 上拉寫保護引腳拉高后允許寫操作HOLD3.3V 經(jīng) 10K 上拉保持引腳拉高后正常操作VCC3.3V并聯(lián) 0.1uF 和 1uF 去耦電容電源要濾干凈GND地接到 MCU 地平面不要單點長線飛地這里必須先強調一句CS 片選信號我強烈建議用普通 GPIO 來拉圖省事的話問題會很大。部分 MCU 的 SPI 硬件自動片選是在發(fā)送完最后一個字節(jié)之后立刻釋放的但 MRAM 的一些操作比如讀狀態(tài)寄存器、連續(xù)寫多字節(jié)要求 CS 在整個命令序列期間一直保持低電平。一旦片選提前釋放命令被截斷讀回來的數(shù)據(jù)就是錯的而且這種錯是偶發(fā)性的最難排查。WP 和 HOLD 這兩個腳在大多數(shù)應用里直接上拉就行但上拉電阻必須加上。我見過有人把 WP 直接接 GND想用硬件寫保護結果調了整整一天才發(fā)現(xiàn)所有寫命令都被吞掉了狀態(tài)寄存器的 WEL 就是置不起來后來查手冊才發(fā)現(xiàn)是 WP 拉低后寫入使能被屏蔽了。2.2 硬件設計里的幾個決定成敗的細節(jié)這類 SPI 存儲芯片對時序相對寬容但工業(yè)現(xiàn)場對硬件的要求是另一回事。我總結幾個實際項目中栽過跟頭的地方去耦電容要靠近電源引腳MRAM 在 SPI 時鐘切換瞬間電流變化挺大如果去耦電容離得太遠電源紋波會把時鐘和數(shù)據(jù)信號的噪聲抬起來。我的做法是在 MRAM 的 VCC 引腳 3mm 范圍內放一個 0.1uF 陶瓷電容再加一個 1uF 電容并聯(lián)。MCU 電源也一樣不能省。SDI/SDO 交叉不要接反很多新手畫原理圖時會把 MCU 的 SDI 接到 MRAM 的 DISDO 接到 DO這樣數(shù)據(jù)線就反了。MRAM 的 DI 是輸入必須接 MCU 的 SDO或者叫 MOSI輸出MRAM 的 DO 是輸出必須接 MCU 的 SDI或者叫 MISO輸入。畫完原理圖后先檢查這一步。CS 引腳要加一個上拉電阻MCU 上電瞬間的 GPIO 狀態(tài)有時候不可控如果 CS 在 MCU 復位期間被拉低MRAM 會被意外選中雖然不至于損壞但可能讓總線狀態(tài)混亂。我習慣在 CS 線上加一個 10K 上拉到 VCC保證默認高電平。走線長度盡量短避免 SPI 高速時的反射如果板子上 MRAM 離 MCU 超過 5 厘米SPI 時鐘在 10MHz 以上時就要考慮信號完整性了。簡單做法是把 SPI 速率降到 1MHz 以下實測大多數(shù)應用根本不差這點時間如果非跑高速就得加串聯(lián)端接電阻大約 22 歐姆到 33 歐姆放在主機側。這些準備工作做完硬件基本上就穩(wěn)了。別小看這些“基礎工作”我在實驗室調板子時有一半的時間都在處理“代碼看著沒問題但數(shù)據(jù)就是不對”的硬件細節(jié)。3. 驅動代碼從 SPI 初始化到讀寫函數(shù)3.1 SPI 初始化與基礎收發(fā)函數(shù)PIC18F87K22 的 MSSP1 配置起來很直觀。這里我用 XC8 編譯器寫了一個基礎初始化函數(shù)寄存器名對應 MSSP1 模塊其他型號的 PIC 只需要改外設編號即可void mram_spi_init(void) { // 配置 CS 引腳RD0 輸出默認高 TRISDbits.TRISD0 0; LATDbits.LATD0 1; // MSSP1 作 SPI Master時鐘分頻 Fosc/16 SSP1STAT 0x00; // SMP0, CKE0: SPI Mode 0 時序 SSP1CON1 0x22; // SSPEN1, SSPM0001? 這里改為 Fosc/16 分頻 SSP1ADD 0x00; // 若需要更高時鐘頻率調整 SSP1ADD 和 SSPM 分頻位 }上面的注釋里我故意留了個“坑位”不同編譯器版本對SSPM位的宏定義寫法有差異實際項目里要按SSP1CON1數(shù)據(jù)手冊的位定義填充。SPI Mode 0 和 Mode 3 都適合 MRAM我這次用的 Mode 0時鐘空閑時低電平數(shù)據(jù)在上升沿采樣。兩邊一致就行混用會導致讀回數(shù)據(jù)移位?;A收發(fā)函數(shù)是整個驅動的地基一個字節(jié)的函數(shù)寫成這樣unsigned char mram_spi_xfer(unsigned char byte) { SSP1BUF byte; while(!PIR1bits.SSP1IF); PIR1bits.SSP1IF 0; return SSP1BUF; }注意這里有個細節(jié)寫SSP1BUF的同時讀SSP1BUF返回的是上一次收到的數(shù)據(jù)所以第一個字節(jié)發(fā)出去時會收到一個無效字節(jié)處理時要丟掉。這個特性在很多 SPI 外設驅動里都會導致“開頭多一個字節(jié)”的幻覺判斷方式就是看回讀數(shù)據(jù)的最后一個字節(jié)是不是丟位。3.2 MRAM 命令集與狀態(tài)寄存器操作MR25H40CDF 的命令集非常精簡就 6 條主要命令命令操作碼功能WREN0x06寫使能每次寫入前必須先發(fā)WRDI0x04寫禁能RDSR0x05讀狀態(tài)寄存器WRSR0x01寫狀態(tài)寄存器READ0x03讀數(shù)據(jù)地址為 24 位WRITE0x02寫數(shù)據(jù)地址為 24 位其中狀態(tài)寄存器最底位是 WEL寫使能鎖存。發(fā)起寫命令之前必須先發(fā) WREN0x06器件內部會把 WEL 置 1然后才能接受寫操作寫完數(shù)據(jù)后 WEL 會被硬件自動清 0。這是一個非常關鍵的安全特性能防止 SPI 干擾信號導致誤寫。調試階段我習慣把狀態(tài)寄存器讀出來打串口確認 WEL 是否置位unsigned char mram_read_status(void) { unsigned char status; mram_cs_low(); mram_spi_xfer(0x05); // RDSR status mram_spi_xfer(0x00); // 空時鐘讀數(shù)據(jù) mram_cs_high(); return status; } void mram_write_enable(void) { mram_cs_low(); mram_spi_xfer(0x06); // WREN mram_cs_high(); }mram_cs_low()和mram_cs_high()就是操作 RD0 引腳電平的宏我沒用硬件片選全部由 GPIO 控制。每次命令開始時拉低結束后拉高中間絕不放。3.3 讀寫數(shù)據(jù)函數(shù)24 位地址與連續(xù)傳輸MR25H40 雖然有 512KB 地址空間但命令格式統(tǒng)一用 3 字節(jié)地址高字節(jié)在前。全地址是 0x000000 到 0x07FFFF。實際驅動里只需要把地址按高低順序發(fā)出去void mram_read_bytes(unsigned long addr, unsigned char *buf, unsigned int len) { unsigned int i; mram_cs_low(); mram_spi_xfer(0x03); // READ mram_spi_xfer((addr 16) 0xFF); // 高位地址 mram_spi_xfer((addr 8) 0xFF); // 中位地址 mram_spi_xfer((addr 0) 0xFF); // 低位地址 for(i 0; i len; i) { buf[i] mram_spi_xfer(0x00); // 連續(xù)讀 } mram_cs_high(); } void mram_write_bytes(unsigned long addr, const unsigned char *buf, unsigned int len) { unsigned int i; mram_write_enable(); // 必須先置 WEL mram_cs_low(); mram_spi_xfer(0x02); // WRITE mram_spi_xfer((addr 16) 0xFF); mram_spi_xfer((addr 8) 0xFF); mram_spi_xfer((addr 0) 0xFF); for(i 0; i len; i) { mram_spi_xfer(buf[i]); // 連續(xù)寫 } mram_cs_high(); }調用示例unsigned char test_buf[64] hello mram; unsigned char read_buf[64]; mram_write_bytes(0x000100, test_buf, 64); mram_read_bytes(0x000100, read_buf, 64);寫入不需要等待“擦除完成”之類的周期。MRAM 的寫入本質上是改變磁隧穿結的狀態(tài)沒有電荷泵沒有編程時間發(fā)完數(shù)據(jù)命令片選拉高數(shù)據(jù)就已經(jīng)寫死了。單條命令完整執(zhí)行后立即讀回結果就是剛寫入的數(shù)據(jù)。這段代碼里容易出問題的點有三個一是連續(xù)讀寫時 CS 不能在中途拉高否則器件以為本次命令結束了二是地址換算對存儲容量來說沒有難度但如果你用的是 24 位地址的 4Mbit 器件寫地址千萬別用 16 位變量超過 0xFFFF 就會翻轉三是寫數(shù)據(jù)之前忘了發(fā) WREN導致 WEL 位為 0寫命令被靜默丟棄。這個不是異常報錯而是“看起來成功了讀回來還是舊數(shù)據(jù)”最容易讓人困惑。4. 數(shù)據(jù)可靠性與掉電保護的工程化設計4.1 寫使能機制和 WEL 校驗很多嵌入式工程師習慣“寫命令直接發(fā)數(shù)據(jù)”這在 EEPROM 上通常沒問題但 MRAM 必須走完整的命令流程。我見過不止一次有人在代碼里省略 WREN然后在讀回驗證時發(fā)現(xiàn)數(shù)據(jù)永遠是 0xFF。正確的寫入流程是拉低 CS。發(fā)送 WREN0x06。拉高 CS。拉低 CS。發(fā)送 WRITE0x02 3 字節(jié)地址 N 字節(jié)數(shù)據(jù)。拉高 CS。可選步驟發(fā) RDSR 檢查 WEL 是否自動清 0如果還置 1說明寫命令沒有正常終止。第 7 步在調試時非常有用。我在正式產(chǎn)線代碼里留了一個調試接口每次寫操作后把狀態(tài)寄存器和目標區(qū)域的前 4 字節(jié)發(fā)到日志驗證寫路徑是否走通。關于掉電工業(yè)設備隨時可能掉電而掉電瞬間寫命令可能只執(zhí)行了一半。MRAM 的好處是即使只寫完一部分字節(jié)已寫完的那部分也能正確保存不會出現(xiàn) EEPROM 那種“擦除一半再編程一半”的中間態(tài)。但這不代表你可以不處理掉電場景——如果數(shù)據(jù)塊有幾十字節(jié)掉電時只寫了一半另一半還是舊數(shù)據(jù)邏輯上就會出現(xiàn)“半新半舊”的數(shù)據(jù)塊。解決思路不是依賴 MRAM 的原子性而是在數(shù)據(jù)組織上做冗余。4.2 數(shù)據(jù)組織方式頁備份與雙區(qū)乒乓我在這個項目里把 512KB MRAM 劃分成三個區(qū)域系統(tǒng)參數(shù)區(qū)0x000000 到 0x001FFF8KB存放校準參數(shù)、設備地址、量程配置更新頻率很低。運行記錄區(qū)0x002000 到 0x07BFFF約 488KB存放循環(huán)覆蓋的運行日志和事件記錄。元數(shù)據(jù)區(qū)0x07C000 到 0x07FFFF16KB保存記錄區(qū)當前寫指針、有效記錄數(shù)量、校驗值。其中系統(tǒng)參數(shù)區(qū)采用了雙備份方案。這來自于一個實際教訓設備升級時不小心改錯了參數(shù)現(xiàn)場設備直接失效。后來我把參數(shù)區(qū)做成兩份每份帶 CRC32寫入時先寫備份區(qū)再寫主區(qū)啟動時先讀主區(qū)校驗校驗失敗就自動切到備份區(qū)并把主區(qū)恢復這樣即使升級中途掉電也總能有一份完整可用的配置。運行記錄區(qū)則做成環(huán)形隊列每條記錄固定 64 字節(jié)包含記錄類型、時間戳、數(shù)據(jù)、CRC16。寫指針本身存到元數(shù)據(jù)區(qū)的另一個地址每次寫完記錄后更新寫指針。如果掉電發(fā)生在“記錄已寫但指針未更新”的窗口下次啟動時讀取的指針可能是舊的但最多只會重復覆蓋一條記錄不會破壞整條鏈。4.3 CRC 校驗與回讀驗證很多人以為 MRAM 是“非易失 無限壽命”就可以不用校驗了這是誤解。雖然 MRAM 不存在磨損問題但工業(yè)現(xiàn)場的電噪聲、SPI 線上的串擾、MCU 自身跑飛都可能導致數(shù)據(jù)寫錯。我所有涉及安全的數(shù)據(jù)都加了 CRC16 或 CRC32 校驗。寫入流程是先在內存里拼好數(shù)據(jù)塊并計算 CRC再一次性寫入。讀取流程是讀出數(shù)據(jù)計算 CRC和存儲的 CRC 比對不一致就嘗試備份區(qū)或上一個有效記錄。CRC 校驗還有一個附帶好處就是能幫你快速定位 SPI 通信問題。我調試時看到 CRC 錯誤率突然升高第一反應是檢查 SPI 時鐘極性和相位第二反應是查 CS 毛刺第三才懷疑芯片本身。這在第 5 節(jié)還會展開說。4.4 關于原子寫入的一點體會MRAM 的單次寫操作本身是原子的也就是說對一個字節(jié)的寫入要么完成、要么沒寫不會出現(xiàn)半個字節(jié) 0101 的中間態(tài)。這是它和 Flash 的本質區(qū)別。但原子性僅限于硬件層面如果你在軟件里認為“這 64 字節(jié)是同時更新的”那就錯了——它們是一個字節(jié)一個字節(jié)順序寫進去的掉電發(fā)生在這 64 字節(jié)的中間不是不可能。所以“掉電安全”的最終保證還得靠數(shù)據(jù)設計小數(shù)據(jù)用雙備份大數(shù)據(jù)用“記錄頭 數(shù)據(jù) 校驗 寫完標記”。我在每條記錄末尾固定寫一個 0xA5 0x5A 結束標志讀取時如果沒看到結束標志就判斷這條記錄不完整直接跳過。這套邏輯跑下來即使在現(xiàn)場故意斷電幾十次也沒有出現(xiàn)過一條損壞記錄被當成有效記錄的情況。5. 實測時踩過的坑與排查方法5.1 高頻問題速查表我整理了這次調試過程中遇到的典型問題按出現(xiàn)頻率排序現(xiàn)象可能原因排查與解決讀回全是 0xFFSPI0 模式下 DI/DO 接反或 WP 拉低檢查原理圖交叉WP 上拉寫后讀回舊數(shù)據(jù)寫命令前沒發(fā) WRENWEL 為 0加 WREN讀狀態(tài)寄存器確認 WEL 置位連續(xù)讀寫最后 2 字節(jié)丟失CS 提前拉高或 SPI 時鐘相位不匹配用 GPIO 控 CS確認 Mode 0/3 一致偶發(fā)數(shù)據(jù)錯位整體左移一位時鐘極性 CKE 配置與器件不匹配檢查 SSP1STAT 的 CKE 位上電后第一次讀寫失敗后續(xù)正常CS 引腳未上拉上電期間被意外拉低CS 加 10K 上拉高速時鐘下大量數(shù)據(jù)錯誤走線過長、無端接電阻降 SPI 速率到 1MHz或加串阻寫入大塊數(shù)據(jù)速度很慢沒有按塊寫一個字節(jié)一個命令合并成 WRITE 命令連續(xù)傳輸這些坑里面最隱蔽的是 SPI 時鐘相位問題。MRAM 支持 Mode 0 和 Mode 3但 MCU 的 MSSP 模塊里 CKE 位的配置和你看到的時序圖不一定直觀吻合。我最后是用邏輯分析儀抓波形對比手冊時序圖才定位的只靠猜代碼短期內很難試出來。5.2 用邏輯分析儀定位時序問題調試 SPI 外設邏輯分析儀是我最推薦的工具不一定要很貴幾十塊錢的 8 通道采樣率 24MHz 就夠用。抓取步驟很簡單把邏輯分析儀的地接到系統(tǒng) GND探頭接到 CS、CK、DI、DO 四根線。在代碼里寫一段單步執(zhí)行邏輯發(fā) WREN、發(fā) WRITE、寫 4 字節(jié)、拉高 CS。捕獲波形檢查每個命令的片選脈寬是否覆蓋完整指令。我實際遇到的一個經(jīng)典波形問題是CS 在 WREN 命令結束沒有被拉高而是直接連著寫命令的 CS 低電平導致器件把 WREN 和 WRITE 當成一條命令處理WEL 沒有正常鎖存寫操作被忽略。這就是“讀回舊數(shù)據(jù)”的真正原因代碼邏輯看起來沒問題但波形上 CS 時序是錯的。修復方式很簡單WREN 命令結束后必須拉高 CS 至少幾十納秒再拉低發(fā)起 WRITE 命令。我的代碼里mram_write_enable()和mram_write_bytes()是兩個獨立函數(shù)天然保證了 CS 會先拉高再拉低。如果你在網(wǎng)上抄到的驅動是“WREN 和 WRITE 共用一次片選”那多半就是這種故障的根源。5.3 實測性能與穩(wěn)定性記錄最后曬一下我實測的數(shù)據(jù)給大家一個直觀印象。SPI 時鐘配置在 10MHzPIC18F87K22 的 MSSP 完全可以跑這個頻率寫入 128 字節(jié)數(shù)據(jù)塊的耗時大約 130us其中包含 WREN 命令、地址和數(shù)據(jù)的傳輸時間讀出 128 字節(jié)大約 110us。這個速度對工業(yè)參數(shù)記錄來說綽綽有余。相比 EEPROM 一頁寫入 5ms 左右的速度MRAM 快了幾十倍。穩(wěn)定性方面我在實驗室做了 100 萬次連續(xù)寫入 讀回校驗數(shù)據(jù)全部一致。之后又做了掉電測試在寫入執(zhí)行到一半時隨機切斷電源重復 200 次重新上電后檢查數(shù)據(jù)區(qū)和寫指針沒有一次損壞整個存儲區(qū)。MRAM 在 85℃ 環(huán)境下的數(shù)據(jù)保持能力也是它的賣點之一項目里設備放在配電柜里夏天柜內溫度經(jīng)常到 60℃ 以上用 EEPROM 時數(shù)據(jù)保持壽命明顯打折換 MRAM 之后就沒有這個擔心了。另外關于 SPI 速率的選擇我的建議是量產(chǎn)代碼里不要一上來就跑最高時鐘。除非確實有吞吐量瓶頸否則 1MHz 到 8MHz 是穩(wěn)定性最好的區(qū)間現(xiàn)場長線、干擾、接觸不良都能容忍。真到了最后性能優(yōu)化階段再慢慢往上調時鐘每調一檔就做一遍全量讀寫測試。6. 調試中探索的一點進階用法6.1 把高密度 MRAM 當作掉電緩存使用項目穩(wěn)定運行一段時間后我發(fā)現(xiàn) MRAM 的另一種用法非常有價值干脆把它當成“掉電緩存區(qū)”。以往 MCU 的 RAM 只有不到 4KB現(xiàn)場數(shù)據(jù)一多就得頻繁斷電保存但 MRAM 寫入壽命長你完全可以在數(shù)據(jù)積攢到一定量時批量寫入用掉電檢測引腳在電源跌落瞬間把最關鍵的數(shù)據(jù)緊急存入 MRAM。因為寫入速度夠快只需幾百微秒就能把關鍵執(zhí)行狀態(tài)全部保存。我這里用 PIC18F87K22 的電壓檢測模塊定時檢查 VDD如果掉到閾值以下立即關中斷把一個 512 字節(jié)的上下文結構體寫入 MRAM。實測從檢測到掉電到寫完 512 字節(jié)用 10MHz SPI 時鐘大約 500us在電源跌落還沒完全失效之前就能完成。6.2 日志系統(tǒng)與文件系統(tǒng)的取舍很多工程師看到 512KB 的第一反應是“能放文件系統(tǒng)了”。我實際做下來感覺如果只是簡單的參數(shù)記錄和事件存儲自定義環(huán)形緩沖區(qū)比移植 FatFS 這類文件系統(tǒng)更劃算。文件系統(tǒng)的好處是方便 PC 端讀卡但 MRAM 本身不是 SD 卡拔下來插到電腦上不現(xiàn)實現(xiàn)場上位機讀取也是通過 RS485 或者以太網(wǎng)。所以我把數(shù)據(jù)組織成固定長度的記錄塊再用一個簡單的寫指針管理循環(huán)覆蓋上位機按索引讀取邏輯簡單且不依賴額外庫。如果真想跑文件系統(tǒng)也可以但要注意磨損均衡——MRAM 雖然沒有磨損問題但文件系統(tǒng)頻繁更新目錄區(qū)會制造大量寫操作這反而會放大 SPI 通信出錯的概率。文件系統(tǒng)加 CRC 不是標配你需要自己加一層錯誤恢復邏輯。6.3 與現(xiàn)有嵌入式生態(tài)的配合PIC18F87K22 雖然沒有 MMU、沒有 Linux但它的 SPI 接口完全是標準協(xié)議理論上這個 MRAM 驅動也能平移到任何 SPI 主機上。我在項目里順手把同一套讀寫函數(shù)編譯到了另一款 STM32 上用地址格式、命令字完全一樣只需要替換底層的mram_spi_xfer為 STM32 的 HAL 接口函數(shù)。這意味著如果你之前寫過這類器件的驅動換 MCU 平臺只是半小時的事。如果你想在更大的嵌入式系統(tǒng)里使用 MRAM思路也是一樣的通過標準 SPI 接口掛到 Linux 的 MTD 層、RT-Thread 的塊設備層或者裸機驅動里底層就是這 6 條命令核心邏輯不變。經(jīng)歷這個項目之后我自己最大的感受是MRAM 不是“更快的 EEPROM”它的驅動編寫比 EEPROM 還簡單不用管擦除但硬件設計的嚴謹度要求更高。你不需要等待寫周期可也因此更容易忽略片選時序和電源完整性。如果你也正在從 EEPROM 或 Flash 切換到 MR25H40 這類器件我建議你第一步就用邏輯分析儀抓一遍命令時序把 CS、時鐘、數(shù)據(jù)三者的關系確認清楚再開始調數(shù)據(jù)內容。我在這上面省下來的時間至少值回整個項目進度的三分之一。最后再分享一個細節(jié)不要把 CS 片選交給 SPI 外設的硬件自動片選功能哪怕你用的是 STM32、NXP 這類高端 MCU這類功能在華麗的項目演示里看著很美好實際用起來卻容易因為“最后一字節(jié)提前釋放片選”而坑你一次。用普通 GPIO 多占一個引腳換來的是通信時序的完全可控這筆賬怎么算都劃算。MRAM 本身可靠性很高真正讓你翻車的往往就是這類不起眼的系統(tǒng)集成細節(jié)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
少妇超碰在线| 亚洲密乳AV| 嗯啊抽插大香蕉网页| 欧美久久九九| 久久人人看| 激情小说亚洲视频| 色情乱伦AV| 97这里都是精品| 国产自制av蜜乳| 91亚洲人电影| 手机看片日韩人妻| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 骚逼自拍99| 97人人操人人摸人人爱| 久久久天美| 蜜乳AV色欲AVAV无码| 老女人91| 日本午夜精品理论片A级APP发布| 婷婷精品久久av影视| 色哟哟511老熟女| 小电影欧美91| 中文字幕成人| 国产乱伦亚洲| 1024午夜激情男人的天堂| 综合 欧美 亚洲 日本| av线电影| 久久久 国产精品| 91精品人妻五十路| 日韩无码专区| 久久激情四射婷婷丁香五月天| 国产日产欧产美韩系列麻豆免费| 欧美黄色大香蕉一区二区| 97视频免费| 99这里有精品| 日韩国产在线观看av| 91无摭挡| oumeisetu综合| 日韩免费a级毛片无码a∨| 美女97超碰| 日韩福利综合一区| 本道在线| 亚洲综合色男人网| 国产欧美日本亚洲精品| 亚洲精品九九九| 口爆欧美91| 日韩欧美国产一区二区三区四区| 国产2.3.4区| 欧美另类色| 成人av影院在线观看| 蜜臀Av一区二区三区| 人人色97| 妺妺跟我一起洗澡没忍住| 青青草中文字幕| 久久一二三四不卡 | 国产美女裸体秘 永久无遮挡| 思思在线免费视频| 亚洲欧美首页| 少妇久久久免费| 这里只有精品视频| 久久精彩免费视频| 欧美一级久久久丰满| 欧美综合1性辶| 国产天天看| 日韩性爱视频免费在线 | 性高潮久久久久久久久久久| 啊啊啊好舒服视频在线观看| 女色视频社区| 第一高清av中文字幕| a级免费在线观看| 久久九操在线观看| 国产原创精品| 久久综合激情| 乱伦1色页| 女沟厕偷窥piss小便| 91 综合 色| 超碰人人乐97| 国产成人无码网站在线视频| 国产一级不卡在线观看| 亚洲一区日韩精品| 97超碰欧美中文字幕| 人妻喷水| 成人欧美日超碰| 亚洲另类久操网| 婷婷六月色开| 九月丁香| 婷婷五月天av| 一区二区三区精品视频| 欧美一级A片不卡视频。| 东京热男人的天堂| 中文字幕第2页| 欧日韩一二三f区| 99久久9| 中文字幕在线观看网页| 91天天综合网,天天综合网| 狠狠色综合网| 色播五月婷婷| 啊…啊…操我用力操我| 偷拍欧美综合| 九九久久久九九| 色色五月婷婷| 桃色五月天| 精品一区二区亚洲国产| 丁香五月激情综合| 99综合| 亚洲成av人片色午夜乱码| 丁香五月综合| 欧美一级A片在线看视频性色| 亚洲无码一二三区| 精品性爱一二三区| 99热这里都是精品| 天天干天天日天天射黄色| 久久人人妻| 欧美日韩情色一区二区| 私色综合网| 丁香五月影院| 中文字幕版| 精品人妻一区二区三区视频| 制服中出中文人人精品| 亚洲国产蜜臀系列在线观看| 97超碰大| 欧美18老人禁| 色欧美天天| 人妻大香蕉| 呦呦影院| 人妻社区男人天堂| 国产兽交视频在线播放| 久都青青视频 | 久9久9久9久9久9久9| 草草影院最新网址| 日韩色图 一区二区| 91午夜无码| 亚洲性图91| 韩国黄片aaaa| 大香蕉中文在线| 久都青青视频| 最新av中文字幕高清| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 91爱网| 97国产高清视频在线观看| 91色s| 久久精品国产72国产精品福利| 日韩人人精品| 96AV精品| 丝袜美腿制服人妻二区中文字幕| 91 天天综合| 97超碰美国| av毛片aaaaa免费看| 国产精品不卡一区二区三区| 伊人久操| 性爱乱伦视频免费| 情色图区| 91天天爱| 99综合视频一体| 综合久久久久久久久91| 玖玖大干人妻| 亚洲伊人久久精品狠狠在线| 爱做久久久久久| 好属操| 色九九九综合| 粉嫩国产精品久久粉嫩| 国产熟女乱论| 三级日韩一区二区三区| 日韩本不卡视频在线观看| 91男女啊啊啊| 日本 欧美 国产一区| 久久久新亚洲AV| 亚洲999综合| 欧美激情综合色综合啪啪五月| 九九九热| 欧美特黄视频网站| 久久最新视频免费观看| 久久久婷| 看黄片视频免费| 久久久久久久9999| 久久久精品中文字幕麻豆| 嗯嗯啊在线视频| 囯产操逼片| 精品国产三级av韩国在线| 伊人久日| 后入合集| 国外91| 啪啪91| 免费看一级a性色生活片久久无| 欧美日日操| 在线日韩日本亚洲国产| www亚洲欧美| 日韩黄色小说| 九九自拍伦理| 久久最新视频免费观看| 青青青国产| 五月天偷拍| 黄片www.| 日本 欧美 亚中文字幕| 亚洲麻豆精品二区三区| 大香蕉乱伦视频网| 亚洲免费人妻在| 久久精品中文字幕观看| 免费在线黄片视频| 被体育老师抱着c到高潮| 天天上日日上日韩精品| 中文字幕99999| 综合欧美亚洲| 张柏芝国产一区在线观看| 精品久久久久综合无码| 丰满人妻一区二区三区四区| 91丝袜美女视频| 亚欧美色| 一级岛国大片| 26uuu欧美日韩| 涩涩涩综合| TS人妖另类精品视频系列| 国产精品久久久久婷婷二区次| 欧洲自拍第一页| 中出人妻中文字幕91在线| 91碰碰| 四季av一区二区凹凸精品小说| 久日综合网| 无码人妻系列少妇| 人妻夜爽夜夜爽| 精品人妻一区二区三区四区| 欧美成人性爱视频在线播放| 日韩综合成人免费视频| 亚洲精品中文字幕一区在线视频| 不卡啪啪视频| 志村玲子视频一区二区| 操美女人妻| 蜜桃久久久久久久久久久久| 老熟女天天操| 蜜臀一区二区三区在线| 久久人人爽爽人人爽人人片αV| 一个国产在线综合网站| 极品色www影院| 99热精品在线| 欧美91久久久久| 97久久超碰亚洲| 日韩97P| 亚洲乱码精品一区二区| 欧美日韩激情无码专区| 综合网欧美在线| 日韩在线人妻网站| 精品国产乱码久久久影院| 欧美热图99| 黄片免费日韩| 天天草天天干天天日| 手机av天堂久久久久| 宗合情欲网| 熟人人妻少妇精品久久| 手机看片日韩人妻| 久久精品99| 91新在线欧美| 日韩猛交| 5278欧美一区二区三区| 四季AV一区二区凹凸精品小说| 欧美在线视频播放| 91黄站| 亚洲AV无码AV吞精久久久久| 青青草视频久久| 久久九精品| 友优传媒精品在线一区二区| 中国国产精品一区视频| 欧美91精彩| 曰韩人妻中文字幕在线| 人人操人人狠狠操| 99热导航| 国产色产精品在线观看| 中文字幕一区日韩精| 久久水蜜臀亚洲AV无码精品| 欧美的精品的视频| 粉嫩av在线一区二区| 曰本熟女视频| 影音先锋视频在线| 99www.bibizy香蕉资源国产一区二区三区高清 | 日本免费一区二区不卡| 另类亚洲一区二区三区| 日本欧美成人片AAAA| 亚洲色图 图片| 日韩一级欧美一级国产一级台湾| www99热| 精品中文一区二区| 超碰国产精品无码| 久久综合久久综合人久久夜精品| a级免费在线观看| 色婷婷基地| 亚洲影视高清第一页| 黄色av网站在线播放| 欧美日韩国第一区| 黄色片一区二区三区四区五区| 四虎影视在线| 手机在线A片| 欧美少妇性乱| 一区二区三区黄色片a| 久久9精品视频| 成人国产视频在线观看| 九九久久首页| 国产JDAV无码视频在线观看| 久久国产视频专区一二三| 久久国产乱子伦精品免费女,网站| 99视频只有精品| 老司机射| 尤物视频偷拍免费| 激情看片网站| 天天天肏屄肏屄肏屄欧美欧美| 五月综合婷婷久久网站| 美女黄色91| 久色网| 国产精品另类| 91美女视屏| 精品99999| 色噜噜综合在线| 91丝袜美女视频| 国产超碰国产97| 亚洲性爱电影| 亚洲色宗合| 亚洲熟妇无码一区二区三区| 91影库| 欧美中字不卡| 五月婷婷色| 无码不卡亚洲成?人片| 91成人国产综合久久精品蜜月| 懂色av色欲av蜜臀av| 久久精品高清无码一区| 婷婷五月天成人网| 欧美1区二区三区公司| 加勒比AV天堂| 色色热| 国产美女在线精品免费看| 69人妻精品丰满熟女区| 成人免费在线网站| 国产97在线视频| 综合亚洲情色| 激情综合五月| 亚洲自拍欧美色综合| 激情综合网五月婷婷五月天| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 欧美黄色图片| 99啪啪视频| 被男人吃奶很爽的毛片| 97精品全部| 任我爽视频在线观看| 亚乱色| 97亚洲欧美| 亚洲国产亚洲天堂| 97干在线看| 欧美另类综合久久| 国产精品人妻一区二区| 91色花堂| 一级AAA片一区二区三区| 打av高清| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 欧美色综合影院| 国产高清吃奶免费视频网站| 狠狠操使劲操| 精品天堂| 精品久久97| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 国产福利合集| 久久久天堂| 少妇内射视频| 97一区二区三区视频| 精品久久青青草| 日本色色的视频| 亚洲图片激情综合另类| 欧美一级美片在线观看免费| 啊v在线观看视频| 欲女人妻性色av| 美女淫穴| 亚洲精品骚逼| 涩爱AV在线| www.狠狠干.coom | 91成人18| 精品少妇999| 97资源亚洲| 久久久久久人| 精品少妇高潮久久| 欧美亚洲中文字幕| 91精品人妻一品二品三品| AV色五月天| 国产小炒后入式| 成人熟女视频一区二区三区| 亚洲情色婷婷五月天| 一区二区三区精品黑丝白丝酒店对鸡 | 女欧美一区二三区| 国产精品探花色| 少妇厨房愉情理伦片bd在线观看| 日本国产欧美一区三区二区 | 狂操嫩妻视频一区二区三区| 人妻熟女字幕一区二区| 91色艳| 91爱综合| 少妇六月天| 精品国产72| 欧美日韩婷婷中文| 中国黄色特级精品一区二区三区片| 91 丝袜在线观看| 欧美综合传媒| 97超碰色色| 国产偷人伦激情在线观看| 激情婷婷综合久久| 超碰成人最新最好看| 91天堂色男人的天堂| 亚洲经典啪啪| AV天天在线观看| 97这里都是精品| 欧美韩国你懂得在线| av东京热男人的天堂| 国产人人干| 男同专区一区二区三区在线| 三上悠亚在线毛片91| 中文字幕AV乱伦| 牛牛aV| 一本一道人妻久久一区二区三区 | 一级二级在线观看| 国产av又色又爽又黄| 久久精品国产96精品亚洲拳交| 久99热| 91欧美长吊| 日韩av电影网站| 91天天综合日韩欧美| 日本中文熟女视频| 欧美一级A片在线看视频性色| 人妻AV 中文字幕的| 九月AV| 欧美偷| 久久性爱视频99| 国产高清成人传媒影视| 天天综合网91入口| 成人区人妻精品一| 国产精品毛片?v一区二区三区| 国产免费一区在线观看| 日本A级视频| 青青草依人大香蕉| 久久青青草原免费视频| 9久超碰| 精品一区二区三区蜜桃臀www| 人人妻人人爽一区二区三区| 操迟操逼在巾线Fre看| 青青草中文-久久青草精品一区二区三 | 97国产中文| 久操操AV电影| 人妻久热在线| 欧美综合网在线| wwwcaobibi| 天天日天天操VV| 精品综合久久久久久五月天| 综合色色婷婷| 97超碰影音| 国产日韩欧美亚洲精品95 | 99精品人人爽| 欧美性爱精品七区| 精彩视频日韩| 久久永久无码人妻视频| 韩国久久97| 日日骚一区二区三区| 亚洲系列第一页| yazhousetuoumei| 久久久久久久九九九九| 九月婷婷综合| 日韩91网站| 乱伦熟女区| 中文子幕一二三| 97人妻免费中文字幕| 欧美综合在线91| 97色伦97色伦国产欧美| 欧美永久激情一区二区| 日本伦乱九九九综合| 插入综合网| 精品视频一二三中文| 在线只有精品| 人妻三级在线中文字幕| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 日日躁夜夜躁狠狠躁超爽| 国产欧美亚洲精品a第2页| 久久人妻少妇| 最新国产精品久久精品| 97色综合中文网| 精品超碰中文在线| 亚欧无码线免费观看视频| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 少妇熟女1区2区3区| 中文字幕 一区二区 亚洲无码| 亚洲欧美首页| 中文字幕日韩精品一区二区三区| 国产精品熟女九色九色蜜臀| 中文字幕精品亚洲熟女| 成人精品在线| 91丨国产丨白浆秘 洗澡动漫| 亚洲91网。| 黑丝自慰喷水网站| 殴美色网| 婷婷情色五月天| 综合久久久久久久综合网| 青青草日韩免费观看高清在线| 岛国大片在线观看网站入口| 精品熟妇视频一区二区| 青娱乐亚洲热| 亚洲成人一区二区精品| 蜜臀99久| 98精品国产乱码久久久久久| 国产女生在线| 日韩欧美日韩| 久久精品99久久久久久| 美女诱惑爱爱| av无码精品久久久久| 精品国产乱码久久久| 九一屌逼| 国产成人网址| 影音先锋新男人| 青青草一本道福利视频| 欧美熟妇精品黑人巨大一二三区| 乱伦AVxx| 亚洲高清视频在线免费观看| 熟女精品一区二区在线观看| 黑丝少妇在线观看| 免费精品中文字幕| 色欧洲| 日韩熟女视频二区| 69综合网| 上特色A在线| 午夜婷婷| 久久久com| 国产美女销魂在线观看不卡| 久热这里只有精品9| 10000部十八禁看电影| aaa一级黄片| 超碰97人妻免费在线| 夜夜高潮夜夜爽国产伦精品| 日日夜夜青青草母狗| 色婷婷电影网| 蜜臀操逼黄色视频操的好爽| 一区二区免费电影久久| 色五月av| 农村少妇久久久久久久| 中文字幕久久亚州无码| 欧美色图亚洲特色| 国产精品天美传媒| www.色婷婷| 色伊人91| 操操操日本的逼| 欧美成熟性爱精品| 啊啊啊啊啊啊在线观看| av2014 日韩在线中文字幕| 欧美白嫩女HD| 久久久穴999| 精品人妻1237| 九九久久一区二区三区| 玖色AV| 色优久久| 婷婷五月天激情四射| 中文久久爆乳| 日韩中文字幕视频在线观看| 91快色色色色色| 欧美精品日韩久久久九| 一区二区三区黄色片a| 一级毛片电影免费看| 综合夜夜| 在线视频 亚洲精品| 青草一区二区| 东北熟女91| 超碰91在线| 久久伊人最新网址视频| 日本操逼视频在线| 岛国黄片网站| 多毛小伙内射老太婆 | 五月婷婷激情| 欧美午夜精品久久久久久3D| 黄色污污污污污污网站| 久久综合18p| 肥臀熟女福利视频一区二区| 欧美老妇综合网| 日韩人妻无码精品系列| 91美女色视频亚洲| 中文字幕二区| 91 丝袜在线播放| 精品国产av一区二区三区四区入口| 国产资源中文字幕在线 | 亚州色图欧美| 亚洲人人夜夜澡人人爽| 91亚洲综合在线| 亚洲精品久久久久毛片A片拉屎 | 婷婷丁香人妻 | 激情五月天网站| 久久伊人在线五区| 天美传媒av在线| 91女日逼| 日韩精品一区二区高清| 一起草欧美| 亚洲成?V人片在线观看福利| 色蜜AV| 色九九九九| 亚洲综合另类色图| 操逼操2| 欧美日韩国产高清在线一二三区 | 久久鲁夜| 91亚洲黄色网| 亚洲天堂五月天国产| 日韩AV无码中文一区二区| 六十路日本| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 日本精品免费一区二区三区四区| 亚洲日本天堂| 色99999| 免费看A片毛毛片在线播| 91丨九色丨大屁股| 欧美一区二区成人一卡| 少妇三p| 视频在线观看免费一区二区三区 | 97综合国产| 国产专区第一页| 性色一线| 久久精品操| 欧美日韩另类在线| 九色97| 中文字幕色AV| 偷拍三区| 偷窥自拍亚洲色图| 久久女女| 日韩欧美综合激情| 久久九七| 婷婷色综合欧美日韩| 日韩av在线播放不卡| 91高跟美女在线播放| 一起草视频在线| 天天草天天干天天日| 欧美精品第四五页中文字幕在线观看| 久久精品区| 亚洲午夜福利视频| 亚州高清av| 不卡av在线中文字幕| 国产乱婷婷精品二区三区| 国语精品av| 亚洲精品aa久久伊人 | 免费观看的黄色的网站| 精品国产99| 免费AV中文网在线观看| 91爽啪| 伦理第一页| 五月激情视频| 九九这里只有精品| 把腿张开老子CAO烂你| 97久久久精品| 很黄很色的视频在线观看| 精品国产91久久久久久一区黄无| 日本欧美中文字幕| 91美腿丝袜在线观看| 国内一区二区免费| 91狠狠综合久久久久久| 91视频综合| 久都青青视频| 男女日B国产| 欧美视频激情久久久久久| 天天弄天天操| 天天操天天看| 色情综合| 91亚洲网| 亚洲无码 国产无码| 精品久久99| 亚洲男人久久综合天堂| 欧美日韩婷婷中文| 亚洲人妻中文高清| 久久久久深夜无码| 婷婷视频网| 亚洲丝袜诱惑| 好看的91视频| 国产三级日产三级韩国三级| 激情综合 婷婷五月 红杏| 亚洲精品 大香蕉| 三级日本一区二区三区| 韩国国产欧美情侣视频在线| 日韩中文字幕在线视频观看| 国产免费小视频| 香一区二区三区| 亚洲国产奇米影视久久| 99视频自拍区| 九月AV| 色乱二区| 少妇久久久久| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | www.acm成人黄色毛片| 717影院理论午夜伦八戒| 69精品| 久久久111| 99操碰| 欧美精品二区视频在线| 欧美在线 亚洲| 亚洲天堂,男人| 91成人高清在线观看| 欧美综合狠| 肥臀熟女福利视频一区二区| 丝袜美腿制服人妻二区中文字幕| 亚洲欧美高清| 夜夜免费视频| 用力操死我| 色情五月综合婷婷| 三级AV入口| 中文字幕一区二区三区50路| 欧洲精品久久| 国产怡红院| 久久婷婷伊人| 国产精品区在线12p| 亚洲无码一区成人免费午夜 | 中国乱伦一区二区| 色综合av综合久久| 深喉吞精| 激情黄色五月天| 免费一二区| 美熟女逼导航AV操逼| 成人AV素股で擦久久| 无码少妇精品一区二区60岁老人| 国产无码精品成人| 国产精品久久久久婷婷二区次| av线电影| 亚欧中文字幕在线视频| 啊啊啊操一区| 超碰人妻在线| 人妻aa| 情趣丝袜无码操逼视频| 久久97| 天堂综合网| 成人草草视频| 肉丝无码中文高清| 久久精品老司| 久久嫩草国产成人一区| 久久精品国产精品亚洲艾通辽熟妇| 鸡巴插逼视频| 日韩在线一区高清在线| 成人26uuu| 极品销魂美女一区二区| 夜夜欢天天干| 操一对老熟妇爽上天视频| 黄色一区三区| 精吧天堂| 96精品一区| 国产精品久久久久久9999| 伊人991| 欧美日韩精品国产91| 嗯嗯啊啊操死我| 日韩欧美麻豆大片| 国产女上位好爽在线| 日韩另类色图| 96AV精品| AV一二区| 国产精品 午夜福利| 嗯嗯嗯嗯啊啊啊好紧好大| 一道本久久棕合爱| 强上我不卡卡| 久久超碰98| 久久精品人妻一区二区| 欧美青青草视频| 热热色青青草| 东京热大香蕉| 人人操人人93| 日韩黄片视频试看| www国产天美久久久| 717影院理论午夜伦八戒| 丁香婷婷大香蕉| 99国产精品| 亚洲中文字幕熟女| 久久国产乱子伦精品免费女人| 啪啪AV导航| 日韩午夜啪啪视频| 国产亚洲人妻综合日韩 久久| 台欧久久精品视频| 97超级欧美| 97超碰欧美手机在线| 九九热三级片| 蜜乳视频网站| 亚洲午夜福利视频| 日本一区三级韩国| 亚洲免费97免费| 自拍啪啪视频| 亚洲啪啪综合?v一区综合精品区| 91香蕉视频在线观看免费| 欧美日本一区二区a人| 99这里有精品视频| 伊人久久大香蕉线AV五月天| 91熟女.com| 国产精品96| 色狠狠 - 百度| 日日夜夜干| 男人久久精品| 蜜臀久久久99久久久久| 久久性爱精品一区| 91狠狠综合久久久| 91网18| AV女优男人的天堂| 成人免费看吃奶视频网站| 亚洲精品乱码久久久久久蜜桃麻豆 | 亚洲人妻一区二区三区| 牛牛久久国产精品视频一二三| 9久9久| 另类TS人妖一区二区三区| 探花激情视频| 啊啊啊好舒服好爽啊啊啊视频| 久久99久久99精品天美传媒棢·纸:. | 久久偷拍人| 超碰在线91| 精品中文字幕一区二区l - 百度| 亚洲国产精品久久久久婷婷青年| 蜜桃臀一区二区aV| 国产无码精品成人| 伊人久久88国产女| 蜜乳av一区二区三区| jazzjazz国产精品麻豆| 丁香婷婷久久 | 伊人国产av| 久久中文字幕人妻熟av女蜜柚| 思思热在线视频免费| 91精品久久久久久综合五月天| 色九九九综合| 深夜福利黄片| 玖玖综合.com| 国产一区二区在线看| 岛国免费黄色网址| 综合网欧| 久久的免费性爱视频| 一起草AV| 九九五月天| 日本国产欧美高清在线| 白丝少妇一区二区| 成人免费视瓶| 一二三啪啪专区| 亚洲成人贴图| 亚洲天堂,男人| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 欧美人妻少妇| 九九久久精品| 欧美色老汉| 日韩人妻一区二区精品| 天天综合网合集91| 国产精品制服丝袜清纯唯美| 先锋音影AV| 国产精品 久久久精品一牛| 国产精品午夜成人福利| 无遮挡男女激烈动态图| 亚洲最大黄网| 亚洲97成人在线观看| 日韩欧亚太美不卡| 精品欧美不卡在线播放| 亚洲射综合网| 亚洲精品一区二区精品| 97亚洲欧美日韩| 久操网无码在线| x97av| 全球成人中文在线| 国产三级中文字幕粉嫩| 熟女乱伦二区| 九九草| 欧美18禁91| 亚川综合视频| 欧美91精彩| 无码抄逼网| 国产熟女一区二区| 台欧久久精品视频| 99亚洲国产精品色一区二区三区| 99在线观看无大码| 日日操丁香五月天| 人人操超碰在线| 欧美亚性天堂| 中国AV美女| 97av,com| 在线观看一卡二卡| 99中出在线| 久久亚州精品成人Av无| 欧美大片天天看| 在线视频日韩欧美国产| 麻豆亚洲AV成人无码久久精品| 欧美中文字幕男人天堂久久精品| 三级日本一区二区三区| 欧美大干日韩| 啊…啊…操我用力操我| 国产精品99精品视频网站| 国产精品国产| 蜜臀久久99精品久久综合| 中文字幕高清精品一区| 国偷自 一区| 精品一区二区啪啪啪| 大香蕉视频一二三区| www.成人无码| 亚洲欧美日韩有码| 日本福利二区视频| 激情天天视频| 久久有码视频| 一区二区三区四区久久视1| 亚洲制服欧美另类内射| 久久久久9999| 91综合天天看| 白丝jkav| 天天干天天干天天| 久久久久免费看少妇A片特黄| 男人天堂毛片| 黄色不卡视频| 亚洲精品久| 国产一区二区啪啪视频| 懂色中文一区二区三区| 97超碰精品图片| 操逼999| 日韩情色视频| www久| 国内毛片婷婷六月色| 97欧美| 熟妇一区,二区,三区。| 91网18| www鬼畜国产男人的天堂| 欧日a| 欧美日韩日产免费网站看| 美女91在线| 久热精品在线| 中文日韩欧美熟| 四虎884a| 嗯阿好爽好紧| 亚洲色图超碰在线| 超碰国产在线| 欧美精品1区2区3区| 成人av影院在线观看| 男人天堂网站| 欧美啪啪色吧在线| 天美av在线| 国产97综合| 蜜桃精品视频一区二区三区| 亚洲欧洲无码97久久精品| 一牛影视久久久一区二区三区| 丁香五月天啪啪| 国产精品视频精品一二| 日本色色色色色视频| 国产精品999zyz| 一区操逼| 日本成人A片网站| 免费视频在线一区二区不卡| 天天综合网网欲色| 欧美懂色综合网| 中出欧美| 丁香九月婷婷| 亚洲欧美色图片| 屁股久久久久久久久久| 亚州综合在线| 国产精品久久久| 日本国产欧美一区三区二区 | 婷婷色一区| 亚洲色五月| 日韩免费人妻色情网站| 婷婷丁香五月综合| 国产一区二区三区中文字幕| 日本媚薬中文字幕在线| 亚洲久久久| 欧美色图综合| 四虎午夜影院| 手机在线播放国产福利| 国模艳艳啪啪一区| 韩国一级做A片免费的| 日韩无码成人电影| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 国产强奸乱伦第1页| 国产毛片毛片4p懂色| 国产家庭乱伦表演| 91丨豆花丨熟女| 婷婷五月天激情网| 亚洲综合五月天| 偷拍欧美激情| 亚洲色图美腿丝袜| 超碰 国产熟女精品一区| 台湾佬大香蕉| 成人性爱免费播放| 天天色天天干天天射| 亚洲砖码砖专无区2023| 欧美激情综合| 宗合情欲网| 大屁股国产在线视频| 色九九久九九| 日本孕妇一区二区视频操逼免费看| 久久性爱精品一区| 成人性爱高清视频免费看| 久热99| 天堂资源欧美| 蜜桃狠狠色伊人亚洲综合 | 丁香五月成人| 激情图片亚洲色图| 亚洲好色人妻| 试看日韩黄片| 日韩乱伦影音先锋| 超踫中文字幕| 天天超级碰碰碰| 精品欧美乱码久| 欧美丰满少妇xx高潮| 午夜天堂精品久久久久91| 男人干美女| 欧美丝袜91| 无码国产Av| 1024久久高清视频| 亚洲文学偷乱拍啪啪啪啪| 日韩欧美性爱电影在线观看| 午夜福利视频在线一区| 看黑人AV不卡| 狠狠躁久久躁| 亚洲国产精品9999在线观看| 99激情| 天美麻豆黄色录像| 日产欧美电影一区二区三区| 国产高清无码一区二区三区四区皇冠| 情色AV电影| 精品一区99999| 另类TS人妖一区二区三区| 欧洲精品二区| 乱伦av麻豆| 亚洲国产剧情少妇激情| 深喉吞精| 國產尤物AV尤物在線觀看| 嗯~啊~快点 死我视频| 999国产精品999久久久久久| 日本成人A片免费看| 97青青操视频| 欧美日韩亚洲天堂| 日本精品不卡一二三区| 久久同城AV| 久久欲| 蜜桃精品一区二区三区ww| 青青久草| 国模吧 一区二区三区| 亚洲欧洲无码一区夜| 欧美真人抽搐一进一出gif | 欧美色老汉| 91艹B视频| 亚洲男人的天堂AV| 美女裸体无遮挡永久免费观看网站| 丁香婷婷大香蕉| 蜜桃臀一区二区三区久久| 先锋色眉乱伦资源| 天天影视射综合网| 免费av在线播放二区| 第二页中文字幕| 中日韩一区二区三区欧美| 国产一区二区三区中文字幕| 60秒不遮不挡| 中文字幕在线观看丝袜| 清纯唯美综合| 大香樵伊人网| 九月伊人中文字幕| 亚洲黑丝在线| 人妻久久一区二区三区 | 91超碰在线观看| 717影院理论午夜伦八戒| 99福利社| 99久在线精品99re8热| 可乐操亚洲蜜911| av九九| 大奶的诱惑| 小草精彩毛片| 欧美gv在线观看| 久9久9精品| 无码在线亚洲| 中文字幕一区二区三区人妻不卡 | 欧亚第一综合网| 久久青青草原免费视频| 久久一本大香蕉 | 日本一区99| 国产性久久久| 97人人色| 99亚亚热| 美日韩男女操屄视频| 黄色十八禁网站| 最新中文字幕精品在线| 四虎免费在线播放| 国产按摩一区二区三区| 青娱乐休闲视频在线观看| 99国产精品久久久久久久成人热| 国产中文大片资源中文字幕| 99热大香蕉伊在线| www久久久| www熟女乱伦com| 性九九九九九九| 99热这里都是精品| 日本成熟少妇A∨网站| 久久精品国产精品| 色九月婷婷| 国产9 9在线 | 亚洲| 欧美骚少妇| 97色在线观看| 欧日a| 午夜性刺激视频免费观看| 久久亚洲熟妇在线视频| 无码自拍SM| 亚洲欧美国产中文视频| 国内一区二区三区| 无码99| 网页导航五月天免费一二三区| 美女9118禁| 91成人国产综合久久精品蜜月| 亚洲中文字母在线播放| 啊啊啊在线观看| 亚洲熟妇综合久久久久久| 日韩三级久久久| 一区二区三区免费岛国片| 免费国产视频| 九九九九97| 麻豆九九九| 亚洲成人在线播放| 精品无码不卡视频| 超碰97护士| 国产自啪精品视频网站黑丝| 精品久久久中文字幕不| 日韩性爱视频免费在线 | 超碰1997| 日韩女优在线| 网页导航五月天免费一二三区| 天天躁日日躁狠狠躁| 超碰久草| 久久亚码| 国产a级精品| 婷婷综合激情| 激情视屏国产乱伦强奸| 人人做,人人操,人人摸| 91天堂| 天天操熟妇| 91精品国久久久久久无码| 乱人伦 国语对白:视频直接看| 日本国产高清色www视频在线| 91啦人妻| 亚洲天堂欧美| 久久久久白虎| 91男女| 国产精品国产| 欧美国产一区二区三区麻豆传媒 | 亚洲有码视频二区| 久久99干一本高清| 任你干在线视频| 久久超碰98| 色大师网站www永久网站视频| 男人天堂.AB| 亚洲另类综合欧美| 99热这里是精品| 日韩av乱伦| 五月丁香六月婷| 欧美日韩中文亚洲v在线综合| 黄片色区软件| 日韩卡一卡二卡三在线| 不卡av在线中文字幕| 91伊人久| 亚洲欧洲综合成人av一区| 综合激情二| 成人无码在线超碰网| 亚洲啪AⅤ永久无码| 国产乱伦亚洲色图高清无码| 99精品国产户外露出| 久久综合九色综合欧洲98| 97国产精品| 日韩欧美性吧婷婷乱伦大香蕉| 国产精品高潮久久久无码| 男女啪啪啪18禁网站| 精品人妻一区二区三区四区石在线| 999999精品| 九九色影院| 五月婷婷丁香| 丁香成人五月天| 密桃99999| 久久这里精品国产99丫e6| 国产日韩精品一区二区三区| 亚洲综合性感在线| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 操B视频日韩无码| 欧美人人曰人人操人人射射| 国产一进一出视频网站|