欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,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
返回資訊列表
九九大香视频| 激情五月,色播五月| 天干夜夜操| 丁香五月激情婷婷视频| 五月天丁香看婷婷| 五月婷婷影院| 久热九九| 婷婷激情伍月网| 久久精品99国产精品日本| 色五月天网| 久久久全国免费视频| 99福利视频导航| 婷婷操超碰| 丁香五月婷婷狠狠色| 丁香六月婷婷久久综合| 国产无人区大片| 六月色日韩| 久草婷妨| 97日本在线播放| 丁香六月狠狠干| 婷婷色播六月无码| 六月丁香视频网站| 99操99| 少妇伦子伦精品无吗| 亚洲精品永久久久久久| 亚洲色婷婷网站| 色欲影香| 婷婷五月六月丁香| 亚洲中文字幕av| 丁香五月婷婷手机| 婷婷丁香五月噜噜噜| 中文字幕97超级碰| 性视频久久| 五月婷婷激情日本| 啪啪激情网站| 无码一区二区三区四区五区| 色婷婷在线播放| 天堂在线伊久| 九月性爱网| 任你爽视频| 激情婷婷色五月| 婷婷五月丁香狠狠| 亚洲十月婷婷综合| 爱婷婷久久视频| 都市激情蜜桃婷婷五月天 | 丁香五月婷婷五月| 亚洲综合丁香五月天| 色激情综合狠狠婷婷| 色欲久久久久久综合网综合网| 精品99网站| 99网址在线看| 久久婷婷五月天| 99视频在线播放大全| 国产精品24r| 9色91视频| 色色色色色色色色综合网| 色五月视频无码播放| 久久婷婷六月综合| 九九热九九| 精品无码99| 99热啪啪| 五月天婷婷网站888| 在线观看中文字幕| 91狠狠色色丁香婷婷综合久久| 五月天综合图片| 亚洲综合丁香五月| 操逼棍操逼| 五月丁香六月激情狠狠| 色婷婷色婷婷五月| 香焦网五月天| 色偷偷五月天| 影音先锋自拍网| 婷婷丁香六月| 激情五月婷婷视频一区二区三区| 少妇2做爰HD韩国电影| 欧美大片免费播放器| 亚洲乱码精品久久久久..| 超碰成人免费| 天天综合色99| 五月开心婷婷网| 欧美欧盟性爱网| 丁香五月自拍| 黄色AAAAA| 色五月婷婷亚洲| 久久婷婷综合五月天| 五月天偷拍| 九九色图| 99热官网| 久操人| 男人天堂 久久| 丁香五月婷婷99| 手机在线日韩视频中文字幕| 日本人妻丁香婷婷久久寝取熟女五月| 色偷偷狠狠| xxx.色婷婷| 丁香五月婷婷大香蕉| 超碰成人av| 婷婷久久五月天| 五月天婷婷成人网| 一起草AV入口| 国产免费AV在线| 久操婷婷| 婷婷五月激情五月激情| www.婷婷五月天| 久久精品凹凸分类| 丁香激情网| 99热久久这里只有精品| 婷婷五月激情丁香| 99原创自拍视频在线观看| 蜜乳AV成人| 超碰99资源站| 色色色色色色色色综合网| 99热免费观看| 牛牛热这里只有jingpin| 9|在线观看视频| 九九久久综合| 色色99| 婷婷五月影院| 丁香五月91| 丁香五月激情综合在线观看| 五月婷婷激情综合| aV欲望人妻中文字幕| 怡红院 久久| 日韩乱玛久久| 91.www综合| 久久新地址| 免费久久这里只有精品99| 播播网色播播| 在线观看视频1区| 婷婷丁五月| 天天操狠狠操| 久久婷婷九月国产精品| 77799热| 丁香五月人妻| 99九九中文字幕视频| 色亭亭五月天网扯| 久热9| 刘玥精品一区| 丁香婷婷五月六月天| 99热在线观看精品| 日韩欧美成人片| 免费播放99性爱视频| 99热国产| 人色五月天婷婷| 琪琪色五月天| 黄色成人网站在线播放| 人人操人av| 色色色色色网| 五月花综合网| 97人人干| 六月香五月婷| 婷婷丁香红五月91C| 另类小说五月天| 激情五月婷婷五月| 日本久久99久久| 丁香五月精品| 色婷婷四色| 五月婷导航| 国精产品一区一区三区免费视频| 狠狠操天天日| 五月天另类小说久久小说网| 五月丁香人妻| 在线观看av网站| 婷婷五月婷婷| 久久五月网| 超碰99久久| 成人一区在线观看| 色五月AV| 久热九九| 在线观看免费人成视频无码| 色综合色综合网| 97日韩无套内| 五月婷婷中文字幕| 國語久久婷| 色情五月综合婷婷| 大香蕉久久| 婷婷狠狠操| 狠狠夜夜五月丁香| 国产免费一区二区三州老师F1……| 精品色色网| 激情人妻蜜夜系列区| 丁香五月激情六月综合| 亚洲国产网站| 五月天久久婷婷| 99热99ai| 激情婷婷22月间| 色色色热热热| 思思99精品视频在线观看| 狠狠狠狠狠干| 一起草性爱不卡视频| 久久嘟嘟丁香| 色情综合网| 99啪啪| 丁香六月开心| 中文字幕人妻AV| 色九亚洲| 九九热这里只有精品一| 色狠狠综合网| 90色免费视频| 色婷婷久久综合| 成人超碰AV| 丁香8月手机综合| 人人爽欧美婷婷久久久五月丁香| 色五月综合在线| 国产乱妇无乱码大黄AA片| 操日本人妻视频| 超碰免费电影| 亚洲精品又粗又大又爽A片| 婷婷五月天另类网站| 日韩AV一区二区三区| 亚洲综合99| 五月婷婷co.m| 免费AV播放| 无码激情AAAAA片-区区| 五月天丁香网| 五月丁香六月婷婷玖玖| 综合色图区| 新激情五月天| 99热亚洲| 五月色丁香| 久久这里只有精品07 | 丰满少妇猛烈A片免费看观看| 五月激情丁香| 欧美色播综合在线观看| 日韩ac不卡无码| 天天天天干| 亚洲激情婷婷| 五月丁香色婷婷综合| 另类A片| 草草女人亚洲| 另类小说色婷婷| 丁香五月激情婷婷婷婷在线观看| 激情丁香五月激情婷婷| 日韩成人电影AV| 99视频热99| 97五月天| 五月天色不卡| 亚洲精品视频在线播放| 色五月av| 亚洲va欧洲va国产va不卡| 97人人草| 伊人久久大香线蕉av最新| 婷婷色色网站| 草草女人亚洲| 中文字幕1区2区。| 可以看的av| 美女网黄| av性爱网站| 女人天堂av| 久久香蕉福利| 久久91久久91色欲精品| 亚洲视频国产一区| 67194中文字幕| av操B网站| 色婷婷亚洲婷婷| 天天操中文字幕| 婷婷五月天BBw| 天插天啪天啪天啪| 一级A片天天操夜夜操| 激情com| 五月婷婷性爱| 丁香婷婷九月| 黄色片区子| 极品人妻VideOssS人妻| 五月天国产| 五月天激情av| 五月丁香六月婷婷网| 久99热| 伊人婷婷色激情丁香| 久婷婷五月丁香在线观看| 在线播放成人网站| 综合激情五月综合激情五月激情1| 综合激情五月天| 亚洲性爱AV| 欧美日韩一区二区三区四区| 亚洲成人AV在线| 伊人成综合五月婷婷| 久久5 9视频免费观看| 六月丁香啪啪啪| 五月天婷婷综合网| 久久99免费视频网站| www.色欲丁香婷婷| 丁香五月婷婷亚洲色图| www.丁香五月| 欧美综合激情五月丁香| 五月情婷婷| 这里只有精品免费观看网占| 超碰在线观看9| 99热久草| 欧美黑人巨大性生话| 日韩免费视频| 亚洲免费在线观看岛国| 五月丁香六月综合情在线观看 | 九九色影视| 婷婷月五天在线在线看| 99热精品一区| 99色 | 视频一区二区在线| 99网址在线看| 色婷婷五月天成人网| 99久久精品视频女神1| 国色天香伊人狠狠色| 无人精品在线视频| 亚洲欧美婷婷五月色综合| 婷婷射图| 99在线视频观看| 人人操 色| 99热永久在线观看| 色婷婷久久综合中文久久一本| 婷婷综合97| 色五月婷婷九月| 日本精品99| 老美AA片| 成人婷婷| 99爱在线视频观看| CHINESE熟女老女人HD视频| 91丨九色丨首页| 91日韩美女被插视频| 亚洲综合在线伊人婷| 丁香婷婷伊人| 久久久久婷婷| 五月婷婷六月综合| 5月婷婷激情6月| 天堂中文国产| 久久密臀婷婷| 亚洲色五月天在线| 欧美一级色| 激情五月黄色| 一区二区成人电影| 夜夜夜夜夜骑撸| 五月天婷婷影院| 九九视频在线观看视频在线播放69| 丁香五月婷婷AV| 丁香婷婷啪啪啪| AV网站免费在线| 色欲久久99精品久久久久久| 色综合色婷婷色伊人| 97色色色色色| 久久婷婷综合五月| 六月丁香射婷婷欧美色图片| 99热在线精品观看| 國語久久婷| 99性视频| 久久婷婷网址| 欧美婷婷五月| 亚洲性爱AV在线| 久久综合这里只有精品1| 综合网啪| 亚洲婷婷激情综合激情999精品| 五月色婷婷综合丁香精品无遮挡| 狠狠综合网| 97久久久免费福利网址| 99久在线精品99re8热| 极品人妻VIDEOSSS人妻| 玖玖资源部在线播放| 9久国产精品| 一点色成人网| 五月天婷婷激情小说| 五月婷久久| 色色色97| 久久hd| 五月丁香婷婷激情四射迷人| 五月天狠狠| 中文字幕丰满乱孑伦无码专区| 精品婷婷五| 91九色精品熟女内射| 98永久精品| 2020久久婷婷五月| 婷婷香草网| 精品99这里有| 婷婷五月影院| 五月婷婷就去色| 来吧亚洲综合网| 超碰人妻在线| 99爱精品| 狠狠狠狠狠草| 亚洲AV永久无码影院黑人| 乱色色色| 九九热青草| 丁香五月AV综合激情| 日韩成人网址| 丁香五月综合在线播放| 丁香五月天堂亚洲社区| 天天综合精品| 人妻综合网| 九九色欲网| 大香蕉久久伊人婷婷五月丁香| 久久亚洲A| 夜夜爽天天爽| 啪啪干伊人婷婷| 天堂久久丁香| 影音先锋偷偷色男人站| 激情色色| 在线播放人妻| 丁香六月婷| 国产三级片91| 熟妇内谢69XXXXXA片| 色五月天网| 97在线日韩| 丁香五月婷婷网| www.91婷婷| 成人短视频在线观看| 亚洲色色色色色| 免费无码毛片一区二区A片| 亚洲、热| 中美日韩成人在线| 欧美怡红院黄站| 丁香六月激情网C0W| 婷婷丁香九色| 91天天操天天干天天射| 五月天激情无码高清| 婷婷狠狠爱| 欧洲亚洲免费视频9| 操人妻90p| 久久3级片| 九月丁香亭亭| 五月婷婷丁香色播网| 九九热91| 欧美婷婷| 成人在线视频一区| 狠狠色丁婷婷日日,伊人激情综合网| 91碰免费视频| 爱婷婷都市激情| 婷婷色在线观看| 亚洲日韩一页精品发布| 色私五月婷婷| 五月久久综合| 91丨九色丨熟女丰满| 久久婷婷五月国产色综合激情| 精品人妻在线免费观看| 第四色激情网| 99精品在这里| 色高清无码视频| 97黑人精品区| 日本道久久91| 国产欧美精品AAAAAA片| 五月丁香久人妻中文| 国产美女精品| 99久久久国产大片区| 五月丁香亭亭A片| 婷婷色五月天在线| 五月天婷婷综合网| 婷婷中文字暮| 亚洲精品小视频| 97人人操在线| 色蜜婷婷| 日本情色一区二区| 天天日天天肏天天奸| 97色在线视频| 天天天在线观看| 狠狠久综合| 色情性爱视频网址| 一本久道综合色婷婷五月| 欧美婷婷色五月网| 日本欧美成人片AAAA | 丁香五月综合无码趴趴| 美女xx不卡| 丁香网站| 五月丁香狠狠爱| 99在线精品视频| 午夜丁香五月天综合| 婷婷五月丁香狠狠| 日日干日日色| 亚洲中文丁香| 深爱五月综合网| 一级性感黄色内射视频| 久久久婷婷五月亚洲97号色| 成人啪啪色婷婷久| 婷婷 丁香 久久| 91狼友视频网页更新| 五月综合视频在线| 亚洲99激情| 九九热a| 99在线公开视频| 久久久五月天婷婷成人网| 色婷婷yy久| 99在线视频观看| 日韩专区五月天婷婷丁香| 五月综合色| 91狠狠色丁香婷婷综合久久精品| 图片区 小说区 区 亚洲五月| 色综合激情| 亚洲综合九九| 五月婷婷深深爱| 欧美性爱五月天| 五月丁香啪综合| 五月丁香色综合| 无码色| 五月丁香激情综合啪啪| 97中文在线| 五月色婷婷综合| 婷婷成人视频| 国产午夜成人免费看片无遮挡| 精品一二三区久久AAA片| 狠狠狠狠狠狠| 亚洲人成网站999综合| 色婷小说| 亚洲婷婷91丁香| 亚洲激情AV| 色六月天天激情综合网| 新激情五月天色播| 婷婷狠狠操| 另类专区在线| 天天做天天爽| 婷婷黄色网| 综合五月丁香六月婷婷| 色五月婷婷 成人| 噜色精品| 丁香五月婷婷五月| 丝袜大香蕉| 五月停停大香蕉| 人人叉久| 精品九九在线观看| 久久99热这里只有精品| 婷婷丁香18| 婷婷无五月无码视频| www.综合久久| 天天爽天天日人人爱| 五月婷婷六月丁香激情综合网| SS丁香五月婷婷| 婷婷五月天小说| 丁香六月激情| 五月丁香中文婷婷中文| 色五月婷婷激情综合网| 五月激情综| 五月婷婷大香蕉| 91色性感五月婷婷丁香| 色婷婷av在线| 丁香婷婷五月基地| 激情av| 婷婷六月丁综合| 综合激情五月天| 停停五月天激情网| 丁香婷最新动态| 蜜桃五月天色| 99热这里只有精品4| 97人碰人操| 婷婷中文无码| 久草五月天| 成人国产欧美大片一区| 九色自拍| 五月丁香六月婷婷无码| 欧美性猛交99久久久久99按摩| 亚洲视频国产一区| 99国产小视频| 亚洲妇女熟BBW| 98色花堂98t.R| www.av骚货| 九九无码| 久久五月视频| 欧美三级欧美一级| 激情久久 婷婷| 色色色色色级无码| 色色色9| 久久九九99桃花视频| 色欲香综合网| 久久九九综合| 激情综合五月| 狠狠爱婷婷| 天天综合色99| 欧美草久久五月天91| 色狠狠色| 五月天婷婷伊人| 五月婷婷综合在线观看| 99超超碰| 色插综合网| 99激情视频| 色碰碰| 五月丁香人妻| 丁香婷婷五月综合欧美另类| 九九婷婷五月天影视| 嫩草视频在线观看| 天天综合网91| 色欲丁香| 九九黄色网| 欧美色久| 91欧美日韩综合| 丁香 久久| 色婷婷亚洲在线观看| 欧美激情综合色丁香婷婷五月天| 99天堂在线观看免费视频| 金桔一区二区ab地址| 亚洲美女高潮久久久久久69| 99热都是精品| 五月婷婷丁香大陆免费| 男人天堂99| 91精品无码久久久久久五月天| 99热这里有精品| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 五月成人丁香av91| 久久久久人妻中文| 情一色一乱一伦一91A| 夜夜谢天天干| 99热大香蕉| 成人丁香五月| 深爱 五月天| 99国产精品久久久久久久久久久 | www.久久爱.com| 中美日韩成人在线| 婷婷丁香十月| 国产热精品| 91人人爱| 激情六月天| 精品激情| 麻豆AV一区二区三区| 开心综合激情综合| 久久在线大香蕉| 91啪啪视频| 播五月婷婷开心| 大地资源色婷婷视频在线| WWW.99热| 超碰二区| 中文字幕欧美日韩VA免费视频| 狠狠干激情五月| 激情丁香五月综合| 91精品久久久久久| 六月丁香五月激情网| 艹色18p| 欧美精品999| 天堂色婷婷| 天天操天天干天天日| 99热99免费| 超碰97色| 亚洲va综合va国产va中文| 米奇影视五月天| 婷婷久久影院| 精品一区二区三区四区五区六区| 婷婷五月天影视| 69精品人妻不卡视频| 香蕉久久国产AV一区二区| 五月情综合| 色五月大| 久热婷婷综合| 九九99免费视频| 精品三区影院| 99综合视频一体| 91精选国| 五月丁香六月婷综合成人综合| 美国天天日天天操| 大香蕉啪啪啪| 伊人玖玖网| 爱超碰性| 色综合天天综合成人网| 日本婷婷| 日本va视频| 色情综合网| 无遮挡国产高潮视频免费观看| 亚洲精品色| 天天碰夜夜操| 综合激情在线视频| 婷婷激情社区| 五月天色婷好好| 大天天伊人| 久久综合五月天激情小说网站 | www久视频com| 久久激情网| 色色色热热热| 五月天综合影院| 99re在线观看视频| 久热超碰| 超碰日日操| 99ri视频在线观看| 熟女强人妻一区二区三区四区无| 婷婷五月色| 丁香五月首页| 久久伦乱| 婷婷五月色| 五月激情网络| 开心色播色五月婷婷| 欧美日韩一a.无| 激情五月,激情综合网| 日韩国产AV播放| 91人在线观看| 日本欧美成人片AAAA| 亚洲精品99| 婷婷久热| 色色操| 97碰碰在线看视频免费| 狠狠色大香蕉| 九月婷婷激情| www..999热久| 婷婷五月激情图片| 九九九九综合| 婷婷五月天国产| 婷婷五月天第三页| 色噜噜狠噜噜视频| 欧美影院| 久久9精品| 日本在线视频播放91| 丁香婷婷五月综合| 成人版视频在线观看| 夜色综合网| 91人人操人人爱| 99精品在线观看视频| 日本九九视频| 91久久1118| 91精品久久久久久综合五月天| 久久性爱视频| 色色99| 成人国产欧美大片一区| 成人AV在线中文版| 狠狠爱丁香婷| 婷婷天堂视频| 欧美99热| 高清激情av在线观看| 操操操操操操婷婷五月天| 丁香五月香蕉在线| 狠狠干综合| 国产Va视频| 色五月婷婷婷婷| 热久视频| 五月丁香久久网| 婷婷五月影院| 五月伊人91| 成人短视频免费| 五月丁香激情综合六月涩涩爱| 欧美色久| 国产精产国品一二三在观看 | 九九热这里只有精品9| 亚洲情欲久久| 日韩在线视频中文字幕| 琪琪理论片| www.五月瑟| 超碰93在线观看| 另类天堂| 9久久网| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 红桃91人妻爽人妻爽| 超级碰碰碰碰视频| 91九色视频| 婷婷五月天com| 色色网站免费观看| 欧美啪啪9| 色爱综合网| 日本全黄一级999| 国产婷婷色五月| 国产另类综合| 国产激情视频在线观看| 久久久久9| 禁片二区| 99热精品网| 婷婷五月天国产| 激情五月天婷婷| 91视频久久久| 九九操综合网| 91蜜桃婷婷狠狠久久综合9色| 啪啪日本欧美| 入口五月婷婷六月香| 国产成人+亚洲+欧洲| 色五月婷婷基地| 9热在线视频| 天堂五月婷婷| 91色久| 亚洲欧洲一二| 思思色综合网站| 久久久18| 日韩视频女神99| 思思热再线视频| 婷婷五月六月| 久热一区| 天天爽成人综合网站| 久热这里只有精品6| 99国产精品久久久久久久久久久| 五月 成人 婷婷| 性色视频| 丁香婷婷九月在线| 五月天社区婷婷丁香社区| 色婷插| 色五月婷婷天天干| caop在线| 9久久精品视频| av在线色五月丁香婷区久| 五月婷婷丁香六月| www.久久久久久久| 九九在线精品| AⅤ网站在线看| 激情五月图| 五月激情六月宗合| 97狠狠色| 丁香五月手机在线| 日本毛片内射| 日日.c| 99久久婷婷综合| 99视频精品全部免费观看| 国产亚洲精品久久久久久牛牛| 亚洲天堂热| 大香蕉99热| 久久婷婷六月综合综合| Www.狠狠| 亚洲成人精品三区| 激情五月婷婷色综合| 五月香婷婷| 五月天婷亚洲天综合网综合| 丁香激情五月| 五月丁香综合激情在线观看| 99精品在线| 丁香激情五月综合网| 99热这里只有精品5| 丁香五月激情宗合网| 99热国产这里只有精品| 五月丁香爱婷婷深深| www超碰| 无码中文一区二区三区| 免费观看全黄做爰的视频| 五月婷成人网| 亚洲天堂婷婷丁香| 区区欧美你爱| 激情图片亚洲| 天天干天天干天天干天天干天| 狠狠干狠狠操狠狠爱| 天天插天天射| 香蕉婷婷| 天天日天天插| 日日鲁鲁夜夜爽爽| 日日夜夜亚洲一区| 婷婷五月激情网| 高清不卡一区| 无遮挡国产高潮视频免费观看| 久久免费精品小视频| 亚洲成人在线播放| 精品人妻久久久久久久| 日韩AV一区二区三区| AV在线免费网站| 婷婷丁香69精华| 亚洲深喉aV| 开心激情综合| 九月婷婷久久| 久草热8精品视频在线观看| 色狠狠色综合| 久草性爱| 午夜天堂一区人妻| 五月激情六月丁香| 丁香综合婷婷开心激情网| 国产全是老熟女太爽了| 婷婷日日夜夜| www.色五月| 亚洲婷婷丁香五月在线| 成人AV播放| 国产激情AV| 森林影视大全,最好看的2019年视频 | 开心激情网五月| 8区视频在线| 图片区 小说区 区 亚洲五月| 激情五月色播五月| 五月天狠狠网站| 九九热9| 色99在线视频| 思思w99| ww久久| 91久女| 五月丁香大香蕉| 五月天激情网页| 成人网站免费在线播放| 欧美久久久中文字幕| 天天天干夜夜夜操| 成人在线综合| 天天碰夜夜爽| 99热这里只有精品23| 日韩操人| 色婷婷五月综合在线| 色色色色色九九九九九| 色婷婷基地 | 色播五月| 色婷婷五月在线| 五月天综合在线观看| 激情q青青草在线婷婷| 激情久久丁香| 五月丁香亭亭激情操逼网| 久9热| 天天狠狠夜夜狠狠2023| 人妻熟妇六区| 99久久久国产大片区| 探花搜索结果 - 黄上黄| 免费无码毛片一区二区A片| 一本久道综合色婷婷五月| 99久久玖玖| 天天干-天天日| 婷婷狠狠狠爱| 99啪啪视频| 玖玖资源在线视频| 五月婷婷爽爽爽| 色婷婷久久综合中文久久一本| 91久久精品无码一区二区三区| 激情五月小说婷婷| 五月天久久网站| 五月停停丁香| 日日夜夜小色哥| 丁香五月六月欧美| 能直接看的AV网站| 热成人网| 天天干天干| 天天摸天天做天天爱天天爽| 日日夜夜婷婷| 亚洲色网址| 人人爱摸视频| 91视频精品99| 精品夜夜澡人妻无码AV| 99在线免费观看| 激情久久久| 超碰国产在线观看| 丁香五月婷久久| 亚洲成人在线电影网站| 色情一区二区播放| 99热个人在线| 五月丁香婷中文字幕| 色99在线| 天天更新天天亚洲| 成人做爰A片免费看网站找不到了| 亚洲国产婷婷色五月| 日韩成人综合网| 五月丁香激情综合网| 亚洲综合网 665566| 伊人www22综合色| 色婷婷五月天成人网| 偷拍91九色| 97碰久久| 亚洲1区| 丁香色婷婷五月天| 毛片网站谁有| 色综合久| 开心日韩丁香婷婷五月| 精品爱欲五| 欧美激情五月| 丁香五月天激情四射网络不好 | 五月婷婷香| 久久亚洲A| 97精品人人A片免费看| a v色婷婷| 婷婷视频在线碰| 丁香九月婷婷色| 久久国产高潮白浆免费观看99| 人人视频人人干人人做| 国产三级片91| 日韩色色视频| 六月丁香深深爱| 人碰人人人玩91| www天天色天天射| 婷婷五月丁香花综合| 五月天综合网| 婷婷六月开心网| 99热热热天天人人人超超碰| 婷婷五月天小说网| av在线激情| 久久99视频| 日日做天天操夜夜爽| 99人人干人人操| 综合久久影院| 在线,国产,色,热视频| 五月天婷婷婷| 五月天婷婷色| WWW.夜夜操.com| 久久精品熟女亚洲AV麻豆| 久久婷婷六月综合综合色| 在线观看欧美| 激情综合色| 99色最新在线视频网站| 1024操逼视频| 欧美在线| 丁香五月天色婷婷| 亚洲色五月| 丁香五月婷婷图片综合| 成人在线日韩欧美| 人人干天天舔| 精品无码片| 色色婷| 六月丁香婷婷色69| 综合色网站| 极品少妇XXXX精品少妇偷拍| 九九热99热| 色吧五月| 热婷婷av| 久久丁香五月天| 丁香六月激情网C0W| 色停停香蕉视频| 丁香五月激情图片婷婷| 99啪| 亚洲色vA| 久操人妻| 天天肏视奸| 九九视频这里只有精品| 天天五月情| 噜噜色天天开心| 人妻在线观看视频| 色播五月| 六月大香蕉| 综合久久婷婷| 人人摸人人澡人人| caopeng97日韩| 五月丁香啪啪综合| 婷婷丁香18| 大香蕉手机视频| 亚洲激情综合免费| 狠狠香婷婷五月| 六月婷色| 大香蕉在线99热| 深爱激情丁香| 天天插天天日| 互月天综合| 五月天激情综合首页| 中文字幕网站在线观看| 亚洲亚洲人成综合网络| 97色婷| 婷婷爱五月天| 久久婷婷亚洲五月天| 噜噜噜噜婷婷五月天| 一级性感毛片| 黄色中文字目| www.天天干| 激情综合在线观看| 亚洲六月色| 狠狠色无码| 久久九九视频网站| 婷婷五月丁香91| 91干99| 日日操夜夜擼| 色五月婷婷久久| av在线资源| 五月天激情啪啪| 开心激情网五月| 亚洲九九九九| 伊人五月天日日夜夜久久久天天| 丁香五月影视| 天堂综合久久| 丁香97综合| 日韩99无码| 亚洲情综合五月天| 婷婷导航| 99热在线只有精品| 久久色区| 日韩AV片| 日本久久婷婷| 色婷婷先锋| 五月婷婷六月情| 九九热在线99| 99亚洲色色| 久久久久人妻中文| 伊人狠狠操| 五月丁香狠狠地噜噜噜噜| 国产日日夜夜操| 久久婷五月综合色| 美臀自射自家人妻| 五月色婷婷综合色| 热的国产99热| 五月激情四射婷婷丁香| 91久久婷婷| 九九香蕉网| 超碰亚洲天堂| 久久色情| 91丨九色丨大屁股| 九九久久99| 综合狠狠伊人| 婷婷色五月婷婷姐妹| 99色精品视频| 五月天天天操天天爽夜夜操| 欧美五月丁香在线| 色欲婷婷夜夜| 天天在线久久综合 | 久99视频| 最近中文字幕大全免费版在线| 亚洲色婷婷| 99国产精品白浆在线观看免费| 国产乱子轮XXX农村| 江苏少妇性BBB搡BBB爽爽爽| 久久九九激情五月天 | 九月婷婷久久久| 四月婷婷五月色综合| 2014天天爽| 激情五月综合六月丁香婷婷狠狠干| 色六月丁香婷婷狠狠干| 婷婷成人丁香色情基地30 | 日本激情91| 五月婷婷久久综合| 婷婷久久综合| 久久综合久色欧美综合狠狠| 97luluse| 最新日韩久热免费视频看看| 久操干| 开心五月婷婷激情| 狠狠五月丁香色婷| 丁香色五月婷婷91桃色| 激情五月天激情五月天| yellow视频在线观看91| 综合色播| 日日噜噜夜夜狠狠久久丁香五月| www.99操| 丁香色综合| 99re这里只有精品免费| 色婷婷五月综合网| 激情综合五| AV操操操| 婷婷久久色五月婷婷久久久| 日日噜噜久久婷婷五月天| 亚洲旡码| 色综合久久88色综合天天人守婷| 五月婷网站| 激情丁香九九五月综合网| 播播网色播播| 国产精品男人AV不卡| XX久久| 久久99热这里| 激情综合网五月激情| 久久色区| 婷婷色五月综合| 天天综合五月天| 婷婷五月天中文字幕.| AV79| 五月丁香婷婷色色| 九九99久久精品| 天天肏天天肏天天肏| 99热精品网| 亚洲九九视频| 97人人草| 激情五月份婷婷| 99视频地址| 天天婷婷色六月| 99久久网站| 影音先锋AV男人站| 狼人久草| 日日日日操| 亚洲激情五月| 日韩成人电泉AV| 婷婷五月综合色中文字幕| 五月丁香天堂网| 久热九九| 色综合久久88| 69午夜成人影片| 五月丁香欧美综合| 操老逼综合网| 大香蕉五月天婷婷| 婷婷五月天日本无码| 天天干天天日天天操| 在线91日韩| 丁香六月婷婷高清| 婷婷五月激情欧美| 日韩野外 无套| 欧洲99视频在线| 天天综合网站| 婷婷色五月91啪啪| 久热这里只精品| www.婷婷五月| 国产熟妇乱子伦hd| 噜噜噜狠狠色综合| 久久九九国产精品怡红院| 亚洲欧洲中文日韩久久AV乱码 | 婷婷综合亚洲| 婷婷97C| 色婷婷丁香五月观看| 五月婷婷av| 久久99日本精品视频免费观看| 开心久久五月天| 色色激情五月| 六月色 亚洲| RenRenSe在线视频网站| 婷婷大香蕉| 日亚二欧美| 五月香六月婷| 乱精品一区字幕二区| 婷婷九九| 亚洲精品99| 99操不停| 婷婷之六月丁香| www.夜夜| 99在线观看亚洲| 六月丁香啪啪啪| 99久久久久久久| 丁香色综合| 色综啪啪网| 综合五月亭亭9| 午夜婷婷| 99热欧美在线观看| 色情五月综合婷婷| 色私五月婷婷| 日日夜夜天天| 久久精品五月| 人草人人| 五月婷九月| 亚洲色综合性| 色综啪啪网| 天天橾日日橾夜夜橾17| 国产精品久久久久久久久久免费| 久久视屏这里只有久久| 日本三级大片| 激情深爱五月天| 色色免费网站| 色婷婷啪啪啪啪啪啪| www.com五月天| 久久99草五月婷婷| 天天天日天天天干| 极品精品一区二区三区在线| 色婷婷五月天成人网| 免费无码毛片一区二区A片 | 色综合久久天天综合网| 风流少妇A片一区二区蜜桃| 秋霞学生妹一二级| 国产亚洲99久久精品| 99在线爽| 婷婷久久综合| 99爱欧美| 99热在线观看| www激情网| 色综合99无码 | av免费在线观看0| 视频色色色色色色| 色婷婷影音| 色婷婷六月| 婷婷免费无马| 亚州色色色| 77799热| 偷偷与邻居做爰完整视频| 色婷婷色五月色丁香| 91在线操逼视频| 亚洲最大五月六月丁香婷婷| wwww.9免费视频| 五月婷视频| 99九九综合久久九九| 99爱在线精品视频免费观看| 伊人五月天男人的天堂在线| 国产高潮A片羞羞视频涩涩| 97婷婷丁香五月| 色色热日| 9l视频自拍九色9l视频在线观看| 中文精品在| 丁香五月天激情综合| 黄涩毛片| 91在线观看www| 日韩在线视频网站| 九月婷婷| 青青草视频免费观看| 丁香五月婷婷在线视频| www.久久爱.c n| 婷婷五月丁香香蕉| 99热99免费| 亚洲无码AV片| 超碰人人色| 天天射射夜| 五月婷婷亚洲色图| 激情综合久久| 亚洲色域网| 99热九九在线| 五月丁香综合激情| 99精品久久久久久久婷婷久久| 91性人人| 婷婷五月在线视频| 久久AV电影| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 99人妻碰碰碰久久久久视| 丁香五月天啪啪| 久久久一级AAA| 久热99热| 色五月在线| 色九综合| 俺去也婷婷| 99愛国产| 狠狠色婷婷7777久| 成人 在线观看国产| 97色啪| 婷婷色系婷色| 日韩精品一品二区三区的使用体验| 99综合免费视频| 五月天婷婷视频| 婷婷五月天激情四射五月天激情| 国产精品24r| 五月花免费视频| 丁香五月六月婷婷怡红院| 五月天色导航婷婷资源婷婷| 日日操夜夜操中国无码|