欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

工業(yè)存儲(chǔ)選型實(shí)戰(zhàn):MR25H40CDF MRAM替代Flash與PIC18F85K22驅(qū)動(dòng)詳解

工業(yè)存儲(chǔ)選型實(shí)戰(zhàn):MR25H40CDF MRAM替代Flash與PIC18F85K22驅(qū)動(dòng)詳解 1. 為什么工業(yè)現(xiàn)場(chǎng)我選 MRAM 而不是 Flash 或 EEPROM嵌入式項(xiàng)目里但凡涉及“存數(shù)據(jù)”大家第一反應(yīng)基本就是 EEPROM 或者 SPI Flash。這倆確實(shí)便宜、容量大、生態(tài)成熟但我這幾年做工業(yè)控制相關(guān)的板卡只要遇到頻繁寫入、突然斷電、環(huán)境溫度惡劣這些場(chǎng)景用起來(lái)就特別別扭。MR25H40CDF 這類串行 MRAM 是我在幾個(gè)關(guān)鍵項(xiàng)目里替換掉 Flash 之后覺(jué)得最值得聊一聊的方案。先解釋一下 MRAM 到底特殊在哪。MRAM 的核心存儲(chǔ)單元用的是磁性隧道結(jié)靠磁化方向來(lái)記錄數(shù)據(jù)而不是像 Flash 那樣靠電荷 trapped 在浮置柵極里。這個(gè)物理差異帶來(lái)一個(gè)巨大的好處寫入之前不需要擦除。Flash 寫入前必須先擦除塊整塊清掉再寫一來(lái)速度慢二來(lái)磨損大MRAM 的寫操作本質(zhì)上和讀操作一樣就是直接改狀態(tài)按字節(jié)或者按頁(yè)寫都行不需要等擦除時(shí)間。另一個(gè)關(guān)鍵是壽命Flash 的擦寫壽命通常在 1 萬(wàn)到 10 萬(wàn)次之間真要用在需要頻繁記錄狀態(tài)量、計(jì)數(shù)值、溫度曲線的場(chǎng)景很快就能把塊的壽命磨光。MR25H40CDF 的 endurance 標(biāo)稱是無(wú)限次寫入至少?gòu)墓こ探嵌瓤茨慊静挥迷僭u(píng)估“這個(gè)扇區(qū)還能寫幾次”這種問(wèn)題。MR25H40CDF 是 Everspin 的 4Mbit 串行 SPI MRAM工作在 25MHz 時(shí)鐘下容量 4Mbit 也就是 512KB對(duì)工業(yè)數(shù)據(jù)記錄來(lái)說(shuō)是夠用的檔位。PIC18F85K22 是 Microchip 的 8 位單片機(jī)主頻最高 64MHz帶兩個(gè)獨(dú)立的 SPI 模塊內(nèi)部有足夠多的引腳和存儲(chǔ)映射外設(shè)接這顆 MRAM 屬于標(biāo)準(zhǔn)操作。這兩個(gè)器件搭在一起基本覆蓋了工業(yè)嵌入式里最常見(jiàn)的“控制器 掉電不丟數(shù)據(jù)存儲(chǔ)”的需求。更適合誰(shuí)看這篇如果你在選型階段正在比較 MRAM、FRAM、EEPROM、SPI Flash 之間的差異或者你已經(jīng)拿到 MR25H40CDF 的樣片想快速跑通讀寫又或者你的項(xiàng)目正在被 Flash 壽命和寫入速度卡脖子這篇文章能讓你少走彎路。1.1 這組搭配解決的核心痛點(diǎn)工業(yè)設(shè)備的日志記錄、參數(shù)備份、運(yùn)行狀態(tài)保存往往有幾個(gè)共同訴求寫入要快掉電不能丟壽命要夠長(zhǎng)寫入過(guò)程不能干擾主程序太長(zhǎng)時(shí)間。我接過(guò)一個(gè)現(xiàn)場(chǎng)項(xiàng)目設(shè)備每 100ms 要記錄一次傳感器數(shù)據(jù)到 Flash選了常見(jiàn)的 W25Q64結(jié)果幾個(gè)月后設(shè)備頻繁出現(xiàn)寫入失敗。拿邏輯分析儀一抓發(fā)現(xiàn)是某個(gè)扇區(qū)反復(fù)被寫磨損導(dǎo)致寫入超時(shí)。后來(lái)?yè)Q MR25H40CDF同樣的代碼邏輯容量還比之前小但一年多跑下來(lái)沒(méi)有任何一次寫入異常。說(shuō)白了MRAM 解決的不只是“硬件夠不夠好”的問(wèn)題它把“要不要寫磨損均衡算法”這個(gè)復(fù)雜度直接從項(xiàng)目里刪掉了。1.2 MRAM 和 FRAM 的差異也要搞清楚經(jīng)常有人問(wèn)FRAM 也是無(wú)限次寫入為什么不選 FRAM。FRAM 在低功耗、小容量場(chǎng)景確實(shí)不錯(cuò)但 FRAM 的工藝密度比 MRAM 低大容量型號(hào)少價(jià)格也偏高。而且 MRAM 在溫度范圍和數(shù)據(jù)保持能力上更有余量MR25H40CDF 支持 -40 到 105 攝氏度的工作溫度數(shù)據(jù)保持超過(guò) 20 年抗輻射能力也強(qiáng)軍用和航天設(shè)備里 MRAM 是常客。工業(yè)現(xiàn)場(chǎng)的溫升、振動(dòng)、電磁干擾MRAM 的容錯(cuò)空間明顯比 EEPROM 和傳統(tǒng) NOR Flash 更從容。2. 硬件連接的每一個(gè)引腳都要較真這一節(jié)直接落到實(shí)際開(kāi)發(fā)板上。PIC18F85K22 的 SPI 模塊我選了 SPI1使用的是標(biāo)準(zhǔn) 4 線模式SCK、SDO、SDI、CS。MR25H40CDF 的引腳分別是 CS、SCK、SI、SO、WP、HOLD、VCC、GND。接法看起來(lái)很簡(jiǎn)單但細(xì)節(jié)處全是坑。2.1 完整的引腳連接表PIC18F85K22 引腳MR25H40CDF 引腳說(shuō)明RC3/SCK1SCKSPI 時(shí)鐘最高 25MHzRC5/SDO1SI數(shù)據(jù)輸入到 MRAMRC4/SDI1SO數(shù)據(jù)從 MRAM 輸出RC2/CS1CS片選低有效任意 GPIO我用 RD0WP寫保護(hù)低有效直接接 VCCHOLD暫停通信不用就拉高VCC3.3VVCC供電GNDGND地WP 和 HOLD 兩個(gè)引腳是新手最容易出問(wèn)題的地方。HOLD 如果不使用絕對(duì)不能懸空必須直接接到 VCC。懸空的 HOLD 引腳在電氣上是高阻態(tài)一點(diǎn)點(diǎn)耦合噪聲就可能讓 MRAM 進(jìn)入 HOLD 模式表現(xiàn)就是數(shù)據(jù)讀寫偶爾失敗而且只在特定溫度或電磁環(huán)境下復(fù)現(xiàn)排查起來(lái)非常痛苦。我在第一版 PCB 上就把 HOLD 漏接了上拉結(jié)果整機(jī)做 EMC 測(cè)試時(shí)出現(xiàn)偶發(fā)通信異常最后抓波形才發(fā)現(xiàn)是 HOLD 被干擾拉低白白浪費(fèi)了兩周時(shí)間。WP 引腳我單獨(dú)分配了一個(gè) GPIO 控制而不是直接接地或者接 VCC。原因在于MR25H40CDF 的塊保護(hù)寄存器Block Protect BP1/BP0會(huì)把一部分地址空間設(shè)為只讀如果 WP 拉低并且 BP 位非零對(duì)受保護(hù)區(qū)域的寫命令會(huì)被忽略。寫操作前用 GPIO 拉高 WP寫完后可以再拉低作為一道軟件防線防止主程序跑飛時(shí)意外寫入關(guān)鍵參數(shù)區(qū)。這個(gè)習(xí)慣是從用 EEPROM 時(shí)留下來(lái)的但在 MRAM 上同樣適用畢竟硬件看門狗難防程序指針錯(cuò)亂后對(duì)存儲(chǔ)器的隨機(jī)寫。2.2 供電和電平匹配不能想當(dāng)然MR25H40CDF 的工作電壓范圍相當(dāng)寬2.0V 到 3.6V 都能正常工作工業(yè)環(huán)境里我用的是 3.3V 供電和 PIC18F85K22 的 IO 電平一致可以直接連接不需要電平轉(zhuǎn)換。如果你用的是 5V 供電的 MCU就必須加電平轉(zhuǎn)換或者串阻分壓MRAM 的輸入引腳不承受 5V 電平。PIC18F85K22 內(nèi)部有可配置的 SDO 驅(qū)動(dòng)強(qiáng)度SPI 通信頻率高的時(shí)候把 SDO 的驅(qū)動(dòng)強(qiáng)度調(diào)到最大檔位能明顯改善信號(hào)邊沿質(zhì)量。去耦電容我放了兩個(gè)100nF 放在 VCC 和 GND 之間緊貼 MRAM 芯片引腳另外在 PCB 電源入口處加了一個(gè) 10uF 鉭電容做低頻濾波。MRAM 在寫入瞬間會(huì)有毫安級(jí)的電流尖峰如果電源不干凈偶發(fā)的寫失敗就會(huì)跟幽靈一樣時(shí)不時(shí)冒出來(lái)。PCB 布局上CS、SCK、SI、SO 這四根線盡量等長(zhǎng)走線不要穿過(guò)高噪聲區(qū)域比如繼電器驅(qū)動(dòng)電路、開(kāi)關(guān)電源的反饋采樣走線。SPI 在 25MHz 下信號(hào)沿很快線長(zhǎng)一超過(guò) 5 厘米就得考慮串阻和終端匹配否則反射會(huì)造成數(shù)據(jù)采樣錯(cuò)誤。我在實(shí)測(cè)中發(fā)現(xiàn)25MHz 時(shí)鐘下超過(guò) 8 厘米的杜邦線連接就已經(jīng)不可靠焊接在 PCB 上短走線則完全沒(méi)問(wèn)題。3. PIC18F85K22 的 SPI 驅(qū)動(dòng)代碼每一行都要看懂直接貼完整代碼之前先把 PIC18F85K22 的 SPI 模塊配置說(shuō)清楚。我用的 SPI1主模式時(shí)鐘極性 CPOL0相位 CPHA0也就是 SPI Mode 0。MR25H40CDF 支持 SPI Mode 0 和 Mode 3選哪個(gè)都行但代碼里必須統(tǒng)一混用會(huì)導(dǎo)致第一個(gè)字節(jié)讀出來(lái)全 0現(xiàn)象非常迷惑。MSSP 模塊在 PIC18F85K22 上配置為主模式需要設(shè)置 SSPCON1 寄存器。我把 SCK 頻率設(shè)成 8MHz這是因?yàn)?PIC18F85K22 的系統(tǒng)時(shí)鐘是 32MHz內(nèi)部 PLL 倍頻SPI 預(yù)分頻器選 FOSC/4。8MHz 對(duì) MR25H40CDF 完全夠用MRAM 的最小 SCK 脈沖寬度要求寬裕得多而且 8MHz 下信號(hào)完整性更好排查問(wèn)題也容易。如果你要跑滿 25MHz時(shí)鐘得用外部晶振配合更高的 PLL 倍頻但說(shuō)實(shí)話在工業(yè)控制里沒(méi)必要追求極限。3.1 底層 SPI 字節(jié)收發(fā)函數(shù)// PIC18F85K22 SPI1 底層函數(shù) // 系統(tǒng)時(shí)鐘 32MHzSPI 時(shí)鐘 8MHzMode 0 #define MRAM_CS_LAT() LATCbits.LATC2 0 #define MRAM_CS_HIGH() LATCbits.LATC2 1 #define MRAM_WP_HIGH() LATDbits.LATD0 1 #define MRAM_WP_LOW() LATDbits.LATD0 0 void SPI1_Init(void) { // 配置 RC3/SCK1, RC5/SDO1, RC4/SDI1 為 SPI 功能 TRISCbits.TRISC3 1; TRISCbits.TRISC4 1; TRISCbits.TRISC5 1; ANSELC 0xE7; // 關(guān)閉 RC3-RC5 的模擬輸入功能這一步非常重要 SSP1CON1 0x20; // 0b00100000: 主模式SCK 空閑低電平FOSC/4 // bit5 SSPEN1 使能 SPIbit3 CKP0bit0 SSPM3-00000 表示主模式 FOSC/4 SSP1STAT 0x00; // CKE0SMP0Mode 0采樣在 SCK 中間時(shí)刻 MRAM_CS_HIGH(); MRAM_WP_LOW(); // 默認(rèn)拉低寫保護(hù)防止意外寫入 } uint8_t SPI1_Transfer(uint8_t byte) { SSP1BUF byte; while (!SSP1STATbits.BF); // 等待接收緩沖區(qū)滿標(biāo)志 return SSP1BUF; }這里有一個(gè)最容易被忽略的初始化細(xì)節(jié)PIC18F85K22 的很多引腳默認(rèn)是模擬輸入RC3、RC4、RC5 在上電后如果沒(méi)有把 ANSELC 對(duì)應(yīng)位清零SPI 引腳的實(shí)際輸入是模擬比較器通路數(shù)字信號(hào)根本進(jìn)不去。這個(gè)坑幾乎每個(gè)用 PIC18F 系列的人都會(huì)踩一次因?yàn)樾酒想娔J(rèn)值就是模擬輸入程序里不主動(dòng)關(guān)閉后面所有 SPI 通信都是無(wú)效的。3.2 發(fā)送命令和讀寫頁(yè)數(shù)據(jù)void MRAM_WriteEnable(void) { MRAM_CS_LAT(); SPI1_Transfer(0x06); // WREN 命令 MRAM_CS_HIGH(); } void MRAM_ReadStatus(uint8_t *status) { MRAM_CS_LAT(); SPI1_Transfer(0x05); // RDSR *status SPI1_Transfer(0x00); MRAM_CS_HIGH(); } void MRAM_WriteByte(uint32_t addr, uint8_t data) { MRAM_WP_HIGH(); MRAM_WriteEnable(); MRAM_CS_LAT(); SPI1_Transfer(0x02); // WRITE 命令 SPI1_Transfer((addr 16) 0xFF); // 23-16 位地址 SPI1_Transfer((addr 8) 0xFF); // 15-8 地址 SPI1_Transfer(addr 0xFF); // 7-0 地址 SPI1_Transfer(data); // 數(shù)據(jù) MRAM_CS_HIGH(); // 輪詢狀態(tài)寄存器等待內(nèi)部寫完成 uint8_t sr 0; do { MRAM_ReadStatus(sr); } while (sr 0x01); // WIP 位為 1 說(shuō)明還在寫 MRAM_WP_LOW(); } uint8_t MRAM_ReadByte(uint32_t addr) { uint8_t data; MRAM_CS_LAT(); SPI1_Transfer(0x03); // READ 命令 SPI1_Transfer((addr 16) 0xFF); SPI1_Transfer((addr 8) 0xFF); SPI1_Transfer(addr 0xFF); data SPI1_Transfer(0x00); // 發(fā)送啞字節(jié)讀取數(shù)據(jù) MRAM_CS_HIGH(); return data; }MR25H40CDF 的地址是 24 位4Mbit 容量對(duì)應(yīng)的是 0x000000 到 0x07FFFF所以地址高 8 位在 0x00 到 0x07 之間如果地址超過(guò)這個(gè)范圍命令直接失效。寫使能命令 WREN 必須在每次 WRITE 命令之前發(fā)送芯片上電后默認(rèn)是寫禁止?fàn)顟B(tài)這是標(biāo)準(zhǔn)的 SPI NOR 協(xié)議MRAM 沿用了一套。Status 寄存器的 bit0 是 WIPbit1 是 WEL寫入期間 WIP 為 1主控必須等待它歸零。MRAM 的單字節(jié)寫入時(shí)間大約在 100ns 級(jí)別相比 Flash 的微秒到毫秒級(jí)快了幾個(gè)數(shù)量級(jí)輪詢循環(huán)基本一跳就過(guò)。3.3 頁(yè)寫入比單字節(jié)寫入更高效MR25H40CDF 支持頁(yè)寫入一頁(yè) 256 字節(jié)。實(shí)際項(xiàng)目中如果參數(shù)表、日志塊是以頁(yè)為單位組織的頁(yè)寫入能把通信開(kāi)銷壓縮到最小。頁(yè)寫入的地址必須對(duì)齊頁(yè)邊界如果跨頁(yè)了命令會(huì)回卷到頁(yè)開(kāi)頭覆蓋前面已寫入的數(shù)據(jù)這是 SPI NOR 類器件的通用行為MRAM 也一樣。我寫項(xiàng)目通常是先攢滿一頁(yè)數(shù)據(jù)放一個(gè) 256 字節(jié)的 RAM 緩沖然后整頁(yè)下刷。void MRAM_WritePage(uint32_t addr, uint8_t *buf, uint16_t len) { if (len 256) len 256; // 檢查地址是否跨頁(yè)如果低 8 位加上長(zhǎng)度會(huì)超過(guò) 256截?cái)?if ((addr 0xFF) len 256) { len 256 - (addr 0xFF); } MRAM_WP_HIGH(); MRAM_WriteEnable(); MRAM_CS_LAT(); SPI1_Transfer(0x02); SPI1_Transfer((addr 16) 0xFF); SPI1_Transfer((addr 8) 0xFF); SPI1_Transfer(addr 0xFF); for (uint16_t i 0; i len; i) { SPI1_Transfer(buf[i]); } MRAM_CS_HIGH(); uint8_t sr 0; do { MRAM_ReadStatus(sr); } while (sr 0x01); // 等待 WIP 清零 MRAM_WP_LOW(); }注意我做的地址跨頁(yè)保護(hù)這是從 Flash 時(shí)代繼承來(lái)的習(xí)慣MRAM 雖然不像 Flash 那樣有“跨頁(yè)回卷”的硬件缺陷但協(xié)議上依然是按頁(yè)來(lái)約束寫操作的。與其依賴協(xié)議細(xì)節(jié)不如在軟件層面直接把邊界算清楚一勞永逸。頁(yè)寫入相比逐字節(jié)寫能省掉大量重復(fù)的命令幀和 CS 拉高拉低操作實(shí)測(cè)在 8MHz SPI 下整頁(yè)寫 256 字節(jié)只需要不到 1ms 的通信時(shí)間而逐字節(jié)寫要 3ms 以上。4. 完整的數(shù)據(jù)存儲(chǔ)流程設(shè)計(jì)從分區(qū)到掉電保護(hù)有了讀寫函數(shù)還不能直接開(kāi)工寫業(yè)務(wù)邏輯。工業(yè)嵌入式里的存儲(chǔ)不是簡(jiǎn)單調(diào)一個(gè) write 函數(shù)就完事的要考慮數(shù)據(jù)怎么組織、怎么防止掉電寫壞、怎么做到版本兼容。這一節(jié)是我認(rèn)為全文最有工程價(jià)值的部分。4.1 把 4Mbit 地址空間規(guī)劃成不同的功能區(qū)我把存儲(chǔ)區(qū)劃分成了三個(gè)區(qū)域參數(shù)區(qū)、運(yùn)行數(shù)據(jù)區(qū)、日志區(qū)。參數(shù)區(qū)存設(shè)備配置比如 IP 地址、校準(zhǔn)系數(shù)、使能開(kāi)關(guān)容量用 8KB 就夠了放在地址 0x000000 到 0x001FFF。運(yùn)行數(shù)據(jù)區(qū)存實(shí)時(shí)采集的當(dāng)前值和最近一段時(shí)間的周波數(shù)據(jù)放在 0x002000 到 0x03FFFF約 240KB。剩下的 0x040000 到 0x07FFFF 全部作為日志區(qū)一共 256KB。因?yàn)?MRAM 沒(méi)有寫壽命問(wèn)題日志區(qū)的設(shè)計(jì)可以走“環(huán)形覆蓋”思路不需要磨損均衡這比 Flash 的日志設(shè)計(jì)簡(jiǎn)單了太多。分區(qū)還得考慮“版本”問(wèn)題。在參數(shù)區(qū)開(kāi)頭放一個(gè) 4 字節(jié)的魔數(shù)和版本號(hào)比如 0xA55A5AA5 開(kāi)頭。固件升級(jí)后如果數(shù)據(jù)格式變了可以根據(jù)版本號(hào)決定是否做遷移。這個(gè)在 MRAM 上做非常順手因?yàn)槟憧梢灾苯幼x取前 4 字節(jié)比對(duì)一下就知道要不要重新初始化。相比之下 Flash 時(shí)代在磨損均衡和版本遷移之間來(lái)回折騰代碼量至少多一倍。4.2 掉電保存的兩種實(shí)現(xiàn)方式工業(yè)設(shè)備掉電時(shí)主控通常還有幾毫秒到幾百毫秒的遲滯時(shí)間取決于電源電路里儲(chǔ)能電容的大小。PIC18F85K22 可以配置低電壓檢測(cè)模塊檢測(cè)到電源電壓掉到閾值以下就觸發(fā)中斷。我在中斷里只做一件事把關(guān)鍵參數(shù)從 RAM 拷貝到 MRAM。因?yàn)?MRAM 寫入本身就是微秒級(jí)而且不需要擦除這個(gè)非常短的掉電窗口足夠完成保存。另一種更省心的方式是周期性持續(xù)寫入。既然 MRAM 沒(méi)有壽命問(wèn)題那就在正常運(yùn)行中每隔幾秒把關(guān)鍵數(shù)據(jù)刷一次進(jìn) MRAM掉電時(shí)根本不用做特殊處理。這個(gè)“寫了不心疼”的用法是 MRAM 獨(dú)有的Flash 上絕對(duì)不敢這么干。我有個(gè)項(xiàng)目就是這么處理的設(shè)備完全斷電后重新上電所有狀態(tài)都能恢復(fù)到斷電前的最后時(shí)刻連硬復(fù)位重啟時(shí)間都省了。這比依賴掉電中斷成功率要高得多也少了很多糊弄人的時(shí)序判斷。4.3 數(shù)據(jù)校驗(yàn)的合理做法MRAM 的位翻轉(zhuǎn)率遠(yuǎn)低于 Flash但工業(yè)環(huán)境里的強(qiáng)電磁干擾依然可能導(dǎo)致單比特翻轉(zhuǎn)。我給 256 字節(jié)頁(yè)加了 CRC16 校驗(yàn)寫入時(shí)算好存入末尾 2 字節(jié)讀取時(shí)重新計(jì)算比對(duì)。CRC 多項(xiàng)式用標(biāo)準(zhǔn) 0x1021代碼 20 行內(nèi)就能寫完。有人問(wèn)怎么不用 CRC32對(duì) 8 位 MCU 來(lái)說(shuō) CRC16 在存儲(chǔ)空間和時(shí)間上的性價(jià)比最高而且檢測(cè)單雙比特翻轉(zhuǎn)的能力完全夠用。這里有一個(gè)我踩過(guò)的坑不要對(duì)整個(gè)存儲(chǔ)區(qū)做一次性 CRC 校驗(yàn)每次上電都全盤掃描一遍幾百 KB 的數(shù)據(jù)太耗時(shí)間。我改成按頁(yè)校驗(yàn)讀取哪頁(yè)就校驗(yàn)?zāi)捻?yè)只在讀到異常時(shí)才去做額外處理。這樣既能保證數(shù)據(jù)可信又不影響主程序的實(shí)時(shí)性。5. 現(xiàn)場(chǎng)排查實(shí)錄和常見(jiàn)問(wèn)題速查表跑通并不代表穩(wěn)定穩(wěn)定是在現(xiàn)場(chǎng)磨出來(lái)的。這一節(jié)我把這些年用 MR25H40CDF 遇到過(guò)的典型問(wèn)題整理出來(lái)附帶完整的排查思路。5.1 寫不進(jìn)去的排查順序如果遇到數(shù)據(jù)寫不進(jìn)去不要急著懷疑芯片是壞的。按下面這個(gè)順序挨個(gè)排查大概率 10 分鐘內(nèi)定位。第一步查 WP 引腳電平。如果 WP 拉低且 BP 位非零即使發(fā)送了 WREN受保護(hù)區(qū)域也不會(huì)被寫入。初步驗(yàn)證方式寫操作前臨時(shí)把 WP 拉高重試一次。第二步查 CS 信號(hào)時(shí)序。SPI 命令幀是 CS 拉低后發(fā)送命令結(jié)束后拉高如果片選時(shí)序不對(duì)比如命令之間 CS 沒(méi)有完全拉高復(fù)位MRAM 的狀態(tài)機(jī)會(huì)混亂。第三步查字節(jié)順序。MR25H40CDF 的所有命令都是高位在前如果主機(jī)配置成了 LSB First讀出來(lái)的數(shù)據(jù)就是字節(jié)位反轉(zhuǎn)的看起來(lái)特別像數(shù)據(jù)損壞。第四步查地址范圍超過(guò) 0x07FFFF 的地址直接無(wú)效。5.2 像“偶發(fā)數(shù)據(jù)錯(cuò)位”這種幽靈問(wèn)題我遇到過(guò)一次非常頭疼的故障設(shè)備運(yùn)行幾小時(shí)后偶爾會(huì)讀回錯(cuò)誤的數(shù)據(jù)但錯(cuò)誤模式?jīng)]有規(guī)律。抓 SPI 波形后發(fā)現(xiàn)SCK 線上存在明顯的過(guò)沖和振鈴導(dǎo)致主機(jī)在采樣時(shí)刻讀到了不確定電平。原因是 PCB 走線過(guò)長(zhǎng)而且 SCK 走線緊挨著一路繼電器驅(qū)動(dòng)線。解決辦法是把 SCK 走線重新布線避開(kāi)繼電器驅(qū)動(dòng)區(qū)同時(shí)加大 SDO 的驅(qū)動(dòng)強(qiáng)度設(shè)置并在 SCK 源端串聯(lián)了一個(gè) 22 歐姆的電阻。改板之后問(wèn)題徹底消失。另一個(gè)類似問(wèn)題是 HOLD 引腳懸空造成的前文已經(jīng)提過(guò)。這類問(wèn)題最可惡的地方在于實(shí)驗(yàn)室里完全正常一到現(xiàn)場(chǎng)就發(fā)作因?yàn)楝F(xiàn)場(chǎng)有更強(qiáng)的電磁干擾。所以我的經(jīng)驗(yàn)是所有控制引腳必須做確定性的電平處理接 VCC 或者接 GND絕不允許浮空。5.3 常見(jiàn)問(wèn)題速查表現(xiàn)象可能原因排查/解決寫操作無(wú)響應(yīng)WP 引腳拉低且 BP 塊保護(hù)開(kāi)啟寫前把 WP 拉高清除 BP 位讀回?cái)?shù)據(jù)全是 0xFFSPI 模式不對(duì)CPOL/CPHA 不匹配確認(rèn) Mode 0 或 Mode 3代碼里統(tǒng)一讀回?cái)?shù)據(jù)位序錯(cuò)亂SPI 配置成了 LSB First檢查 SPI 傳輸函數(shù)的位序設(shè)置改為 MSB First偶發(fā)數(shù)據(jù)錯(cuò)誤SCK 信號(hào)完整性問(wèn)題加串阻、縮短走線、遠(yuǎn)離干擾源芯片完全不響應(yīng)HOLD 引腳懸空HOLD 直接接 VCC上電后狀態(tài)不對(duì)沒(méi)做 PPS 引腳映射PIC 芯片確認(rèn) RC3/RC4/RC5 復(fù)用功能配置正確寫保護(hù)相關(guān)的細(xì)節(jié)我再多啰嗦一句。MR25H40CDF 的狀態(tài)寄存器里 BP1 和 BP0 控制著塊保護(hù)范圍默認(rèn)值可能是非零的。如果項(xiàng)目里不需要塊保護(hù)我建議在初始化時(shí)直接寫入 0x00把整個(gè)存儲(chǔ)區(qū)解鎖。相應(yīng)代碼就是發(fā)送 WRSR 命令然后寫入 0x00。如果不做這一步有些批次芯片上電默認(rèn)保護(hù)了上半?yún)^(qū)會(huì)出現(xiàn)“前一半能寫后一半寫不進(jìn)去”的詭異情況。void MRAM_UnlockAll(void) { MRAM_WriteEnable(); MRAM_CS_LAT(); SPI1_Transfer(0x01); // WRSR 命令 SPI1_Transfer(0x00); // 清除 WIP 和 BP 位 MRAM_CS_HIGH(); }這個(gè)初始化動(dòng)作會(huì)清掉 WIP 嗎嚴(yán)格說(shuō)不會(huì)WIP 是只讀狀態(tài)。但送了 0x00 之后 BP1/BP0 都會(huì)被清零整片區(qū)域開(kāi)放寫入。實(shí)測(cè)各批次芯片都要執(zhí)行一次放在系統(tǒng)初始化最前面最穩(wěn)妥。6. 工程中我對(duì) MRAM 的幾個(gè)使用習(xí)慣這些習(xí)慣不是教科書(shū)里的是我在項(xiàng)目里被現(xiàn)場(chǎng)逼出來(lái)的。分享出來(lái)大家可以直接抄作業(yè)。第一MRAM 里存的參數(shù)盡量做成結(jié)構(gòu)體加版本標(biāo)記不要散亂地用裸地址。比如一個(gè)設(shè)備配置結(jié)構(gòu)體開(kāi)頭兩個(gè)字節(jié)是結(jié)構(gòu)體長(zhǎng)度和版本號(hào)后面字段依次排列。這樣將來(lái)固件升級(jí)數(shù)據(jù)結(jié)構(gòu)變化時(shí)代碼能自動(dòng)判斷老版本的配置是否可以遷移而不是直接讀出一堆錯(cuò)位的數(shù)據(jù)。第二關(guān)鍵數(shù)據(jù)雙備份寫入。MR25H40CDF 寫入速度足夠快雙備份的代價(jià)也就是多花幾微秒。我在參數(shù)區(qū)的首份偏移 0 處寫一份偏移 8KB 處寫第二份上電時(shí)先讀第一份做 CRC 校驗(yàn)校驗(yàn)失敗就自動(dòng)切到第二份。兩個(gè)備份都?jí)牧司突謴?fù)出廠默認(rèn)。這種冗余思路在 MRAM 上做起來(lái)極其輕松因?yàn)椴恍枰紤] Flash 擦除塊對(duì)齊的問(wèn)題。第三在掉電保存場(chǎng)景里盡量用頁(yè)寫入而不是字節(jié)寫入。一頁(yè)寫完整參數(shù)比逐字節(jié)寫更不容易出中間態(tài)。雖然 MRAM 本身掉電不會(huì)破壞數(shù)據(jù)但如果寫了一半掉電這一頁(yè)要么是舊數(shù)據(jù)要么是新數(shù)據(jù)可能有部分字段是舊值部分字段是新值。把整個(gè)參數(shù)結(jié)構(gòu)體放在同一頁(yè)并且最后一字節(jié)用一個(gè)“提交標(biāo)記”來(lái)區(qū)分是否寫入完成能夠保證數(shù)據(jù)的最終一致性。這個(gè)提交標(biāo)記在寫入完成后置為 0x5A上電判斷這個(gè)標(biāo)記是否為 0x5A是就認(rèn)為數(shù)據(jù)有效。第四調(diào)試階段把 SPI 時(shí)鐘降低到 1MHz 或者更低。PIC18F85K22 的 SPI 波特率配置改幾個(gè)位就行。低速調(diào)試能讓你清楚看到每一位數(shù)據(jù)的時(shí)序邏輯分析儀抓波形也方便。等波形完全干凈再把時(shí)鐘升到 8MHz 甚至更高。我不止一次看到同行直接上高速出了問(wèn)題還以為是時(shí)序代碼寫錯(cuò)了實(shí)際上放慢速度一眼就看出來(lái)了。7. 我的一點(diǎn)個(gè)人體會(huì)MR25H40CDF 和 PIC18F85K22 的組合用一句話總結(jié)就是“存儲(chǔ)這件事終于不用像伺候大爺一樣伺候了”。寫 Flash 的時(shí)候我腦子里永遠(yuǎn)繃著幾根弦扇區(qū)擦除時(shí)間會(huì)不會(huì)超時(shí)、磨損均衡算法夠不夠健壯、掉電掉到一半塊會(huì)不會(huì)壞。換到 MRAM 上這些擔(dān)憂大部分消失了。你只需要把協(xié)議跑對(duì)、把地址算對(duì)、把校驗(yàn)加上剩下的就是它耐造的地方。我實(shí)際工作中還拿這個(gè)組合做了一個(gè)小型的循環(huán)記錄器用 PIC18F85K22 定時(shí)采集 8 路模擬量每 10ms 存一條帶時(shí)間戳的記錄到 MRAM 的環(huán)形緩沖區(qū)斷電重啟后可以回溯最近 20 分鐘的數(shù)據(jù)。這個(gè)如果放在 Flash 上磨損均衡和扇區(qū)管理夠我寫兩個(gè)星期在 MRAM 上一個(gè)循環(huán)寫指針加頁(yè)寫入函數(shù)兩天就調(diào)通了。這個(gè)差異是實(shí)實(shí)在在的開(kāi)發(fā)效率差距。數(shù)據(jù)手冊(cè)里那些參數(shù)只有真正拿到現(xiàn)場(chǎng)跑過(guò)一輪你才知道它到底有多省心。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
熟女人妻一区二区三区免费看| 日韩一级片| 一区二区三区四区牛| www.婷婷五月| 99综合婷婷五月| 99在线免费观看| 先锋男人99资源| 9视频在线成人网站| 99热精品在线| 天天综合亚洲| 久久久久综合激动五月天| 97日本操| 国产99久久久国产精品免费看| 天天开心AV色综合婷婷五月天| 91九色无码内射| 色婷婷综合亚洲| 激情婷婷内射| 免费黄色片子| 啪啪黄页网| 另类天堂| XX色综合| 99热手机在线精品| 婷婷色在线视频| 婷婷第六色| 色婷婷AV久久| 国产97在线日韩亚洲女人被黑人巨大| 色婷婷精| 天天日狠狠| 日日操,天天操| 久久五月天丁香花| 婷婷五月花.97| 色五月婷婷丁香五月| 久久 视频这里只有精总| 色色免费网站| 99操逼视频| 五月四色激情| 国产三级在线播放| 婷婷丁香精品视频在线观看| 九九九九精品精| 超碰人人色| 亚洲A色| 色视频2025| www.色婷婷.com| 黄色高清无码| 日韩久操婷婷| 五月伊人婷婷999| 少妇做爰免费视看片| 日本久久精品| 亚洲成人免费电影| 色播丁香| 亚洲V国产V欧美V久久久久久| 激情五月综合| 色五月综合| 中文字幕不卡+婷婷五月| 97操碰98| 9久久精品视频| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 婷久久| 伊人婷婷大香蕉在线| 国产FREESEXVIDEOS性中国| 狠狠色综合网| 少妇性按摩无码中文A片| 婷婷丁香五月综合| 国产亚洲精品久久久久久久久动漫| 天天操婷婷| 五月婷婷与六月丁香图片激情| 五月天成人网在线观看| 玖玖婷婷色五月| 天天操婷婷| 色五月婷婷婷婷| 思思re视频在线| 激情综合综合综合| 激情网婷婷婷| 综合99视频| 五月婷婷六月丁香五月| 五月婷综合| 伊人啪啪网| 久久五月激情| 天天肏夜夜肏| 97婷婷丁香五月综合| 国产色色色色色| 婷综合六月| 99精品高潮| 伊人婷婷91| 99精品人人| 五月色网| 天天色综合网吨吧| 欧美日韩99| 天天色天天操天天射| 天天肏视频| 亚洲成人网站在线| 色综合xx| 狠狠五月激情丁香六月| 99操逼| 欧美S码亚洲码精品M码| 成人永久免费视频在线观看| 色婷婷六月综合| 五月天激情久色| 啪到高潮激情丁香五月| 天天干天天干天天| 2025超碰| 俺来也综合网精品一区| 91精品综合久久久久久五月丁香 | 色噜噜综合网| 色婷婷综合影院| 国产97色在线| 五月花婷婷丁香| 色五婷婷开心缴| 激情四射网| 99这里有精品视频| 91婷婷色 | 男女啪啪视频久 9| 激情欧美婷婷| 超碰高清在线| www.99.色| 五月丁香激情综合| 五月丁香六月色| 五月激情综合网| 亚洲激情四谢| 五月丁香久久网| 五月婷网站| www久久久久久久97| 成人国产欧美大片一区| 久操婷婷| 婷婷操超碰| 丁香五月影院| 99久久99视频只有精品| 五月天激情久久| 男人操女人高潮91视频| A一级操| 一级黄色尤物综合视频手机在线观看| 中文字幕一色哟哟哟哟| 久久丁香五月婷婷激情综合网| 99精品在这里| 中文字幕丰满孑伦无码专区| 天天综合激情| 综合激情五月天| 丁香五月婷婷久久久| 久久久精品99亚洲综合| 久9热| www,婷婷五月天,com| 欧美在线干| 涩丁香91| 操人妻视频91| 日都一级A片| 激情五月网站| 亚洲亚洲人成综合网络| 五月丁香婷中文| 色九月| 99在线视频女女视频| 天天干,噜噜色,狠狠色| 免费观看全黄做爰的视频| 五月天婷婷影院| 五月色天情| 国产乱妇无乱码大黄AA片| 九九五月天| 色综合天天综合成人网| 99日视频在线| 日本欧美成人片AAAA| 五月久久丁香| 草综合14| 91精品又长又大又粗又爽又猛| 日本va欧美va精品发布视频| 国产无遮挡又黄又爽免费网站| xxxx五月| 五月丁香婷婷欧美色图视频五月丁香777电影| 丁香婷最新动态| 久久婷狠狠色| 久色视频在线| 在线观看免费人成视频无码| 天天爽日日爽夜夜爽| 久久精品国产精品| 婷婷精品综合| 久久天堂| 激情深爱五月天| 婷婷色在线| 丁香五月播播| 婷婷五月丁香婷婷| 五月黄色婷婷| 色婷婷综合网站| 中文AV在线播放| 婷婷久月| 九九热这里只有国产精品| 天天日天天爽| 九九这里都是精品| a在线观看| 97人人操人人干| 色婷婷狠狠| 婷婷久热| 欧美五月婷婷| 色情综合网| 婷婷五月天av| 亚亚州久久高潮| 亚洲XX网| 麻豆AV一区二区三区| www,婷婷五月天777me,com| 超碰亚洲欧美| www.91婷婷| 操97| 亚洲亚洲人成综合网络| 天天综合五月| 五月色精品| h亚洲| 女人天堂AV| 亚洲射激情| 影音先锋AV男人站| 无码99| 激情五月com| 成人人操| 丁香网五月天| 99精品视频网| www.五月天激情| 欧美图片丁香五月天| 色噜噜狠狠色综合日日| 丁香婷婷久久综合在线| 婷婷伊人綜合中文字幕小说| 91日婷婷在线| 91男同| 午夜不卡成人一区二区| 丁香六月婷婷开心| 99热九九在线| 丁香五月桃花在线激情综合| 欧美性生交XXXXX无码小说| 人妻精品一区二区三区| 夜夜www| 日本欧特黄色刺激一区影视久精品无码| www.精品99| AV 3P| 久久性操| 婷婷天堂视频| 另类图片五月天激情| 美女天天爽| 欧洲婷婷五月天| 人橾人| 伊人网色婷婷五月天| aaa久久| 五月婷婷丁香色吧网| 亚州色婷婷| 操b视频在线观看一区二区| 五月丁香色| 开心久久网婷婷| 久9视频| 开心五月深爱五月| 色欲一区二区三区精品A片| 日操| 丁香婷婷激情五月| 热久久成人| 国产无人区大片| 毛片九九九九九九九九18| 午夜丁香婷婷| 婷婷五月天久久| 深爱婷婷网| 天天拍久久| 色之综合网| 九九热av| 亚洲超碰在线| 免费的日逼视频| 婷婷97| 亚州操操| 精品婷婷| 天天五月香欧美| 九九伊人网| 激情六月婷婷| 欧美狠狠草| 久久综合五月天| 98永久精品| 岛国午夜视频| 美女精品一级不卡视频| 丁香五月影视| www.色婷婷.com| 五月丁香啪啪婷婷| 五月丁香激情啪啪| www色色色com| 九九99九九精品免费 | 丁香五月婷婷啪啪| 九九爱激情| 久久人妻熟女一区二区| 雪千夏麻豆| 日韩精品一区二区三区,四区,五区视频| 国产美女无遮挡裸体毛片A片 | 色波激情五月天| 丁香五月天在线观看视频| 色五月91| 操逼福利视频| 五月婷婷激情视频| 在线99热| 全部老头和老太XXXXX| 97人妻碰碰中文无码久热丝袜| 久久99操| 91919191919久久成人视频| 五月婷婷视频| 国产精品视频| 99爱欧美| 26uuu日韩| 五月综合激情网| 玖玖爱伊人| 亚洲热久久| 2018国产大陆天天弄| 日本色色影片| 婷婷射综合| 五月丁香六月激情| 色色999三级片| 婷婷综合一二三| 欧美精品啪啪| 99aese| 激情五月天综合| 色色丁香婷婷综合| 影音先锋秋秋五月婷婷| 久久婷婷五月综合激情国产| 五月亭亭六月激情| av在线激情| 国产精品VIDEOSSEX久久发布| 久热大香蕉| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品| 成人国产网| 婷婷五月天黄色网址| 99色色爰| 亚洲色五月天| 午夜不卡久久精品无码免费| 久久激情天堂| 婷婷四色成人综合色视| 色婷婷亚洲精品天天综| 永久热91| 婷婷综合五月色播| 免费AV播放| 大香蕉太香蕉视频97| 三级三久久线久久99久目本WW| 夜夜www| 综合激情在线| www.91AV.com| 天天干-天天日| 欧美色色色色色色| 婷婷日本在线| 五月婷婷丁香伦理网| 激情综合网色播五月| 99精品在线观看| 密视AV综合在线| 色婷婷婷av| 中文久久婷婷| 国产色五月| 久久久久er热| 草榴视频网| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 欧洲一区二区| 婷婷99狠狠躁| www天堂99| 婷婷,五月天,丁香,第一| 色99在线观看| 午夜日韩久久久网站| 思思久久思思| 欧美性色A片免费免费观看的| 4399在线观看免费毛片| 舔色婷婷| 久热精品在看| 九九99香蕉在线视频播放| 麻豆观看夏晴子| 丁香五月在线视频| 五月天社区| 一区色色色色网| 九九久久五月天| 丁香六月成人网| 天天舔天天摸天天透| av国产精品| 毛片网站谁有| 丁香五月首页| 色屌丝中文字幕| 一区二区三区四区牛| 色播丁香婷婷五月激情| 色综合婷婷99| 天天干天天色综合| 色婷婷丁香九月| 婷婷五月另类网站| 亚洲AV综合网| 人妻AV在线观看| 日本九婷婷| 婷婷色在线播放| www.99热这里精品| 中文久久婷婷| 激情综合网址| 丁香五月婷婷狠狠色| 婷婷射丁香| 99热欧美精品| 久久久久9| 91色逼| 丁香六月婷| 日本久久性| 婷婷五月天久久| 精品成人在线观看| 色吧综合网| 五月婷婷综合激情| 婷婷五月丁香图片人人操| 婷婷丁香亚洲五月天| 色婷婷成人做爰A片免费看网站 | 午夜婷婷久久 | 色播播五月天| 99愛国产| 97久久久久| 强伦轩人妻一区二区电影| 99色在线视频观看| 六月婷综合| 26uuu最新地址| 五月天婷婷久草丁香| 成人av在线网站| 婷婷六月丁香在线| 色色六月| 99热九九热| 天天免费成年人视频| 婷婷成人av| www,色婷婷| 丁香五月天电影| 超碰人人在线| 婷婷伊人五月天| 五月天综合在线观看| 久久婷狠狠色| 婷婷五月性感| 色婷视频| 婷婷五月天六月| 182TV亚洲| 六月丁香网| 婷婷五月色播放| 亚洲AV无码成人精品区电影网| 成人国产综合| 五月婷婷综合久久| 激情五月激情综合网一级丸片| 日本nghangse中文字幕| 99视频在线精品| 99热色在线精品| 97人人做| 91九色中文| 色九区| 婷婷中文字幕版| 在线观看亚洲视频影院| 8050一级网| 日本久久综合| 国产精品VA在线| 天天舔天天摸天天射| 国产第99页| 99热欧美| 这里只有精品2| 五月丁香777| 婷婷丁香视频在线观看免费| 99热碰碰热| 欧美,日韩成人在线| 在线中文av| 国产亚洲AV人片在线| 九九色热| www.99久久久| 婷婷丁香五月综合| www.99情趣网| 五月婷婷欧美激情| 色婷婷狠狠色| 丁香五月天殴美激情| 97资源碰碰| 天天网曰日曰夜夜综合永久免费| 久久久久久久久18久久| 青草视频在线观看视频 | 影音先锋五月天婷婷丁香在线观看| 色婷婷五月天| 色婷婷五月天在线观看| 五月天大香蕉| 亚洲综合草草| 色综合天堂| 思思久久99| 天天射色五月天| 日日操日日干| 婷婷夜夜夜夜| 精品少妇蜜臀91| 99在线观看视频蜜臀| 97干在线视频| 婷婷五月天AV| 五月欧美色播| 国产欧美婷婷五月| 激情综合五月| 九九视频免费| 日日夜夜狠狠婷婷色| 性五月激情| 久热人妻| 五月天天天操天天爽夜夜操| ji'qing'luan'ren'lun| 色五月婷婷五月久久| 色吧五月婷婷六月丁香| site:ornaments52.com| 五月激情综合深爱| av性爱网站| 99区视频| 96丁香婷婷九月蜜桃综合久久| 日韩中文字幕| 99久热视频在线| 精品视频二级九九| 激情丁香五月天图片| 1囯产午夜仑鲁鲁| 伊人久久综合| 99久在线精品99re8热| 欧美一级色| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 亚州色婷婷| 婷婷丁香久久| 国产又爽又猛又粗的视频A片| 国产精产国品一二三在观看| 亚洲9久久精品| 激情熟女网| 久大香蕉| 深爱激情五月天色婷婷| 女高怪谈在线观看| 国产99久久久| 欧美性猛交99久久久久99按摩| 五月婷婷激情啪啪| 中美月韩免费A片| 五月香婷婷| 欧美激情xxxXX| 互月天综合| 亚洲色频| 蜜桃人妻无码AV天堂三区| 狠狠婷婷色综合| 激情丁香五月AV| 五月婷婷av| 五月婷婷丁香综合| 中文字幕丰满乱孑伦无码专区 | 国产亚洲精品久久久久久久久动漫| 日韩久久系列| 新激情五月天天在线网| 开心五月深爱五月| 九色视频入口91| 色色激情网| 婷婷综合激情五月综合| 色婷婷色99国产综合精品| 成人无码髙潮喷水A片| 狠狠爱婷婷五月天| 激情小说五月天社区丁香| 亚洲色色色色| WWW,五月| 丁香五月婷婷99| 色色色色色级无码| 五月天综合久久| 亚洲六月色| 91viP在线看| 爱婷婷久久视频| 丁香色婷婷| 久久丁香婷| 婷婷激情五月天网站| 丁香五月天AV| 无码少妇高潮喷水A片免费| www.99热这里精品 | 另类丁香五月天区图| 另类激情五月| AV五月婷婷露脸| 久久久18| www.日本久久videos| 国产日韩亚洲欧美在线观看| 五月激情婷婷在线| 午夜丁香综合婷婷| 久久久久久久久久人妻| 亚洲午夜av| 91丨九色丨老农村| 亚洲激情视频网| 淫视馆aV二区一区| 综合性爱网| 狠狠爱五月婷婷综合六月| 丁香五月天激情网址| 婷婷五月天色播| 九九操屄| 桔色成人官方网站| 777影视理论片大全在线观看| 噜噜干日本| 久久99成人性爱高清视频| 色五月播五月| 婷婷五月大| 婷婷综合视频| 丁香婷婷色色| 99狠狠| aV欲望人妻中文字幕| 婷婷丁香六月激情综合| 免费无码毛片一区二区A片| 欧美日韩成人一区二区| 婷婷激情六月综合| av激情在线| 婷婷色Av| 久热伊人91| 淫水导航| 玖玖九九9999在线观看视频精品| 欧美日韩aaaa| 日韩成人精品中文字幕电影| 婷婷免费无视频| 久久人妻少妇嫩草AV| 在线色色| 亚洲第一综合| www.五月激情.com| 夜夜撸日日操| 五月色 亚洲| 大香蕉久艹| 亚洲sesesese| 99re6在线视频精品免费| 五月婷五月婷伊人伊人五月婷| 久热中文字幕| 99惹在线精品免费观看| 激情五月天婷婷丁香| 丁香五月网站| 久久精品99国产精品日本| 69热在线| 亚洲第一成人无码A片| 欧美五月停| 99色热视频| 色99最新网址| 色停停五月,在线观看| 嫩草国产| 婷婷五月天天天| 中文字幕九九九九| 成人AV免费观看| 操碰97| 免费看欧美成人A片无码| 99色爱| 欧美日韩成人在线网| 九九九九国产| 99亚洲综合| 美女久久婷婷| 激情文学五月丁香六月婷婷| 婷综合| 国产69久久久欧美黑人A片| 中文字幕久久一区二区三区| 丁香五月激情网| 97精品人人A片免费看| 这里只有精品免费视频| 婷婷免费精品视频| 九九偷拍网| 五月丁香六月| 亚洲区视频| 另类视频丁香五月| VA日本视频| 伊人久久大香线蕉亚洲五月天,| 91精品国产99久久久久久天美| 在线视频色五月| 亚洲AV无码成人电影| 亚洲最大在线| 激情开心五月亚洲| 婷婷的99视频网站| 国产69久久久欧美黑人A片| 青青草激情网| 日韩一区二区三区无码| 超碰在线观看9| 国产真实乱了老女人视频 | 日韩999| 【乱子伦】黄色| 久久99精品久久久久久青青AR| 五月天婷婷综合| 天天久| 开心五月丁香综合久久| 婷婷久久五月天丁香| 天天爱天天操| 另类图片五月天| 五月丁香 啪啪| 深爱激清网| 思思热在线视频99| 婷婷五月俺要去| 激情综合五月婷| 人人操女人| 9 1大香蕉| 婷婷激情久久| 啪啪日热| ZpRSw| 激情操逼婷婷| 淫五月停停| 在线五月色播| 天天爽夜夜爽夜夜爽精| 久久婷婷六月| 五月丁香色婷婷婷基地| 色就是色婷婷五月亚洲激情| 天天情天天狠天天透| 中美日韩成人在线| 九九综合久久| 国产99美少妇| 婷婷狠狠久久| 操逼福利视频| 五月色丁香激情| 六月丁香婷婷在线波多| aaa日韩| 五月婷婷开心亚州在线| 2025天天操| 五月天综合激情网| 99九九视频| 97久久人人| 99久热这里只有精品| 深爱激情丁香| 亚洲乱码日产精品BD在线观看| 蜜桃人妻无码AV天堂三区| www.五月天| 影音 五月 婷婷 久久| 五月激香蕉网| 黄色毛片精品| 亚洲AV人人操| 可以免费看av网站| 一级A片天天操夜夜操| 婷婷五亚洲| 丁香五月天综合| 9 1超碰九色| 99热综合| 亚洲成人精品三区| 久久99大全| 亚州精品色情无码A片| 三区激情四射av| 日日夜夜综合| 99久在线视频| 日本天天操| 任你弄在线视频免费| 99视频在线啪| 久久久精品99亚洲综合| 天天狠狠色综合| 精品99视频| 色色色欧美| 亚洲AV无码成人电影| 九热久| 老司机午夜福利视频金瓶梅| 婷婷五月天激情网站| www.五月天婷婷| www.婷婷| 97碰成超视频免费视频| 亚州激情在线视频| 激情五月天综合婷婷网| 婷婷综合五月天| 丁香五月熟女| 青青.com| 日日操日日撸| 农村熟妇高潮精品A片| 综合亚洲AV| 丁香五月综合久久八| 曰日爽日日操| 极品少妇高潮啪啪AV无码| 亚洲色基地| 噜噜综合网| 9九色首页| 伊人综合网站| www九九| 丁香五月另类小说| 丁香五月成人| 亚洲一级色电影| 五月婷婷丁香色播网| 婷婷五月天开心网| 99re免费在线视频| 亚洲99在线| 天天操天天曰| 偷偷操99| 激情五月丁香六月综合AVXXXX| 99这里有精品| 久久久.COM| 99久久激情视频| 97精品人人A片免费看| 99热e| 激情五月天婷婷五月天| 婷婷99综合| 伦乱美欧| 激情五月综合婷婷| 欧美日韩99| 超碰2021| 亚洲一区二区无码蜜乳av| 五月丁香综合激情| 色婷婷a| 日日色综合| 日本韩国视频在线观看社区免费的9| 五月天色婷好好| www久| 久久婷婷五月天激情四射| 丁香六月激情综合啪啪| 欧美色图片88| 亚洲日韩26uuu| 日本一级黄色电影| 噜噜噜噜婷婷五月天| 99在线视频播放| 色爱99| 日本爆乳片手机在线播放| 久草视频大香蕉99| 天天插插天天| 久久一操| 天天干天天干天天| 久久婷婷东京热大香樵| 亚洲99精品欧美一区| 亚洲综合色成丁香五月色| 色香五月天| 日韩国产在线精品| 狠狠色综合五月| 久99久视频精品| A A色色| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 色色吧综合| 99热老网站| 这里只有精品视频免费在线观看| 久久大香蕉| 天天综合色| 梁铮版《蜘蛛女侠》在线| 国产亚洲在线观看| 日日干日日s| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 婷婷五月成人| 免费无码毛片一区二区A片| 婷婷激情鹿城五月天| 黄色片久久| 色婷婷五月天视频在线| 国产精品人妻在线网址| 1024国产| 亚洲精品乱码久久久久99| 96自拍视频九色在线观看| 五月婷婷激情啪啪| 26UUU欧美| 国产操B视频| 伊人婷婷五月天| 狠狠人妻久久久久久综合丁香| 综合在线观看99| 丁香五月在线播放| 久久曰曰| 婷婷不干网| 五月丁香中文| 五月天激情小说| 96自拍视频九色在线观看| 啄木鸟丝袜美女福利视频| 色爱99| 六月丁香五月婷婷| 美女美女美女三级色天天天天天| 五月天婷婷色情| 来吧亚洲综合网| 天天天摸夜夜夜玩| 国产免费AV在线| 国产亚洲精品久久久久久牛牛| 婷婷噜噜| 五月丁香六月激情综合网| 超碰在线免费观看日韩| 黄色一级影片| 五月丁香狠狠爱婷婷综合| 99碰在线视频| 久久草大香蕉| 直接看的av| 思思久ren热| 色婷婷综合丁香五月天| 大香蕉九九| 色五月天成人| 久久九九免费大视频| 亚洲AVwwwwwww| 久久婷婷色| 这里只有精品免费视频| 蜜臀A∨在线水帘洞| 超碰在线观看caop| 思思久久99热只有频精品66| 夜夜爽天天爽| 五月丁香在线婷婷蜜桃| 色色丁香婷婷综合| 99riAV成人在线视频| 粉嫩av蜜桃av蜜臀av| 九九九九九九九热| 玖玖视频福利| 久久99久久久| 玖玖婷婷色欲| av九九| 激情四射网| 久久99性爱视频| 另类综合激情| 色婷操逼| 丁香蜜臀黄色婷婷五月天| 热这里| 人人玩人人橾| 久久婷婷国产| 色99免费视频中文| 任你爽在线视频| 五月丁香啪| 婷香五月| 97五月久久丁香婷婷| 天天爽天天摸| 俺也去综合| 激情99热| 婷婷五月黄色激情在线| 超碰免费99| 亚洲AV无码成人精品区电影网| 久99婷婷色综合| 天天干天天做| 99视频在线精品| 婷婷久热| 伊人五月婷婷| 色情五月天丁香社区| 天天插天天插天天插| 成人电影一区| 国熟女视频| 五月色婷丁香| 久色激情| 五月丁香六月婷婷成人电影| 日日夜夜婷婷| 丁香五月婷婷色| 婷婷色丁香五月| 激情综合网亚洲色图| 五月天开心色情网| 天天草狠狠擦| 国产欧美婷婷五月| 五月丁香六月婷婷中合网| 色综久久AV| 思思热99er在线视频| 五月花婷婷在线精品视频| 五月婷视频久久| 五月天婷婷色色| 蜜臀AV在线成人| 91丨九色丨东北熟女| 婷婷久久久| 婷婷色在线| 色婷婷六月性| 日本人妻丁香婷婷久久寝取熟女五月| 99国产小视频免费观看| 丁香六月婷婷缴情欧美| 思思99精品视频| 9999热精品在线免费播放| 狠狠肏综合网| 婷婷五月天亚洲综合网| 亚洲综合色棒| 九九热视频这里只有精品| 性爱久久| 狠狠干夜夜干| 免费看欧美成人A片无码| 最近免费中文字幕大全高清大全1 色狠狠色噜噜AV天堂五区 | 99日韩| 综合网亚洲| 免费看欧美成人A片无码| 秋霞少妇AV网站| 九九精品re免费视频| 99玖玖人人| 综合另类视频| 丁香五月AV在线| 毛片新网地| 久久久久人妻网址| 色啪网| 少妇性BBB搡BBB爽爽爽电影| 美女久久天堂| 亚洲碰碰碰| 99热这里只有精品26| 六月丁香婷婷天堂| 五月丁香婷婷AV| 91天天操天天干天天射| 亚洲亚洲人成综合网络| 国产三级在线播放| 一区二区成人电影| ji'qing'luan'ren'lun| 久久久久久人妻久久久久久久久久人妻久久久 | 人人操超碰| 99久.| 另类小说五月天综合网| 天天激情欧美美女| www.夜夜| 五月丁香婷婷99| 亚洲艹网| 色综合久久88色综合天天99| 丁香五月欧美| 日日噜噜久久婷婷五月天| aa久久| 99.色| 色婷婷网| 色婷婷AV在线观看| 激情五月天色| 五月丁香六月婷婷久久| 狠狠做婷婷| 五月天激情日色在线| 婷婷五月综合在线| 色五月丁香伊人| 婷婷深爱五月| 91视频免费后入强操| 激情婷婷人妻| 丁香五月婷婷色情综合| 91九色PORNY肉丝在线| 久久婷婷亚洲| 色五婷婷开心缴| 被强行糟蹋的女人A片| 久婷久婷| 综合激情深爱| 99亚洲天堂| 久久草中文日韩欧美| 日撸夜撸日操| 久久久婷婷婷| 色色色综合色| 婷婷亚洲欧美丁香五月| 狠狠五月天| 丁香五月婷婷激情网| 久热A| 极品少妇XXXX精品少妇偷拍| www.99久久久| 精品人妻伦一二三区久久| 91精品激情9| 伊人激情| 亚洲区视频| 影音先锋男人资源站一区二区| 成人欧美Va| 99热精品在线观看| 91操人视频| 97超碰在线免费观看| 九月婷婷综合在线| 四色女婷婷| 国产成人精品一区二三区熟女在线 | 九九热re99re6在线精品| 9久热在线视频| 婷婷播播五月天| 人妻久久久| 激情5月舔| 久久五月综合| 黄色五月婷婷| 丁香五月综合婷婷| 五月停停999| 久99久99精品免| 71在线精品视频一区| 99视频这里只有精品10| 91人妻九色大屁股| 色五月天激情| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 中文无码婷婷| 久久婷婷色情7777网站| 9热精品| 丁香五月婷婷偷拍| 五月天婷婷久久| 五月天丁香婷婷社区| 人人干人人看| se.久久视频在线观看| 婷婷深爱五月丁香| 色九综合| 九月婷婷色色| 黄色片区子| www.99视频| 色丁香五月婷婷婷| 久久性爱视频| 开心五月丁香啪| 99欧美热| 五月花在线观看视频| 五月花激情网| 六月久久婷婷| 五月婷婷啪啪| 99re在线播放| 婷婷丁香五月激情中文字幕版| 色伦专区97中文字幕| www激情网| 另类图片五月天激情| 五月激情婷婷国产精品久久久久久| www.com亚洲网站在线免费| www.五月天色色.com| 大香蕉综合| 色播五月婷婷| 久久草婷婷丁香网站| 九九九九中文字幕| 日韩人妻在线观看| 色五月婷婷久久爱| 婷婷五月丁香综合网| 婷婷五月六月丁香| 91久久久久久久久18| 日本乱子人伦在线视频| 五月综合激情视频| 美欧成人视频| av人人干| 色日本网| 色婷婷操逼| 少妇高潮呻吟A片免费看软件| 伊人AV五月婷| 天天噜日日噜综合无码| 拍真实国产伦偷精品| 日韩在线五月天婷婷| www.五月天色色.com| 国产99热| 丁香五月在线| 婷婷爱在线观看| 蜜臀av 粉嫩av 懂色av| 九九热啪啪| 久久久月丁香| 特级操b片| 婷婷99狠狠| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 亚洲精品五月| 久久婷婷色情7777网站| 免费看欧美成人A片无码| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 久久九九综合| 九九热精品视频| 色综合久久五月| 欧美色碰| 少妇搡BBBB搡BBB搡毛茸茸| 五月婷婷六月丁香| 天天爱天天做天天舔| 亚洲AVwwwwwww| 国产成人片| 久久丝袜婷婷| 天天天天天天天操| 婷婷丁香六月| 最新久久99视频网站| 一起草av| 日本久久人人| 色五开心五月五月深深爱| a网站免费观看| se.久久视频在线观看| 成AV人片一区二区三区久久| 免费播放片大片| 久久精品66| 深爱 五月天| 久青操| 啪啪啪丁香五月| 成人精品视频99在线观看免费| 久久婷婷久久| 日本va欧美va欧美va| 熟女乱论网| 性生活视频98791| 婷综合六月| 亚洲在线免费成人| 婷婷丁香五月综合| 色玖玖综合网| 六月丁香婷婷综合在线| 五月婷在线色视频| 亚洲狠狠狠| 丁香五月天激情视频| www色婷婷com| 26uuu亚洲色| 久热精品视频在线观| 香蕉97碰碰碰超视精品| 99久久超级| 欧美日韩欧美| 天天日夜夜爽| 91日本在线| 成人综合AV| 色综合色| 99热这里只| 天天色激情| 五月丁香婷婷激激激综合网色播| 在线,国产,色,热视频| 九九热AV| 五月天婷婷av| 91干在线| 久久性刺激| 欧美日韩五月婷婷| 丁香五月婷婷高清| 91 久热| www.色多多婷| 五月婷婷 婷婷五月 一区二区 久久久| 国产精品人成A片一区二区| 26uuu国产| 亚洲天天| 日本天天操| 婷婷亚洲天堂| 婷婷在线播放| 国外亚洲成AV人片在线观看| 亚洲欧美成人在线| 婷婷激情五月| 麻豆AV一区二区三区| 亚洲欧洲中文日韩久久AV乱码| 天天插天天射| 成人无码髙潮喷水A片| 天天日天天色| 国产真实乱了老女人视频| 日产精品久久久久久久蜜臀| 欧美性猛交99久久久久99按摩| 欧美性生交XXXXX无码小说| 无码激情AAAAA片-区区| 大伊香蕉精品视频在线| 亚洲AV在线免费看| 激情婷婷护士激情| 94干大香蕉| 91色逼| 91干视频| 婷婷爱五月天| 国产人妻777人伦精品HD| 天堂成人A片永久免费网站| 成人丁香婷婷| 免费看片在线观看| 婷婷五月色综合| 激情五月天久久丁香| 激情综合网,五月| 九九热短视频在线观看| 五月婷婷久草在线视频综合| 综合网五月| 另类视频综合| 中文字幕日产A片在线看| 97久久久久久久久久久| 91碰九色| 狠狠色婷婷777| 五月丁香网中文字幕| 这里精品| 色色激情| 婷婷狠狠干| 色五月婷婷综合在线| 激情五月天在线观看婷婷| 26uuu国产精品| 五月天天爽| 人人爱国产| 久久九九99视频| 五月丁香六月成人| 婷婷五月天激情偷拍| 色五月丁香伊人五月| 成人短视频在线| 免费观看全黄做爰的视频| 免费超碰在线| 丁香五月婷婷久久综合激情网| 久久久精久人妻| 婷婷激情视频| 日韩成人无码| 亚洲乱码w在线观看| 精品无码色| 五月婷婷在线视频| 一起草AV| 伊人综合色干| 色天天狠狠干| 啪啪 综合网| 欧美槡BBBB槡BBB少妇| 91九色欧美| 九九操综合网| 五月婷婷三级| 99久操视频| 五月丁香六月在线欧美| 色色色色色网站| 色色色五月婷婷| 激情五月天99色| 婷婷六月丁香激情综合| 色欲久久久久久综合网综合网| 强辱丰满人妻HD中文字幕| 99婷婷国产最新视频| 日日肏夜夜干| 婷婷基地爱| 五月婷婷日本| 婷婷狠狠五月综合| 五月亭亭直播| 丁香五月综合首页| 涩涩婷婷五月| 亚洲精品婷婷| 婷婷五月天AV在线| 久久久精品人妻录| 五月婷婷六月色| 婷婷丁香五另类网站| 久久久这里有精品| 99国产在线精品视频| 97av在线视频| 丁香美女五月天婷婷| 久久久久久99日本| 九九热再线九九视频免费在线观看| 超碰爱爱爱| 九九精品9| 五月开心六月婷婷在线播放网站| 成人AV在线网站| 婷婷色五月天色| 青草激情在线| 日本欧美成人片AAAA| 色色日韩网| 久久最新色| 亚洲欧美国产A片免费观看| 九九一综合精品| 亚洲色啪| 淫荡家庭AV| 婷婷99| 变态另类9| 久久久久久97| 丁香五月综合久久综合| 五月天六月婷婷电影| 久久婷婷七月丁香| 人妻五月天激情开心网| 狠狠干夜夜干| 99,色| 色婷婷小说| 激情婷婷色色| 色婷婷狠狠爱| 中文字幕不卡+婷婷五月| 婷婷射图| 久久色天堂| 成人在线精品| 激情综合五月天| 色五月激情综合网| 五月婷久久| 丁香久久| 色综合久| 99热这里是精品| 天天草人人摸| 色婷婷激情| 五月色情婷婷开心五月色情| 日本精品人妻无码77777| 天天久久综合| 丁香影院五月综合| 噜噜网免费视频|