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

ARTICLE DETAIL

資訊詳情

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

STM32F469II 與 MR25H40CDF MRAM 工業(yè)存儲(chǔ)方案實(shí)戰(zhàn)

STM32F469II 與 MR25H40CDF MRAM 工業(yè)存儲(chǔ)方案實(shí)戰(zhàn) 1. 為什么 MRAM 在工業(yè)嵌入式場景里越來越受關(guān)注搞過工業(yè)數(shù)據(jù)采集或者電力終端的朋友應(yīng)該都有體會(huì)選存儲(chǔ)芯片這件事很多時(shí)候比選主控還讓人頭疼。EEPROM 擦寫壽命不夠、FRAM 容量太小、NOR Flash 寫入速度慢還怕掉電、SRAM 又得配電池。這幾年 MRAM 慢慢進(jìn)入大家的視野尤其是 Everspin 的 MR25H40 系列4Mbit 容量、SPI 接口、號(hào)稱無限次擦寫、掉電數(shù)據(jù)不丟聽起來像是把上面幾個(gè)痛點(diǎn)一次性解決了。我最近在一個(gè)工業(yè)數(shù)據(jù)記錄器的項(xiàng)目里用 STM32F469II 搭配 MR25H40CDF 做了一套數(shù)據(jù)存儲(chǔ)方案跑了大概三個(gè)月積累了一些實(shí)操經(jīng)驗(yàn)。這篇文章就把整個(gè)選型思路、硬件設(shè)計(jì)、驅(qū)動(dòng)實(shí)現(xiàn)、踩過的坑都梳理一遍。不管你是剛接觸 MRAM 的嵌入式新手還是正在做存儲(chǔ)方案選型的老手應(yīng)該都能從中找到有用的東西。MR25H40CDF 是 Everspin 出的 4Mbit512KBSPI MRAM工作電壓 2.7V 到 3.6VSPI 時(shí)鐘最高 40MHz支持標(biāo)準(zhǔn) SPI Mode 0 和 Mode 3。跟傳統(tǒng)存儲(chǔ)方案比它的核心優(yōu)勢在于寫入不需要擦除、寫入速度接近 SRAM、擦寫次數(shù)理論上無限官方標(biāo)稱 10^14 次以上、數(shù)據(jù)保持時(shí)間超過 20 年。這些特性放在工業(yè)現(xiàn)場那種高溫、震動(dòng)、頻繁斷電的環(huán)境里價(jià)值就非常明顯了。STM32F469II 是 ST 家的高性能 M4 系列180MHz 主頻帶 Chrom-ART 圖形加速器2MB Flash、384KB SRAM外設(shè)資源豐富SPI 接口有好幾個(gè)。選它主要是因?yàn)轫?xiàng)目需要驅(qū)動(dòng)一塊 RGB 屏做實(shí)時(shí)數(shù)據(jù)顯示同時(shí)還要跑數(shù)據(jù)記錄和通信協(xié)議棧F469 的性能和存儲(chǔ)空間都?jí)蛴?。MR25H40CDF 掛在 SPI2 上跟屏幕的 LTDC 接口不沖突整體架構(gòu)比較干凈。2. 方案整體設(shè)計(jì)與關(guān)鍵選型考量2.1 存儲(chǔ)介質(zhì)對比為什么最終選了 MRAM在確定 MR25H40CDF 之前我對比了幾種常見的非易失存儲(chǔ)方案。這個(gè)對比過程其實(shí)挺關(guān)鍵的因?yàn)椴煌瑘鼍跋伦顑?yōu)解完全不一樣。存儲(chǔ)類型寫入速度擦寫壽命掉電保持容量范圍寫入前是否需擦除典型功耗EEPROM慢ms級(jí)100萬次是KB級(jí)否字節(jié)級(jí)低NOR Flash中等10萬次是MB級(jí)是塊級(jí)中FRAM快10^12次是KB~MB否低MRAM快接近SRAM10^14次是KB~MB否中SRAM電池最快無限依賴電池MB級(jí)否高含電池維護(hù)從表里能看出來MRAM 在寫入壽命和寫入速度這兩個(gè)維度上優(yōu)勢明顯。工業(yè)數(shù)據(jù)記錄器需要每秒寫入幾十條記錄每條記錄幾十字節(jié)一天下來寫入次數(shù)輕松上萬。如果用 EEPROM100萬次的壽命大概幾個(gè)月就耗盡了NOR Flash 雖然容量大但塊擦除機(jī)制導(dǎo)致小數(shù)據(jù)頻繁寫入時(shí)效率極低還需要額外的磨損均衡算法。MRAM 的字節(jié)級(jí)寫入和無擦除特性讓固件設(shè)計(jì)大大簡化。FRAM 其實(shí)也是候選但容量做到 512KB 以上的型號(hào)選擇少價(jià)格也不便宜。MR25H40CDF 的 512KB 容量剛好夠存一周的原始數(shù)據(jù)加上 SPI 接口簡單最終就定了它。2.2 STM32F469II 的 SPI 外設(shè)分配與引腳規(guī)劃STM32F469II 有 6 個(gè) SPI/I2S 接口但不是每個(gè)都適合掛 MRAM。SPI1 通常留給調(diào)試或者高速外設(shè)SPI2 和 SPI3 比較靈活。我最終把 MR25H40CDF 掛在 SPI2 上原因有幾個(gè)SPI2 的引腳PB13/PB14/PB15在 PCB 布局上離 MRAM 芯片近走線短SPI2 不跟 LTDC 的引腳沖突SPI2 的時(shí)鐘源來自 APB1配置起來跟系統(tǒng)時(shí)鐘的耦合關(guān)系清晰。片選信號(hào)用的是軟件片選GPIO 選的是 PB12。這里有個(gè)細(xì)節(jié)STM32 的硬件 NSS 在某些模式下會(huì)有時(shí)序問題尤其是多從機(jī)場景。軟件片選雖然多占一個(gè) GPIO但控制靈活調(diào)試的時(shí)候也方便用邏輯分析儀抓波形。MR25H40CDF 的 CS 建立時(shí)間和保持時(shí)間要求不苛刻軟件片選完全能滿足。引腳分配如下SPI2_SCK - PB13SPI2_MISO - PB14SPI2_MOSI - PB15MRAM_CS - PB12GPIO 輸出MRAM_WP - 接 VDD不用的寫保護(hù)直接拉高M(jìn)RAM_HOLD - 接 VDD不用的保持功能直接拉高注意MR25H40CDF 的 WP 和 HOLD 引腳內(nèi)部沒有上拉懸空會(huì)導(dǎo)致狀態(tài)不確定。即使不用這兩個(gè)功能也必須明確拉到 VDD 或 GND。2.3 電源與去耦設(shè)計(jì)要點(diǎn)MRAM 的寫入電流比讀取電流大不少尤其是在高頻寫入的時(shí)候。MR25H40CDF 的數(shù)據(jù)手冊標(biāo)稱寫入電流典型值 25mA峰值可能到 40mA。如果電源去耦沒做好寫入瞬間的電壓跌落可能導(dǎo)致寫入失敗或者數(shù)據(jù)錯(cuò)誤。我在 MRAM 的 VDD 引腳旁邊放了兩個(gè)電容一個(gè) 100nF 的陶瓷電容緊貼引腳另一個(gè) 1uF 的陶瓷電容稍微遠(yuǎn)一點(diǎn)。這兩個(gè)電容的作用不一樣100nF 負(fù)責(zé)濾高頻噪聲1uF 負(fù)責(zé)提供寫入瞬間的電荷緩沖。PCB 走線上電源線盡量粗從 LDO 到 MRAM 的路徑上不要有大的電感或者過孔。另外STM32F469II 和 MR25H40CDF 的電源域要一致。如果 STM32 用 3.3VMRAM 也用 3.3VSPI 電平匹配就沒問題。如果 STM32 用 1.8V 核心電壓但 IO 是 3.3V那也沒問題因?yàn)?F469 的 IO 電壓是可配的。但千萬別出現(xiàn) STM32 IO 是 3.3V 而 MRAM 供電是 2.5V 的情況這樣高電平識(shí)別可能出問題。3. SPI 驅(qū)動(dòng)實(shí)現(xiàn)與 MRAM 操作細(xì)節(jié)3.1 STM32CubeMX 配置 SPI2 的關(guān)鍵參數(shù)用 CubeMX 配置 SPI2 的時(shí)候有幾個(gè)參數(shù)需要特別注意。我先把配置截圖的關(guān)鍵項(xiàng)列出來然后解釋每個(gè)參數(shù)為什么這么選。Mode: Full-Duplex MasterData Size: 8 BitsClock Polarity (CPOL): LowClock Phase (CPHA): 1 EdgeNSS Signal Type: SoftwarePrescaler: 4APB1 時(shí)鐘 45MHzSPI 時(shí)鐘 11.25MHzFirst Bit: MSB FirstCRC Calculation: DisabledCPOL 和 CPHA 的組合決定了 SPI 的工作模式。MR25H40CDF 支持 Mode 0CPOL0, CPHA0和 Mode 3CPOL1, CPHA1。我選的是 Mode 0也就是 CPOL Low、CPHA 1 Edge。這個(gè)模式下時(shí)鐘空閑為低電平數(shù)據(jù)在第一個(gè)邊沿上升沿采樣。用邏輯分析儀抓波形的時(shí)候Mode 0 的波形最直觀調(diào)試方便。預(yù)分頻系數(shù)選 4SPI 時(shí)鐘跑到 11.25MHz。MR25H40CDF 最高支持 40MHz為什么不用更高的時(shí)鐘因?yàn)?PCB 走線長度和信號(hào)完整性限制。我的板子上 SPI 走線大概 3cm沒有做阻抗匹配11.25MHz 下波形還很干凈再高就開始出現(xiàn)振鈴了。工業(yè)環(huán)境里穩(wěn)定性比速度重要11.25MHz 的讀取速度已經(jīng)能到 1.4MB/s足夠用了。提示如果你的 PCB 走線很短1cm且做了阻抗控制可以嘗試 20MHz 甚至 40MHz。但建議先用示波器看波形確認(rèn)沒有過沖和振鈴再提高頻率。3.2 MR25H40CDF 的命令集與讀寫時(shí)序MR25H40CDF 的命令集跟標(biāo)準(zhǔn) SPI Flash 很像但有幾個(gè)關(guān)鍵區(qū)別。先看常用命令命令名稱命令碼功能說明地址字節(jié)數(shù)數(shù)據(jù)字節(jié)數(shù)WREN0x06寫使能00WRDI0x04寫禁止00RDSR0x05讀狀態(tài)寄存器01WRSR0x01寫狀態(tài)寄存器01READ0x03讀數(shù)據(jù)31~NWRITE0x02寫數(shù)據(jù)31~N跟 NOR Flash 最大的區(qū)別是MRAM 沒有擦除命令。寫入之前不需要發(fā)擦除指令直接 WREN 然后 WRITE 就行。這個(gè)特性讓固件邏輯簡化了很多不用維護(hù)擦除塊管理。寫操作的完整時(shí)序是這樣的拉低 CS發(fā)送 WREN0x06拉高 CS拉低 CS發(fā)送 WRITE0x02發(fā)送 3 字節(jié)地址24位高位在前發(fā)送要寫入的數(shù)據(jù)字節(jié)可以連續(xù)多個(gè)拉高 CS注意第 3 步和第 4 步之間必須拉高 CS這是 WREN 命令生效的必要條件。我一開始沒注意這個(gè)細(xì)節(jié)WREN 和 WRITE 連在一起發(fā)結(jié)果寫入一直失敗。后來看數(shù)據(jù)手冊才發(fā)現(xiàn)WREN 需要 CS 的上升沿來鎖存。讀操作簡單一些拉低 CS發(fā)送 READ0x03發(fā)送 3 字節(jié)地址讀取數(shù)據(jù)字節(jié)可以連續(xù)多個(gè)拉高 CS讀操作不需要 WREN也不需要等待。MRAM 的讀取是即時(shí)的沒有 NOR Flash 那種等待周期。3.3 HAL 庫驅(qū)動(dòng)代碼實(shí)現(xiàn)基于 STM32 HAL 庫我封裝了幾個(gè)核心函數(shù)。先看初始化部分#include stm32f4xx_hal.h extern SPI_HandleTypeDef hspi2; #define MRAM_CS_PIN GPIO_PIN_12 #define MRAM_CS_PORT GPIOB #define MRAM_CMD_WREN 0x06 #define MRAM_CMD_WRDI 0x04 #define MRAM_CMD_RDSR 0x05 #define MRAM_CMD_WRSR 0x01 #define MRAM_CMD_READ 0x03 #define MRAM_CMD_WRITE 0x02 static void MRAM_CS_Low(void) { HAL_GPIO_WritePin(MRAM_CS_PORT, MRAM_CS_PIN, GPIO_PIN_RESET); } static void MRAM_CS_High(void) { HAL_GPIO_WritePin(MRAM_CS_PORT, MRAM_CS_PIN, GPIO_PIN_SET); } static uint8_t MRAM_WriteEnable(void) { uint8_t cmd MRAM_CMD_WREN; MRAM_CS_Low(); HAL_SPI_Transmit(hspi2, cmd, 1, 100); MRAM_CS_High(); return 0; } static uint8_t MRAM_ReadStatus(void) { uint8_t cmd MRAM_CMD_RDSR; uint8_t status 0; MRAM_CS_Low(); HAL_SPI_Transmit(hspi2, cmd, 1, 100); HAL_SPI_Receive(hspi2, status, 1, 100); MRAM_CS_High(); return status; }寫數(shù)據(jù)函數(shù)uint8_t MRAM_Write(uint32_t addr, uint8_t *data, uint16_t len) { uint8_t cmd; uint8_t addr_buf[3]; if (addr len 0x80000) { return 1; // 超出512KB范圍 } addr_buf[0] (addr 16) 0xFF; addr_buf[1] (addr 8) 0xFF; addr_buf[2] addr 0xFF; MRAM_WriteEnable(); MRAM_CS_Low(); cmd MRAM_CMD_WRITE; HAL_SPI_Transmit(hspi2, cmd, 1, 100); HAL_SPI_Transmit(hspi2, addr_buf, 3, 100); HAL_SPI_Transmit(hspi2, data, len, 1000); MRAM_CS_High(); return 0; }讀數(shù)據(jù)函數(shù)uint8_t MRAM_Read(uint32_t addr, uint8_t *data, uint16_t len) { uint8_t cmd; uint8_t addr_buf[3]; if (addr len 0x80000) { return 1; } addr_buf[0] (addr 16) 0xFF; addr_buf[1] (addr 8) 0xFF; addr_buf[2] addr 0xFF; MRAM_CS_Low(); cmd MRAM_CMD_READ; HAL_SPI_Transmit(hspi2, cmd, 1, 100); HAL_SPI_Transmit(hspi2, addr_buf, 3, 100); HAL_SPI_Receive(hspi2, data, len, 1000); MRAM_CS_High(); return 0; }這幾個(gè)函數(shù)跑下來讀寫都正常。但有個(gè)性能問題每次讀寫都要重新拉 CS、發(fā)命令、發(fā)地址開銷不小。如果頻繁讀寫小數(shù)據(jù)效率會(huì)很低。后面我會(huì)講怎么優(yōu)化。3.4 寫入速度實(shí)測與優(yōu)化我用邏輯分析儀抓了寫入 256 字節(jié)的波形算了一下時(shí)間。SPI 時(shí)鐘 11.25MHz每個(gè)字節(jié) 8 位加上命令和地址開銷寫 256 字節(jié)大概需要 240 微秒左右。理論計(jì)算256 字節(jié) × 8 位 / 11.25MHz ≈ 182 微秒加上命令和地址的 4 字節(jié)開銷總共約 185 微秒。實(shí)測 240 微秒多出來的部分是 CS 拉高拉低的間隔和 HAL 庫的函數(shù)調(diào)用開銷。如果要提高寫入速度有幾個(gè)方向提高 SPI 時(shí)鐘到 20MHz 以上需要確認(rèn)信號(hào)完整性用 DMA 傳輸替代阻塞式傳輸減少 CS 的切換次數(shù)連續(xù)寫入時(shí)保持 CS 低電平我試過用 DMA 傳輸寫入 256 字節(jié)的時(shí)間降到了 150 微秒左右。但 DMA 的配置復(fù)雜一些而且需要處理傳輸完成中斷。對于數(shù)據(jù)記錄器這種應(yīng)用寫入頻率大概每秒幾十次阻塞式傳輸完全夠用沒必要上 DMA。實(shí)操心得如果你的應(yīng)用需要高頻寫入比如每秒上千次建議用 DMA 加雙緩沖。如果只是中低頻記錄阻塞式傳輸更簡單可靠出問題也容易排查。4. 數(shù)據(jù)存儲(chǔ)架構(gòu)與可靠性設(shè)計(jì)4.1 環(huán)形緩沖區(qū)設(shè)計(jì)512KB 的 MRAM 看起來不大但如果每條記錄 32 字節(jié)能存 16384 條。按每秒一條算能存 4.5 小時(shí)。對于工業(yè)現(xiàn)場的數(shù)據(jù)記錄這個(gè)容量需要配合環(huán)形緩沖區(qū)來用覆蓋最舊的數(shù)據(jù)。環(huán)形緩沖區(qū)的設(shè)計(jì)思路很簡單維護(hù)一個(gè)寫指針每次寫入后指針后移寫到末尾就回到開頭。同時(shí)維護(hù)一個(gè)記錄計(jì)數(shù)器用來判斷緩沖區(qū)是否已滿。但實(shí)際實(shí)現(xiàn)的時(shí)候有幾個(gè)細(xì)節(jié)要注意。第一個(gè)細(xì)節(jié)是寫指針的持久化。如果寫指針只存在 RAM 里掉電后就丟了重啟后不知道從哪里繼續(xù)寫。所以寫指針必須定期存到 MRAM 里。我是在 MRAM 的固定地址比如 0x00000存一個(gè)頭部結(jié)構(gòu)體包含寫指針、記錄總數(shù)、校驗(yàn)和。每次寫入新記錄后更新頭部。但這樣每次寫入都要寫兩次 MRAM一次數(shù)據(jù)一次頭部效率減半。優(yōu)化方案是批量更新頭部。比如每寫入 100 條記錄才更新一次頭部。掉電時(shí)最多丟失 100 條記錄的指針信息但數(shù)據(jù)本身還在 MRAM 里可以通過掃描恢復(fù)。這個(gè)取舍要看應(yīng)用對數(shù)據(jù)完整性的要求。第二個(gè)細(xì)節(jié)是記錄格式的設(shè)計(jì)。每條記錄除了數(shù)據(jù)本身還需要一個(gè)時(shí)間戳和一個(gè)校驗(yàn)字段。時(shí)間戳可以用 RTC 提供校驗(yàn)字段用 CRC16 或者簡單的累加和。我用的結(jié)構(gòu)體是這樣的typedef struct { uint32_t timestamp; uint16_t data_len; uint8_t data[24]; uint16_t crc; } Record_t;這個(gè)結(jié)構(gòu)體 32 字節(jié)剛好對齊。CRC 計(jì)算覆蓋 timestamp、data_len 和 data 字段。讀取的時(shí)候先校驗(yàn) CRC校驗(yàn)失敗就跳過這條記錄。4.2 掉電保護(hù)與數(shù)據(jù)完整性MRAM 的掉電保護(hù)能力比 Flash 強(qiáng)很多因?yàn)閷懭胧羌磿r(shí)的不需要等待擦除或者編程完成。但系統(tǒng)級(jí)掉電保護(hù)還是要做因?yàn)?STM32 本身掉電后 GPIO 狀態(tài)不確定可能產(chǎn)生錯(cuò)誤的 SPI 時(shí)序。我的做法是在電源輸入端加一個(gè)電壓檢測芯片當(dāng)電壓低于 3.0V 時(shí)觸發(fā)中斷STM32 在中斷里完成當(dāng)前寫入操作并拉高 CS然后進(jìn)入停機(jī)模式。這個(gè)窗口大概有幾百微秒足夠完成一次 32 字節(jié)的寫入。另外MRAM 的 WP 引腳在正常工作時(shí)拉高但在系統(tǒng)初始化階段我建議先拉低再拉高確保 MRAM 處于已知狀態(tài)。有些批次的 MRAM 在上電瞬間狀態(tài)寄存器可能不確定雖然概率很低但工業(yè)產(chǎn)品要考慮到。注意MR25H40CDF 的狀態(tài)寄存器里有一個(gè) WEL 位寫入使能后該位為 1寫入完成后自動(dòng)清零。調(diào)試的時(shí)候可以通過讀狀態(tài)寄存器來判斷 WREN 是否生效。如果 WEL 一直是 0說明 WREN 命令沒有正確執(zhí)行檢查 CS 時(shí)序。4.3 數(shù)據(jù)讀取與校驗(yàn)流程讀取流程比寫入簡單但校驗(yàn)不能省。我的讀取函數(shù)會(huì)先讀頭部獲取寫指針和記錄總數(shù)然后從最舊的記錄開始讀逐條校驗(yàn) CRC。如果某條記錄 CRC 失敗就標(biāo)記為無效并跳過。實(shí)際跑下來MRAM 的讀取誤碼率極低三個(gè)月運(yùn)行沒有出現(xiàn)一次 CRC 失敗。但校驗(yàn)邏輯還是要保留因?yàn)楣I(yè)環(huán)境的電磁干擾不可預(yù)測而且校驗(yàn)開銷很小讀 32 字節(jié)多算一個(gè) CRC16 大概多花幾微秒。如果應(yīng)用需要更高的可靠性可以在 MRAM 里存兩份數(shù)據(jù)一份原始數(shù)據(jù)一份備份。讀取的時(shí)候兩份對比不一致就報(bào)錯(cuò)。但這樣容量減半需要根據(jù)實(shí)際需求權(quán)衡。5. 常見問題與排查技巧實(shí)錄5.1 SPI 通信失敗的排查思路SPI 通信失敗是最常見的問題表現(xiàn)可能是讀出來全是 0xFF、全是 0x00或者數(shù)據(jù)隨機(jī)。排查的時(shí)候按以下順序來先看 CS 信號(hào)用示波器或者邏輯分析儀抓 CS 引腳確認(rèn)每次通信前有正確的拉低和拉高。CS 如果一直是低電平MRAM 會(huì)認(rèn)為一直在通信中狀態(tài)機(jī)可能錯(cuò)亂。再看 SCK 和 MOSI確認(rèn)時(shí)鐘極性、相位跟 MRAM 要求的一致。Mode 0 和 Mode 3 的波形差別很大抓一次波形就能看出來。檢查 MISO如果 MISO 一直高阻可能是 MRAM 沒有供電或者 CS 沒有正確拉低。如果 MISO 有信號(hào)但數(shù)據(jù)不對檢查地址和數(shù)據(jù)順序。讀狀態(tài)寄存器發(fā) RDSR 命令看返回的狀態(tài)字節(jié)。正常情況應(yīng)該是 0x00 或者有 WEL 位。如果返回 0xFF說明 MISO 沒有連通。我遇到過一次詭異的問題讀出來的數(shù)據(jù)偶爾會(huì)錯(cuò)一位。查了半天發(fā)現(xiàn)是 SPI 時(shí)鐘太快PCB 走線又沒有做阻抗匹配導(dǎo)致 MISO 上的信號(hào)有反射。把時(shí)鐘從 20MHz 降到 11.25MHz 后問題消失。所以遇到偶發(fā)錯(cuò)誤先降速試試。5.2 寫入不生效的幾種原因?qū)懭氩簧ǔS羞@幾個(gè)原因WREN 沒有正確執(zhí)行WREN 命令后必須拉高 CS否則寫使能不生效。這個(gè)前面強(qiáng)調(diào)過了。WP 引腳狀態(tài)不對如果 WP 引腳被拉低狀態(tài)寄存器的 WPEN 位如果使能了寫入會(huì)被阻止。檢查 WP 引腳的電平。地址越界MR25H40CDF 的地址范圍是 0x00000 到 0x7FFFF超出這個(gè)范圍的行為未定義。寫入前一定要檢查地址。電源電壓不足MRAM 寫入時(shí)需要的最低電壓是 2.7V如果電源跌落到 2.5V寫入可能失敗。用示波器看寫入瞬間的 VDD 波形。5.3 常見問題速查表現(xiàn)象可能原因排查方法解決方案讀出全 0xFFMISO 未連通檢查 MRAM 供電和 CS確認(rèn)供電和片選讀出全 0x00MOSI 未連通檢查 MOSI 走線修復(fù)走線或換引腳寫入后讀回不變WREN 未生效讀狀態(tài)寄存器 WEL 位確保 WREN 后拉高 CS偶發(fā)數(shù)據(jù)錯(cuò)誤SPI 時(shí)鐘過快降低時(shí)鐘測試降速或做阻抗匹配寫入失敗電源跌落示波器看 VDD增加去耦電容CS 一直低GPIO 配置錯(cuò)誤檢查 GPIO 初始化重新配置推挽輸出5.4 調(diào)試工具與技巧調(diào)試 SPI 設(shè)備邏輯分析儀是必備的。我用的是 Saleae 的 8 通道邏輯分析儀配合它的 SPI 解碼器可以直接看到命令、地址、數(shù)據(jù)的解析結(jié)果。比用示波器一個(gè)字節(jié)一個(gè)字節(jié)地?cái)?shù)方便太多了。另外STM32CubeIDE 的調(diào)試功能也可以利用。在 SPI 傳輸函數(shù)里打斷點(diǎn)看 HAL_SPI_Transmit 的返回值。如果返回 HAL_TIMEOUT說明 SPI 外設(shè)配置有問題如果返回 HAL_OK 但數(shù)據(jù)不對那就是時(shí)序或者硬件問題。還有一個(gè)技巧在 MRAM 的 CS 引腳上接一個(gè) LED通過三極管驅(qū)動(dòng)每次 CS 拉低時(shí) LED 閃一下。這樣不用儀器也能大致判斷通信是否在發(fā)生。當(dāng)然這個(gè)方法只適合低頻通信高頻下 LED 根本反應(yīng)不過來。6. 性能優(yōu)化與擴(kuò)展思路6.1 批量讀寫與頁模式MR25H40CDF 支持連續(xù)讀寫也就是一次 CS 周期內(nèi)可以讀寫多個(gè)字節(jié)。利用這個(gè)特性可以批量讀寫數(shù)據(jù)減少 CS 切換開銷。我的數(shù)據(jù)記錄器每次寫入 32 字節(jié)如果改成攢夠 256 字節(jié)再寫CS 切換次數(shù)減少到原來的八分之一整體寫入效率提升明顯。但批量寫入有個(gè)風(fēng)險(xiǎn)如果攢數(shù)據(jù)的過程中掉電這部分?jǐn)?shù)據(jù)就丟了。所以批量寫入適合對數(shù)據(jù)完整性要求不那么苛刻的場景或者配合掉電檢測使用。6.2 與文件系統(tǒng)的結(jié)合如果應(yīng)用需要更復(fù)雜的數(shù)據(jù)管理可以在 MRAM 上跑一個(gè)輕量級(jí)文件系統(tǒng)比如 LittleFS 或者 SPIFFS。這兩個(gè)文件系統(tǒng)都是為嵌入式設(shè)計(jì)的支持掉電保護(hù)。但 MRAM 的擦寫壽命無限文件系統(tǒng)的磨損均衡機(jī)制其實(shí)沒必要反而增加了開銷。所以用不用文件系統(tǒng)要看應(yīng)用的數(shù)據(jù)組織需求。我的項(xiàng)目里數(shù)據(jù)格式固定直接用環(huán)形緩沖區(qū)就夠了沒必要上文件系統(tǒng)。但如果要存日志文件、配置文件、固件備份等多種類型的數(shù)據(jù)文件系統(tǒng)會(huì)更方便。6.3 多片 MRAM 擴(kuò)展容量512KB 不夠用的時(shí)候可以掛多片 MR25H40CDF。SPI 總線可以掛多個(gè)從機(jī)每片用一個(gè)獨(dú)立的 CS 引腳。STM32F469II 的 GPIO 足夠多掛 4 片 MRAM 也就多占 4 個(gè)引腳。多片 MRAM 的地址管理有兩種方式一種是線性擴(kuò)展把 4 片當(dāng)成一個(gè) 2MB 的連續(xù)空間地址的高 2 位用來選片另一種是分片管理每片存不同類型的數(shù)據(jù)。線性擴(kuò)展對上層軟件透明但需要改讀寫函數(shù)分片管理更靈活但上層要維護(hù)分片映射。實(shí)操心得多片 MRAM 的時(shí)候SPI 總線的負(fù)載電容會(huì)增加高速通信時(shí)波形可能變差。建議每片 MRAM 的 CS 走線盡量等長SCK 和 MOSI 走線用菊花鏈或者星型拓?fù)渚唧w看 PCB 布局。6.4 低功耗設(shè)計(jì)考量工業(yè)設(shè)備很多是電池供電或者需要低功耗運(yùn)行。MR25H40CDF 的待機(jī)電流典型值 10uA寫入電流 25mA讀取電流 15mA。如果系統(tǒng)大部分時(shí)間在休眠M(jìn)RAM 的待機(jī)功耗可以接受。低功耗設(shè)計(jì)的關(guān)鍵是減少 MRAM 的活躍時(shí)間。我的做法是數(shù)據(jù)先緩存在 STM32 的 SRAM 里攢夠一批再寫入 MRAM。STM32 在休眠時(shí)MRAM 的 CS 保持高電平SPI 外設(shè)關(guān)閉。喚醒后先初始化 SPI再操作 MRAM。另外MRAM 的 HOLD 引腳可以用來暫停通信但實(shí)際用處不大因?yàn)?CS 拉高本身就相當(dāng)于暫停。HOLD 引腳在低功耗設(shè)計(jì)里可以直接拉高不用管。7. 實(shí)際項(xiàng)目中的經(jīng)驗(yàn)與教訓(xùn)這個(gè)項(xiàng)目從選型到量產(chǎn)前后大概花了四個(gè)月。中間踩了不少坑有些是技術(shù)問題有些是流程問題。挑幾個(gè)有代表性的說說。第一個(gè)坑是 PCB 布局。第一版板子把 MRAM 放在了 STM32 的背面SPI 走線穿過板子長度大概 5cm。結(jié)果 SPI 時(shí)鐘跑到 10MHz 以上就開始出錯(cuò)。第二版把 MRAM 挪到 STM32 同一面走線縮短到 2cm問題解決。所以 SPI 設(shè)備的布局能近就近別為了省空間把走線拉長。第二個(gè)坑是電源去耦。第一版板子只在 MRAM 電源引腳放了一個(gè) 100nF 電容寫入的時(shí)候偶爾失敗。后來加了 1uF 電容問題消失。MRAM 的寫入電流是脈沖式的100nF 的電荷量不夠需要更大的電容來緩沖。第三個(gè)坑是固件升級(jí)。MRAM 里存的數(shù)據(jù)格式在固件升級(jí)后可能不兼容。我的做法是在 MRAM 頭部加一個(gè)版本號(hào)固件啟動(dòng)時(shí)檢查版本號(hào)不匹配就執(zhí)行數(shù)據(jù)遷移或者清空。這個(gè)機(jī)制在第一次升級(jí)的時(shí)候沒做導(dǎo)致舊數(shù)據(jù)讀出來全是亂碼后來補(bǔ)上了。第四個(gè)坑是測試覆蓋。實(shí)驗(yàn)室測試的時(shí)候MRAM 讀寫都正常。到了現(xiàn)場設(shè)備裝在變頻器旁邊電磁干擾很強(qiáng)偶爾出現(xiàn)寫入失敗。后來在固件里加了寫入后回讀校驗(yàn)校驗(yàn)失敗就重寫問題才解決。所以工業(yè)產(chǎn)品的測試一定要考慮電磁兼容場景。8. 寫在最后的一些個(gè)人體會(huì)MR25H40CDF 加 STM32F469II 這套組合在工業(yè)數(shù)據(jù)存儲(chǔ)場景里算是比較省心的方案。MRAM 的無限擦寫和即時(shí)寫入特性讓固件設(shè)計(jì)簡化了很多不用再糾結(jié)磨損均衡和擦除管理。STM32F469II 的性能和存儲(chǔ)資源也足夠跑復(fù)雜的應(yīng)用邏輯。如果讓我給正在選型的朋友一個(gè)建議我會(huì)說先明確你的數(shù)據(jù)寫入頻率和可靠性要求。如果寫入頻率低、數(shù)據(jù)量小EEPROM 或者 FRAM 可能更便宜如果需要大容量、低成本NOR Flash 加磨損均衡也能用。但如果你的場景是高頻寫入、頻繁掉電、工業(yè)環(huán)境MRAM 多花的那些錢省下來的調(diào)試時(shí)間和維護(hù)成本絕對值得。最后分享一個(gè)小技巧MRAM 的讀寫函數(shù)封裝好之后可以寫一個(gè)自測試函數(shù)上電時(shí)跑一遍全片讀寫校驗(yàn)。這個(gè)自測試大概花幾百毫秒但能提前發(fā)現(xiàn)硬件問題避免設(shè)備裝到現(xiàn)場才發(fā)現(xiàn)存儲(chǔ)壞了。我在量產(chǎn)固件里加了這個(gè)自測試返修率明顯下降。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
大香蕉2017| 亚洲一区二区中文字幕| 日韩欧美偷拍美女视频| 国产日韩欧美三级片| 久久精品一区二区三区四区五区| 五毛骚逼极品美女怕怕| 91麻豆天美国产欧美日| 成人性爱全视频观看| 97精品| 欧美色自拍| 夜夜操天| 911粉嫩人妻| 欧美Ⅴ性爱| 天天射天天操天天干天天吃2018| 欧美天天搞| 曰韩少妇无码| 看黑丝美女操逼青青网站| 午夜福利视频在线一区| 一级毛片久久久久久久女人18| 风间由美日韩欧美久久| 大香蕉92| 少妇色综合| 成人无码专区精品视频| 中文啪啪视频| 亚洲五月丁香花狠狠干一区二区三区| 萌白酱自拍视频| 97无码视频在线播放| www.久久超碰| 9997se| 男人的天堂在线| 欧美激情总合网| 五月综合色| 99爱爱| 精品国产乱码久久久久久口爆网站| 囯戸精品高潮呻吟旡码| 精品人妻中文字幕4399| 国产精品999zyz| 免费啪啪av| 国产成人精品必看| 2020视频1区2区3区| 男人的天堂2010| 激情丁香婷婷| 97精品国产97久久久久久| 黑操B| www.99视频| 色综合美国| 亚洲色图超碰在线| 欧美日韩国产中文精品字幕自在自线,| 色999五月色| 五月激情综合网| 蜜桃精品一区二区三区ww| 久久国色天香香蕉| 男女激情中文字幕| 97久久久网站| 国产精品人妻无码久久久互動交流 | 男人的天堂在线2| 国产精品久久久777| 高清不卡一二三区视频......| 无码一区二区三区四区五区六区七区八区九区十区视频 | 麻豆影音天美视频| 久久大精品乱码视频人妻熟女| 久久久国产精品人妻丝袜| 久久夜夜夜| 日韩成人人妻网站| 久久蜜桃一区二区| 欧美日韩香蕉| 成人影 天天操 亚洲| 久久久久人妻二区精品叶可怜| 国产精品99精品视频网站| 精品国产Av无码久久久伦古装| 丰满人妻av一区二区三区| 婷婷久久五月天| 熟女日韩| 91高潮喷水美女| 成年人免费观看网站| 色www精品视频在线观看| 国产熟妇一区二区| 国产97在线 | 亚洲| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 97碰久久| 丰满岳乱妇一区二区三区| 日本女优在线视频福利| 久久黄黄| 肉丝中文无码高清| 操穴国产| 俺去啦自拍| 欧美综合第一页| 国内毛片婷婷六月色| 天天做天天爱| 青青草久草AV| 成人乱人伦一区二区| 激情婷婷五月天| 天天日日日射| 欧美色院| 亚洲黑丝在线| 综合激情一一91| 国产精品美女久久久久久网站| 国产懂色精品国产av| 在线观看AV不卡| 国内一区二区三区| 91丨熟女丨丰满熟女| 无码免费一区二区三区啪啪| 日韩特一级久久| 国产精品99精品视频网站| 亚洲AV免费在线| 国产精品天干天干综合网麻豆| 欧美男人天堂| 白丝AV网站| 蜜臀99久| 顶级少妇BT天堂| 狠狠爱夜夜| 午夜色婷婷| 亚洲综合一| 激情 欧美 亚洲 小说| 亚洲综合春色| 国产内射爽爽大片| 精品少妇高潮久久| 爆乳免费黄网站| 亚洲色天| 国产亚洲 中文欧美久久| 天天综合站| 逼逼逼逼操操操操操操操操操午夜剧场| 一区二区精品更新提醒| 国内精品嫩模A∨私拍小视频| 九九av| 国产AV中文| 九九Av| 天天干嫩逼网| 久久做97| 国产 热久久久久国产精品| 日韩一级二级三级免费看完整版国语版| 成年人网站在线免费观看| 韩国女主播青草福利视频| 狠狠超| 天天日天天插| 免费成人自拍视频在线| 丝袜制服字幕在线| 国产a片操逼| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 青青草影视蜜久久| 午夜精品久久久久久久男人的天堂| 亚洲精品国产拍免费91在线| 天综合网| 无码WWW免费视频网站| 九九九九一级| 日韩pv中文| 精品九九| 秋霞一区二区三区四区五区六区七区| 性爱乱伦网址| 91国产操逼视频| 日韩精品99久久久久久中文字幕 | 超碰97欧美在线| 女性喷水高潮在线观看| 欧美精品三区| 另类在线| 日本潮催一卡操| 使劲用力艹少妇视频一区二区| AAAAAAAAA黄片| 超碰偷拍| 一区二区三区色综合| 美國A片| 青青草依人大香蕉| 91色爽欧美| 亚洲偷拍自拍在线视频| 亚洲阿v天堂无码z2018| 亚洲天堂一区| 色香综合天天影视综合 | 99久草| 夜夜骑天天燥| 台湾佬激情综合| 亚洲一曲日韩精品| 丰满人妻一区二区三区蜜桃视频| 最新亚洲风情电影| 亚洲色吧网| 国产亚州高清国产拍精| 欧美Ⅴ性爱| 视频在线97| 60秒试看最爽10分钟网站| 伊人黄色视频免费观看| 成年人网站在线免费观看| 99热线麻豆 | 久久久激情| 国产日韩精品人妻久久久久色欲网站| 国产v片在线免费观看| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 无码精品久久久久久亚洲| 97视频www| 26uuu欧美| 日韩欧美综合激情| 99热99在线播放激情| 亚洲欧美黄| 色臀aV| 又摸又舔在线观看网站| 97超碰碰碰| 免费看日产一区二区三区| 99色热国产视频精品| 99热在线播放| 91性片| 欧美日韩一二三| 欧美 综合 亚洲| 老熟妇综合| 国产精品乱人伊人网| 日韩黄色成人性爱| 欧美顶级黄片AAAAA在线免费看| 成人七区| 乱伦1色页| 亚洲一曲日韩精品| 欧美五十路熟| 午夜AV人气不卡| 欧美不卡在线一区二区| 国产乱伦视频污| 操逼操逼操| 欧美少妇人妻| 91欧美大片| 97爱综合| 综合久久久久久久久91| 国产午夜精品理论片一二三区区 | 伊人久久艹| 亚洲av强奸乱伦| 日本中文字幕在线视频| 亚洲国产第一页综合视频| 开心婷婷五月| 九九久久国产精品| 97一区二区三区视频| 国产av热热色| 精品9999| 易易A毛视频| 极品肉射| 人妻精品视频一区二区三区| 免费一级a毛片久久久久久鸭绿欲 国产精品亚洲天堂网址 | 精品黄色电影| 国产精品久久久久无码Av网曝门| 日本在线不卡v二区| 久久香蕉影院| 欧亚第一综合网| 精品人妻一区二区三区夜夜| 91在线丝袜| 男人天堂东京热| 人妻丝袜美腿中文字幕| 天天草夜夜草高潮片| 日韩一级特黄av毛片| 精品婷婷| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 欧美少妇高潮久久91| 九九热精彩视频| 国产精品大屁股999| 亚洲毛片基地专区| 国产91精品福利在线| 色999亚洲人成色| 人妻免费观看| 亚洲加勒比| 午夜无遮挡男女啪啪视频| 强奸a片网| 亚洲丝袜二区| 人澡逼| 中文操逼字幕| 丁香五月天啪啪| 精品国产国产AV| 欧美热图99| 国产精品一区二区a| 久久精品国产免费观看99| 污到发麻的视频 国产| 超碰地址97| 火箭成精品视频884必出精品| 日韩久久.一级黄色片| 欧洲熟妇xxXx欧美老妇裸体| 1二区9| 97超碰久久| 久操操| 97精品视频网站| 欧美日韩久久精品爱爱| 老司机老司机午夜影院| 91亚洲影院综合| 97视频一区| 亚洲 自拍偷拍 欧美| 日韩在线女优天天干| 国产亚热在线久久| 精品偷拍13p欧美dodk视频| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 国产强奸91| 精品精品精品| 91bbbbbb| 国模精品娜娜一二三区| 大屁股熟女一区二区三区| 亚洲色图欧美一区二区不卡| 亚洲黑丝在线| 天天噜| 婷婷久久五月| 97人人夜| 综合久| 国产超碰97| 在线人人人人人人精品超| 久久伊人青青草| 人妻9117c| 欧美日韩丝袜| 视频不卡中文字幕| 射欧美综合| 国产偷拍网站| 夜夜騷av、一區二區| 天天上日日上日韩精品| AND人妻系列| 东京热一区二区中文字幕| 大香蕉亚洲中文| 欧美综合色,www| 色综合婷婷| 高颜值美女口爆高潮浪叫| 一块操欧美性爱| 密臀国产在线| 丁香五月激情综合| 国产精品福利视频| 大香蕉欧美伊| 欧美日韩性爱无码| 久操免费电影| 日韩乱码av| 国产精品高潮久久久无码| 日韩熟女精品无码专区一区二区| 无码高清少妇久久| 精品久久久一本一道| 伊人久久大香大香线蕉中文 | 乱抡国产91| 日韩电影天堂视频二区三区| 怡红院一区二区熟女人妻| 久久久久久人| 日产国产精品中文久久婷婷| 岛国免费黄色网址| 女人久久久| 综合久欧洲| 超碰成人公开| 国产精品人妻无码久久久老鸭窝 | 9999久久久久| 中文字幕精品一区二区精品| 高清无码久操视频| 毛片99-全集电影手机免费观看完整-B029AV | 97国产精品| 330Dv国产女人终合视频极品人与兽| 久久久久久久亚洲Av无码| 久久精品一区二区三区蜜桃臀| 精品国产精品一区二区| 国内毛片欧美香蕉精品| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 美女露胸露屁股| 日韩色欲久久一二三四区| 清纯唯美第一页| 综合网亚| 久操大香蕉手机视频在线看 | 精品人妻1区| 亚洲97网站| 电影69乱码96| 久久久免费一级黄片| 水多多映视AV| 欧美色图自拍| 九草九九九| 无码欧美有限公司| 五月天偷拍| 欧美亚洲| 黑人免费福利视频| 日韩日韩日韩-国产乱码精品一区二区| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 91暧暧| 欧美成人黄网色网站| 综合久久久久久久久91| 日日骚网站| 亚洲日韩欧美一区二区| 操美女人妻| 九九在线精品| 亚洲精品三| 欧美人妻精品一区二区| 亚洲精品国产熟女久久久久久| 日本成人在线不卡一区二区三区| 久久三区四区| 神马久久免费电影观看| 日韩综合97P| 9精品在线| 日韩99999色| 一区二区激情国产熟女| 中文字幕一区av| 国产一级作爱毛片| 性影在线视频| 国产一区二区三区导航| 久久av一级av少妇av高潮| 中文字幕日韩专区精品系列 | 欧美黑人精品一区二区| 美女极品一区二区三区| AV不卡在线| 伊人精品久久网站| 亚洲天堂AV在线播放| ji熟女.com| 欧亚性爱在线视频| 午夜福利精品| 人妻熟女av国产网站| 激情啪啪拍91| 天美麻花大全视频| 熟女人妻av在线资源,黄色的资源 粉嫩国产精品久久粉嫩 | http://qxhbdz.com| 男人的天堂在线有码| 亚洲另类在线观看| 少妇免费视频| 欧美亚洲美少妇一区二区| 大香蕉天天看妹子| 日韩欧美中文字| 国产自偷| 日本在线观看网址| 操逼天美3区| 大香蕉专区| 亚洲九区| 九久9热| 久久一二三四不卡| 欧美黑人168页欧美黑人167| 啊啊啊啊,啊啊好多水| 久久久涩| 久久久久久99AV无码免费网站| 成 人 A V免费视频在线观看| 国产精品一区二区亚洲人成毛片| 日本理论在线| 欧美 亚洲 综合 制服| 国产60区。| 九热超碰| 国产三级片在线观看| 97超碰人人操人人操| 国产精品原创巨作?v网站| 国内自拍 日韩激情 99| 久久久精品,3| 天天欧美色| 欧美97日韩| 欧美桃色网| 精品欧美乱码久| 东京热视频网| 色婷婷香蕉| 久久久不能久久久久| 熟女AV一区| 97超碰超| 岛国激情视频软件| 欧美午夜精品久久久久久超碰| 97精品久久久久久久| 我想要啊 啊 啊| 亚洲熟妇一,二,三期| av绯色| 中文字幕在线24| 亚洲男人的天堂网| 2023天天操夜夜操| 亚洲一区深夜| 女人18精品一区二区三区| 亚洲图片日本AⅤ欧美在线| 狠狠爱综合网| 欧美综合 站| 中文字幕丰满子伦无码专区在线视频最新 | 国产性爱乱伦AV| 国产精品一二三免费网站| 亚洲色情在线影视| 中国农村熟妇毛片视频| 亚州精人品大香蕉| av橘色网站| 午夜偷拍久久熟女| 久久中出在线| 肏逼视频日本| 亚洲不卡不卡中文字幕不卡| 大香蕉淫人| 久久久久亚洲Aⅴ无码| 三上制服丝AV| a'v在线资源| 伊人成人中文字幕久久网| 日日AAvv| 性爱乱伦一区| 秘书高跟黑色丝袜国产91在线| 亚洲囯产精品女人久久久| 久久蜜桃综合网| 啊啊啊在线观看| 九九内射在线| 国产400孕妇孕交群| 丁香五月天堂| 国产尤物在线三区| 天天躁日日躁AAAXX| 久久9精品网站| 亚洲精品第一| 熟女熟妇一区二区三区视频| 丁香六月啪| 亚洲色棕合| 激情久久av一区av二区av| 爱丝福利| 五月丁香| 亚洲日韩人妻中文字幕一区| 亚洲图片欧美制度| 狠狠操夜夜| 干妹子| 九九色图| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 小骚逼被操的爽不爽| 伊人久久在线视频观看| 欧美少妇高潮久久91| 亚洲第一精品在线视频| 久久华人网| 大香蕉五月天| 午夜小电影在线插入淫高潮| 九九热在线精品视频| av强奸乱轮| 日日AAvv| 亚洲日本男人天堂网| 国产狂喷潮在线精品| 中文字幕97色| 岛国精品视频在线观看| 亚洲欧美黄| 10000部十八禁看电影| 草草网站影院白丝内射| 99999国产| 国产大片精久久久久久| 午夜精品久久久久久久99蜜桃一| 中国91AV| 精品人妻一区二区乱码一区二区| 日本性爱少妇| 超碰97精品| 欧美A√综合网| 国产高清精品福利| 欧美牲| 精品视频久久区| 日韩欧美中文日韩欧美色| 欧美午夜视频| 不卡超碰护士AV在线免费播放| 中文字幕欧美精品亚洲日韩蜜臀| 国内毛片无码一级毛片| 欧美十八禁视频| 亚洲AV色图一区| 蜜色网色哟哟| 激情专区综合| 亚洲性爱免费电影| 亚洲国产综合图区中文字幕| 国产AB视频| 色综合中文字幕不卡| 亚洲码专区| 久久无码一区二区二三区性色| 999久久芭蕾| 国产二区三区粉嫩在线| 久超碰在| 国产精品老师| 国产偷拍自拍在线视频| 成人精品久久久午夜福利| 国产精品丝袜在线| 国产AV天美传媒一区二区三区 | 国产人妻精品一区二区三区秋霞 | 国产有码一区| 色色色五月婷婷| 涩涩这里只有精品视频| a片自拍直播视频| 久久久天堂| 青操影院| 91路www| 熟女中出视频| WWW4虎| 一本大道久| 青青草久久在线| 今日头条成人一区二区三区四虎精品| 日本亚洲vr欧美不卡高清专区| 九九亚洲| 99热18| 久久久久久AⅤ无码免费肉站 | 日韩精品操少妇| 少妇国产不卡| 亚射在线| 精品久久久不卡一区二区| 96精品久久久久中文字幕| 91天天日| 日韩内射视频| av操操不卡| 性色中出| 久啪| 亚洲偷拍欧美激情| 欧美日韩系列| 亚洲精品九九九九九九| 欧美日韩制服| 色噜噜狠狠色综无码久久合欧美| 久久内射| 香蕉国产精品麻豆亚洲欧美日韩| 秋霞 色色| 国产91福利小视频在线观看| 青娱乐二区免费| 国产精品不卡av免费在线观看| 人人爱人人乐人人操| 超碰精品日韩欧美国产| 国产亚洲精品激情| 操逼视频免费日韩无码| 婷婷五月天成人网| 91九久| 亚洲大色堂| 欧美男人亚洲天堂| 1024精品在线| 蜜乳成人AV| 2018天天干在线视频| 日韩AV无码中文一区二区| 999岛国大片| 久久,精品一二三| 成人老鸭窝人人在线视频| 青青草国产盗摄一二三区| 中文字幕人乱码中文字的预防方法| 国产精品久久久久久久久久二区三区| 好吊色青靑草| 一区二区精品日韩欧美在线观看| 肉嘟嘟www视频在线观看高清| 操碰97| 免费观看成人www精品视频| 久久精品中文字幕观看| 99精品成人免费看| 天天干2019| 九九免费影片| 天天综合网日韩| 午夜无码精品免费看性色| 婷婷综合激情| 免费网站观看www在线观| 亚洲天堂久久| 亚洲欧洲日韩天堂av| 黄片www.| 啊啊啊啊二区好大| 亚洲同性aV综合| 高清国产成人无码| 天天肏美女| 中文字幕在线第二页| 久久精品国产精品一区| 黄片在线免费在线观看| 色狠人在线99| 久久少妇| 久久露脸国产老熟女| 亚洲码和欧洲精品激情系列| 97日亚洲欧美| 人妻激情偷乱视三区频一区二区| 草久久久| 日韩熟女三十乱伦| 久久人妻精品| 99re这里只有精品2| 97在线精品观看视频| 大胆91| 99热婷婷一区二区三| 久久一区二区高清免费| 绯色AV粉色AV蜜臀AV| 女人久久久| www.色婷婷色综合| 久操影视| 国产精品嫩草影院免费| 1区2区3区中文字幕日韩| 欧美激情视频一区二区| 日韩av乱伦| 物业黑人 AV一区| 中文字幕国产| 在线黄色污污网站| 熟女激情综合网| 嗯嗯嗯,草死我| 婷婷五月天激情四射| 国产精选三级在线观看| 综合天天。| 人人澡人人弄| 国产日韩精品无码去免费专区国产| 91啪9色| 久久久新亚洲AV| 久久,精品一二三| 国产精品乱码久久久久| 超碰超碰欧美| 综合久久97| 草b在线| 无码人妻一区二区三区色欲aⅴ| oumeisetu综合| 国产品精品自在在线午夜免费| 久久熟女人| A级在线视频| 日夜久久久九九九久| 免费自拍三级综合| 欧美视频激情久久久久久| 国产一进一出视频网站| 公司1区2区3区精产精| 日本一区二区不卡精品| 撸无码不卡免费视频| 久久人妻视频网| 一区二区三| 日韩精品熟妇| 国产精品一二三在线看| 丁香7月婷婷| 天天日天天舔| 亚洲成人激情小说视频| 欧美色66| 爱做久久久久久| 超碰人妻久久| 久久久中文版| 亚洲成人在线播放| 日本色色色网站免费看不卡| 丝袜美腿校园春色| 日韩国产中文字幕| 久久久久九九九| 久久久久亚洲精品| 熟女乱伦二区| 91国产操逼视频| 亚洲偷91色| 校园春色制服丝袜中文字亚洲| 福利视频香蕉免费一区二区在线| 欧美大干日韩| 欧美在线官网| 色欲蜜臀AV| 97精| 激情文学小说一区二区| 6080yy午夜理论三级一区二区三区无码| 日本人妻最新在线中| 夜夜夜夜爽| 麻豆亚洲AV成人无码久久精品| 一区二区三区四区久久视1| 日本道久久综合色色| 91人妻少妇| 伊人嫩草| 亚洲AV不卡在线观看尤物| 九九aV| 女同女同恋久久级三级| 精品人妻一区二区蜜桃视频| 国产午夜福利视频在线| 另类小说五月天| 欧美黄色片在线播放| 96久久久久| 欧美综合狠| 欧美色图私拍91| 人妻熟女一区在| 天天干天天狼在线视频| 国产福利电影| 亚洲无线观看久久| 色图四区| www久久精品| 91AV天堂| 欧美天天综| 欧美性爱97超碰| 亚洲欧洲国产综合av| 日韩精品一区二区日韩| а√天堂资源官网在线资源| 青女偷拍网| 亚洲在钱| 青久久| av72网| 国产盗摄美女如厕大神作品在线观看 | 日本特黄f c2| 在线免费观看日韩一区| 亚州欧美在线| 青青操日韩| av日韩中文字幕| 天堂资源站| 成人黄页| 九九综合网| 一区二区蜜臀| 97在线青| 欧美色综合图片| www被窝色com| 91男同| 91 国产丝袜在线播放-百度| 天堂涩涩| 99最新日韩偷拍视频| 国产日韩欧美| 青青草一区二区三区四| 超碰97资源网亚洲| 国产中文字幕在线观看| 97在线免费公开视频| 欧美少妇高潮| 超碰久超碰久| 九九九免费视频| 日韩一级欧美一级国产一级台湾| 热99这里有精品综合久久| 午夜精品久久一区二区| 国产 亚洲 一二三四| A级国产欧美激情在线| 欧美中文字幕日韩在线| 日韩人妻一二三区视频| 国产探花精品在线| 亚洲偷拍欧美激情| 四虎影视国产精品| 欧美92| 日韩兔费看黄片| 翔田千里无码一区| 午夜120视频在线观看| 久久6热视频免费观看| 国产高潮AA片免费看| 国产乱码久久| 97久久久精品| 爱丝福利| 一区二区三| 激情 欧美 亚洲 小说| 在线人人人人人人精品超| 另类小说五月天| 宗合情欲网| 久草成人影片| 男女啪啪网站免费视频| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 999精品久久久久久久| 欧州91高潮| 亚洲高清无毛一区二区| 秋霞曰韩R级| 96久久科窝| 美女黄码视频午夜| 黄页av| 国产女人与拘做受视频免费| 五月丁香综合激情| 欧美综合在线91| 蜜臀网 一区| 免费久久一级毛片大黄| 120分钟婬片免费看| 亚洲五区熟女| 国产在线激情| 啪啪免费| 亚洲一区二区三区麻豆传媒| 97超碰欧美手机在线| 日本爽爽爽爽爽爽免费视频| 亚洲一区日韩| 精品一区二区三区四区外站| 国产熟女精品一区二区| 成人免费福利网站国产| 免费的av网| 麻豆天美在线| 一区二区三区免费岛国片| 人妻久久久久久久久久久久久久久 | 噜噜噜噜天天狠狠| 黄人人操人人操| 精品 码产区一区二-1080P高清在线www-B029AV| 欧美日本天堂| 又大又大又大又粗爽高潮观看| 手机看av网站在线看| 青青草在线视频欧美| 中国少妇啪啪视频| 立川理惠无码一区二区| 亚洲综合九| 好吊色一区| 啪啪啪综合网| www五月| 久草老司机| 十八禁的黄污污免费网站| 肉丝网站91| 久久精品一区二区三区四区五区| 激情丁香五月婷婷| 人妻无码一区二区三区久久99| 狠狠色噜噜狠狠狠狠2018| 强奸少妇AV导航网| 夜夜欧美| 天美精品av| 少妇三p| 欧美在线视频99| 精品国产乱码久久久影院| 国产成人免费观看在线视频| 亚州色阁| 久久国产热视频97电影| 亚洲国内精品成人不卡| 黄视频免费| 夜草欧美| 18禁精品网站在线看| 狠插 制服 自拍| 牛牛操视频逼| 欧美亚洲厕所精品偷拍91| 欧美精品23| 偷拍在线观看视频| 太久视频| 亚洲综合另类色图| 久久五月视频| 怡红院成人视频| 国产91美女高潮| 精品欧美老熟女一二区| caopeng97| 性久久久| 91欧美丝袜| 丁香九月激情啪| 久久一区二区蜜桃| 中文字幕丝袜人妻| 在线观看亚洲成人精品| 久久久久大香青草精品综合| 你想操日本小逼吗| 伊人网一本| 爽爽淫人网| 亚洲欧美一区二区网址| 亚洲欧洲久久天堂| av资源在线观看少妇| 国产一区在线看| 亚洲欧美中日韩| 日韩欧美中文日韩欧美色| 国产精品另类一区大香蕉| 99热精品在线观看| 黑人精品XXX一区一二区| 99re这里只有精品3| 国产日韩欧美操逼视频| 国产后入清纯| 亚洲五月丁香花狠狠干一区二区三区 | 99色热国产视频精品| 后入日本1234| 日韩99神马视频播放片在线播放| 大香蕉一区二区在线观看.| 天天躁狠狠躁av| 欧美亚洲综合色| 天天操夜夜嗨| 97碰久久| 另类欧美| 日产国产精品中文久久婷婷| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 国产一区二区成人av在线播放| 超碰97在线色男人??| 99久久婷婷国产综合精品草原| 强奸乱伦 亚洲一区| 欧美人妻熟女在线| 精品久久久久9999| 欧美特大黄一级片片免费| 精品国产一区探花在线观看| 国模私拍一区二区三区神乳| 秘书高跟黑色丝袜国产91在线| 99青青草国产视频| 丁香五月天堂| 亚洲中文国际强奸字幕| 中文字幕人妻资源在线| 玖玖无码超碰| 精品九九淫乱男| 日本淫色网| www.99在线| 97人人操人人摸人人爱| 亚洲精品一二牛牛| 91女日逼| 精品女同一区| 欧美久久婷婷| 精品射1999| www.狠狠操| 黄色欧美性爱视频| 欧美性爱91| 视频一区二区三区精品| 美女黄站| 欧美九九九九九| 欧美九一精品久久久熟妇| 精品176精品2| 亚洲国产精品乱码在线观看| 中文字幕交换人妻| 日本孕妇一区二区视频操逼免费看| 91n处女在线观看| 亚州Av天美传媒| 色妇91| 中文字幕女同在线| 97爱爱影院| 嗯嗯啊啊亚欧精品| 超碰激情808| 插入综合网| 日本熟妇熟色97一本在线观看| 色色五月婷婷| 综合一区中亚洲国产成人综合精品| 大香网站| 色爱三区| 丝袜熟女一区二区三区| 国产精品自在线发布| 成全在线观看免费观看| 亚洲无无码αⅴ每日更新| 三级日韩一区二区三区| 久久夜夜| 色视频蜜乳| 天天射天天操天天干天天吃2018| 天天看天天日| 亚洲精品一二牛牛| 欧美传媒| 中文字幕日韩人妻视频一区二区三区| 被男人吃奶很爽的毛片| 国产一区二区三区免费视频在性观看| 欧美日韩*字幕一区| 免费看黄片现成| 久思思热视频在线观看| 天天干天天燥| 美國A片| 欧美精品999| 五月天婷婷成人网| 亚洲s在线观看| 色女99一级片在线观看| 99精品伊人| 性九九九九九九| 青青草公开在线免费不卡视频| 精品美女少妇一区二区| 性猛交| 国产乱伦性爱区| 欧美日韩一区二区三区四区蜜桃| 色香色欲天天综合网天天来吧 | 国产极品美女高潮无套在线观看| 精品一二三区久久AAA片| 激情专区综合| 99热97| 少妇内射www在线观看视频| 日本最新1区2区3区| 成人性交午夜免费片| 色欲久久久久综合网| 密乳无码| 精品区9| 久久爽爽精品| 欧美日韩不卡传媒| 亚洲精品久久久久毛片A片拉屎| 亚洲好看强奸乱伦| 日韩午夜啪啪视频| 禁止观看美女黄| 91AV天美在线视频| 欧美天天弄| 美女午夜福利免费视频| 五月丁香综合激情| 96国产污污污丝袜| 嗯嗯不要 视频| 啪啪啪精品| 九九热在线精品视频| 日本丝袜美腿人妻九九| 大白逼三四级| 黄色香蕉视频网站一区| 91人妻Pr| 久久神马影院| 久操免费观看| 嗯啊抽插大香蕉网页| 国产亚洲 中文欧美久久| av东京热男人的天堂| 国产精品久久| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 伊人久久在线视频观看| 亚洲成人在线播放| 欧美在线l亚洲| 好吊色综合| 91操人| 91总综合网| 亚洲风情在线观看| 精品毛片久久久精品毛片| 中文字幕视频2区| 亚洲操操操无码| 天天激情干| 密臀在线免费观看| 国际精品久久久| 91三级理论片播放器| 九热大香蕉| 97爱亚洲| 五月丁香网站| 欧美亚洲清纯| 操高情无码| 蜜桃久久精品一区二区三区| 91搡老女人老妇女老熟女歌词翻译| 性爱1区| 很狠操| www.伪伪| 中文字幕78| 国产精品人妻免费精品| 夜夜一区二区| 加勒比海人人操超碰在线| 92人人操人人| 亚洲清纯唯美| 欧美日本国产日韩激情视频| 国产青视频| 国产精品毛片?v一区二区三区| 国产传媒日本欧美专区| 欧美色人| 视频在线观看一二三区| 99re超碰| www鬼畜国产男人的天堂| 97色操| 丁香五月天堂网| 日韩情色视频| 亚洲偷91色| 99久久精品国产高潮| 精品一区99999| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 日韩亚洲欧美中文字幕| 五月丁香综合激情| 一区二区视频在看| 开心婷婷五月| 精品对白久久不卡| 天天综合91在线| 91精片| 资源在线观一 二| 免费成人自拍视频在线| 99热97| 无码区蜜乳| 国产精品密臀网在线观看| 国产精品美女久久久久AⅤ国产馆| 亚洲天天影视综合网| 无码最新| 九九九偷拍| 久久性爱视频| 国产精品美女久久久久久网站| 精久久久91| 啪啪资源网| AV中文字幕三四五| 色一射色一射| 国产亚洲精品无码三区| 超碰97导航| 激情五月天综合网| 男女啪啪网站免费视频| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | www久久久| 国内偷拍精品一区二区| 999 久久久| 欧美精品日韩一区二区| 啊啊啊啊网站| 小骚逼被操的爽不爽| 亚州操逼网| 黄片视频观看| 亚洲不卡一| 毛片视频白嫩| 日本视频一区二区三区| 深夜视频| 97欧美色资源| 天天插天天插| 国产精品亚洲一级av第二区| 五月天日日操夜夜操| 亚洲宗合电影| 天天色综合天天操| 四虎国产精品永久在线囯在线| 精品一区二区久久| 97久久久久久久精| 日本一区二区三区四区免费观看| 成人性交免费视屏| 亚洲视频,小说| 九九在线视频| 久久久久久国产精品免费网站| 后入国产| 十八禁电影伊人网| 嗯啊啊啊轻点视频| 蜜桃av综合网发布| 日韩偷拍一区二区三区 | 中国国国产一级特黄毛片| 国产精品96| 91成人亚洲色图| 日夜干射色啊| 男人天堂2019亚洲| 亚洲图片欧洲图片aⅴ| 九九九精品成人免费视频小说| 91激情国产| 欧日韩在线观看| 超碰激情808| 五月丁香综合激情| 亚洲国产麻豆一区二区三区| 大屁股人妻女教师撅着屁股| 欧美色老汉| 久久精品中文字幕女同| 精品然女一区二区| 欧美1727免费观看视频| 国产AV高清AV无码| 操逼www.| 中文字幕高清精品一区| 91综合中文字幕| 天天躁日日躁狠狠狠躁| 久草老司机| 色九九综合AV| 伊人精品视频| 午夜操操操| 日本αv| 清纯唯美激情| 人妻丰满熟妇av无码区蜜桃| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 欧美 亚洲 综合 制服 另类| 殴美综合色88| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 偷偷人人精品女女久久| 九九九精品一区二区无码| 亚洲色性情三级| 99re3这里只有精品| 天天影视网综合少妇| 色婷婷五月天| 狠狠色丁香| 99视频内射三四| 激情五月综合网| 狠狠色丁香| 综合网欧美在线| 欧美美女自慰一区二区三区| 色色五月天婷婷| 男人天堂2012| 男人天堂.AB| 亚洲国产综合久久久性感熟妇| 高清不卡国产| 日逼五月天| 久9久9精品| 日日干夜夜骑| 国产嫩草精品A88AV| 无套后入双马尾| 女人天堂av在线播放| 久久丁香久草综合网|