免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

PIC32MZ上使用MR25H40CDF MRAM實(shí)現(xiàn)高頻可靠數(shù)據(jù)記錄

PIC32MZ上使用MR25H40CDF MRAM實(shí)現(xiàn)高頻可靠數(shù)據(jù)記錄 這幾年做工業(yè)嵌入式只要涉及參數(shù)掉電保存、運(yùn)行日志、故障記錄的活兒我基本默認(rèn)用 MR25H40CDF 這顆 SPI 接口的 MRAM 來(lái)做存儲(chǔ)單元主控端則是 Microchip 的 PIC32MZ1024EFK144。這個(gè)組合最打動(dòng)我的地方不是某一個(gè)指標(biāo)有多夸張而是整個(gè)存儲(chǔ)邏輯被大幅簡(jiǎn)化不用管理擦除、不用操心寫壽命、寫一半掉電也不會(huì)把整片數(shù)據(jù)搞壞。這篇文章我就把選型理由、硬件連接、驅(qū)動(dòng)實(shí)現(xiàn)、數(shù)據(jù)布局和踩坑經(jīng)驗(yàn)完整梳理一遍給正在評(píng)估 MRAM 方案、或者準(zhǔn)備在 PIC32MZ 上做數(shù)據(jù)記錄功能的工程師一個(gè)能直接參考的落地路徑。先說(shuō)結(jié)論MR25H40CDF 本質(zhì)是一顆 4Mbit 串行 MRAM用起來(lái)卻像一顆永不磨損、不用擦除的 SPI FlashPIC32MZ1024EFK144 則是 Microchip 32 位 MCU 家族里性能和資源都比較從容的一顆主頻、RAM、SPI、DMA 都足夠把這顆 MRAM 喂飽。兩者搭配后工業(yè)應(yīng)用里最頭疼的頻繁小數(shù)據(jù)寫入掉電瞬間的狀態(tài)保存日志記錄都能用一套干凈利落的代碼解決。下面從為什么換、怎么選、怎么連、怎么驅(qū)動(dòng)、怎么布局一層層講透。1. 工業(yè)存儲(chǔ)的痛點(diǎn)為什么我越來(lái)越不想用 NOR Flash1.1 NOR Flash 的三個(gè)原罪擦除、壽命、掉電在工業(yè)設(shè)備里最經(jīng)典的存儲(chǔ)方案是 SPI NOR Flash便宜、容量大、生態(tài)成熟但它天生有幾個(gè)和工業(yè)二字不太對(duì)付的毛病。第一是擦除。NOR Flash 的寫入必須基于先擦后寫擦除單位是 4KB 扇區(qū)甚至更大擦除一次要幾毫秒到幾十毫秒。如果只是改一個(gè) 4 字節(jié)的運(yùn)行計(jì)數(shù)值你也得先把整個(gè)扇區(qū)讀出來(lái)、擦掉、再寫回去代碼復(fù)雜時(shí)間也難看。第二是壽命。NOR Flash 通常標(biāo)稱 10 萬(wàn)次擦寫這對(duì)存一次固件沒(méi)什么問(wèn)題但對(duì)每秒記錄一條運(yùn)行數(shù)據(jù)的場(chǎng)景就是災(zāi)難。100000 次看著很多換算成高頻日志可能幾個(gè)月就耗盡就算做磨損均衡也只是把一個(gè)扇區(qū)的壽命分?jǐn)偟蕉鄠€(gè)扇區(qū)總寫入量上限仍在。第三是掉電。Flash 擦寫過(guò)程本身不是原子的寫到一半斷電輕則這個(gè)扇區(qū)數(shù)據(jù)作廢重則把引導(dǎo)區(qū)搞壞設(shè)備直接變磚。工業(yè)現(xiàn)場(chǎng)最不缺的就是莫名其妙的大電流沖擊和瞬間掉電這三個(gè)問(wèn)題每一個(gè)都?jí)蚰汩_(kāi)一輪評(píng)審會(huì)。我見(jiàn)過(guò)不少項(xiàng)目為了繞開(kāi)這些問(wèn)題在 Flash 外層套了文件系統(tǒng)、磨損均衡、掉電保護(hù)三板斧最終還是因?yàn)槟骋蝗f(wàn)次掉電測(cè)試?yán)锏呐及l(fā)損壞而推倒重來(lái)。所以一旦場(chǎng)景從存固件變成高頻記錄業(yè)務(wù)數(shù)據(jù)我就會(huì)認(rèn)真考慮換存儲(chǔ)介質(zhì)。1.2 MRAM 解決了什么以及它換回了什么代價(jià)MRAM 的存儲(chǔ)單元基于磁性隧道結(jié)靠磁化方向保持?jǐn)?shù)據(jù)不是靠電荷所以它天然具備幾個(gè)非常反 Flash的特性寫入前不需要擦除、寫入過(guò)程幾乎沒(méi)有延遲、寫壽命標(biāo)稱在 10 的 14 次方量級(jí)、數(shù)據(jù)保持 20 年以上。換句話說(shuō)MRAM 把 Flash 的三個(gè)原罪一次性全解決了。在實(shí)際工程里這意味著什么你不再需要維護(hù)擦除隊(duì)列不需要做磨損均衡不害怕頻繁采樣記錄掉電保護(hù)的壓力也小了很多。MR25H40CDF 的寫操作可以發(fā)生在任意字節(jié)地址上單次事務(wù)寫幾十字節(jié)和寫幾百字節(jié)的代碼路徑完全一樣這對(duì)嵌入式工程師來(lái)說(shuō)是一種極大的心智減負(fù)。代價(jià)也很現(xiàn)實(shí)容量小、單位比特成本高。4Mbit 也就是 512KB和動(dòng)不動(dòng) 16MB 的 SPI Flash 沒(méi)法比。所以 MRAM 的定位不是替代大容量 Flash而是承擔(dān)需要頻繁、可靠寫入且容量需求不大的關(guān)鍵數(shù)據(jù)區(qū)。把固件放在 Flash 里把運(yùn)行日志、參數(shù)、標(biāo)定值、掉電狀態(tài)放在 MRAM 里是工業(yè)項(xiàng)目里很常見(jiàn)的分工。1.3 一個(gè)簡(jiǎn)單的選型對(duì)照EEPROM / FRAM / MRAM / SRAM電池很多朋友會(huì)問(wèn)EEPROM 和 FRAM 不也能做這個(gè)事嗎確實(shí)能但落在具體規(guī)格上有明顯差異。特性NOR FlashEEPROMFRAMMRAM寫入前擦除需要不需要不需要不需要寫壽命約10萬(wàn)次約100萬(wàn)次10^10~10^1310^14量級(jí)單字節(jié)寫速度慢且擦除更慢毫秒級(jí)接近SRAM速度無(wú)寫等待掉電寫中斷風(fēng)險(xiǎn)高頁(yè)損壞低字節(jié)級(jí)低低原子性更好單位容量大小中中成本低高較高較高EEPROM 的問(wèn)題是寫太慢且容量迷你FRAM 速度很好但容量和供貨渠道常讓人頭疼帶電池的 SRAM 雖然讀寫都快但電池壽命和售后是永遠(yuǎn)逃不掉的隱患。相比之下MRAM 在工業(yè)溫度范圍 高寫壽命 字節(jié)級(jí)隨機(jī)寫 不用刷電池這個(gè)交集里幾乎沒(méi)有競(jìng)爭(zhēng)對(duì)手。我當(dāng)時(shí)選 MR25H40CDF 還有一個(gè)很務(wù)實(shí)的理由它和 SPI Flash 指令集高度相似驅(qū)動(dòng)遷移成本極低這一點(diǎn)下面細(xì)說(shuō)。2. 選型拆解MR25H40CDF 和 PIC32MZ1024EFK144 各自的分量2.1 MR25H40CDF 的關(guān)鍵參數(shù)和封裝MR25H40CDF 是 Everspin 的 MR25H40 系列成員容量 4Mbit即 512KB按字節(jié)編址需要 24 位地址。接口是標(biāo)準(zhǔn)四線 SPI支持 SPI Mode 0 和 Mode 3供電 3.3V數(shù)據(jù)手冊(cè)標(biāo)稱 SPI 時(shí)鐘最高 40MHz。封裝常見(jiàn)的是 8 引腳 DFN 這類小貼片封裝工業(yè)級(jí)溫度范圍可以做到 -40°C 到 85°C 甚至更寬這對(duì)現(xiàn)場(chǎng)設(shè)備非常重要。它最核心的指令集和普通 SPI NOR Flash 幾乎同構(gòu)WREN 寫使能、RDSR 讀狀態(tài)寄存器、WRSR 寫狀態(tài)寄存器、READ 讀數(shù)據(jù)、WRITE 寫數(shù)據(jù)。但它沒(méi)有 Flash 那些擦除扇區(qū)讀 ID/Jedec ID在存儲(chǔ)流程里的硬約束也沒(méi)有 WIP 忙等待的必要。MR25H40CDF 的寫入是即時(shí)完成的發(fā)完寫命令和數(shù)據(jù)CS 拉高數(shù)據(jù)就落進(jìn)存儲(chǔ)陣列了。一顆 4Mbit 的容量聽(tīng)著不大但作為工業(yè)控制卡上的關(guān)鍵數(shù)據(jù)保險(xiǎn)柜綽綽有余。一次存 64 字節(jié)的實(shí)時(shí)運(yùn)行記錄可以存八千多頁(yè)就算每頁(yè)帶 CRC 和序號(hào)也能存大幾千次完整狀態(tài)快照完全覆蓋絕大多數(shù)工業(yè)應(yīng)用。2.2 PIC32MZ1024EFK144 在存儲(chǔ)任務(wù)里的角色PIC32MZ1024EFK144 是 Microchip PIC32MZ EF 系列的一員MIPS microAptiv UC 內(nèi)核主頻 200MHz片上有 1MB Flash 和 512KB RAM144 引腳封裝帶 FPU 和多種通信外設(shè)。做數(shù)據(jù)存儲(chǔ)這種活它看起來(lái)有點(diǎn)殺雞用牛刀但它真正值錢的是三樣?xùn)|西充足的 RAM 可以做雙緩沖和業(yè)務(wù)緩存多個(gè) SPI 控制器可以把存儲(chǔ)總線和調(diào)試串口完全隔離DMA 引擎可以替 CPU 把數(shù)據(jù)搬運(yùn)和校驗(yàn)全部接管。另一個(gè)重要點(diǎn)是它的工具鏈。PIC32MZ 能用 MPLAB Harmony v3 的 PLIB 層直接操作 SPI 和 DMA生成的代碼框架清晰也很容易嵌入自己的存儲(chǔ)驅(qū)動(dòng)。工業(yè)項(xiàng)目最怕一個(gè)人寫的代碼只有一個(gè)人能維護(hù)PIC32MZ 在這個(gè)層面的工程優(yōu)勢(shì)比某些裸寄存器風(fēng)格的 MCU 明顯很多。2.3 這對(duì)組合為什么合拍簡(jiǎn)單說(shuō)就是兼容性帶來(lái)的低風(fēng)險(xiǎn)。MR25H40CDF 的 SPI 時(shí)序和普通 SPI Flash 接近現(xiàn)有 Flash 驅(qū)動(dòng)的骨架可以直接改PIC32MZ 的多 SPI 主控和 DMA 又能把 MRAM 的性能真正發(fā)揮出來(lái)。再加上兩者都有完善的工業(yè)級(jí)溫度規(guī)格和長(zhǎng)供貨周期在設(shè)備研發(fā)和生產(chǎn)兩端都少了很多不確定性。我最看重的一點(diǎn)是這對(duì)組合的可預(yù)測(cè)性很高。Flash 類的驅(qū)動(dòng)在掉電場(chǎng)景下總有一些隱藏分支比如擦除到一半斷電后狀態(tài)寄存器不可信、壞塊標(biāo)記要維護(hù)等等。MRAM 把這些隱藏分支幾乎全部消滅了配合 PIC32MZ 穩(wěn)定的電源系統(tǒng)和外部電壓監(jiān)控整個(gè)存儲(chǔ)模塊的行為可以做到非常線性。對(duì)做產(chǎn)品的人來(lái)說(shuō)邏輯越線性越容易通過(guò)認(rèn)證和可靠性測(cè)試。3. 硬件設(shè)計(jì)與連接別讓小封裝和四線 SPI 騙了3.1 SPI 連線與 WP、HOLD 引腳的處理MR25H40CDF 的連接相當(dāng)簡(jiǎn)單SCK、SI、SO、CS 四根線接 PIC32MZ 的任意一組 SPI 主控另外還有兩個(gè)功能引腳 WP 和 HOLD。很多人第一次畫板子會(huì)忽略這兩個(gè)引腳結(jié)果就是數(shù)據(jù)偶爾錯(cuò)亂、調(diào)試半天找不到原因。WP 是寫保護(hù)輸入。如果不用硬件寫保護(hù)就要把它接 VDD而不是懸空。懸空的 CMOS 輸入在工業(yè)現(xiàn)場(chǎng)的 EMI 環(huán)境下可能被耦合出隨機(jī)電平一旦 WP 被拉低后面所有寫命令都會(huì)被拒掉。HOLD 引腳的作用是暫停 SPI 通信如果不用也需要通過(guò)一個(gè)上拉電阻接到 VDD建議用 10k 電阻而不是直連方便將來(lái)調(diào)試時(shí)手動(dòng)控制。PIC32MZ 這邊CS 用一個(gè)普通 GPIO 控制即可不要和 SPI 模塊的自動(dòng)片選混用存儲(chǔ)驅(qū)動(dòng)的每一次命令事務(wù)都需要精確控制 CS 拉高拉低的時(shí)機(jī)。3.2 電源、去耦和 PCB 布局的實(shí)操細(xì)節(jié)MR25H40CDF 工作在 3.3V它的電源質(zhì)量直接影響數(shù)據(jù)可靠性。一個(gè) SPI 器件的功耗本身不大但在 40MHz 時(shí)鐘下翻轉(zhuǎn)時(shí)電流變化集中在納秒級(jí)所以引腳附近的去耦電容必須到位。我的習(xí)慣是芯片 VDD 引腳旁邊放一顆 100nF 的 X7R 陶瓷電容再在板級(jí)電源入口放一顆 4.7uF 左右的鉭電容吸收低頻波動(dòng)PIC32MZ 的同一路 3.3V 也按官方手冊(cè)配足去耦。PCB 布局上SPI 四根線要盡量短最好走同一層、不打亂穿越避免形成大的回路面積。CS 線雖然沒(méi)有時(shí)鐘那么敏感但它控制著整個(gè)事務(wù)的邊界被干擾導(dǎo)致半途 CS 抖動(dòng)會(huì)讓驅(qū)動(dòng)狀態(tài)機(jī)徹底錯(cuò)亂。工業(yè)現(xiàn)場(chǎng)還建議在器件對(duì)外連接器附近加 ESD 防護(hù)尤其當(dāng)存儲(chǔ)卡座或采樣線纜靠近強(qiáng)干擾源時(shí)一顆幾毛錢的 TVS 能幫你少處理無(wú)數(shù)售后單。3.3 多片 MRAM 共總線的擴(kuò)展方式如果 512KB 不夠用可以并排掛兩片甚至四片 MR25H40CDF。SPI 本身支持多從設(shè)備共享 SCK、SI、SO核心就是每片獨(dú)立的 CS。PIC32MZ 的 GPIO 足夠直接從不同引腳引出多路 CS 即可。這里有個(gè)注意點(diǎn)總線上的器件越多SO 引腳的容性負(fù)載越大40MHz 時(shí)的邊沿會(huì)變緩。實(shí)測(cè)中掛兩片通常沒(méi)問(wèn)題掛四片時(shí)建議把 SPI 時(shí)鐘降到 20MHz或者用更強(qiáng)的 GPIO 驅(qū)動(dòng)能力。另一個(gè)建議是給每片 MRAM 分配獨(dú)立的邏輯地址空間驅(qū)動(dòng)層把物理片選 片內(nèi)地址封裝成一個(gè)統(tǒng)一的讀寫接口上層業(yè)務(wù)就不會(huì)被硬件擴(kuò)展影響。4. 驅(qū)動(dòng)實(shí)現(xiàn)SPI 命令、讀寫流程和完整代碼4.1 主控側(cè) SPI 配置與初始化的先后順序PIC32MZ 的 SPI 初始化在 Harmony 里通常由 MCC 自動(dòng)生成但有幾個(gè)參數(shù)必須手工確認(rèn)模式選 Mode 0CPOL0, CPHA0數(shù)據(jù)位寬 8 位主模式時(shí)鐘分頻從慢到快。我習(xí)慣先把 SPI 時(shí)鐘調(diào)到 10MHz 左右做完整性測(cè)試確認(rèn)讀寫的每個(gè)字節(jié)都穩(wěn)定后再提到 20MHz、40MHz。初始化順序也有講究先初始化 GPIO確保 CS 引腳默認(rèn)輸出高電平再初始化 SPI 模塊最后才對(duì) MRAM 做握手操作比如讀狀態(tài)寄存器確認(rèn)能正常應(yīng)答。這個(gè)順序能避免上電瞬間 CS 不確定導(dǎo)致 MRAM 誤進(jìn)入某個(gè)命令狀態(tài)雖然 MRAM 沒(méi)有 Flash 那些擦除狀態(tài)但養(yǎng)成這個(gè)習(xí)慣能省很多排查時(shí)間。4.2 核心命令集合WREN / RDSR / READ / WRITEMR25H40CDF 的命令并不復(fù)雜工程上常用這幾條WREN 0x06置位寫使能鎖存器任何一次寫事務(wù)之前都要發(fā)。WRDI 0x04清除寫使能鎖存器用得不多但可以用來(lái)防止誤寫。RDSR 0x05讀狀態(tài)寄存器可以確認(rèn) WEL 位是否置位。READ 0x03普通讀發(fā) 24 位地址后連續(xù)讀出數(shù)據(jù)。WRITE 0x02普通寫發(fā) 24 位地址后連續(xù)寫入數(shù)據(jù)。和 Flash 驅(qū)動(dòng)不一樣的地方是不需要擦除命令不需要輪詢 WIP也不需要處理頁(yè)編程邊界。MRAM 雖然也建議單次事務(wù)不超過(guò) 256 字節(jié)作為通用安全上限但它沒(méi)有必須按頁(yè)對(duì)齊這種約束任意地址落筆都合法。4.3 寫流程為什么必須CS 拉高再拉低最容易踩的坑就是把 WREN 和 WRITE 連在同一個(gè) CS 事務(wù)里。很多 SPI 存儲(chǔ)器的規(guī)則是WREN 命令結(jié)束后 CS 必須拉高命令才被鎖存生效緊接著下一個(gè)事務(wù) CS 再拉低發(fā) WRITE。如果 WREN 發(fā)完 CS 不拉高直接發(fā) WRITE寫使能根本沒(méi)有置位寫命令會(huì)被靜默忽略。這個(gè)CS 低-高-低的節(jié)奏是整套驅(qū)動(dòng)里最重要的時(shí)序細(xì)節(jié)。我在代碼里專門寫了mram_write_enable函數(shù)內(nèi)部就是 CS 拉低、發(fā) 0x06、CS 拉高和后續(xù)寫數(shù)據(jù)的事務(wù)完全分開(kāi)。這看起來(lái)多了一個(gè) CS 翻轉(zhuǎn)的微小開(kāi)銷但換來(lái)的確定性和標(biāo)準(zhǔn)化非常值尤其當(dāng)代碼要移植到其他平臺(tái)時(shí)這種時(shí)序列不會(huì)被另一種芯片的時(shí)序兼容性坑掉。4.4 一個(gè)可直接移植的 MRAM 驅(qū)動(dòng)示例下面這段 C 代碼是我在項(xiàng)目里的驅(qū)動(dòng)骨架去掉具體板級(jí)依賴后大約就是這個(gè)樣子。spi_exchange你可以對(duì)齊到 Harmony PLIB 的 SPI1_Exchange8bit 或自己的寄存器讀寫CS_LAT換成實(shí)際的 GPIO 控制宏。#include mram.h #define MRAM_SIZE (512 * 1024) static void mram_cs_low(void) { CS_LAT 0; } static void mram_cs_high(void) { CS_LAT 1; } static uint8_t mram_spi_byte(uint8_t tx) { return spi_exchange(tx); } uint8_t mram_read_status(void) { uint8_t st; mram_cs_low(); mram_spi_byte(0x05); st mram_spi_byte(0x00); mram_cs_high(); return st; } static void mram_write_enable(void) { mram_cs_low(); mram_spi_byte(0x06); mram_cs_high(); } int mram_write_bytes(uint32_t addr, const uint8_t *buf, uint32_t len) { if (addr len MRAM_SIZE) { return -1; } mram_write_enable(); mram_cs_low(); mram_spi_byte(0x02); /* WRITE */ mram_spi_byte((addr 16) 0xFF); mram_spi_byte((addr 8) 0xFF); mram_spi_byte(addr 0xFF); for (uint32_t i 0; i len; i) { mram_spi_byte(buf[i]); } mram_cs_high(); return 0; } int mram_read_bytes(uint32_t addr, uint8_t *buf, uint32_t len) { if (addr len MRAM_SIZE) { return -1; } mram_cs_low(); mram_spi_byte(0x03); /* READ */ mram_spi_byte((addr 16) 0xFF); mram_spi_byte((addr 8) 0xFF); mram_spi_byte(addr 0xFF); for (uint32_t i 0; i len; i) { buf[i] mram_spi_byte(0x00); } mram_cs_high(); return 0; }寫驅(qū)動(dòng)的流程就是這樣清晰。注意每次寫事務(wù)前調(diào)用mram_write_enable讀事務(wù)則不需要。如果你希望通過(guò)讀狀態(tài)寄存器確認(rèn) WEL 已置位再做寫可以在mram_write_enable后加一句檢查犧牲一點(diǎn)速度換取更強(qiáng)的自診斷能力我在正式產(chǎn)品里通常都會(huì)加。4.5 用 DMA 把吞吐量再提一檔如果數(shù)據(jù)量不止幾十字節(jié)而是幾百字節(jié)甚至上千字節(jié)的連續(xù)記錄讓 CPU 一個(gè)字節(jié)一個(gè)字節(jié)塞 SPI 發(fā)送寄存器就太浪費(fèi)了。PIC32MZ 的 SPI 模塊可以配 DMA做法是CPU 先手動(dòng)發(fā)命令和地址然后把數(shù)據(jù)階段的傳輸交給 DMA 通道DMA 收到 SPI 發(fā)送完成的中斷后再把 CS 拉高。這里有一個(gè)緩存一致性的問(wèn)題要提醒PIC32MZ 有 L1 數(shù)據(jù)緩存如果 DMA 源緩沖區(qū)在緩存區(qū)域里且剛才 CPU 更新過(guò)數(shù)據(jù)要確保數(shù)據(jù)真的落回 SRAM 再啟動(dòng) DMA。Harmony 生成的代碼通常會(huì)幫你做 cache maintenance但如果你是自己寫寄存器配置 DMA一定記得處理這一環(huán)我在初期就被這個(gè)坑折磨過(guò)——DMA 搬的全是過(guò)期數(shù)據(jù)看起來(lái)像 MRAM 寫入不穩(wěn)定其實(shí)是緩存沒(méi)刷。DMA 的收益非常直觀同樣是 256 字節(jié)的寫CPU 輪詢方式下每字節(jié)要等發(fā)送完成標(biāo)志整體耗時(shí)可能到 100μs 級(jí)別DMA 方式下 CPU 只需要初始化事務(wù)和收尾中斷吞吐量能逼近 SPI 總線的理論極限。后面的實(shí)測(cè)數(shù)據(jù)就是基于 DMA 方式。5. 工業(yè)場(chǎng)景的數(shù)據(jù)布局與掉電可靠性設(shè)計(jì)5.1 典型的工業(yè)數(shù)據(jù)存儲(chǔ)形態(tài)MRAM 在工業(yè)設(shè)備里最常見(jiàn)的幾類用途一是運(yùn)行日志比如變頻器記錄每一條報(bào)警和故障代碼二是參數(shù)集伺服驅(qū)動(dòng)器在調(diào)試階段頻繁修改增益、速度環(huán)參數(shù)又希望掉電不丟三是計(jì)量數(shù)據(jù)電表、水表要定時(shí)累積能量值寫操作雖小但極其頻繁四是標(biāo)定數(shù)據(jù)傳感器出廠前會(huì)反復(fù)寫校準(zhǔn)系數(shù)產(chǎn)線上一天就要寫幾千次。這些場(chǎng)景的共同特點(diǎn)是單次數(shù)據(jù)量不大、寫入頻率不低、數(shù)據(jù)價(jià)值很高。它們和放固件放大文件的需求是兩回事所以 MRAM 的 512KB 反而是優(yōu)點(diǎn)容量邊界明確數(shù)據(jù)布局簡(jiǎn)單不會(huì)出現(xiàn)我到底該把日志放在哪個(gè)文件系統(tǒng)塊的糾結(jié)。5.2 環(huán)形記錄緩沖區(qū)的簡(jiǎn)化實(shí)現(xiàn)實(shí)現(xiàn)一個(gè)環(huán)形日志緩沖區(qū)Flash 方案要先規(guī)劃多個(gè)扇區(qū)、維護(hù)磨損均衡、處理扇區(qū)擦除失敗MRAM 方案則簡(jiǎn)單到直接在固定地址區(qū)間里滾。我常用的做法是把 4Mbit 劃成三個(gè)區(qū)頭部區(qū)存當(dāng)前寫指針、寫序號(hào)、緩沖區(qū)有效標(biāo)志用固定地址。數(shù)據(jù)區(qū)按固定長(zhǎng)度記錄循環(huán)寫入每條記錄帶 CRC。備用區(qū)留給將來(lái)擴(kuò)展或者放第二份關(guān)鍵參數(shù)鏡像。寫指針每次更新都是對(duì)小字段的寫操作MRAM 可以承受不需要任何特殊處理。讀取時(shí)從指針位置向前或者向后遍歷記錄校驗(yàn) CRC 后決定數(shù)據(jù)是否有效。相比 Flash 要在新扇區(qū)里找空閑塊、刪舊記錄這個(gè)邏輯能少寫一兩百行代碼。5.3 掉電安全CRC、序號(hào)、雙份鏡像MRAM 的單字節(jié)寫入是原子的這個(gè)特性讓掉電保護(hù)簡(jiǎn)單了一大截。但原子不等于業(yè)務(wù)數(shù)據(jù)完整你寫入一條多字節(jié)記錄時(shí)如果掉電恰好發(fā)生在字節(jié)與字節(jié)之間這條記錄可能只有前半部分。所以工程上仍然需要記錄級(jí)保護(hù)。我的標(biāo)準(zhǔn)做法是給每條記錄定義統(tǒng)一幀格式開(kāi)頭 2 字節(jié)魔數(shù)、4 字節(jié)序號(hào)、2 字節(jié)長(zhǎng)度、數(shù)據(jù)載荷、末尾 4 字節(jié) CRC32。讀的時(shí)候先看魔數(shù)再看長(zhǎng)度再看 CRC三者都對(duì)才認(rèn)為記錄有效。因?yàn)?MRAM 沒(méi)有整頁(yè)擦掉的風(fēng)險(xiǎn)最多就是一條半截記錄不會(huì)波及旁邊的數(shù)據(jù)。更關(guān)鍵的狀態(tài)參數(shù)比如設(shè)備標(biāo)定值和運(yùn)行小時(shí)數(shù)我會(huì)用雙份鏡像存儲(chǔ)。寫 A 份成功后再寫 B 份上電時(shí)優(yōu)先取 B 份B 校驗(yàn)失敗回退 A 份。這套機(jī)制在 Flash 上要專門處理擦除和寫入的交錯(cuò)時(shí)序在 MRAM 上就是兩次普通寫操作三行代碼的事。如果你外接了 PIC32MZ 的電壓監(jiān)控管腳還可以在檢測(cè)到掉電瞬間只保存十幾個(gè)關(guān)鍵字節(jié)到 MRAM這套組合實(shí)測(cè)下來(lái)非常穩(wěn)。5.4 實(shí)測(cè)性能參考40MHz SPI 下能跑多快算一筆賬SPI 總線 40MHz 換算成吞吐量是 5MB/s。MR25H40CDF 沒(méi)有擦除和頁(yè)編程等待數(shù)據(jù)傳輸基本等于總線速度本身。一個(gè) 260 字節(jié)的事務(wù)3 字節(jié)地址 命令 256 字節(jié)數(shù)據(jù)在 40MHz 下理論耗時(shí)只有 52μs 左右加上 CS 翻轉(zhuǎn)和驅(qū)動(dòng)開(kāi)銷實(shí)測(cè)一個(gè) 256 字節(jié)寫事務(wù)通常能壓在 60μs 內(nèi)。相比之下NOR Flash 寫一個(gè) 256 字節(jié)頁(yè)就算不算擦除本身也要幾百微秒擦除更是毫秒級(jí)。整片 512KB 全部寫入理論時(shí)間是 512KB 除以 5MB/s也就是約 0.1 秒這在工業(yè)產(chǎn)品里已經(jīng)非常激進(jìn)。實(shí)際項(xiàng)目里沒(méi)人天天整片重寫但關(guān)鍵數(shù)據(jù)保存可以做到微秒級(jí)完成這個(gè)特性讓很多以前不敢做的功能變得可能比如 1kHz 采樣率下持續(xù)記錄觸發(fā)前 100ms 的完整波形這個(gè)需求 Flash 基本無(wú)解MRAM 加 DMA 卻剛好能跑起來(lái)。6. 實(shí)操踩坑記錄與排查速查表6.1 八個(gè)常見(jiàn)癥狀和對(duì)應(yīng)的排查方向癥狀可能原因排查與解決寫入后讀回全是 0xFF沒(méi)發(fā) WREN或 CS 時(shí)序不對(duì)檢查寫使能流程確認(rèn) WREN 和 WRITE 之間 CS 有拉高數(shù)據(jù)隨機(jī)錯(cuò)位SPI 模式不對(duì)確認(rèn)主控配的是 Mode 0 或 Mode 3偶發(fā)多一個(gè)字節(jié)或少一個(gè)字節(jié)時(shí)鐘太快或走線過(guò)長(zhǎng)降到 20MHz縮短 SPI 走線只有第一字節(jié)正確DMA 沒(méi)刷緩存檢查 PIC32MZ 數(shù)據(jù)緩存一致性維護(hù)寫入被靜默忽略WP 引腳被拉低確認(rèn) WP 接 VDD不要懸空讀數(shù)據(jù)有時(shí)變化HOLD 引腳受干擾HOLD 加 10k 上拉到 VDD掉電后 CRC 老報(bào)錯(cuò)記錄幀格式不完整加魔數(shù)和 CRC采用雙份鏡像外部干擾后通信假死CS 受噪聲導(dǎo)致?tīng)顟B(tài)機(jī)錯(cuò)亂加 ESD/TVSCS 線盡量短這些癥狀我?guī)缀醵家灰徊冗^(guò)。最隱蔽的其實(shí)是SPI 模式對(duì)調(diào)MRAM 支持 Mode 0 和 Mode 3但你的 PIC32MZ 配置工具可能生成默認(rèn)的 Mode 0如果時(shí)鐘極性恰好和你抽樣時(shí)刻錯(cuò)開(kāi)數(shù)據(jù)看起來(lái)就是能通但經(jīng)常錯(cuò)。先用低速、單字節(jié)反復(fù)對(duì)比寫入讀出值能最快鎖定這類問(wèn)題。6.2 關(guān)于無(wú)限壽命的冷靜看法MR25H40CDF 標(biāo)稱寫壽命 10 的 14 次方工程上確實(shí)可以當(dāng)成用不完。但我從來(lái)不會(huì)因此省掉 CRC 和合理的數(shù)據(jù)布局原因很簡(jiǎn)單存儲(chǔ)介質(zhì)不會(huì)寫壞不代表你的代碼不會(huì)寫錯(cuò)也不代表外部干擾不會(huì)造成位翻轉(zhuǎn)。工業(yè)現(xiàn)場(chǎng)的高低溫、強(qiáng)電磁干擾、電源紋波都會(huì)對(duì)任何半導(dǎo)體存儲(chǔ)器造成影響。MRAM 的抗輻射和抗磁性干擾能力已經(jīng)遠(yuǎn)超 Flash但設(shè)計(jì)上還是應(yīng)該給關(guān)鍵數(shù)據(jù)加校驗(yàn)、給冗余留空間。把 MRAM 的壽命優(yōu)勢(shì)看成少了一層后顧之憂而不是可以放棄防御性設(shè)計(jì)這個(gè)心態(tài)能讓你的產(chǎn)品質(zhì)量拉開(kāi)差距。6.3 遷移與復(fù)用老 Flash 驅(qū)動(dòng)怎么改造成 MRAM 驅(qū)動(dòng)如果你手里已經(jīng)有一套成熟的 SPI Flash 驅(qū)動(dòng)遷移到 MR25H40CDF 的成本比想象中低。大致做三件事把擦除函數(shù)全部刪掉新的寫入流程去掉先擦后寫分支把寫完成后輪詢 WIP 的等待邏輯刪掉因?yàn)?MRAM 沒(méi)有寫延遲確保每次寫事務(wù)前都有獨(dú)立的 WREN。做完全套真機(jī)測(cè)試把原來(lái)跑 Flash 的掉電測(cè)試腳本原樣跑一遍 MRAM你會(huì)發(fā)現(xiàn)既有測(cè)試用例幾乎不需要改動(dòng)因?yàn)閷?duì)上層業(yè)務(wù)來(lái)說(shuō)讀寫接口語(yǔ)義完全一致。這種遷移路徑友好是我最終敢在項(xiàng)目里啟用新存儲(chǔ)顆粒的重要原因。即使將來(lái)某天供應(yīng)鏈要求換另一家 MRAM 或者換更大容量 SPI MRAM驅(qū)動(dòng)層的改動(dòng)也被限制在一個(gè)很薄的適配層里整個(gè)存儲(chǔ)架構(gòu)不會(huì)因?yàn)樾酒瑩Q型而推倒重來(lái)。最后聊一下我個(gè)人的體會(huì)。做工業(yè)嵌入式的數(shù)據(jù)存儲(chǔ)真正貴的不是那幾分錢一顆的存儲(chǔ)芯片而是每次掉電、每次高溫、每次現(xiàn)場(chǎng)復(fù)位之后數(shù)據(jù)還在不在、對(duì)不對(duì)。把 MRAM 放在最關(guān)鍵的那幾百 KB 空間里配合 PIC32MZ 的外設(shè)資源是我這幾年用下來(lái)最省心的一套組合。它沒(méi)有 Flash 那份復(fù)雜但便宜的誘惑也沒(méi)有電池 SRAM 那種遲早要還的售后債它就是安安靜靜地把每次寫入落到存儲(chǔ)單元里。如果你正在為一個(gè)頻繁寫、必須穩(wěn)的場(chǎng)景頭疼建議找一顆 MR25H40CDF 的樣片照著上面的連接和驅(qū)動(dòng)在 PIC32MZ 開(kāi)發(fā)板上跑一輪你大概率也會(huì)想把項(xiàng)目里那些日志重災(zāi)區(qū)從 Flash 遷過(guò)來(lái)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天天干天天做| 日撸夜撸日操| 男女啪啪做爰高潮无遮挡| 国产成人VA| 操逼亚洲天堂| 开心五月深爱五月| 婷婷天堂综合| 一级七香蕉| 色偷偷综合| 超碰人人艹| 亚洲字幕AV一区二区三区四区| 天天色综合综合| 五月婷婷色综图片| www色婷婷com| 任你搞免费视频观看| 99re6久热只有精品6在线直播| 色五月亚洲| 在线观看婷婷5月| 性色欲情 网站| 超碰在线播放免费观看| 在线中文AV| 大香蕉久久婷婷精品综合| 色五月婷婷综合在线| h在线看免费版在线看| 天天日天天爽夜夜爽| 九九精品在线视频观看| 综激情网| 久久久香| 97超碰人人操| YW无码| 99热9999| 五月丁香六月成人| 91九色欧美| 久久XX| 99碰碰碰| 超碰人人插| 99精品在线观看| 婷婷五月天欧美| 26uuu四色| 久久久99免费视频| 色综合久久无码| 九九在线这里只有精品视频| 天天开心AV色综合婷婷五月天| 五月婷亚洲精品AV天堂| 中文字幕在线不卡| 狠狠色婷婷7777久| 成人五月天婷婷| 神马欧美精| 九月婷婷在线视频| 亚洲视频另类| 丁香五月天社区婷婷| 婷婷五月天成人| 中美日韩成人在线| 人妻操逼视频| 亚洲妇女熟BBW| 五月天婷婷激情在线色图| 激情综合色婷婷啪啪六月天| 欧美色99| 婷婷五月天开心网| 五月婷婷色播| 91精品丝袜久久久久久| 丁香五月综合| av在线播放网站| 99啪99| 色婷婷影音| 清色五月天| 天天人人天天爽| 色狠狠激情五月| 婷婷五月天成人在线视频| 九九九九国产| 九九综合五月欧美| 狼人狠狠操| 婷婷五月丁香色综合| 久久午夜丁香| 中文网AV| 五月天婷婷视频30| 天天肏在线观看| 激情综合网五月| www.99日本| 狠狠干综合| 99热这里| 欧美人与性动交CCOO| 99这里只有精品| 国产肥白大熟妇BBBB视频| 婷婷丁香久久| 中文AV网站| 在线观看欧美3区| 久久网址99热| 日本女va| 五月丁香六月色| 婷婷五月丁香久久| 大香蕉在九| 五月停停99| 精品视频网| 激情婷婷九月| 99.色| 丁香六月成人| 大香蕉婷婷| 99热综合在线观看| 欧洲激情网站| 婷婷成人视频| www.婷婷五月天| 九九亚洲| 99热99久久| 色婷婷91激情小说| 天天色视频| 91久久久久久| 欧美成人日韩| 亚洲第一色区| 久操操| 久久天堂女人| 日本天天综合| 五月综合丁香婷婷| YW无码| 丁香五月激情宗合| 久久东京热婷婷五月| 99久热| 日韩精品99久久| 五月丁香啪啪啪综合网| 五月丁香久久呀| 久久人妻人人| AⅤ在线播放网| 九月久久婷婷| 婷婷香五月天| 亚洲成AV人片在线观看| 思思热天天看| 九九色影院| 午夜成人av在线| 玖玖资源站国产| 五月丁香婷婷俺| 色婷婷五月天无码视频| 亚洲网综合在线| 国産精品| 激情综合无码| 国产操碰| 人妻尝试久久久久久久久久久久| 极品人妻VIDEOSSS人妻| 大香蕉Av在线| 五月天婷婷基地| 久久五月天视频| 久久久av久av久片一区二区| 婷婷永久在线| 操操国产| AV色婷婷| 狼友超碰| 亚洲综合一区二区| 色婷婷综合亚洲| 国产亚洲精品AAAAAAA片| 色丁香五月| 久久色五月天综合网| 婷婷色色丁香五月天| 久久婷婷五月综合激情国产| 激情五月成年| 最新亚洲色色网| 狠狠干婷婷| 操日视频| www久久99| 久久9RE热视频精品98| 天天爽夜夜爽| 人操91在线| 五月天自拍视频| 丁香五月激情网| av在线中文| 99久热这里只有精品| 国产精品久久久久久亚洲毛片| 久久九九综合| 99色在线| 激情婷婷六月| 六月丁香婷婷大香蕉| 五月婷婷人妻| 六月丁香狠狠爱| 夜夜爽天天干| 中文字幕永久免费| 2018国产大陆天天弄| 六月激情婷婷色| 99色婷婷| 六月丁香久久| 九九色热| 草了bav视频在线观看| 成人Av在线大片| 99综合网| 欧美丁香婷婷天天操| 激情九月婷婷| 天天橾夜夜爽| 国产精品电影| 性av| 色色射| 99日视频在线| 亚洲综合成人网| 99成人精品六| 国产原创视频91九色| 俺也去在线视频| 99热这里只有精品2| 丁香色色五月| 9色视频在线| 人人干天天舔| 婷婷激情综合色五月久久91| 91色久| 人妻射精AV| 国产精品色情AAAAA片软件| 六月婷婷七月丁香| 日本操片| 丁香花社区av| 色婷婷丁香五月| 丁香五月婷婷亚洲色图| 色婷婷最新域名 | www.狠狠操.com| 亚洲亚洲人成综合网络| 精品爆操| 色五月激情基地| 精品一区二区三区三区| 丁香六月婷婷久久综合| 97人妻碰碰碰久久香蕉| 五月婷婷色吧!| 9久9久| 99热97| 欧美综合在线五月天色婷婷| 综合99综合久久久久久久| 五月香婷婷| 五月丁香六月婷婷久久久综合| 久久久久婷| 99精品在线观看| 巴基斯坦粉嫰无码视频| 成人亚洲精品| pom538精品视频| 国产成人+综合亚洲+天堂| www.成人婷婷综合| av中文在线| 日韩五月婷婷久久| 国产一区二区三区影院| 久久婷婷六月综合| 五月丁香成人网| 五月丁香天堂网婷婷| 国产免费一区二区三区三州老师F1F1.CC | 天天干天天插| 开心五月婷婷| 日韩有码一区| 字幕网AV中文字幕| 色五月婷婷色| 成人丁香婷婷| 色吧五月婷婷| 99亚洲色| 婷婷五月天国产手机在线视频观看| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 影音先锋91网站在线观看| 97人人干人人操| 狠狠va| 99人人干人人| 性爱网五月婷婷| 久色国产| 毛片新网地| WWW·天天操·视频?| 九九九这里只有精品| 久久香蕉网| 99久在线精品99re8| 丁香五月婷婷啪啪| 97碰碰在线看视频免费| 欧洲综合视频| 婷婷丁香五月天激情四射| 欧美色99| 五月天天综合| 99热只有| 激情五月婷黄版| 五月天精品视频| 99热这里有精品24| 亚洲婷婷激情888精品久| 亚洲99激情| av九九| 久久大香免费| 婷婷成人AV| 国产精品色| 久久这里只有精品8| 婷婷五月综激情| 亚洲综合99| 婷婷天堂站| 综合XX网| 婷婷久久网| 丁香婷婷九月| 在线综合网| 开心久久网婷婷| 思思热在线视频99| 成人五月天视频播放| 能看的AV网站| 小视频久久久aaa| 毛片新网地| 蜜臀AV在线成人| 99久久婷婷| 丁香六月久久| 久综合色| aaa丁香五月天| 丁香无五月网| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 91在线日| 五月天激情偷拍| 激情另类综合| 亚洲最大五月天成人网| 国产激情综合五月久久| 亚洲这里只有精品| 琪琪色网在线| 99超级碰碰| 五月色色色| 大香蕉手机视频| 色婷婷五月天亚洲| 久热网在线视频| 久久人妻精品| 色9999日韩国产| 青草青草视频2免费观看| 婷婷婷婷婷婷婷婷婷婷丁香| 九月停停| 人妻性爱av网站| 日韩av干| 色色色色五月| 色噜噜狠狠狠狠色综合久欧美| 美女xx不卡| 丁香六月婷| 色爽九九| 丁香婷婷六月在线资源观看| 狠狠爱综合| 九九精品99| 办公室少妇激情呻吟A片在线观看| 精品自拍99| WWW.HENHENL.| 五月婷六月综合在线观看| 五月丁香六月合| 五月丁香啪啪| 久月久在线视频| 激情九月综合| 丁香婷婷色五月激情综合| 午夜色婷婷| 99热九九九九| 亚洲激情五月婷婷日日| 狠狠综合网| 欧美日韩婷婷五月天| 97干在线观看视频| 天天狠狠色噜噜| 激情婷婷六月| 120分钟婬片免费看| 色色五月综合| 天天日,天天射,天天插| 色色免费网站| 99九九视频| 人人舔人人色人人高潮| 丁香五月天啪啪| 婷婷久久综合久| 五月亭亭欧美女人| 五月丁香六月婷婷亚洲综合| 天天揷综合网| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 吊色AV男人的天堂| 丁香五月天五码婷婷| 欧洲不卡视频| 色丁香五月| 精品51XX| 午夜AV网| 日本久久爱| 精品无码久久久久久久久| 97偷拍在线视频| 五月亭亭六月激情| 99热在线播放| 丁香五月婷婷动漫| 亚洲精品无码一区二区| 丁香五月自拍| www.99热| 狼人久草| 久99在线视频| 亚洲综合九九| 可以看的av| 97丁香婷婷| 亚洲色婷婷| 91精品国产综合久久蜜芽解析速度| 五月色天五月色| 中文字幕日产A片在线看| 色婷婷综合久久久久| 深爱1激情网| av高清无码| 日本色噜| 性爱网五月婷婷| 岛国av电影网站| 五月天婷婷丁香| 狠狠综合久久| www.夜夜| 天天日天天干天天天| 日韩人妻在线播放| 狠狠的日| 在线播放成人网站| 久久9视频| 五月天社区| 九九黄色网| 五月丁香手机在线| 少妇高潮呻吟A片免费看软件| 亚洲第一色色色| 五月婷婷天堂| 99色6爱9热| 91九色网| 青草少妇激情| 99日本精品视频热| 色婷婷成人做爰A片免费看网站| 99热在线99| 激情98色婷婷五| 色五月婷婷色五月| 九九精品99| 日韩999| 同性gv国产精品一区二区| 国产精品扒开腿做爽爽爽A片唱戏| 69五月天视频| caopeng97人人| 午夜成人AV在线| 玖玖在线资源视频| 超碰成人黄色网| 五月丁香亚洲婷婷| 欧美婷婷六月丁香综合色| 亚洲人妻av| 免费亚洲婷婷| 五月丁香伊人网| 五月丁香六月婷婷激情四射| 欧美25p| 五月丁香六月婷婷亚洲激情综合| 九九热99在线视频| 色五月综合在线| 人妻久久久久久久久妻久久久久| 亚洲AV电影美洲AV电影| 久热这里| 亚洲国产99| aaaaa不卡| 人人摸人人干| 天天做天天爱天天爽| 五月天玖玖狠狠色色| 久啪欧美| 国产成人精品一区二三区熟女在线 | 日本少妇裸体做爰高潮片| 99热777| 色情成人五月天| 久久婷五月天| 99久久这里只有精品免费官网| 九九色网| 青青久在线视频免费观看| 无码人妻一区| 激情伍月 欧美| 久久91久久91色欲精品| 一区二区无码视频| 99精品免费| 激情综合一| 丁香五月激情视频在线| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 婷婷五月天影院| 国产古装妇女野外A片| 另类激情综合| 五月天色婷婷伊人网| 久久久久久久丁香五月天婷婷| 大香蕉视频99| 国产在线aaa片一区二区99| 亚洲在线操| 亚州操人在线视频| AV在线大香蕉| CAOBIBI| 国产在线激情视频| 国产毛片精品一区二区色欲黄A片| 丁香婷婷在线| www.色婷婷。com| 中文字幕在线日亚州9| 色五月自偷自拍婷婷婷婷| 五月天激情四射| 丁香五月天激情视频| 五月开心婷婷| 色国产五月| 99自拍视频| 狠狠综合久久综合| 99爱免费在线视频| 婷丁香五月天| 黄色成人网站在线播放| 噜噜操操| 欧美性猛交99久久久99| 五月天婷婷社区久久综合| 9久9久9久女女女九九九一九| 久久人妻久久| 九九色播五月丁香| 91色噜噜狠狠狠狠色综合| av人人干| 26uuu丁香婷婷五月| 激情综合激情综合| 亚洲欧洲午夜成人精品av| 婷婷五月天激情丁香| 五月色综合网欧美网| 久久久人人操A V| 久久99免费视频网站| 久草婷婷在线| 操逼视频网址| 色婷婷色综合激情91| 亚州第一A片| 久久婷婷综合拍| 五月丁香少妇| 日熟女| 高清成人综合| 1024亚洲| 五月丁香婷婷啪啪| 人色五月天婷婷| 激情五月婷婷综合网| 五月天色综合服务平台| 六月伊人婷婷| 99色网站| 色综合久久44| 天天日日夜夜| 色五月婷婷基地| 色婷婷成人做爰A片免费看网站| 免费视频WWW在线观看网站| 免费无码毛片一区二区A片| 久热婷婷综合| www.婷婷五月| 天天操综合网站| 蜜乳中文字| 五月色俺婷婷| 五月婷婷激情日本| 99热91| 七月丁香五月婷婷在线| 婷婷五月天中文字幕| 在线另类| 99精品视频网站| 亚洲不卡| WWW.亚洲无码| 99人人操| 五月激情开心婷婷| www.五月天| 青草激情综合| 天天操天天插天天射| 六月丁香av| 五月亭亭六月激情| 久久久91| 丁香深五月婷婷| 操操碰| 深爱激情69热| 99爱精品| 激情人妻综合| 五月天堂在线| 五月丁香六月婷婷网| 久久综合婷婷| 99啪在线视频| 五月婷婷色丁香| 人人操AV| 97操碰98| 五月天天综合| 开心五月婷婷在线| 天天操天天曰| 91丁香综合| 色色五月天婷婷丁香| 色色婷婷综合网| 亚洲精品亚洲人成人网| 9色免费网| 99色视频| 开心激情站| 色播播婷婷| 91人人网| 五月丁香免费看| 99久久极情精品一区| 国产女18毛片多18精品| 丁香香五月激情免费视频| 中文字幕成人影视| 人人人操 超碰| 成人短视频在线观看| 天天操夜夜橾| 超碰人人在线观看| 五月丁香在线精品| 激情五月天综合网| 天天插天天狠| 天天做天天爽| 99九九视频精彩在线| 欧美婷婷五月天综合| 色婷久久| 亚洲婷婷丁香五月在线| 亚洲天堂热| 久热人妻| 99热婷婷| 97精品综合| 久99视频在线观看| 久久综合爱| 婷婷色情网| 看全色黄大色大片| 96丁香婷婷九月蜜桃综合久久| 久婷婷五月激情| 天天操比比| 婷婷中文在线| 综合色99| 中文字幕在线播放视频| 九九99精品视频在线观看| 夜夜大香蕉婷婷丁香| 五月天欧美激情| 婷婷在线精品| 九九碰九九爱97| 日韩aaa| 激情五月天综合网| 日韩有码久久| 五月久久丁香| 人人操91色| 九九色热| 久99热| 五月丁香六月婷| 欧美激情五月天在线观看| 激情五月天在线视频| 日日骑夜夜撸| 在线观看国产高清视频免费网站| 91精品国产综合久久密臀| 亚洲综合网在线| 五月婷婷丁香色播网| ady狠狠入| 九九热最新| 六月婷婷av| 99超级碰免费视频| 男女久久婷婷五月天| 超碰免费人人肏| 亚洲激情婷婷| 大香蕉久| 综合色播| 这里只有精品免费视频在线观看| 久久 中文 日本| 亚洲五月婷婷| 精品99网站| 久久精品天| 婷婷伊人久久| 啪啪操超碰| 六月婷婷开心| 婷婷爱五月天人人爱| 亚洲乱码w在线观看| 大香蕉啪啪啪| 欧美啄木乌丝袜人妻系列| 天堂在线伊久| 婷婷天堂综合| 可以直接看的av网站| 日本少妇AA一级特黄大片| 亚洲综合视频网| 色哟哟精品| 被男人添B超爽视频| 精品久久久久久久久久久久人妻| 亚洲正能量欧美| 丁香九月综合激情| 五月丁香六月婷婷手机无线| 色狠狠色综合久久久绯色AⅤ影视| 激情综合亚洲| 激情五月丁香六月综合AVXXXX| 婷婷激情综合网| 久久六月婷婷| 色五月六月| 天堂婷婷五月色| 丁乡久久| 亚洲区在线| 狠狠操天天干| 成人电影AV在线观看| 99激情| av婷婷丁香| 91操在线观看| 天天日天天舔天天摸| 成人在线精品| 操操国产| 亚洲综合色丁香婷婷六月| 这里只有精品视频在线看| 99ri在线视频| 99久热| 五月婷婷基地| 97精品综合久久| 黄桃AV无码免费一区二区三区| 99久久国产成人精品| 五月天综合久久| 婷婷丁香成人色综合| 伊人天天色| 免费无码毛片一区二区A片 | 色色五月婷| 色五月婷婷 成人| 三级片AAA久久久AAA久久久AAA| 欧美性猛交XXXX乱大交极品| 天天爽人人综合免费7799| 亚洲成人AV电影网| 国产精品美女久久久久AV超清| 热久久99热欧美国产亚洲| 国产婷婷综合| 天天搽天天射| 99热最新精品| 久久婷婷五月综合97色一本| 五月丁香性爱| 五月天操逼网| 欧美综合五月丁香六月婷| 极品少妇婷婷五月| 婷婷99狠| www.婷婷五月天,com| 五月婷久久久久综合| 免费看成人AA片无码视频吃奶| 激情五月天婷婷丁香| 婷婷中文在线| 综合啪啪| 久久这里都是精品| 色色婷婷五月天| 另类激情中文| 午夜一区| 成人做爰高潮A片免费视频| 婷婷五月天成人| 狠狠色噜噜狠狠狠888| 丁香色五月天| 婷色五月天| 国产精品涩涩涩视频网站| 大战熟女丰满人妻AV| 97干欧美| 色综合九九| 婷婷在线视频| 99在线精品视频观看免费下载| 婷婷五月天av| 亚州激情在线视频| 五月天婷婷视频| 91久久综合亚洲鲁鲁五月天| 国产成人网| 亚洲传媒在线观看| 婷婷综合色图| 激情网第四色| 99综合自拍| 婷婷五月天在线观看| 91高潮喷水久久久久久久久 | 9久热这里只有精品| 99热这里只| 五月天婷婷色色网| 婷婷五月花| 丁香六月色婷婷| 五月丁香婷婷综合网| 99久久九九视频| 超碰99成人在线| 欧美色99| 亚洲成人综合在线| 日逼AV影音先锋男人资源站| 94干大香蕉| 亚洲色综合| 桔色成人官方网站| 亚洲精品五月| 五月婷婷丁香婷婷| 玖玖资源在线视频| 九一九九黄色| 丁香九月综合| 婷婷五月激情视频在线| 色色色com| 国产精品国产成人国产三级| 欧美婷婷九月| 台湾综合丁香五月蜜桃| 五月丁香六月婷婷婷婷| 伊人久久大香线蕉av最新| 中文字幕无码人妻少妇免费视频| 国产综合丁香五月天| 少妇丁香婷婷 | 久久久亚洲精品一区二区三区浴池 | 婷婷黄色| 青青草原福利在线| 天天干天天干天天干天天干天| 久久久国产精品黄毛片| 五月丁香婷草| 伊人久久激情图区五月| 五月亭亭开心网| 久久精品国产一区二区三区四区| 91久久综合亚洲噜噜成人在线| 激情黄色五月天| 99热免费精品| a性生活久久无| 久久色9| 五月色天五月色| 婷婷伊人网| wuyuedingxiang| 亚洲激情无码久久| 99超级碰免费视频| 亚洲成人AV在线| 另类国产综合| 久9视频| 九九热青青草| 亚洲婷婷在线播放十月| 五月婷婷激情| 男人的天堂av俄罗斯热| 五月天婷亚洲天综合网综合| 91人人操人人爱| 婷婷天天五月天| 26uuuavcom| 丁香九月激情| 色就是色婷婷五月亚洲激情| 亚洲成人无码网站| txt五月激情四射网综合俺也来了| 99在线观看视频精品| 日韩亚洲视频| 黄色激情久久| 五月开心啪啪| 丁香五月婷婷色| 中文中文在线| 丁香五月日本| 国产成人av在线播放| 五月婷婷综合社区| 日日杆天天| 国模九区| 丁香五月六月激情| 少妇人妻人伦A片| 人色五月天婷婷| 超碰国产在线播放| 天天干天天叉| 亚洲av成人电影在线观看| 99视频只有精品| 免费国产视频| 丁香五月婷婷五月| 2025天天爽天天摸| 久久这里只有精品视频15| 99色亚洲| 久久多色| 五月婷婷六月丁香| 91操操操| 久久久婷婷色五月资源网| 97热这里只有精品| 色色色区| www.久热| 婷婷五月天激情亚洲小说| 亚洲精品第一色色色色色色| 天天激情| 91色婷婷综合久久中文字幕二区| 五月丁香啪啪| 色狠狠综合入口| 视频一二区| 夜夜爽天天爽| 丁香婷婷成人在线播放| 久久九九re热| 99色视频在线| 色婷婷六月天在线| 99人人操人人操人人精| 欧美日韩99| 色欲久久久久| 91黄址| 亚洲中文字幕在线观看| 一级操逼内射在线视频| 影音先锋色婷婷| 91丨九色丨43老版熟女| 精a品a| 99欧美| 亚洲啪啪自拍| 99热6这里只有精品| 丁香婷在线| 五月丁香婷婷成人版| 婷婷五月天AV| 五月丁香六月婷婷激情网| 天天五月香欧美| 超碰丁香五月| 色婷婷五月天偷拍| 丁香五月电影| 色五月婷婷成人视频| 色涩影院六月丁香| 青青草国产亚洲精品久久| 五月婷婷六月情| 91啪级电影| 婷婷激情九月| 色444综合网| 丁香九月婷婷| 婷婷丁香色情| 天天综合亚洲| 婷婷色系婷色| 亚洲精品视频在线播放| 日本色超碰| 五月丁香| 色色婷| 亚洲五月天激情| 色 五月婷婷基地| 天天五月丁香五月| 狠狠色色综合| 中文字幕久久婷九女同| 最近中文字幕大全免费版在线 | 99九九在线| 激情文学五月丁香六月婷婷| 天天干-天天日| 亚洲综合网区| www.久久久久久久| 五月丁香婷婷啪啪网| 丁香五月婷婷综合啪啪| 开心五月激情网| 中文字幕不卡+婷婷五月| 婷婷色五月在线视频| 九九热在线观看视频网站| 婷婷五月天最新综合你懂的 | 色五月大香蕉| 久久久人妻| 五月婷婷中文| 五月天另类图片| 国产片色| 日日操日日干| 五月永久激情| 丁香五月另类小说在线阅读| 无码地址| 99免费成人网| 欧美日本综合网| 色婷婷WWW| 91操碰| 久久亚洲婷婷| www.日本久久videos| 激情性爱五月天| 丁香五月香蕉| 亚洲超碰在线| 天天射影| 久1色色| www..com色爱| 九九热这里只有精品12| 99re这里只有精品首页| 婷婷色五月情| 五月丁香六月婷婷视频| 丁香五月色欲| 天天爱天天做天天操| 可以看的AV网站| 激情五月天婷婷在线网址发给我| 激情五月五月婷婷| 色婷六月| 色婷婷电影| 婷婷五月色天| 国产欧美熟妇另类久久久 | 2013AV天堂| 欧美日比视频| 四月婷婷五月色综合| 青青草原中文字幕| 亚洲婷婷月丁香五月| 99久久思思| 婷婷五月天香蕉| 天天爽天天日| 天天看A片| 色播五月丁香| 91av视频| 色色色区| 丁香五月激情天AV无码| 五月婷婷香蕉| 五月天综合婷婷| 狠狠五月激情丁香六月| 99色色视频| 岛国在线观看91| 99热很操老逼| 日本三级日本三级99| 婷婷五月天va| 五月天影院| 91狠狠综合网| 五月天婷婷色| 婷婷丁香六月天激情四射网| 亚洲欧洲午夜成人精品av| 亚洲五月天,激情视频| 激情五月亚洲综合网| 开心网五月色婷婷| 久久婷婷六月综合| www.久99| 欧美丁香五月97色| 五月丁香六月色情网欧美| 噜噜五月天综合| 五月丁香六月婷婷网| 97超级碰人人| 激情性爱五月天| 六月丁香婷婷在线波多| 伊人久久大香线蕉av一区| 久久婷婷五月综合| 久久婷婷东京热大香樵| 色婷婷六月性| 五月综合无码| 九九亚洲视频| 大香蕉人人人| 五月丁香直播| 丁香五月天黄色片| 伊人五月婷| 操碰97| 五月六月婷婷| 狠狠色婷婷7777久| 狠狠操狠狠做| 色激情五月天| 婷婷玖玖五月天| 激情五月丁香在线观看直播| 丁香五月首页| 男人的天堂99| 丁香五月婷婷动漫视频| 99福利导航| 91大操| 五月丁香婷成人网| 欧美色久| 97日日碰碰| 内射丰满人妻| 九九色综合| 久久嘟嘟丁香| 日韩十国产极品久久| 99色婷婷| 色五月综合在线| 人人摸人人| 亚洲午夜国产成人电影VA国产欧…| 五月丁香久人妻中文| 色欲午夜无码久久久久久张津瑜| 婷婷视频在线| site:esunnet.com| 九九亚洲视频| 人妻视频在线| 婷婷五月天视频亚洲| 黄色三级毛片中字| 丁香五月天激情五月天激情五月天激情网| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 欧美色婷婷| 日韩在线观看亚洲| 99这里只有| 开心色色五月天综合| 五月六月激情婷婷| 五月丁香五月综合欧美| 97日在线视频| 欧美色婷婷| 欧美久久久中文字幕| 极品人妻videosss人妻| 欧美交换配乱吟粗大25P| 亚洲小视频免费播放| AV在线资源| 欧美色图天堂网色| 狠狠操狠狠| www色婷婷com| 色99在线视频| 丁香五月婷婷激情中文| 久久久精品人妻录| 天天综合天综合久久网| 久久这里只有精品16| 国产日产亚洲系列最新| 五月激情丁香五月宗合| 中文字幕无码人妻少妇免费视频| 天天日综合网射| 久久五月丁香| 国产精品噜噜在线视频| 婷婷久久综合| 国产丁香五月天婷婷| 国产做A爰片毛片A片美国| 99小精品| 少妇人妻人伦A片| 亚洲AAAA网| 伊人网色婷婷五月天| 夜夜做夜夜愛| 亚洲在线成人| 99日精品视频| 天天爽夜夜操| 亚洲AV日韩无码| 啪啪啪大香蕉| 九九热这里有精品23| 69精品人人人人| 99re这里有精品手机在线| 999热视频精品99免费在线| www.日日夜夜.com| 吊色AV男人的天堂| 久久婷婷六月综合| 五月婷婷五月天激情视频| 日本人妻伦在线中文字幕| 五月综合激情视频| 天天网曰日曰夜夜综合永久免费| 五月天天天天天天天天天天天婷婷婷| 狼人婷婷综合| 六月激情综合| 国产精品久久久丁香五月八戒视频| 丁香五月婷婷香| 99九九热视频| 亚洲美女高潮久久久久久69| 色综合色综合网| 婷婷免费无视频| 欧美色偷偷大香| 五月天天天天天天天天天天天婷婷婷| 久久久激情视频| 国产精产国品一二三在观看| 日 日干 日日做| 色欲AVV| 大香蕉婷婷久久| 99热 免费| 97碰91| 丁香六月啪| 思思综合热| 五月天婷婷伊人| 国产精品国产成人国产三级| 五月婷婷五月天激情网| 大香蕉九操| A短视频免费在线观看| 亚洲va欧美va天堂v国产综合| 7777激情基地| 成人久碰| 在线99热| 色五月成人在线| 91操网| 久综合九综合99| 丁香花五月天激情| 五月丁香久久久| 日本一级一片免费视频| 国产精品久久久久9999小说| 婷婷六月天天| 色五月五月丁香| 国产老熟妇亲子乱对白| 国产精品久久久久久久久久免费 | 人妻久久久久久久 | 一级片无码| 永久精品| 天天日夜夜曹| 色五月久久成人婷婷| 99碰视频| 亚洲 在线 另类| 五月天激情四射| 天天天天色天天天天天干| 永久的网站AAAA| www.五月天色色色| 激情人妻蜜夜系列区| 久久99久久99久久99人受| 婷婷激情五月综合| 日日婷婷不卡| 九九热在线观看6| www.com色播五月天| 极品少妇高潮啪啪AV无码| 久久资源网五月婷| 夜夜撸天天操| 色五月婷婷丁香婷婷| 久久只有精| 99福利导航| 99视频在线啪| 1024成人免费看| 中字幕视频在线永久在线观看免费| 激情久久久久| 97日本在线播放| 高清一区二区三区日本久| 99热偷拍| 狠狠色噜噜狠狠狠狠综合| 激情美女五月天激情在线| 欧美婷婷六月丁香综合色连续高潮抽搐| 999久久久国产精品| 欧美日韩成人综合9| 色五月婷婷网| 亚洲操逼网| 99九九热在线观看| 五月激情小说| 色五月综合在线| 日日操天天| 久久一二三视频| 91dy.av| 五月六月丁香婷婷在线观看| 色5在线| 婷婷五月天成人在线视频| 97丁香婷婷| 伊人婷婷大香蕉| 日本高清久| 人妻激情在线| 青青草色在线视频观看| 中文字幕AV网址| 91色涩| 久久99久久99精品免观看粉| 99精品国产在热久久婷婷| 都市激情亚洲| 性热视频99精品| 亚洲色激情| 久久久久久9| 色婷婷丁香综合中文字幕| 五月色丁香| WWW久久久| 怕怕視頻| 在线VA视频| 色大综合| 丁香五月综合在线观看| 五月婷婷免费在线观看视频| 五月婷婷色五月| 中文久久婷婷| 丁香六月久久| 激情综合网五月天| 亚洲综合激情五月久久| 亚洲欧洲中文日韩久久AV乱码| 4399在线日本A片| www.婷婷五月| 色五月婷婷大香蕉| 婷婷综合精品| 天天狠天天叉| 精品夜夜澡人妻无码AV| 少妇被下春药玩弄A片| 色综合激情图区| 五月婷婷丁香大香蕉| 丁香五月情| 欧美成性色| 婷婷播播五月天| 五月花激情| 色五月婷婷在线| 激情综合五月婷婷| 秋霞少妇AV网站| 超碰9在| 人人操91| 伊人丁香婷婷东京| 丁香五月香蕉| 大香蕉九九| 国产午夜精品一区二区三区嫩草| 黄色高清无码| 久久婷婷婷| 色爱99| 97婷婷五月天| 色综合久久44| 国产成人精品一区二三区熟女在线| 97涩婷婷| 激情久久久久久| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 九九热精品6| Av九九| 九九视频在线观看视频6| 丁香婷婷午夜| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 成年人看Va免费视频| 久久婷婷网站| 婷婷综合婷婷| 日本久久婷婷| 五月丁香婷婷伊人| 日本久热| 182.t午在线观看| 婷婷久热| 99热这里全是精品| 婷婷五月天精品| 色噜噜狠狠狠狠色综合久欧美| 亚洲成人一区| 999热在线视频| 色婷婷久久| 99精品视频推荐| 色五月在线| 五月久久婷婷丁香| 熟女色色一区二区| 久久久婷婷婷| 综合五月婷婷| 97高清国语自产拍| 91丨九色丨熟女|老版| www.sezonghe| AV性爱网| 91嫩草久久| 9999热这里只有精品| 大香蕉综合网| 91热久| 婷婷五月天视频在线观看| 五月婷婷啪| 99热在线爱| 亚洲性爱日韩无码| 五月天激情久久| 丁香五月 无码| 色婷婷丁香五月丁香| WWW.99热| 五月天婷婷激情网| 丁香五月色情| www.五月天| 欧美日朝成人| 日日操夜夜撸| 亚洲成人网址在线观看| 91久久久久久| 99精品国产在热久久婷婷| 日韩日比视频在线| 天天激情夜夜干| 五月丁香亭亭| 亚洲av免费在线| 亚洲婷婷五月天| AV变态另类一区二区| 婷婷五月综合激情小说| 超碰99在线观看| 99热久| 日本精品99| 婷婷五月综合网| 99爱视频| 激情 婷婷| 天天爽夜爽| 久久99日本精品视频免费观看| 五月丁香婷婷中文网| 国产伦亲子伦亲子视频观看| 99热在线里有精品| 九九色热| 久久欧洲久久| a久久| 婷婷五月天激情四射五月天激情| 久久婷婷激情| 亚洲第一黄网| 任你爽精品免费视频6| 久久综合影院| 桃色五月天| 91狠狠色丁香| 五月色丁香| 色五月天堂| 综合久久婷婷| 99色激| 婷婷爱五月| 丁香色六月| 色婷婷五月天| 99精品爱| 婷婷久久天堂网|