99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

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
返回資訊列表
五月天婷婷久久| 久久97久久99久久综合欧美| 亚洲噜色| 怕怕av| 超碰自拍天堂| 丁香五月激情啪啪综合| 五月婷三级片| 成人做爰黄A片免费看直播室男男| 色婷婷久久综合中文久久一本| 色色啊| 青青草原亚洲天堂| 9精品视频在线| 2050人人操免费工开爱 | 婷婷欧美激情综合| 天天舔天天插天天爱| 天堂网色色| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 久久婷婷伊人| 五月色网| 国产精品久久99| 日本婷婷在线| 久久婷婷91| 五月色丁香婷婷综合| 最近中文字幕2019视频1| 五月丁香激情综合网| 婷婷开心激情五月激情网| 激情五月伊人婷婷| 九九综合久久丁香婷婷,开心激情综合网| 五月天伊人久久| 五月天婷a在线| 亚洲V国产V欧美V久久久久久| 啊v视频在线观看| 五月天另类激情在线| 丁香六月五月婷婷| 五月天综合网| 色播婷婷大香蕉| 激情五月天影院| 久久久久思思热| 五月天婷婷在看| 狠狠色丁香五月婷巨| 亚洲色碰| 婷婷六月爽| 五月情丁香色| 青青福利网| 色婷婷视频| 婷婷色播色五月五色五月天色妇| 五月天无码视屏播放| 99五月丁香丁| 亚洲五月天综合| 99这里有精品免费| 婷婷在线免费| 激情五月六月| 久久激情网| 亚洲第一综合| 在线超碰免费| 91肏| WWW丁香五月| 玖玖在线资源视频| 激情五月天伊人av| 大香蕉九操| 婷婷久久亚洲| 国产精品久久久久久久久久 | 青青操avbb| 五月婷成人网| 99热这里只有精品免费观看| 人人操91| 精品国产乱码久久久久久免费| 国产成人精品亚洲线观看| 日日躁夜夜躁狠狠久久AV| 午夜69成人做爰视频| 欧美黄色一级录像| 欧美图片丁香五月天| 婷婷丁香花五月天| 玖玖九九99| 思思久热| 99色色网| 嫩草免费视频| 丁香五月婷婷激情网| 五月婷婷综合网| 久久婷婷六月天| 婷婷五月天伊人网在线观看视频| 噜噜噜久久| 日本啪啪天堂| 超碰69天堂| 婷婷丁香综合| 国产日韩欧美性生活| 亚洲狠狠狠| 久久久噜噜噜久久人妻| 五月丁香六月| 色综合大香蕉| 丁香六月婷婷综合在线| 亚洲色婷婷五月天| 五月婷婷婷| 这里只精品| 亚洲亚洲永久无码777777| 色婷婷先锋| 婷婷在线精品| 91人操人人人操人| 99热6色| 国产成人av在线播放| 这里只有精品视频在线| 黑人熟妇一区二区三区| 69激情小说| 婷婷综合97| 夜精品无码A片一区二区蜜桃| 色99视| 天天综合情| 婷婷五月色综合| 中文字幕AV在线播放| 97人人草| 乱码操操| 4399人妻无码久久久| 夜精品无码A片一区二区蜜桃| 欧美婷婷丁香五月| 激情婷婷五月天在线观看| 2020日日干| 亚洲妇女熟BBW| 久久五月婷婷丁香| 五月花综合视频| 久久人妻久久| 99久在线精品| 五月天 婷 欧美亚洲| 少妇水多A片太爽了| 日本97久久久精品| 五月婷婷片| 婷婷六月色| 操逼巨乳91| 久久婷婷五月天激情唯美| 天天日,天天插| 超级碰碰碰久久网站| 激情久久久| 99在线精品视频在线观看| 三人荫蒂添的好舒服A片| 亚洲婷婷丁香| 免费看成人747474九号视频在线观看| 久久久九九视频精品18| 99色视频免费在线规看| 久久久久久久久18久久| 国产精品久久久久久五月天加勒比 | 色色婷婷五月天| 综合激情站| 国产成人精品123区免费视频 | 啪啪操网| 99精品视频免费| 色婷婷丁香五月| 九九99热| 色射影院| 日本一级一级一级一级| 99视频在线精品| 九九热大香蕉| 亚洲AV人人操| 国产亚洲99久久精品| 久久婷婷五月综合| 91九色无码日韩| 婷婷五月天色播| 黄色AAAA韩国guochansanji | 国产精品天天狠天天看| 五月天伊人日日噜影片AV| 五月丁香影视| 五月天成人伊人| 六月天婷婷| 无码啪啪| 桃色五月天| 99re热视频这里只有综合亚洲| 91综合色| 婷婷五月天最新综合你懂的 | 五月婷婷性| 亚洲天堂婷婷| 久久婷婷综合五月天| 99热在线中出| 五月六月婷| 婷婷久久色| 婷婷激情社区| 欧美大香蕉视频| 婷婷五月情| AV在线免费播放| 色婷婷97| 天天做天天要天天爽| 久久小说网| 天天婷婷操| 91紱請| 婷婷五月天婷婷| 五月美女婷婷风骚| 婷婷色在线播放| 激情综合五| 亚洲啪啪啪啪| 在线VA视频| 久久精品一区二区三区四区| 五月婷婷丁香在线| 久久综合干| 久热无码| 日逼免费视频| 人人九色| 在线播放人妻| 免费AV在线| 久久综合激情| 影音先锋五月婷婷| 免费黄色片子| 激情婷婷综合五月少妇| 影视av久久久噜噜噜噜噜三级| 激情小说五月天| 五月激情精品视频| 综合伊人久久| 午夜精品久久久久久久爽| dingxiangtingtingliuyue| 96精品国产综合久久久久久| 五月丁香婷婷基地| 这里只有精品在线免费视频| 91精品无码| 97色婷| 国产精品色一哟哟| 中文字幕黄色片| 成人做爰A片免费看视频| 激情五月婷婷网| 成人AV在线网站| 开心五月婷婷| 五月激情婷婷综合| 伊人久久丁香婷婷六月五月综合| 色99视频| 超爽内射| 色欧美一级| 伊人网啪啪| 天天天久久久| 久久99大全| 人妻22p| 婷婷丁香五月高清| 五月丁香婷婷综合在线| 丁香五月综合激情啪啪| 日本wwww在线| 校花娇喘呻吟校长陈若雪视频| 啪啪小说五月天| 级情九色| 色天使色婷婷| 亚洲国产网址| 嫩BBB搡BBBB榛BBBB| www.激情五月| 天天日天天日天天搞| 91婷婷搞| 九九99在线视频| 青青青在线视频国产| 麻豆雪千夏| 东北婷婷五月天| 久99久视频| 97婷婷五月丁香| 天天激情站| 99亚州综合精品成人网| SS丁香五月婷婷| 丁香五月天堂| 日本婷久久| 久久婷婷青青| 99riav 亚洲| 99视频久久| 五月丁香六月情| 五月天色婷婷小说| 狠狠狠婷婷五月综合| 激情婷婷九月| AV在线二十六页| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 黑人糟蹋人妻HD中文字幕| 国产精品国产| 99热免费精品| www.久久综合| 婷婷激情人妻| 久久婷婷人人| 五月天婷婷影院| 久久精彩视频99| 99er国产| 玖玖资源部在线播放| 综合婷婷久久| 91色在线/日韩| 丁香天堂夜| 亚洲六月综合激情久久下卡| 97五月婷| 欧美婷婷色五月网| 欧美婷婷综合网| 久久婷婷一级片| 亚洲深喉AV| 中文字幕按摩做爰| 亚洲欧美在线观看| 丁香婷婷天堂| 91狼友视频网页更新| 日99网站| 丁香五月 无码| 婷婷5月久久综合网站| 最近中文字幕2019视频1| 九九99久久| 五月天婷婷在线视频| 久久99网站| 99热9999| 午夜丁香| 婷婷亚洲在线| 在线观看亚洲AV| 亚洲人人操| 在线99精品| 亚洲狠狠婷婷| 色色五月天婷婷| 日本99视频| 99婷婷五月天| 久久成人精品视频| 香蕉97碰碰碰欧美| 色色色色色色色色网站| 99ri精品| www.五月婷| 99色色视频| 天天肏视频| 日日躁夜夜躁狠狠久久AV| 婷婷五月天偷拍| jiujiujiuwuyuetian| 丁香五月偷拍| www.操.com| 色丁香五月天射婷婷爱婷婷| 精品导航在线x不卡| 久久草中文日韩欧美| 热的国产,热的综合,热的有码| 猫咪伊人AV| 日本啪啪天堂| 人妻精品久久久久久久| 六月婷婷天天操夜夜爽视频| 五月婷婷之综合激情在线| 久99视频在线观看| 激情五月丁香综合网站| 第四色色六月色综合| AV在线不卡网站| 99热这里是精品| 五月天在线视频尤物视频在线看| 久久综合激情| 九月大香蕉| 噜噜视频| 久久婷网| 人人草人人视| 狠狠色情婷婷| 五月天综合网| 99在线视频免费| 国产成人一区二区三区在线观看| 亚洲综合视频网| 天天摸夜夜爽天天做| h亚洲| 91干婷婷| 婷婷导航| 大香蕉五月天婷婷| 五月丁香啪| VA国产在线综合网站| 99热九九在线| 久超免费视频| 久久精品A片777777| 97狠狠色| 99热成人精品网站| 色天天综合| 丁香五月婷婷啪| 丁香六月婷| 伊人爱爱日本| 99热在线观看| 丁香九月激情| 久久香蕉网| 99九九视频| 婷婷四色五月| 狠狠狠人妻| 色999五月色| www.色色com| 久久久国产精品黄毛片| 成人做爰高潮A片免费视频| 日韩欧美成人片| www,26uuu,c0m,色情| 久久成人性爱| 日本熟女三区| 久久婷婷五月国产激情综合片| 91人人操人人看| 在线看AV| 婷婷五月天97干| 天天做天天爽| 99色视频| 国产亚洲在线观看| 九九热精品| 91婷婷| 婷婷五月综合色拍| 丁香五月婷婷av| 五月亭亭六月天| 思思热在线精品视频网站| 丁香亭亭久久| 丁香女人五月天| 久久99久久99精品免视看婷| 色婷婷影视| 九九久久五月天| 激情久久久久久久久| 久草嫩草在线观看| 激情丁香久久| 婷婷五月天亚洲综合| 牛牛色av| 久久综合播放| 人人人操| 婷婷丁香五月综合| 九九九这里只有精品| 日韩另类| 婷婷五月天成人五月天| 91操色| 五月婷婷视频啪啪美女| 伊人五月人妻精品| 婷婷五月综合啪| 狠狠操狠狠狠| 日日狠狠久久偷偷四色综合免费| 香蕉AV777XXX色综合一区| 丁香婷婷啪啪啪| 丁香五月婷婷亚洲另类| 婷婷五月六月激情| 五月丁香六月婷婷姐| 婷婷五月六| 丁香六月婷婷综合缴| 九九热这里只有精品6| 日本色综合| 午夜成人网站在线观看| 精品久久99码| 色欧美一级| 日本综合99| 五月丁香六月综合图| 伊人影院久久网| 人妻激情视频| 色婷婷黄色网络| 五月天亚洲最大成人| 激情五月婷婷综合视频| 99热这| 日本成人噜噜噜| 久久丝袜婷婷| 无码99| 色五月丁香五| 久热伊人9| 91碰碰视频| 婷婷丁香五月天婷婷| 五月激情精品视频| 人人爱人人摸人人澡| 九九热免费视频| 色综合激情| 亚洲九九夜夜| 99久久久精品| 99免费综合网| 丁香婷婷视频一区二区| 丁香婷婷五月色成人网站| 婷婷色五月天在线观看| 亚洲精品第一色色色色色色| 婷婷五月色惰| 九九这里只这里只有精品| 色欲资源网| 丁香婷婷激情| 国产真实乱了老女人视频 | 欧美婷婷色| 久久99久久久| 思思视频精品| 97精品自拍视频| 91Chinese在线| 婷婷五月花.97| www.五月丁香| 色婷婷五月基地在线| 五月天激情AV| 亚洲成人网站在线观看| 日韩大片艹艹| 婷婷五月丁香六月伊人网| 天天视频亚洲| 日日操日日撸| 色开心五月丁香| 日本老女人黄页在线播放| 婷婷伊人久久综合| 久久这里只精品| 亚洲九九99精品视频在线播放| 天堂综合久久| 国产美女最新VA在线免费观看| 婷婷五月天综合在线| 激情五月天色色网| 色婷婷瘦婷婷日韩| 久久草婷婷丁香网站| 五月婷婷深深爱| 任你躁XXXXX麻豆精品| 久久免费丁香| 丁香五月在线观看完整版| 五月天激情四射| 婷婷丁香久久网| 开心婷婷中文字慕| 五月丁香婷婷综合网| 天天爽天天爽| 亚洲欧美成人在线| 国产成人亚洲综合A∨婷婷| 日韩无码成人电影| 97香蕉久久超级碰碰高清版 | 91在线日本| 激情五月丁香在线观看直播| 五月婷婷中文| 欧美色宗和激情| 五月天色在线| 五月天开心网| 99啪啪视频| 天天天天天天操| 江苏少妇性BBB搡BBB爽爽爽| 婷婷五月天中文字幕.| 99热综合网| 91se视频| 天天操天天爽天天爱| WWW.99热| 人人操人人爽成人AV| 思思热久久久在线| 99热在线观看| 五月视频日本免费观看| 日韩色色视频| 99精品久久久| 日本久久人| 99热免费18| 亚洲国产精品成人va在线观看| 97色色综合| 久久久久亚洲AV无码网影音先锋| 99热都是精品| 亚洲欧美国产A片免费观看| 精品怡红九九九| 色9999日韩国产| 亚洲五月婷| 久99在线视频| 大香蕉五月| 五月天激情小说欧美激情| 色哟呦av| 毛片新网地| 爱超碰性| 小视频一区| 丰满少妇猛烈A片免费看观看| 色婷婷综合网| 99精品热| 五月色丁香综合| 久久性爱视频网站| 久久这里只有精品久久| 色婷婷五月在线| 99综合免费视频| 九九热九九| 99自拍网| 5月丁香啪啪啪| 欧美色久| 五月激情六月综合| 狠狠夜夜五月丁香| 国产乱妇乱子在线播视频播放网站| 五月天·www·com| 三年高清大片免费观看国语| 久色网五月| 久操香蕉| 婷婷五月天久久| 久久99日本精品视频免费观看| 久久思思精品| 午夜日韩久久久网站| 丁香五月天色婷婷| 综合久久高清| 婷婷久久综合| 色婷婷婷综合五月天| 中字幕视频在线永久在线观看免费 | 第五婷婷伊人丁香| 五月天丁香综合| 91一起操| 丁香婷婷综合激情五月色| 久久成人综合五月天| 婷婷五月花.97| 婷婷爱五月天人人爱| 碰超在线九色| 91婷婷色五月| 激情五月激情综合网一级丸片| 99ER热精品视频| 淫荡综合网| 大香蕉懂9| 综合一区二区三区| 日日天天天| 俺去也五月| 日本成人噜噜| 色婷婷影| 99爱在线视频| 丁香五月综合亚洲| 久Se视频在线观看| 91丨九色丨国产打屁股| 五月精品免费XXX| 99视频在线看| 97综合在线| 国产日韩欧美性生活| 婷婷欠久少妇| www.婷婷,com| 亚洲精品乱码久久久久99| 丁香五月大香蕉在线99| 操逼巨乳91| 另类的婷婷| 婷婷碰碰| 亚洲操逼片| 第四色婷婷最爱| 综合99在线| 色狠狠色| 婷婷五月骚厕所| 久久久激情视频| 婷婷丁香五| 吾爱AV导航| 丁香六月激情综合| 天天干夜夜想| 亚洲婷婷丁香五月在线| 丁香九色不卡aaa| 99热精品在线| 激情五月www| 超碰女人天堂| 婷婷酒色网| 五月丁香综合啪啪| 99热精地址| 亚洲激情av| 激情亚洲五月| 久久丁香五月天| 亚洲aV写真天天综合网久久| 99综合| 人人综合色| 婷婷激情五月| 五月天综合激情网| 一夜福利不卡| 五月天丁香成人社| 婷婷狠狠综合网入口| 五月婷婷AV| 狠狠色噜噜| 天天想夜夜爽天天爽| 伊人影院久久网| 天天草天天爽| 99.N在线视频| 五月婷婷开心亚州在线| 亚洲性受XXXX五月丁香| 国产AV不卡福利| 白人荫道BBWBBB大荫道| 综合色色婷婷| 五月丁香婷婷欧美| 综合网五月天123| 精品久色| 猫咪伊人久久| 丁香六月婷婷社区| 天天日色情| 大香蕉综合在线| 狠狠干狠狠干| 色色色.COM| 夜夜天天久久婷婷| 丁香无月在线观看| 91人人网| 日本操片| 人妻五月天激情开心网| 伊人丁香在线| 色五月婷婷五月天| 天天色宗合| 99亚洲视频| 夜夜撸天天日| 五月婷丁香在线视频在线| 丁香成人五月天| 天堂爱啪啪| 香蕉五月婷婷| 亚洲欧洲美女在线观| 国产人妻人伦精品一区二区| 天天插综合网| 九九热在线99| 婷婷五月天色色| 91色在线 | 日韩| 日本色色色| 激情综合色婷婷啪啪六月天| 99er在线观看| 91婷婷五月天综合视频| 79精品在线视频| 五月丁香手机在线| 日本久久网| 91无码视频| 成人婷婷| 五月丁香琪琪| 夜夜 操无码| 9热精品| 另类激情四射| www.色婷婷.com| 99热欧美精品| 狠狠色大香蕉| 五月丁香婷草| 久久久性爱网| 婷婷五月丁香花综合| 五月婷婷婷| 五月婷免费视频| 色色婷婷婷丁香五月天| 色五月天丁香婷婷色| 99啪在线| 手机在线日韩视频中文字幕| 色综合九九色综合88| 五月天综合久久丁香91| 秋霞AV淫| 激情五月天视频| 婷婷久久五月天| 免费AAAAA网| 丁香五月六月久久综合 | 久久九色| 久思思热视频在线观看| 亚洲激情无码久久| 69午夜成人影片| 99热这里只有精品1998| 女人天堂 AV| 开心五月网| 久久婷丁香五月| 五月丁香影院| 五月丁香婷婷啪啪| 综合色五月亭亭| 黄色短视频在线观看| 亚洲色综合色网| 五月天婷婷操逼视频| 丁香六月婷婷开心| 免费视频舔| 一二三区视频韩国| 亚洲天天综合| 日本欧美国产| 日日杆天天| 日本欧美成人片AAAA| 婷婷9月天| 欧美乱码国产一级A片| 狠狠操综合| 五月丁香啪啪拍| 色综合天天天天做夜夜| 操九色| 久青青久| 99热这里只有精品96| 99热无码| 亚洲AV无码成人精品电影| 激情九色| 丁香婷婷人妻| 婷婷五月骚厕所| 97色女人在线| 色999;丁香五月| 射满了还射免费在线观看 -午夜版全集-新视觉影院 | 婷婷久久欧美| 日韩在线aaa| 伊人激情综合网| 成人做爰高潮A片免费视频| 成人视频免费观看高清完整版在线观看| 久久九精品| 五月噜噜噜色综合| www,26uuu,c0m,色情| 久久婷婷激情| 亚洲六月综合激情久久下卡| 婷婷五月天综合久久| 丁香五月婷婷性爱| 玖玖热视频| 丁香五月激情网| 大香蕉太香蕉视频97| 7777激情基地| A久网| 中文字幕 码精品视频网站| 射婷婷中文字幕| 五月天丁香综合久久国产| 亚洲色婷婷99一9|| 色色色五月婷| 成人中文网| 婷婷色中文| 亚洲AAA| 五月婷婷激情中文字幕| 国产精品18久久久| 91凹凸在线| 先锋资源 996| 大香蕉人妻| 婷婷94s| 亚洲婷婷丁香五月在线| 人人摸人人| 午夜不卡久久精品无码免费| 日日噜噜夜夜狠狠久久丁香六月| 久久这里有精品视频在线免费观看| 成人精品在线观看| 婷久久综合| 久久视频这里都是精品| 久操无码| 婷婷五月丁香综合桃花色网| 婷婷丁香一月| 激情综合色| 性爱七区| 久久这里只有精品1| 噜噜噜久久| 色婷婷69| 五月天涩涩| 国产又色又爽又黄又免费| 亚洲天堂热| 99色热视频在线| 黄色片久久| 操操操操操操婷婷五月天| 性综合网| 91九九热| 婷婷五月天激情综合深爱| 九九视频在线观看| 九九色之九九色88| 操人妻视频91| 精品少妇人妻AV无码专区偷人| 4399成人黄A片| 色婷婷精品视频| 色综合五月| 日韩六十路91性交电影| 中文av网| 亚洲黄色影视| 九九99精品视频| 东京热人妻一区二区三区在线| 先锋资源 996| 伊人无码高清| 婷婷六月丁香在线| 亚洲婷婷免费| 日韩成人AV在线| 婷婷激情视频| 五月天社区婷婷丁香社区| 99热费观看| 精品视频二级九九| 亚洲综合色丁香五月天| 精国产品一区二区三区A片| 99久热这里只有精品视频删减版| 亚洲99综合| 国产亚洲网站在线| 六月丁香网| 欧美久久久久久久久中文字幕| 亚洲一区二区无码蜜乳av| 九九热精品在线| 五月色视频| 激情图片五月天| 婷婷综合欧美| 久久99网| 综合激情伊人影视在线| 久久综合五月| 婷婷六月丁香在线| 99久久婷婷国产综合精品草原| 丁香五月婷婷六月婷婷| 激情综合五| 色五月天天在线观看资源站| 五月激情小说| 五月丁香在线视频观看| 人妻人人操| 六月丁香成人| 性色做爰片在线观看WW| 啪啪啪五月天| 丰滿爆乳一区二区三区| 亚洲色婷婷视频| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 久久色情| 色情婷婷| 九九这里只有精品| 五月天婷婷色播在线网| 操91综合网| va婷婷| 99视频在线啪| 欧美色九| 亚洲色婷婷| 九九在线精品| 五月丁香 啪啪啪| 任你爽在线视频| 丁香六月婷婷综合啪啪| 色五月天丁香婷婷色| 玖玖99免费视频| 91九九| 天天射影院| 色婷婷六月天在线| 久久婷婷资源| 丁香婷婷五月综合色情| 夜夜操夜夜爽| 五月丁香本色在线观看| 日韩色五月| 大香蕉久久婷婷| 99热这| 狠狠色丁香99| 中文字幕高清av| 99久久99久久| 五月天综合缴情网网站0| 久久小说网| 久久五月综合| 91九色精品女同系列| 久久99热这里只频精品6学生| se99在线| 97在线干| 99热手机在线精品| 在线观看玖玖资源免费观看| 五月丁香婷婷综合网色欲| 超碰激情网| 99色看这里只有精品| 婷婷丁香六月天激情四射网| 丁香六月综合激情| 天天草人人摸| 超碰cap| 开心五月综合激情网| 99热欧| 亚洲激情六月丁香| 激情久久久| 日韩乱玛久久| 色欲九区| 韩国中文字幕91| www.久久综合| 黄色99网| 91凹凸在线| 熟妇人妻中文字幕无码老熟妇| 五月花激情| 五月丁香| 婷婷五月综合色小姐小说| 色色五月天丁香| 亚洲婷婷婷| 99久超碰| 爱超碰性| 色情五月综合婷婷| 巴基斯坦粉嫩无码视频| 五月婷网| 大香久久综合网| 色色色色色综合| 亚艹艹| 天天射影| 极品九九九九九九| 99国产精品久久久久久久久久久| 26uuu欧美| 久久综合伊人综合在线| 色噜噜夜夜夜综合网| 伊人热在线大香蕉| 人妻av在线| 国产三级秋霞| 免费99情趣网视频| 91碰超| 久久免费高| 亚洲五月婷婷| 丁香五月天堂网| 成人网丁香五月| 99超级碰免费视频| 99啪在线| 九九色婷婷五月天| 婷婷五月六月| 少妇综合网| 丁香婷婷久久老熟女综合网| 国产激情AV| 影音先锋综合网| 97在线观视频免费观看| 99视频内射三四| 久久久久久性爱视频| 五月综合777| 中文字幕在线日亚洲9| 色爱综合五月| 久久婷婷五月综合色丁香花| 99热这里只有精品青草| 另类 在线| 免费观看欧美成人AA片爱我多深| 五月人人丁香婷婷五月人人丁香| 丁香五月婷婷激情网| 老师把我爽高潮了免费A片| 鲁鲁色五月| 五月婷婷性爱| 99自拍视频| www.91在线观看| 五月婷婷综合在线视频小说| 五月丁香久久综合精品| 99er日韩| 丁香五月首页| 狠狠色丁香久久| 婷婷丁香先锋资源网站| 99色人| 无码少妇高潮喷水A片免费| 日狠狠| 久草大| 激情久久久久久久久久久| 久久久性爱视频| 夜夜操天天爽| 久久精品永久免费| 色婷婷视频| 色色网站免费在线视频| 九九碰九九爱97| 激情婷婷丁香五月天| 激情宗合 激情宗合| 69人人操人人爽| 蜜臀av 粉嫩av 懂色av| 婷婷色色综合| 4399无码视频| 任你躁XXXXX麻豆精品| 欧美色综合天天久久综合精品| 天天插天天干| 九九热视频在线观看| 操碰91| 六月婷婷综合| 婷婷五月色| 91美女被操| 五月婷婷综合激情网| 五月婷婷激情| 99精品自拍视频| 亚洲色碰| 久99热| 色色五月丁香| 欧美操人| 99热66| 激情五月天婷婷| 激情五月天视频| 天天做天天爱| 中文幕无线码中文字蜜桃| 精品成人无码A片观看香草视频| 天天色情站| 黄桃AV无码免费一区二区三区 | 开心五月婷婷激情| 激情五月天久久丁香| 色视频2025| 亭亭丁香久久五月| 岛国资源网| 五月丁香六月综合激情网| 99热在线观看这里只有精品| 岛国AV网| WWW.桔色成人.COM| 久月婷婷| 综合网色| 久久色六月| 9l视频自拍九色9l黑人| 丁香五月WWW| 91狠狠色丁香| 噜噜色天天开心| 婷婷5月开心6月| 热99热9| 五月丁香婷婷基地| 色婷婷9| 国产日韩欧美性爱| 99干日日干| 精品无码片| www.色综合.com| 激情综合网五月在线播放| 永久99免费视频网站| 情涩婷婷五月天| 五月丁香啪啪网| 99热18| 国产毛片欧美毛片久久久| WWW、99热| 综合网啪| 伊人春天av| 久久婷婷婷婷伊人| 五月的色婷婷高潮| 99ri在线视频| 97精品人人A片免费看| 五月天堂六月丁香亚州中文字幕久久 | 婷婷激情丁香五月天综合| 操逼在线视频| 九九热在线精品| 五月婷综合| 热91久| 六月丁香狠狠爱| 五月天婷婷色在线视频免费观看| 五月激情视频网| 99re鈥哸鈥唙| 色婷婷导航| 国产无套精品一区二区| www.久久婷婷| 亚洲激情亚洲激情 | 开心五月婷婷婷美女| 欧美情月伍月天| 天天干天天爽天天操| 婷婷久久99| 无码人妻精品一区二区蜜桃色欲| 99精品网址| www.99视频| 五月涩涩网| 婷婷丁香97| 北条麻妃九九九国产精品视频| 狠狠情色| 国内婷婷丁香社区在线播放| rr天天操| 色色色综合| 玖玖激情网| 九九热这里有精品23| 五月丁香六月在线| av九九| 婷婷六月综合基地| 五月天激情小说电影| 99热网站| 日本乱子人伦在线视频| 小泽玛利亚视频一区二区| 99热6这里只有精品6| 天天综合网在线| 五月婷在线| 五月天丁香久久| 日韩小视频在线99| 婷婷五月成人| 五月婷婷亚洲综合在线| 激情五月黄色小说| 网站免费一站二站| 超pen个人视频97| 插逼综合网| 天天干天天叉| 婷婷五月天成人网| 亚洲人妻电影| 99re热久久| 婷婷99| 99久久高清视频| 日本婷婷网| 99热日韩| 综合久久六月| 五月丁香网站在线播放| 人人澡玖玖一| 九九综合五月欧美| 在线综合婷婷| 色色色色色色色色综合网| 狠狠色噜噜狠狠亚洲A∨| 色天天久婷婷| www.久久| 九月婷婷综合网| 色丁香婷婷美女视频网站| 另类激情综合| 插逼综合网| 天天久综合| 又大又粗九一在线| 激情视频婷婷五月花| 亚洲色婷婷| 天天肏视奸| 夜夜操夜夜姧| 丁香五月成人| 欧美99热| 天天日 天天草| 99热在线播放精品| 九九草热在线观看| 色播五月天激情| 国产激情AV| 99超级碰碰| 亚洲乱啪| 男人的天堂五月丁香| 天堂伊人干| 婷婷五月 丁香六月| 九九热视频精品| 操操国产| 成人丁香五月天Av| 婷婷中文综合网| 六月婷色六月| 色欲一区二区三区精品A片| 99热欧美在线观看| 久久激情综合| 原琪琪色影院| 婷婷五月综激情| 色婷婷色综合激情91| 天天婷婷| 熟女国产在线一区二区三区四区| 特级片神马电影| 久久精品凹凸分类| 九九一综合精品| 婷婷成人基地| 一个色的综合| 丰满女老板BD高清A片| 夜夜骑操AV| 激情综合色| 激情五月天激情网| 中文字幕黄色片| 天天开心婷婷丁香五月| 色婷婷五月天在线观看| 久久XX| 超碰免费人人| 色优久久| 996er热| 噜噜色五月| 五月丁香六月| 天天色综合色色色色色。| 二色av| 五月丁香婷成人网| 婷婷五月天在线观看| 性小说五月天| 国产真人做爰视频免费| oVV4WIB3vFi8D| 丰满少妇猛烈A片免费看观看| www..com色爱| 97超碰,人人舔,人人操,人人摸 | 日韩野外 无套| 欧美日韩AAA| 五月久久| 欧洲色色| 97色热| www.婷婷五月| 久久成人性爱| 综合av在线| 丁香五月婷婷激情蜜桃| 九九色天堂| 97热精品| 天天开心天天色| 青青青在线视频国产| 丁香五月天无码| 97se在线视频| 五月丁香婷婷综合视频| 啪啪激情综合| 色播丁香| 狠狠狠狠操| 色色色色色五月| www.99久久久| www.激情五月天.com| 超碰人人摸人人操| 淑女丝袜bi操逼123| www.99精品在线| 天天爽天天操| 五月丁香狠狠地噜噜噜噜| 91久久九| 五月婷婷丁香综合| 99热这里只有精品国产免费| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 色噜噜婷婷| 丁香五月综合激情啪啪| 五月天激情四射| 五月丁香AV在线| 丁香五月激情网| 九色视频91| 久久久久久丁香五月| 日本黄色在线观看| 久久精彩免费视频| 丁香婷婷啪啪啪| 91精产一区三区免费观看| 开心激情综合| 天天色天天爱天天爽| 九九精品热播| 五月天色色色| 久久只有18视频| 少妇高潮一区二区三区99欧美| 成人做爰A片免费看视频| 亚洲va在线∨a天堂va欧美va| 日本三级日本三级99| 国产在线aaa片一区二区99| 来吧亚洲综合网| 人人澡天天色天天做| 亚洲区在线| 色婷婷久久综合| 婷婷五月永远18免费久久久| 久久网址99热| 99热8| 亚洲色婷婷视频| 秋霞性爱AV| 婷婷五月丁香青青草在线| 五月丁香激情综合网| 草榴视频黄色网| 97香蕉碰碰人妻国产欧美| 国产探花AV在线| 欧美人人女女精品综合五月天| 综合久| 青草少妇激情| 五月丁香日本在线视频观看| 丁香五月婷婷激情蜜桃| 思思热在线播放| 激情综合五月色丁香婷婷| 中文字幕黄色片| 爱iii做iiii日日| 婷婷六月久久综合导航| 婷婷激情六月天视频| www久久久| 婷婷五月天丁香久久| AV人人操| 激情五月天 婷婷| 五月婷婷就去色| 操逼六区| 日日操天堂| 99亚州综合精品成人网| 婷婷丁香五月亚洲| 九九精品片一| www.五月天色色色| 日日噜噜夜夜狠狠久久丁香五月| 色五月天丁香| 激情VA视频| 婷婷五月激情基地| 操操天堂| 91fuliwang| 丁香网站| 自拍偷窥99热| 五月婷六月| 亚洲婷婷丁香五月天激情小说 | 五月久久婷婷| www.色五月.com| 色五月激情五月丁香五月婷婷啪啪综合 | 九九热精品99| 玖久久网站| 99精品网| 99热在线观看| 激情五月天小说网| 色狠狠综合| 99er免费在线观看| 91操片| 亚洲成片在线观看| 综合色色五月| 色情五月综合婷婷| 欧美精品99| 婷婷丁香五月激情| 午夜电影网VA内射| 成人婷婷五月天| www.yw尤物| 91日日日| 五月丁香婷婷色播无码| 久久精品国产精品| 这里只有精品视频在线| 久久久久久久97| 综合五月天| 99热6这里只有精品|