久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

工業(yè)控制器存儲(chǔ)方案:MR25H40CDF與PIC32MX675F256L的SPI MRAM實(shí)戰(zhàn)解析

工業(yè)控制器存儲(chǔ)方案:MR25H40CDF與PIC32MX675F256L的SPI MRAM實(shí)戰(zhàn)解析 1. 項(xiàng)目概述為什么在工業(yè)控制器里用 MR25H40CDF 搭 PIC32MX675F256L這幾年做工業(yè)控制器最撓頭的往往不是算力而是“數(shù)據(jù)往哪兒放”。設(shè)備參數(shù)要斷電不丟、運(yùn)行日志要記錄頻繁變化的現(xiàn)場(chǎng)數(shù)據(jù)、掉電瞬間還要搶救關(guān)鍵狀態(tài)而普通的 EEPROM 和 Flash 在工業(yè)現(xiàn)場(chǎng)總有這樣那樣的脾氣。最后我把方案收斂到了 MR25H40CDF 這顆 SPI MRAM 和 PIC32MX675F256L 這套組合上目標(biāo)很單純?cè)诠I(yè)和嵌入式應(yīng)用里穩(wěn)定、干凈、省心地存儲(chǔ)和讀取數(shù)據(jù)。先交代一下角色定位。MR25H40CDF 是 Everspin 的 4Mbit 串行 MRAM容量 512KB走標(biāo)準(zhǔn) SPI 總線PIC32MX675F256L 是 Microchip 的 MIPS M4K 內(nèi)核單片機(jī)256KB Flash、64KB RAM100 管腳外設(shè)豐富工業(yè)控制領(lǐng)域很常見(jiàn)。把“非易失存儲(chǔ)”這顆心臟交給 MRAM把“控制與通信”交給 PIC32MX675F256L這套組合解決的是工業(yè)設(shè)備里最核心的痛點(diǎn)數(shù)據(jù)既要快又要穩(wěn)還不能有壽命焦慮。這篇內(nèi)容適合正在折騰工業(yè)控制器、機(jī)器人控制柜、視覺(jué)檢測(cè)設(shè)備、邊緣計(jì)算盒子的人。不管你是用裸機(jī)開(kāi)發(fā)、RTOS 還是嵌入式 Linux 背景的工程師只要需要一套可靠的小容量存儲(chǔ)方案參考這套做法都能少踩不少坑。我會(huì)把硬件連接、SPI 驅(qū)動(dòng)、應(yīng)用層封裝、現(xiàn)場(chǎng)調(diào)試經(jīng)驗(yàn)全部拆開(kāi)講按我的實(shí)際測(cè)試順序走下來(lái)基本可以照著抄作業(yè)。2. 方案選型思路MRAM 憑什么比 Flash 和 EEPROM 更合適2.1 工業(yè)現(xiàn)場(chǎng)的存儲(chǔ)需求到底特殊在哪普通消費(fèi)級(jí)產(chǎn)品掉電丟幾個(gè)字節(jié)參數(shù)大不了恢復(fù)出廠設(shè)置。工業(yè)設(shè)備不行。一臺(tái)工業(yè)機(jī)器人控制柜里有幾十種夾具參數(shù)、聯(lián)動(dòng)坐標(biāo)、伺服增益一臺(tái)視覺(jué)檢測(cè)設(shè)備里有相機(jī)標(biāo)定矩陣、曝光補(bǔ)償、檢測(cè)靈敏度曲線。這些數(shù)據(jù)一旦丟失重新標(biāo)定可能要花半天產(chǎn)線停機(jī)的損失遠(yuǎn)不止芯片的差價(jià)。工業(yè)存儲(chǔ)環(huán)境的第二個(gè)特點(diǎn)是“寫(xiě)入頻繁且無(wú)規(guī)律”。參數(shù)表可能每次上電都改幾個(gè)字節(jié)運(yùn)行計(jì)數(shù)器每個(gè)班次都在更新事件日志一天可能寫(xiě)幾千條。傳統(tǒng) Flash 有擦寫(xiě)次數(shù)上限和按頁(yè)擦除的問(wèn)題EEPROM 雖然能單字節(jié)寫(xiě)但容量小、速度慢、壽命也只有幾十萬(wàn)次。MRAM 完全不同它把非易失性和 SRAM 的高速度、高耐久結(jié)合在了一起。第三個(gè)特點(diǎn)是環(huán)境條件惡劣。溫度范圍、電源波動(dòng)、電磁干擾都遠(yuǎn)超辦公環(huán)境。MR25H40CDF 這類(lèi) MRAM 芯片本身是工業(yè)級(jí)器件溫度范圍寬沒(méi)有擦除步驟也沒(méi)有磨損均衡需求掉電保持性能非常穩(wěn)定。這就是我在做方案對(duì)比時(shí)最終選它的直接原因。2.2 存儲(chǔ)方案橫向?qū)Ρ葘?duì)比項(xiàng)MR25H40CDF (MRAM)SPI NOR FlashEEPROMSRAM 電池寫(xiě)入壽命10^13 次級(jí)別幾乎不用考慮通常 10^5 次通常 10^6 次無(wú)限寫(xiě)入前是否需要擦除無(wú)需需要按扇區(qū)擦除無(wú)需無(wú)需字節(jié)寫(xiě)自由度任意字節(jié)、任意長(zhǎng)度頁(yè)緩沖限制單字節(jié)任意掉電數(shù)據(jù)保持20 年以上10 年以上10 年以上依賴(lài)電池寫(xiě)入速度ns 級(jí)數(shù)據(jù)寫(xiě)入總線速度受限慢頁(yè)寫(xiě)入還要等慢有寫(xiě)周期快管理復(fù)雜度低高需要 FTL/磨損均衡中高需要掉電檢測(cè)這個(gè)表基本上就是我的選型依據(jù)。Flash 的問(wèn)題在于“擦除”和“磨損”EEPROM 的問(wèn)題在于“慢”和“短命”電池 SRAM 的問(wèn)題在于“電池總有一天會(huì)沒(méi)電”。MRAM 把這些問(wèn)題全部繞開(kāi)了代價(jià)是容量偏小、價(jià)格偏高但作為參數(shù)、日志、狀態(tài)保存這類(lèi)關(guān)鍵小數(shù)據(jù)存儲(chǔ)完全夠用。2.3 與 PIC32MX675F256L 搭配的整體架構(gòu)PIC32MX675F256L 在這套方案里承擔(dān)主控角色。它自帶 64KB RAM對(duì) MRAM 的讀寫(xiě)可以通過(guò) SPI 外設(shè)完成不需要額外的邏輯芯片。我在項(xiàng)目里把 MRAM 掛在 SPI1 上主模式通過(guò)一個(gè)普通 GPIO 控制片選另外兩個(gè) GPIO 控制 WP 和 HOLD 引腳。架構(gòu)上分了三層。最底層是 PIC32 的 SPI 外設(shè)驅(qū)動(dòng)負(fù)責(zé)時(shí)鐘、片選、發(fā)命令、收數(shù)據(jù)中間層是 MR25H40CDF 的存儲(chǔ)協(xié)議驅(qū)動(dòng)封裝成讀、寫(xiě)、寫(xiě)使能、狀態(tài)查詢(xún)這幾個(gè)原語(yǔ)上層是應(yīng)用層的數(shù)據(jù)管理比如參數(shù)結(jié)構(gòu)體存取、環(huán)形日志緩沖、掉電現(xiàn)場(chǎng)搶救。這樣分層的好處是如果你以后要把 MRAM 換成其他 SPI 存儲(chǔ)芯片只需要改中間層應(yīng)用代碼幾乎不用動(dòng)。3. MR25H40CDF 核心細(xì)節(jié)引腳規(guī)劃、指令集與讀寫(xiě)機(jī)制3.1 管腳功能與硬件接法要點(diǎn)MR25H40CDF 是標(biāo)準(zhǔn)的 8 腳 SOIC 封裝引腳和普通 SPI EEPROM 基本一致。項(xiàng)目中的接法如下MR25H40CDF 引腳功能連接到 PIC32MX675F256L1CS# 片選GPIO如 RB52SI/DI 數(shù)據(jù)輸入SPI1 SDO3HOLD# 暫停GPIO如 RB64VSS 地GND5SO/DO 數(shù)據(jù)輸出SPI1 SDI6WP# 寫(xiě)保護(hù)GPIO如 RB47VCC 電源3.3V并接 100nF 去耦電容8SCK 時(shí)鐘SPI1 SCK硬件上最容易犯的錯(cuò)是把 HOLD# 和 WP# 懸空。這兩個(gè)引腳內(nèi)部有弱上拉但工業(yè)現(xiàn)場(chǎng)電磁環(huán)境復(fù)雜懸空等于給干擾留了兩個(gè)天線。我在板子上把 HOLD# 用 GPIO 控制平時(shí)拉高WP# 也由 GPIO 控制平時(shí)拉高只有需要配置寫(xiě)保護(hù)狀態(tài)時(shí)才短暫拉低。這個(gè)設(shè)計(jì)雖然不是必須但在抗干擾測(cè)試時(shí)能看出明顯區(qū)別。VCC 引腳還應(yīng)該再并一個(gè) 10uF 左右的鉭電容特別是如果 MRAM 和電機(jī)驅(qū)動(dòng)同一塊板子電源紋波會(huì)很刺。千萬(wàn)別省。3.2 SPI 指令集與狀態(tài)控制MR25H40CDF 支持標(biāo)準(zhǔn) SPI 指令基本命令如下指令名命令字節(jié)說(shuō)明WREN0x06寫(xiě)使能寫(xiě)入前必須執(zhí)行WRDI0x04寫(xiě)禁用RDSR0x05讀取狀態(tài)寄存器WRSR0x01寫(xiě)狀態(tài)寄存器配置寫(xiě)保護(hù)區(qū)塊READ0x03讀取數(shù)據(jù)地址 3 字節(jié)WRITE0x02寫(xiě)入數(shù)據(jù)地址 3 字節(jié)SLEEP0xB9進(jìn)入深度休眠WAKE0xAB喚醒和 Flash 最大的區(qū)別在 WRITE 命令上。MRAM 寫(xiě)入前不需要擦除也不需要像 Flash 那樣按頁(yè)操作WRITE 命令可以連續(xù)寫(xiě)入任意字節(jié)長(zhǎng)度速度只受 SPI 總線速率限制。這意味著你可以把一個(gè)幾百字節(jié)的結(jié)構(gòu)體用一條 WRITE 命令直接寫(xiě)進(jìn)去讀回之后原封不動(dòng)這在系統(tǒng)參數(shù)保存場(chǎng)景里非常省事。狀態(tài)寄存器里有寫(xiě)保護(hù)相關(guān)的配置位。我實(shí)際用到的核心流程是寫(xiě)數(shù)據(jù)前先發(fā) WREN 命令讓內(nèi)部寫(xiě)使能鎖存生效然后發(fā) WRITE 命令和地址。如果沒(méi)發(fā) WREN 就寫(xiě)數(shù)據(jù)芯片會(huì)直接忽略寫(xiě)入請(qǐng)求這是最容易踩的坑。3.3 地址空間與邊界注意事項(xiàng)MR25H40CDF 容量 4Mbit換算下來(lái)是 512KB地址范圍為 0x000000 到 0x07FFFF使用 3 字節(jié)地址。我寫(xiě)驅(qū)動(dòng)時(shí)習(xí)慣用 uint32_t 保存地址發(fā)送時(shí)按高、中、低三個(gè)字節(jié)依次移位。這里有個(gè)細(xì)節(jié)地址最高字節(jié)實(shí)際上只有低 7 位有效發(fā)送前最好用addr 0x07FFFF做一次掩碼保護(hù)防止應(yīng)用層不小心把越界地址傳進(jìn)來(lái)。還有一個(gè)容易被忽略的點(diǎn)是連續(xù)寫(xiě)跨越地址邊界的行為。如果寫(xiě)操作從 0x07FFF0 開(kāi)始寫(xiě) 64 字節(jié)地址遞增到 0x07FFFF 之后繼續(xù)遞增會(huì)回卷到 0x000000。這一點(diǎn)和很多 SPI Flash 的頁(yè)回卷行為類(lèi)似但更隱蔽。所以上層應(yīng)用要自己做邊界檢查或者像我一樣在日志模塊里預(yù)留邊界把緩沖區(qū)設(shè)計(jì)成兩段避免跨越地址尾端。4. PIC32MX675F256L 側(cè)驅(qū)動(dòng)實(shí)現(xiàn)從 SPI 初始化到讀寫(xiě)原語(yǔ)4.1 SPI1 外設(shè)配置與波特率計(jì)算我用 PIC32MX675F256L 的 SPI1 模塊做主模式。初始化第一步是配置管腳方向SDO 是輸出SDI 是輸入CS、WP、HOLD 是普通 GPIO 輸出。注意用 SPI 外設(shè)專(zhuān)用功能的管腳時(shí)需要把對(duì)應(yīng) TRIS 位設(shè)置正確否則數(shù)據(jù)口方向不對(duì)讀回來(lái)的數(shù)據(jù)永遠(yuǎn)是錯(cuò)的。SPI 波特率計(jì)算有個(gè)固定公式SPIxBRG (PBCLK / (2 * 目標(biāo)頻率)) - 1。我的板卡 PBCLK 是 40MHz目標(biāo) SPI 時(shí)鐘 2MHz計(jì)算如下SPI1BRG (40000000UL / (2 * 2000000UL)) - 1; // 結(jié)果是 9實(shí)測(cè)下來(lái)2MHz 在工業(yè)環(huán)境走短引線非常穩(wěn)。MR25H40CDF 支持更高的時(shí)鐘頻率但在原型調(diào)試階段沒(méi)必要拉滿(mǎn)先跑穩(wěn)比跑快重要。后期如果需要提速直接把目標(biāo)頻率改成 10MHz 或 20MHz重新算一下 BRG 即可。初始化代碼里還有一個(gè)關(guān)鍵點(diǎn)是 SPI 模式。我的板子上用的是 SPI Mode 0即時(shí)鐘空閑為低、上升沿采樣。不同板子如果對(duì)時(shí)序有特殊要求也支持改成 Mode 1、2、3但 MRAM 和主控之間必須一一對(duì)應(yīng)。下面是我實(shí)際驗(yàn)證過(guò)的初始化函數(shù)void MR25_Init(void) { // 管腳方向配置以實(shí)際原理圖為準(zhǔn) TRISBbits.TRISB5 0; // CS 輸出 TRISBbits.TRISB4 0; // WP 輸出 TRISBbits.TRISB6 0; // HOLD 輸出 LATBbits.LATB4 1; // WP 拉高允許寫(xiě)狀態(tài)寄存器 LATBbits.LATB6 1; // HOLD 拉高正常工作 LATBbits.LATB5 1; // CS 默認(rèn)拉高不選中芯片 // SPI1 主模式配置Mode 0 SPI1CON 0; SPI1BRG 9; // 40MHz PBCLK目標(biāo) 2MHz SPI1CONbits.MSTEN 1; // 主模式 SPI1CONbits.CKP 0; // 空閑低電平 SPI1CONbits.CKE 1; // 上升沿采樣對(duì)應(yīng) Mode 0 SPI1CONbits.ON 1; // 開(kāi)啟 SPI1 }4.2 基礎(chǔ)讀寫(xiě)原語(yǔ)SPI 收發(fā)、寫(xiě)使能與數(shù)據(jù)讀寫(xiě)SPI 收發(fā)是所有的地基。PIC32 的 SPI 外設(shè)收發(fā)共用 SPI1BUF發(fā)送一個(gè)字節(jié)后等待接收緩沖就緒再讀返回值。如果只需要發(fā)不用收也要讀走接收緩沖否則會(huì)一直占用標(biāo)志位。uint8_t MR25_SPITransfer(uint8_t byte) { while (SPI1STATbits.SPITBF); // 等待發(fā)送緩沖空 SPI1BUF byte; // 寫(xiě)入發(fā)送緩沖 while (!SPI1STATbits.SPIRBF); // 等待接收緩沖滿(mǎn) return SPI1BUF; // 讀取收到的數(shù)據(jù) }寫(xiě)使能是整個(gè)存儲(chǔ)協(xié)議里最容易被忽略的一步。WRITE 命令前必須先發(fā) WREN否則芯片不會(huì)執(zhí)行寫(xiě)入。我的習(xí)慣是每次寫(xiě)操作前都單獨(dú)調(diào)用寫(xiě)使能而不是在初始化時(shí)只做一次。原因很簡(jiǎn)單芯片內(nèi)部寫(xiě)使能鎖存可能被各種復(fù)位、噪聲、誤操作清掉與其猜它什么時(shí)候失效不如每次寫(xiě)都顯式打開(kāi)。下面是三個(gè)核心原語(yǔ)實(shí)現(xiàn)void MR25_WriteEnable(void) { MR25_CS_LOW(); MR25_SPITransfer(0x06); // WREN MR25_CS_HIGH(); } void MR25_ReadData(uint32_t addr, uint8_t *buf, uint32_t len) { uint32_t i; addr 0x0007FFFF; // 4Mbit 容量地址掩碼 MR25_CS_LOW(); MR25_SPITransfer(0x03); // READ MR25_SPITransfer((addr 16) 0xFF); MR25_SPITransfer((addr 8) 0xFF); MR25_SPITransfer(addr 0xFF); for (i 0; i len; i) { buf[i] MR25_SPITransfer(0x00); // 時(shí)鐘驅(qū)動(dòng)芯片輸出 } MR25_CS_HIGH(); } void MR25_WriteData(uint32_t addr, const uint8_t *buf, uint32_t len) { uint32_t i; addr 0x0007FFFF; MR25_WriteEnable(); // 寫(xiě)數(shù)據(jù)必須先寫(xiě)使能 MR25_CS_LOW(); MR25_SPITransfer(0x02); // WRITE MR25_SPITransfer((addr 16) 0xFF); MR25_SPITransfer((addr 8) 0xFF); MR25_SPITransfer(addr 0xFF); for (i 0; i len; i) { MR25_SPITransfer(buf[i]); } MR25_CS_HIGH(); }這里有個(gè)很重要的點(diǎn)MRAM 寫(xiě)入本身是即時(shí)完成的不需要像 Flash 一樣等待內(nèi)部編程周期。寫(xiě)完拉高 CS 之后數(shù)據(jù)就已經(jīng)在存儲(chǔ)單元里了。但為了在總線上有異常時(shí)盡早發(fā)現(xiàn)我在應(yīng)用層仍然保留了“寫(xiě)后讀回”的校驗(yàn)習(xí)慣寫(xiě)幾個(gè)字節(jié)再讀回來(lái)比對(duì)一遍。這個(gè)習(xí)慣后面在問(wèn)題排查章節(jié)還會(huì)細(xì)講。4.3 應(yīng)用層接口封裝參數(shù)結(jié)構(gòu)體、循環(huán)日志與啟動(dòng)自檢驅(qū)動(dòng)原語(yǔ)只是工具真正讓工程師省心的是上層封裝。我在這套方案里做了三個(gè)應(yīng)用模塊參數(shù)結(jié)構(gòu)體、運(yùn)行日志、掉電現(xiàn)場(chǎng)記錄。參數(shù)結(jié)構(gòu)體最直接定義一個(gè)結(jié)構(gòu)體包含魔數(shù)、版本號(hào)、CRC 校驗(yàn)和各類(lèi)運(yùn)行參數(shù)整體寫(xiě)入 MRAM 固定地址。#define SYS_PARAM_ADDR 0x000000 #define SYS_PARAM_MAGIC 0xA55A5AA5 typedef struct { uint32_t magic; uint32_t version; uint32_t crc32; uint32_t baudrate; uint32_t node_id; float speed_gain; float pos_offset[3]; } SysParam;寫(xiě)入?yún)?shù)時(shí)先填好結(jié)構(gòu)體內(nèi)容計(jì)算 CRC32然后整塊寫(xiě)進(jìn) MRAM。啟動(dòng)時(shí)讀出來(lái)先校驗(yàn)?zāi)?shù)再校驗(yàn)版本和 CRC。魔數(shù)不對(duì)說(shuō)明參數(shù)區(qū)從來(lái)沒(méi)初始化過(guò)版本不對(duì)說(shuō)明固件升級(jí)后參數(shù)格式變了CRC 不對(duì)說(shuō)明數(shù)據(jù)被破壞。針對(duì)這三種情況分別走默認(rèn)參數(shù)初始化流程并打一條錯(cuò)誤記錄。這套邏輯很樸素但能擋住絕大多數(shù)異常場(chǎng)景。日志模塊我做成簡(jiǎn)單的環(huán)形緩沖。比如把 MRAM 尾部 64KB 劃分為日志區(qū)每條日志固定 64 字節(jié)包含時(shí)間戳和事件編號(hào)。寫(xiě)指針在 RAM 里維護(hù)一個(gè)影子副本上電時(shí)掃描日志區(qū)尾部確定起始位置。每次寫(xiě)日志就是寫(xiě)一條記錄并更新影子指針。必要時(shí)把影子指針也持久化到 MRAM 頭部。這個(gè)設(shè)計(jì)對(duì)“運(yùn)行計(jì)數(shù)器”“告警記錄”“維護(hù)記錄”這類(lèi)需求非常合拍。5. 工業(yè)應(yīng)用場(chǎng)景落地機(jī)器人控制、視覺(jué)檢測(cè)與邊緣設(shè)備5.1 工業(yè)機(jī)器人控制器里的參數(shù)保存工業(yè)機(jī)器人控制柜里的數(shù)據(jù)有兩種。一種是裝配參數(shù)、工具坐標(biāo)、用戶(hù)坐標(biāo)系屬于“改得不頻繁但必須準(zhǔn)”的數(shù)據(jù)另一種是碰撞計(jì)數(shù)、保養(yǎng)提醒、軸運(yùn)行時(shí)間屬于“頻繁遞增但不能丟”的數(shù)據(jù)。這兩類(lèi)放在傳統(tǒng) Flash 上都很尷尬前者怕丟后者怕頻繁寫(xiě)把 Flash 寫(xiě)廢。我把工具坐標(biāo)和用戶(hù)坐標(biāo)系放在 MRAM 的前 16KB使用參數(shù)結(jié)構(gòu)體加備份區(qū)的方案寫(xiě)入時(shí)雙槽交叉防止寫(xiě)到一半掉電導(dǎo)致文件式損壞。軸運(yùn)行時(shí)間、保養(yǎng)計(jì)數(shù)則放在日志區(qū)每次增量更新都直接寫(xiě)一條記錄。MRAM 寫(xiě)壽命足夠完全不用考慮磨損均衡每條記錄就算每秒鐘寫(xiě)一次也能寫(xiě)很多年。5.2 工業(yè)視覺(jué)與 AI 檢測(cè)設(shè)備中的標(biāo)定數(shù)據(jù)與統(tǒng)計(jì)信息工業(yè)相機(jī)、視覺(jué)檢測(cè)、工業(yè)異常檢測(cè)這些系統(tǒng)里最怕的就是標(biāo)定參數(shù)丟了。一臺(tái) basler 工業(yè)相機(jī)、大華或華睿的工業(yè)相機(jī)裝好后要做畸變矯正、光源補(bǔ)償、ROI 設(shè)置這些數(shù)據(jù)全部保存在下位機(jī)控制器里。如果每次重啟都要重新標(biāo)定現(xiàn)場(chǎng)工程師會(huì)直接崩潰。我把這類(lèi)設(shè)備的相機(jī)標(biāo)定矩陣、曝光參數(shù)、檢測(cè)靈敏度曲線放在 MRAM 里因?yàn)闃?biāo)定結(jié)果不大幾百字節(jié)到幾 KB但價(jià)值極高。AI 檢測(cè)部分大模型一般跑在獨(dú)立計(jì)算單元上但檢測(cè)結(jié)果的 OK/NG 數(shù)量統(tǒng)計(jì)、當(dāng)日產(chǎn)能統(tǒng)計(jì)、異常圖像計(jì)數(shù)會(huì)實(shí)時(shí)寫(xiě)入 MRAM 日志區(qū)掉電后依然能查。很多“工業(yè) AI 檢測(cè)”項(xiàng)目最后交付時(shí)客戶(hù)要的就是這些統(tǒng)計(jì)數(shù)據(jù)存儲(chǔ)方案扛不住的話整個(gè)項(xiàng)目都顯得不專(zhuān)業(yè)。5.3 邊緣計(jì)算與控制柜里的“最后一公里”存儲(chǔ)現(xiàn)在很多嵌入式 Linux 項(xiàng)目在工業(yè)現(xiàn)場(chǎng)替代了過(guò)去的上位機(jī)但 Linux 系統(tǒng)本身跑在 SD 卡或 eMMC 上頻繁掉電寫(xiě)數(shù)據(jù)有文件系統(tǒng)損壞的風(fēng)險(xiǎn)。我在這類(lèi)項(xiàng)目里通常會(huì)保留一片 MRAM作為 Linux 和實(shí)時(shí)控制器之間的“可靠數(shù)據(jù)交換區(qū)”和“關(guān)鍵參數(shù)保險(xiǎn)庫(kù)”。PIC32MX675F256L 這一類(lèi) MCU 的吸引力就在這里它負(fù)責(zé)上電時(shí)序、看門(mén)狗、關(guān)鍵數(shù)據(jù)存儲(chǔ)和旁邊的嵌入式 Linux 主處理器通過(guò)串口或者 SPI 通信。Linux 側(cè)該跑算法跑算法該存日志存日志真正不能丟的底層數(shù)據(jù)全部通過(guò) MCU 落到 MRAM 里。這樣分工之后系統(tǒng)最脆弱的存儲(chǔ)環(huán)節(jié)反而變成了最可靠的一環(huán)。嵌入式開(kāi)源項(xiàng)目里如果你在找這種小容量高可靠的存儲(chǔ)方案MRAM 加 MCU 的路子值得試。6. 現(xiàn)場(chǎng)調(diào)試經(jīng)驗(yàn)常見(jiàn)問(wèn)題排查與獨(dú)家技巧6.1 寫(xiě)入不生效讀回來(lái)全是默認(rèn)值這是最常見(jiàn)的故障。先不要懷疑芯片壞了九成是寫(xiě)使能沒(méi)生效。檢查流程示波器抓 CS 引腳看寫(xiě)命令前有沒(méi)有發(fā) 0x06 WREN再查 WP 引腳是否被拉低。WP 引腳低電平時(shí)芯片會(huì)拒絕修改狀態(tài)寄存器部分配置下也會(huì)影響寫(xiě)入。另一個(gè)隱蔽原因是 CS 拉低和 SCK 第一個(gè)沿之間的建立時(shí)間不夠尤其 SPI 總線速率提高后時(shí)序裕量變小。處理方法是把 SPI 時(shí)鐘降到 1MHz 或 2MHz 先驗(yàn)證功能再逐步提速。6.2 讀出的數(shù)據(jù)錯(cuò)位、多一位或少一位這個(gè)問(wèn)題多半出在 SPI 模式配置上。SI/SO 接反了是硬件問(wèn)題SPI Mode 不匹配是軟件問(wèn)題。PIC32MX675F256L 的 SPI1 外設(shè)支持 4 種模式如果時(shí)序和 MRAM 不匹配讀回的數(shù)據(jù)不是全零就是錯(cuò)位。我調(diào)試時(shí)會(huì)先固定發(fā)一個(gè)已知字節(jié)比如 0xA5然后用示波器同時(shí)看 SCK 和 SI確認(rèn)數(shù)據(jù)變化沿和采樣沿是否在預(yù)期位置。大部分錯(cuò)位問(wèn)題在這一步就能定位。還有一個(gè)容易忽略的是片選控制順序。READ 或 WRITE 期間 CS 不能中途拉高否則芯片會(huì)認(rèn)為命令被中止。特別是使用了帶中斷的應(yīng)用代碼如果中斷服務(wù)函數(shù)里不小心操作了同一個(gè) CS 引腳就會(huì)出現(xiàn)偶發(fā)性錯(cuò)位。6.3 偶發(fā)數(shù)據(jù)損壞時(shí)好時(shí)壞偶發(fā)問(wèn)題大多是電源和干擾造成的。MRAM 對(duì)電源紋波比普通邏輯芯片敏感VCC 引腳的去耦電容必須靠近芯片。我遇到過(guò)一塊板子硬盤(pán)故障式地偶爾丟數(shù)據(jù)查到最后是電機(jī)驅(qū)動(dòng)的大電流回路和 MRAM 共地地平面被抬高了接近 1V。把電機(jī)部分獨(dú)立鋪地、單點(diǎn)連接之后問(wèn)題徹底消失。HOLD 引腳和 WP 引腳也必須重視。HOLD# 如果懸空總線忙時(shí)外部噪聲把它拉低通信就會(huì)暫??雌饋?lái)像是芯片無(wú)響應(yīng)。WP# 如果懸空噪聲瞬間拉低后寫(xiě)狀態(tài)寄存器和塊保護(hù)配置可能被意外改變。把這些控制腳全都強(qiáng)制拉到確定電平是工業(yè)現(xiàn)場(chǎng)的基本素養(yǎng)。6.4 調(diào)試心得先自檢、后讀寫(xiě)、再上量我把這套流程整理成了一個(gè)固化步驟每次換板子都這么走。第一步上電初始化后先讀一次狀態(tài)寄存器確認(rèn) SPI 總線通第二步向一個(gè)臨時(shí)地址寫(xiě) 0xA5、0x5A讀回校驗(yàn)第三步做一個(gè) 1KB 的連續(xù)寫(xiě)讀回測(cè)試驗(yàn)證地址遞增無(wú)回卷問(wèn)題第四步斷開(kāi) SPI 時(shí)鐘只給芯片供電等幾十秒再讀取驗(yàn)證數(shù)據(jù)保持。這四步看起來(lái)繁瑣但在現(xiàn)場(chǎng)能省下大量排查時(shí)間。另外如果系統(tǒng)里還有別的 SPI 器件建議給 MRAM 單獨(dú)拉 CS不要和其他外設(shè)共享同一個(gè)片選線。共享片選雖然省 GPIO但它帶來(lái)的時(shí)序沖突和電平干擾在工業(yè)環(huán)境下會(huì)成倍放大。一塊板子上的 GPIO 有的是別在這種地方摳資源。7. 最后一件事上電自檢和寫(xiě)后讀回這個(gè)習(xí)慣最好保留我在實(shí)際測(cè)試中形成的習(xí)慣是每次上電都要跑一個(gè)簡(jiǎn)短的存儲(chǔ)自檢不要直接信任上次寫(xiě)入的數(shù)據(jù)。具體做法是在初始化函數(shù)里讀一遍參數(shù)區(qū)如果魔數(shù)正常但 CRC 校驗(yàn)失敗千萬(wàn)不要強(qiáng)行繼續(xù)運(yùn)行把失敗標(biāo)志上報(bào)到上位機(jī)同時(shí)跳到默認(rèn)參數(shù)。寧可設(shè)備以默認(rèn)參數(shù)啟動(dòng)也不能讓一套被破壞的參數(shù)帶著產(chǎn)線亂跑。寫(xiě)后讀回也是我強(qiáng)烈推薦大家在驅(qū)動(dòng)層保留的功能比如寫(xiě)一個(gè)字節(jié)之后立刻讀回比對(duì)。MRAM 本身可靠性很高這個(gè)校驗(yàn)防的不是存儲(chǔ)單元壞而是總線上的異常、驅(qū)動(dòng)代碼的 bug、還有焊接問(wèn)題。一旦寫(xiě)回不一致立即重試連續(xù)三次失敗再報(bào)錯(cuò)。這套邏輯實(shí)現(xiàn)成本極低但對(duì)提升現(xiàn)場(chǎng)設(shè)備的可維護(hù)性幫助極大。這套 MR25H40CDF 加 PIC32MX675F256L 的方案我從原型驗(yàn)證做到批量出貨前后調(diào)過(guò)三輪硬件踩過(guò)電源、時(shí)序、寫(xiě)保護(hù)這些坑。每次有人問(wèn)我工業(yè)現(xiàn)場(chǎng)小容量數(shù)據(jù)存儲(chǔ)用什么我的答案都是這套組合。MRAM 的價(jià)格雖然比普通 Flash 高一些但省下來(lái)的開(kāi)發(fā)時(shí)間、現(xiàn)場(chǎng)維護(hù)成本和客戶(hù)口碑遠(yuǎn)超這點(diǎn)差價(jià)。如果你正好在選型或者調(diào)試階段卡住了按上面這些步驟走一遍應(yīng)該比我當(dāng)年順利得多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
蜜臀AV秘一区翔田千里| 116美女午夜| 97在线/亚洲| 久久9久9久99久9久9| 日本三级A片网站com| 欧美综合传媒| 欧美在线伊人色| 免费a在线播放v| 水多多映视AV| 亚洲图片91| 蜜屁Av| 国产免费一区二区在线A片视频| 欧美一区二区成人一卡| 久久久久9999精品九九九| 蜜区区视频79| 变态乱伦伪娘灌肠一区二区| 人妻欧美| 日日躁天天躁狠狠躁| 精品国产99| 六月婷婷五月丁香| 五月天婷婷小说| 大香蕉一区二区在线观看.| 欧美骚少妇| 五月天综合网| 啊啊啊啊二区好大| 加勒比AV网| 九色 人妻 大香蕉| 亚洲欧美精品一区天堂久久 | 国产精品自拍欧美在线| 成人性爱AV在线免费观看| 亚洲人妻色图| 夜夜夜夜久久久久| 天天欧美| 国产成人综合在线播放| 亚洲乱色熟女一区| 亚洲系列第一页| 欧美精品一区二区少妇免费A片| 免费精品无码一级毛片牛牛影视| 神马麻豆福利院| 午夜精品久久久99热蜜桃的功能特点| 涩涩久久精品| 欧美综合 站| 91性高| 午夜男人天堂| 强奸乱伦AV网址| 超碰97中文| 天美91| 性色A∨91| 日本媚薬中文字幕在线| 尤物视频视频官网| 久久无码电影| 欧美99| 亚洲影视综合网| 国产视频一区二区在线观看| 91天天综合网,天天综合网| 欧美亚洲丝袜美女电影| 久久久久ab| 欧美一区二区三区成人性生活| 天海翼久久| 97超碰人操| 中文久久96| 久久精品六区| 蜜臀无码视频在线观看| 国产女人操逼视频| 亚洲丝袜二区| 欧美A√综合网| 99热在线只有精品| 欧美日韩操操操| 99热自拍| 青青操视频在线| 久久超碰久| julia在线观看久久| 大香网伊人久久综合网eew| 久久m| 啪啪啪综合| 日本成人A片网站| 亚洲综合一区二区| 美女裸体麻豆天美蜜桃91| 操91| 立川理惠被中出无码| 岛国福利在线精品播放| AAA久久| 天天操女人| 婷婷激情五月综合| 日韩熟女乱伦中出| 天天影视网综合少妇| 欧美夜夜骑视频| 大二网站亚洲| 久久久com| 日本新免费二区三区| 91四海无码日韩欧美| 中文字幕第9页萱萱影音先锋| 日韩无码a片| 国产精品大香蕉| 91在线丝袜视频| а√天堂资源官网在线资源| 色色色欧美| 91强在线播放| 亚洲自拍欧美国产首页网曝 | 怡春院久久| 自拍偷拍草一草| 天天射影院| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | yy少妇精品久久| 蜜臀久久久99久久久久 | 国产传媒操逼视频| 久久理论字幕视频| 襙一襙| 亚洲国产综合久久天堂| 试看60秒 爽| 久久久久久AⅤ无码免费肉站| 香港成人一级视频在线青青草| 九九九九AV| 久久婷婷亚洲| 91色射| 99久久e免费热视| 自拍视频大全亚洲专媒视频/一区二区三区 | 亚洲另类色图片| 人妻少妇精品| 天美传媒国产原创中文字幕亚洲欧美另类 | 91视频在线观看18| 日本美女性生活久久久久久久| 人人九九精| 日韩性爱毛片操骚逼| 日本免费一区二| 超碰午夜| 老熟妇综合| 人人做,人人操,人人摸| 99国产精品免费| 免费福利视频中文字幕| 青青草玖玖爱| 日本色色色| 欧美在线电影| 无码一区二区三区四区五区六区七区八区九区十区视频 | 亚洲av淫乱| 91天天爽| 久久色人体| 97欧美精品| 啊啊啊好湿国产一二| 亚洲欧美综合| 久久香蕉超碰97国产精品| 以及麻豆国产入口在线观看免费| 精品九九淫乱男| 日本午夜精品理论片A级APP发布| 久久αⅴ| 啊啊啊啊啊啊啊啊要喷了| 日韩Va亚洲va欧美Ⅴa久久| 大香蕉琪琪日本女优不卡| 极品尤物自安慰| 亚洲天堂一二| 欧美日本久久精品一区| 日本精品无码三级网站| 亚洲清纯综合| 大香蕉十区| 国产日韩区| 色一区二区三区综合| 久草五月| 亚洲最新av无码成人精品区 | 欧美在线观看综合国产| 国产深喉视频一区二区| 亚洲 欧美 另类 日韩 人妻一区| 九九探花视频在线观看| 97超碰欧美| 色眯眯av| 日本亚洲vr欧美不卡高清专区| 天天激清| 国产精品另类一区大香蕉| 91丝袜在线观看视频在线观看| 亚洲欧美色图小说| 啊啊啊想要| 中文字幕人乱码中文字的预防方法 | 精品v日韩欧美国产| 欧美AB在线| 另类av综合久久| 丁香五月色| 国产av强奸美女| 色妇综合网| 蜜臀AV成人精品蜜臀| 五月丁香影院| 久操精品网| 91搞逼视频| 日韩在线国产字幕| 九九热三级片| 免费精品AB| 97国产天堂岛| 91熟女综合| 9久超碰| 全球成人中文在线| 美国aaaaa一级黄片| 另类图片天天影视| 国产精品一区二区麻豆| 日韩人妻精品| 久久夜嗨| 色综合1991| 精品人妻一区二区三区夜夜| 少妇69中文| 久久久久密| 国产刺激视频| 久久久影院| 日本色婷婷| www国产天美久久久| 曰韩人妻中文字幕在线| 亚洲性爱成人| 精品国产一区二区三区四区在线看| 鸥美中出| 中国一级αV| 91亚洲电影| 91亚洲电影| 欧美综合另类| 欧美一级黄色免费专区| 日本孕妇一区二区视频操逼免费看| 91欧美情色| 久久人妻一区二区三区高清| 久久线上视频免费看| 加勒比久久av| 国产999精品久久久| 久久精品日韩专区免费观看| 麻豆区久久久久亚| 亚洲欧美天堂| 国产久久免费精品视频| 狼狼色丁香久久婷婷综合五月 | 日本欧美色| 久久久18禁| 欧美伦乱爱| 日韩精品电影| 在线视频资源| 2024黄色视频| 又粗又长又爽在线观看| 极品尤物女神在线观看| 婷婷伊人| 青青草吊丝| 一区二区三区四区五区高清无码永久视频| 伊人大香蕉在线| 亚洲精品欧洲精品| 白嫩妹子国产骚| 男女国产精品| 不卡一区二区日本视频| 久久XX| 麻豆婷婷成人一二三| 91天射| 99色热| 久久久亚洲熟妇熟女| 国产精品久久久久久久电影渣男| 日韩乱插| 91人妻丝袜无码| 粉嫩小泬久久久一区二区| 91亚.色| 久久精品熟妇丰满人妻99| 69av一区二区三区| 九九久久综合| 精品人妻一区二区乱码一区二区| 亚洲欧美97| 一级岛国大片| 欧美亚州手机在线| 天天插天天操天天摸天天射天天看| 欧美操逼录像国产黄色国产| 婷婷av在线中文字幕| 亚洲久久东京热一二三四五区视频| 曰本特级特黄特色黄色A级网站高清在线免费看| 91色插| 95自拍视频在线观看| AV大香蕉| 天天欧美97| 亚洲精品乱码线路中文字幕| 玖玖在线视频| 视频黄站| 国产大学生口爆吞精合集| 久久极品伊人| 人妻久久一区二区三区 | 美女高潮视频91| 亚洲图片 欧美电影| 日韩99精品视频综合区| 亚洲91少妇| 97久久精品不卡| 人人操人人操人人人操| 91女网站| 国产精品剧情| 激情五月婷| 破处bbq| 亚洲天堂一区二区久久| 4141514逼喷水三级片| www欧美91| 国产在线精品偷| 蜜乳av一区二区三区四区不卡| 亚洲中字幕日本一区二区三区| 免费看一级a性色生活片久久无| s片在线观看| 国产污视频麻豆传媒一区二区 | 91操碰| 在线观看啊啊啊啊啊| 国产三级多多影院2022国产AA一级毛片无码 | 天堂中文日本在线观看| 国产人妻一区二区三区欧美毛片| 中文字幕在线免费观看2| 久久草草欧美精品| 丰满人妻一区二区三区免费| 熟女精品一区二区三区| 岛国在线国产| 天天操人人操骚逼网站| 伊人影院综合是一个与深夜成人在线| 亚洲色图 图片| 国产免费操逼| 久久伊人东京热| 国产视频一区二区免费| 9久久久久久| 99综合| 久久超碰日韩精品| 无码91| 亚洲**2021在线观看| 91艹逼精品| 国产 热久久久久国产精品| 西西美女视频网| 激情综合网五月婷婷五月天| 久久婷婷一区| 亚洲 欧美 天天| 91国产操逼视频| 热久久99999| 日本一级二级三级网站| 国产精品白丝www| 天天干,天天日| 国产精品视屏| 呦女网站| 精品视频日日夜夜| 无码国产精品久久久久| 日本人妻最新在线中| 欧美色日本| 丰满人妻一区二区三区大胸懂色| 清纯唯美亚洲综合| 亚洲欧洲无码97久久精品| hd成人一区二区在线| 91第一页| 俞拍自拍| 国产极品999| 久久社区一区二区三区| 神马麻豆福利院| 中文字幕超碰CAO| 久久精彩视频| 91社操逼| 波多野42部无码喷潮在线观看| 超碰在线综合97| 97色插| 国产精品秘 福利姬在线观看| 视频国产欧美在线播放| 操熟女91| www.av不卡中文字幕| 亚洲18禁| 激情五月丁香五月| 最新日产中文在线麻豆| 欧美人人操人人插| 久操国产在线| 日本天堂在线播放| 亚洲精品一卡二卡三卡福利视频网站| 超踫中文字幕| 国模精品娜娜一二三区 | 久久綜合很很很| 国产少妇肉丝在线观看| 亚洲码专区| 乱伦熟妇一区二区| 我要色综合网| 亚欧美综合网。| 手机看片日韩人妻| 超碰99热中文字幕| 乱精品一区字幕二区| 九九热久久99精品re| 日韩综合色图| 日韩精品人妻一区二区| 熟女高潮精品一区二区| 激情四射五月天| 超硑97精品| 中文字暮97| 久久麻豆一区二区| 色吧五月| 99热综合| 长长久久88视频| 丁香色色网| 中国东北熟女老太婆内谢| 五月天我淫我色av| 久久超碰国产一区二区三区| 色逼综合| 久九九九| 性色AV蜜色av色欲av| 国产深喉视频一区二区| 少妇久久久久久| 色臀av| 日韩啪啪视频| 欧美裸体美女日麻屄| 精品久| 欧美裸体美女日麻屄| 欧美懂色综合网| 精品人妻一区二区三区在线视频不卡| 91国模| 淫荡网址| 国产三级在线现体验区| 天天躁日日躁xxxxx| 日本高清免费一本视频在线观看| 无码一区二区精品视频久久久春药 | 久污| 久久久涩| 亚洲情色欧美| 中文字幕人成乱码熟女香港| 超97在线精品视频| 国产成人亚洲精品自产在线| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 国产97在线播放| 天美传媒精品久久视频| 中文一区二区三区影院| 这里只有精品视频在线观看麻豆| 日韩精品在线观看网站| 久久欧美按摩999| 久久精品一区| 人伦四五区| 超碰美国| 亚洲精品国产日韩无码AV永久免| 天天视频黄网站| 色色五月婷婷| 91网站18在线| 国产一线二线三线av| 亚洲97在线观看| 黄色激情电影在线观看| 婷婷久久五月| 欧美国产成人在线| 五十路三区在线| 人人 操人人 操人人| 日本道久久综合色色| 女色视频社区| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 蜜臀亚洲中文| 亚洲综合大片| 亚洲综合影院| 综合欧美日本三级| 91网亚洲| 蜜臀网 一区| 国产精品网址| 夜夜嗨av午夜成人| 久久精品无码专区| 人人射人人操人人摸| 91大神电影天堂| 999久久芭蕾| 日韩极品无码B| 大香蕉久| 一区超碰一区| 国产一级作爱毛片| 国产精品 午夜福利| 网友自拍第1页| 久草福利在线资源站| 久久欧洲| 襙一襙| 中文字幕 码 自拍 视频 区| 97操综合| 激情综合网五月婷婷五月天| 欧美日韩婷婷中文| 国语对白露脸XXXXXX| 男人的天堂不卡一区二区| 久久精品99久久久久久| 色色网91| 18岁禁 茉莉成人久久| 97日韩| av天堂影视中文在字幕在线中文| 91视频女生| 国产极品99热在线播放69| 色哟哟-国产专区| 亚欧美色| 中文字幕91综合| 夜夜欢天天干| 天天舔天天| 神马午夜久久| 情色AV电影| 男人久久天堂| 色女99一级片在线观看| a级免费在线观看| 国产精品一区二区在钱播放| 神马久久久久久久| 久久99手机免费视频| 91看黄片| 久久爽爽精品| 日韩一区二区三区四区五区 | 欧美日韩激情无码专区| 91 国产丝袜在线播放-百度| 色久桃花影院在线观看| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 亚洲另类春色| 97中文天堂| 亚洲国产另类在线中文| 青青草日本中文字幕| 欧美精品一区二区少妇免费A片| 日本999精品| 美女写真| 久久线上视频免费看| 91久久久久免| 亚洲一区中文精品| 精品久久9| 婷婷视频网| 欧美美女视频| 日本加靬比网站发布页| 日韩在线一区高清在线| 夜夜嗨免费视频| 99热这里只有精品8| 国产高清自拍视频| 色哟哟AV| 后入 亚洲 美女 射| 翔田千里Av在线| 亚洲少妇激情一区二区三区| 1024久久高清视频| 岛国网址国产 | 国产免费一区2区3区| 丰满搜索结果 -第18页- 久久高清无码| 成人免费看吃奶视频网站| 亚洲欧美综合网站| 九九热精品免费视频| 久久无码成人| 日韩无码一区二区三区| 日日干夜夜欢| 精品久久在线区一区| 欧美大香蕉同搞| 伊人骚琪琪亚洲天堂网站| 青青草手机在线免费观看| 天天躁日日躁XXXXYY| 天天插网| 久久成人东京热人妻| 天天爽夜夜欢视| 91日本在线观看| 在线有码中文字幕| 校园春色AV天堂| 欧美韩国你懂得在线| 五月婷婷综合网| 国产精品麻豆视频网站| 欧美国产精品久久九九| 久久成人东京热人妻| 日韩精品人妻中文字幕久久久| 九月丁香婷婷| 亚乱色| 99re免费视频精品全部| 天天色欧美| 亚洲欧美内射| 久久精品99| 国产精品视频在线播放 | 色综合加勒比| 日本加勒比无码专区| 久久是精品| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 男女香蕉一区二区| 伊人国产视频| 四虎AV无码| 亚洲欧洲偷拍一区| 久久婷色| 啊视频在线| 国产乱人伦AVA麻豆软件.| 尤物视频一区| 国内精品a| 亚洲一区二区三区在线激情| 亚洲色图欧美色图另类图片| 日韩小电影| 亚洲欲色| 久久人| 中文久久久| 性一级黄色录像片网站导航| 亚洲资源吧| 美女黄色91| 97超级久久| 欧美自拍网| 午夜欧美精品久久久| 日韩无码第3页| 密臀成人视频久久久| 激情内射| 欧美天天综合在线| 9色国产精品一区粉嫩 | 久久久久久久少妇| 国产大片精久久久久久| 91国产美女丝袜足交精品视频 | 亚洲一区操| 乱伦一区二区三区‘| 久久无码成人| 中文字幕 国产区| 99热啪啪| 免费农村成人少妇人妻Aa一区二区视频| 看黑人AV不卡| 日本中文字幕一区| 东京太热男人的天堂久久久| 七月丁香婷婷| 国产女人与拘做受视频免费| 人人天天干干| 欧美图片偷拍| 美性中文综合网| 激情情色五月天| 先锋女优在线观看视频| 日本成人免费一区二区三区| 啪啪资源网| 一区二区 韩日AV| 午夜呻吟欧美| 国产自偷| 欧美大波激情xxxx| 国产一区二区在线电影| 九色 人妻 大香蕉| 97精品中文字幕| 天天拍夜夜| WWW啪啪的com| 日日夜夜干| 天天干天天中出av| 99久久99九九99九九九| 东京热视频网| 99无码精品| 久久伊人青青草| 久久线上视频免费看| 蜜乳AV免费观看| 亚洲成?V人片在线观看福利| 老熟女91av| 9九九国产| 久操操AV电影| 亚洲熟妇自偷自拍另欧美| 老女人碰碰在线碰碰视频| 2017天天插| 老司机老司机午夜影院| 嗯嗯,啊啊,国产精品| 男人天堂无码| 国产一区二区a毛片| 91N欧美| 色97综合中文字幕| 久久久久久亚洲中文| 色性综合| 亚洲AV色图| 国产精品嫩草影院免费| 亚洲色图a| 综合欧美亚洲| A久久| 欧美啪啪天堂| 久久精品中文字幕无码l| 岛国AV一区二区电影| 熟女熟妇一区二区三四区| 欧美一区二区三区另类精品| 狠狠操一区二区| 91综合在线| 日韩有码免费视频| 九九九久久久W精品| 91精品啪在线观看国产城中村| 校园春色综合色| 大JI巴好深好爽又大又粗视频| WWW黄片COM| 99在线啪| 人人操人人操草草| 精品久久9| 日本视频一区二区三区| 久草热制服丝袜在线观看| 无码高清操逼网址| 91骚妇| 免费1级a做爰片观看| 色鬼在线综合| 国产精品久久久久久久电影渣男| 超硑97精品| 69视频入口| 欧美熟妇精品黑人巨大一二三区| 日本一道在线播放高清| 久久国产99精品72福利| 成年无码动漫av片无尽在线 | 九久9热| 国产老太乱伦一区| 麻豆AV一区二区| 亚洲 小说 欧美 激情 另类| 神马久久中文字幕| 人人操人人搞人人草| 欧美亚洲激情一二三| 十八禁成人网站在线观看| 后入福利| 久久午夜伦| 国产成年女黄特黄| 亚洲精品蜜桃久久久久久久| 狠狠色噜噜狠狠狠狠狠色综合久久 | 欧美92| 97超碰碰碰| 欧美片第一页| 亚洲男人综合网| 人妻99p| 欧美翘臀视频网站一区二区三区| 色婷婷aV一区二区三区麻豆综合| 五十路六十路七十路熟婆| 日韩美女高潮喷水视频| 亚洲欧美日韩综合在线尤物| 亚洲激情综合另类| 久久精品一区| 俺去俺来也在线www| 懂色Av一区二区三区| 国产婷婷一区| 国产精品久久久久综合| 人人操人人色网| 伊蕉97蜜桃97狠狠综合干 | 日逼97| 5252色欧美在线| 日韩激情啪啪| 日韩免费a级毛片无码a∨| 无码久| 天天干天天干天天| 超碰成人公开| 欧美日韩在线小说 | 啊啊在线| 蜜桃不卡一区二区| 亚洲另类在线观看| 91碰超| 亚洲熟女人妻中文字幕一区二区| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 色五月综合网| 黄色人人| 美女黄网| 人妻少妇无码 | 无码精品久久久久久亚洲| 久久精品成人一区二区三区蜜臀| 久久9 9 9精品| 91精品久久综合熟女| 一本色道久久天天射天天干| 校园春色 亚洲| 北条麻妃性愛视频| http://qxhbdz.com| 免费在线观看AV无码网站| 人人干黄色| 日韩久射综合| 欧美综合自拍亚洲综合图| 欧美性,亚州色| 色婷婷激情| 亚洲蜜桃V妇女| 日韩无码三级影院| 亚洲欧美国产中文视频| 花花AV导航| 天天操天天干美女网址导航| 欧美成人色| 亚洲欧美九九九| 国内精品999| 五月综合视频| 激情五月婷婷综合| 综合色色婷婷| 日韩乱插| 国模精品娜娜一二三区| 可以免费观看的日韩av毛片| 免费黄色片。| 国产亚洲日韩欧| 亚洲无码com| 午夜操一操| 亚洲加勒比| 女色综合| 日本成a人v网站在线观看| 欧美精品97| 日本506070| 精品国产乱码久久| 超碰78| 日韩免费a级毛片无码a∨| 三上悠亚在线毛片91| 久久精品| 国产精品黑人一区二区三区| 午夜男女爽爽大片免费观看| 91 丝袜在线| 97干com| 日日日啊啊啊| 黄色不卡视频| 婷婷九月国产| 亚洲欧美综合网 | 欧美99热| 又黄又爽在线观看视频 | 久久精品熟妇丰满人妻99| 屁股久久久久久| 秋霞一级鲁丝片A片| 欧美国产精品| 久久老子无码午夜伦不卡| 国产欧美一区激情交| 国产成人亚洲精品自产在线| 嗯嗯嗯嗯啊啊啊好紧好大| 精品国产网站| 久久久专区| 夜夜春夜夜操| 永久免费观看的毛片的网站| 国产亚洲欧美每日在线| 亚洲国产高清福利视频| 婷婷五月丁香五月| 青青草伊人久久| 人妻少妇久久| 思思热一热婷婷热一热| 嗯嗯啊啊操我| 国产精品极品美女视频| 天天干天天插| 在线视频五十市| 欧美色图片欧美色图| 中文字幕视频在线观看| 久久日韩精品一区二区| 97任你吞精| 艳美熟妇先锋一二三区| 男人网站婷婷| 亚洲一区二区av| 国产福利视频精品视频| 色官网在线| 日韩精品人妻中文字幕有码午| 91无摭挡| CCYY草草影院地址入口| 女人爽到高潮潮喷18禁网站| 日少妇亚洲版| 久久久极品| 午夜乱轮操逼视频免费看| 99热在线观看| 加勒比人妻综合| 84YTCOM性无码| 717影院理论午夜伦八戒| 欧美午夜色妇色鬼| 97K超碰在线| 夜夜影视四色| 亚欧毛片基地国产毛片基地| 国产成人网站在线观看| 狠狠亚洲| 91丨国产丨白浆秘 洗澡动漫| 亚洲各类熟们中文字幕| 欧美在线55555| 美女被啪到深处抽搐视频| 国产又粗又长又爽又色| 欧美亚洲日韩16色| 97无码视频在线播放| 另类图片五月天| 人人操人人精品影片| 人人操人人操人人人操| 丰满人妻一区二区三区在线| 99热婷婷一区二区三| 色综合av男人天堂| 亚洲天堂人人妻| 综合伊人网12色| 99久久com免费视频′| 美女91网| 国产粉嫩出水在线播放| 亚洲精品一区二区免费在线观看| 男女做爰猛烈动高潮A片免费应用| 先锋精品av色鲁| 中文字幕乱妇免费视频| 亚洲夜夜欢无码一区二区 | 日本午夜福利影院| 另类欧美| 日韩性爱播放| 亚洲人妻久久久| 国产精选三级在线观看| 超碰 国产熟女精品一区| 亚洲国产精品无码AV在线| 久久婷婷亚洲欧| 一区二区三区黄色片a| 天天日天天舔东京热| 久操操AV电影| 97超碰免费人人性爱| 国产又黄又爽又刺激久久久久久| 粘花网06av视频| 老外又粗又长一晚做五次| 五月天色电影| 国内毛片婷婷六月色| 免费看国产大AB| 无码在线亚洲| 强乱老妇中文字幕| 天天综合精品| 加勒比伊人| 精久久久91| 国产曰批免费观看久久久| 国产视频小说| 中文字幕免费看大片| 风间由美日韩欧美久久| 人妻熟女午夜精品在线| 国产精品视频内谢女人| 97视频7| 国产熟女乱论| 亚洲色电影在线| 久久一二区四| 日本免费专区| 亚洲丝袜二区在线| 97中文天堂| 免费黄色片。| 久草色在线观看| 久操黄色视频| 亚欧成人综合影院| 99re99在线视频| 精品无码一区二区| 国产51色综合久久免费| 超碰97久| 少妇69中文| 91人妻Pr| 欧美视频一| 久久成人网站| 精品射1999| 综合欧美日本三级| 91麻豆天美| 久久精品中文| julia高潮后不停追击中出| 日韩激情无码影院| 91少妇高潮| 91性生活久久久| 97香蕉碰碰人妻国产欧美| 久久在线观看免费视频| 玖玖爱综合网| 情色av电影| 99热官网| 中文一区在线视频| 亚洲自拍天堂| 99熟女| 国产大片精久久久久久| 亚洲电影91| 黄色电影在线播放综合网站| 粉嫩粉嫩一区性色AV片| 久久久久久人体| 清清草影| 亚洲不卡AV在线| 人人摸人人摸人人干| 大象AV在线| 国产怡红院在线| 久久精品老司| 2010男人的天堂| 日韩一级成人毛片免费观看| 中文字幕久久婷婷丁香五月天| 久久9精品网站| 超碰1024久久| 天美国产精品| 大香蕉啪啪啪| A 天堂在线观看视频| 国产精品人妻一区二区| 日韩十八禁| 少妇人妻在线| 蜜桃一区二区三区| 白丝AV网站| 麻豆精品久久久久久久| 日韩中文字幕二区| 高清无码 国产精品| 大香蕉乱级| 天天肏天天干| 91熟女丨91老女人| 超碰色美女| 九九九九九九免费视频| 久久久久78| 精品国产一区二区三区久久久蜜臀 | 日韩专区久久久| 干B| 区二区亚洲婷| 丁香婷婷激情五月天无毒不卡 | 九九九九九精品视频| 亚洲色图欧美色图日韩色图| 激情黄色片在线观看| 呦呦一区| 久久久少妇| 999久久久| 大色综合| 91在线免费精品视频| 亚洲天天综合| 欧美欧美啪啪视频| 1769一区| AV一区观看| 日本性爱欧美性爱| 99国产精品视频尤物| 三级激情网站| 成人aⅴ一区二区三区| 四虎国产精品永久地址入口| 亚洲AV无码翔田千里网站| 欧美亚洲素人制服精品| 黄色电影在线播放综合网站| 成人免费看吃奶视频网站| 午夜国产乱伦视频| av日韩国产一区二区| 免费观看的黄色的网站| 日韩午夜精品一区二区三区电影| 亚洲成熟国产精品美女| 国产精品久久伊人| 屌色在线97视频| 67194无码不卡| 国产精品午夜成人福利| 久久久禁| 久久久九| 亚洲欧美黄| 亚洲97成人在线观看| 2020中文在线一区二区三区| 综合操逼| 99久久综合| 大香蕉综合| 99久久9| 91久| 无码高清操逼网址| 免费A V在线播放| 午夜免费视频1000| wwe 天天干.com| 91欧美丝袜| 先锋女优在线观看视频| 超碰免费人妻人人| 人妻中文字幕日韩电影| 9九九九九视频在线观看| 国产专区路线| 超碰9 7女人| 九九九久久久| 在线观看色视频| 亚洲第一页色| av72网| 亚洲 欧美综合| 久久久久久亚洲Av无码| 久操精品网| 97人人爱人人做人人乐| 亚洲天堂少妇| 中文字幕日韩专区精品系列 | 啊啊啊啊啊舒服| 久久免费少妇| 操我无码| 国产一级久久久| 97操碰| 九九精品无码专区免费| 国产原创剧情在线丝袜| 久久久av爱| 亚洲丝袜在线观看| 一类无码操逼视频| 超碰日本97美女人妻人人玩人人爱 | 中文字幕欧洲有码| 伊人网青青| 9 9精品一区二区三区| 青青欧洲黑| 精品人妻一二三| 夜夜草网站| 日本新免费二区三区| 激情小说亚洲色图| 一区二区视频在线播放| 欧美精品丝袜久久久中文字幕| 十八禁黄色| 秋霞蝌科网日本一区| 亚洲成人一二三区| 欧美se综合| 欧亚性爱视频免费看| 青青草精品| 国产高清自拍视频| 一二三区在线| 91美女视频直播| 午夜福利免费福利视频| 绑缚麻绳人妻寝取完整版| 综合夜夜| 亚州伊人色综台| 麻豆av一区二区| 操婷婷逼| 大香蕉日韩欧美| 人人摸人人叼| 久九9精品| 91人妻做a观看视频| 西西美女视频网| 久久久精品91八戒| 91九色丨国产丨爆乳| 激情综合网亚洲| 久久婷婷色综合一区二区三区| 五月天婷婷社区| 久久婷婷色| 噜噜噜噜天天狠狠| 99操逼| 日比av无码| 丰满人妻一区二区三区| 国产丝袜啪啪| 色老汉玖玖爱| 亚洲一区二区在线观看91| 亚码激情| 日本淫乱女一区二区三区视频| 色哟哟国产精品免费网址| 999精品久久久久久久| 男人的天堂2010| 欧美色图片| yazhousetuoumei| 成人无码在线视频网站| 亚洲少妇色图自慰直播| 天天操天天干一区二区 | 思思热在线视频免费| 91麻豆天美传媒HD| 高清无码在线播放网站| 东京热熟女亚洲视频网站| 97人妻免费中文字幕| 超碰97人人乐| 精品超碰中文在线| 综合久久久久久久久91| 蜜臀AV成人精品蜜臀| 久久性爱网站| 91熟女丨91老女人| 欧美日韩免费专区在线| 丁香六月激情| 久久精品国产97欧美精品亚洲 | 97色香蕉| 色女99一级片在线观看| 曰韩精品视频一区二区| 日本高清一本二本免费不卡| 中文字幕一区av| 国模无码人体一区二区三| 大香蕉欧美国产日韩高潮| 欧美丰满熟妇XXXX性ppX人交| 欧美 亚洲| 欧美色天堂网在线视频| 2020国产精品| 91精品无码久久久久久久| 久久亚洲色图中文字幕| 日韩中文欧美| 亚洲AV无码乱码| 蜜桃臀一区二区三区久久| 日韩有码一区三区| 嗯啊视频免费在线观看| 国产日本顶级一区二区三区| 久久久久久久久久久久久久久乱码 | 国产精品久久久久av| 日本影视久久免费| 秋霞鲁丝午夜无码一区二区三| 天天日日夜夜| 免费的很黄很污的全部视频| 91亚洲欧美激情| 伊人久久亚洲中文字幕不卡| 99在线观看| 欧美一级久久久久久久大片动画| 熟妇人妻精品一区二区| 歐美性天天| 丰满人妻一区二区三区四| 国产精品女久久久久av爽| 玖玖综合网| 97久久国产亚洲精品超碰热| 中文字幕91综合| 操美女高潮抽搐白浆| 乱伦色图网址是多少| 99re98| 精品无码一区二区三区| 伊人丝袜美腿高跟在线观看高清| 婷婷五月色| 欧美日韩国产色图在线| 精品成人无码| 久久中出| 婷婷性网| 乱色老一区二区三区的观看方式 | 日本三级一区二区 在线| 女人综合网| 99少妇| 熟妇无码视频三区| 成熟熟女国产精品一区二区| 午夜呻吟欧美| 精品一区二区三区蜜桃臀赵总| 亚洲女毛多水多21P| 一本久道在线综合视频| 翔田千里无码一区| 人妻少妇精品| 国产日韩怡红院| 天天日天天干天天摸天天操| 国产99999久久精品| 麻豆成人av| 欧美亚洲AN| 久草精品国产蜜臀| 男人天堂站| 熟妇人妻一区二区三区| 天天91~综合入口| 丁香六月综合激情| 九九碰九九爱97超碰| 岛国片在线观看视频亚洲| 人人爱人人操人人性| 3D污黄视频在线观看| 国产精品无码av嫩草| 再深点灬舒服灬太大了添视频 | 无码操逼天堂| 十八禁一区二区无码观看| 久偷拍欧美日韩三区| 综合97亚洲| 超碰97首页| 玖玖超碰熟| 午夜精品久久久久久久| 天天大干大香蕉| 超碰 欧美| 97这里有精品| 欧亚日韩中文在线| 亚洲国产精品无码AV久久| 亚洲 暴爽 AV人人爽日日碰| 天美传媒婬乱| 无遮挡男女激烈动态图| 强奸乱伦免费网站| 亚洲成人性| 日韩AC| 熟女精品一区二区三区| 欧美日韩99精品麻豆传媒|