亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

MRAM與PIC18F4550工業(yè)數(shù)據(jù)存儲(chǔ)方案:SPI驅(qū)動(dòng)與可靠性設(shè)計(jì)

MRAM與PIC18F4550工業(yè)數(shù)據(jù)存儲(chǔ)方案:SPI驅(qū)動(dòng)與可靠性設(shè)計(jì) 1. 為什么MRAM在工業(yè)嵌入式場(chǎng)景里越來越受關(guān)注做工業(yè)控制和嵌入式數(shù)據(jù)采集的朋友最近幾年應(yīng)該都有一個(gè)共同的感受傳統(tǒng)EEPROM和NOR Flash在頻繁寫入場(chǎng)景下越來越不夠用了。EEPROM的擦寫壽命通常在100萬次左右NOR Flash大概10萬次而工業(yè)現(xiàn)場(chǎng)很多設(shè)備要求每秒甚至每毫秒記錄一次關(guān)鍵狀態(tài)一年下來寫入次數(shù)輕松突破千萬級(jí)別。這時(shí)候MR25H40CDF這顆MRAM磁性隨機(jī)存儲(chǔ)器就進(jìn)入了視野。MR25H40CDF是Everspin推出的一款4Mbit SPI接口MRAM采用8引腳DFN或SOIC封裝工作電壓3.3V支持最高40MHz的SPI時(shí)鐘。它最大的特點(diǎn)就是近乎無限的擦寫壽命官方標(biāo)稱10^14次以上和無延遲寫入——不需要像Flash那樣先擦后寫也不需要等待內(nèi)部寫周期完成。這兩點(diǎn)對(duì)于工業(yè)數(shù)據(jù)記錄來說價(jià)值非常大。而PIC18F4550是一顆經(jīng)典的Microchip 8位單片機(jī)帶全速USB 2.0接口40引腳PDIP封裝擁有32KB Flash程序存儲(chǔ)器、2KB SRAM、256字節(jié)EEPROM內(nèi)置MSSP模塊可以配置為SPI主模式。它雖然不是新片子但在工業(yè)儀表、數(shù)據(jù)采集模塊、USB通信設(shè)備中存量巨大很多老項(xiàng)目還在持續(xù)維護(hù)和升級(jí)。把MR25H40CDF掛到PIC18F4550的SPI總線上做工業(yè)現(xiàn)場(chǎng)的數(shù)據(jù)存儲(chǔ)和讀取是一個(gè)非常務(wù)實(shí)的組合。這篇文章主要面向正在做工業(yè)嵌入式數(shù)據(jù)記錄、或者手頭有PIC18F4550老平臺(tái)需要擴(kuò)展非易失存儲(chǔ)的工程師。我會(huì)從硬件連接、SPI驅(qū)動(dòng)、讀寫時(shí)序、數(shù)據(jù)管理策略幾個(gè)層面把整個(gè)方案拆開講清楚包括我在實(shí)際項(xiàng)目中踩過的坑和驗(yàn)證過的參數(shù)配置。2. 方案整體設(shè)計(jì)與關(guān)鍵選型考量2.1 為什么選MRAM而不是FRAM或NVSRAM在工業(yè)數(shù)據(jù)存儲(chǔ)這個(gè)領(lǐng)域可選的非易失方案其實(shí)不少EEPROM、NOR Flash、FRAM鐵電存儲(chǔ)器、NVSRAM帶電池的SRAM、MRAM。我當(dāng)初做選型的時(shí)候把這幾種都過了一遍最終選MR25H40CDF主要基于以下幾個(gè)維度的權(quán)衡。FRAM的寫入壽命也很高10^12到10^14次寫入速度也快但FRAM的容量通常偏小常見的是256Kbit到2Mbit而且價(jià)格按位算比MRAM貴不少。NVSRAM雖然寫入無限快但內(nèi)部靠電池維持?jǐn)?shù)據(jù)工業(yè)現(xiàn)場(chǎng)高溫環(huán)境下電池壽命是個(gè)隱患而且封裝里帶電池的器件在振動(dòng)場(chǎng)景下可靠性存疑。NOR Flash容量大、便宜但擦寫壽命和寫入速度是硬傷做頻繁數(shù)據(jù)記錄需要配合磨損均衡算法軟件復(fù)雜度上去了。MR25H40CDF的4Mbit容量512KB對(duì)于工業(yè)數(shù)據(jù)記錄來說剛好夠用——可以存幾萬條帶時(shí)間戳的狀態(tài)記錄或者做環(huán)形緩沖區(qū)存最近的歷史數(shù)據(jù)。SPI接口簡(jiǎn)單PIC18F4550的MSSP模塊直接支持不需要額外的地址總線。最關(guān)鍵的是寫入不需要等待SPI發(fā)送完數(shù)據(jù)數(shù)據(jù)就已經(jīng)在MRAM單元里了沒有內(nèi)部寫周期這對(duì)實(shí)時(shí)性要求高的場(chǎng)景非常友好。2.2 PIC18F4550的SPI資源分配PIC18F4550的MSSP模塊可以工作在SPI主模式或從模式。我們這里用主模式時(shí)鐘由單片機(jī)產(chǎn)生。引腳分配如下PIC18F4550引腳功能連接到MR25H40CDFRC3 (SCK)SPI時(shí)鐘SCKRC5 (SDO)主出從入SIRC4 (SDI)主入從出SORA5 (SS)片選軟件控制CSVDD/VSS電源VDD/VSS這里有個(gè)細(xì)節(jié)需要注意PIC18F4550的MSSP模塊在SPI主模式下SS引腳RA5可以被配置為普通IO片選由軟件控制。我建議一定要用軟件片選不要用硬件片選自動(dòng)控制。原因后面講時(shí)序的時(shí)候會(huì)詳細(xì)說。另外PIC18F4550的SPI時(shí)鐘極性CKP和時(shí)鐘邊沿CKE需要根據(jù)MR25H40CDF的時(shí)序要求來配置。MR25H40CDF支持SPI模式0CPOL0CPHA0和模式3CPOL1CPHA1。我一般用模式0因?yàn)榇蠖鄶?shù)邏輯分析儀和調(diào)試工具默認(rèn)就是模式0抓波形方便。2.3 電源與去耦設(shè)計(jì)MR25H40CDF的工作電壓是2.7V到3.6V典型3.3V。PIC18F4550可以工作在5V或3.3V。如果PIC18F4550用5V供電SPI信號(hào)電平就是5V直接連到MRAM的3.3V引腳會(huì)超過絕對(duì)最大額定值。這時(shí)候需要電平轉(zhuǎn)換可以用74LVC245或者簡(jiǎn)單的電阻分壓但電阻分壓在高頻下波形會(huì)變差。我的建議是整個(gè)系統(tǒng)統(tǒng)一用3.3V供電PIC18F4550在3.3V下可以跑到20MHz需要配置PLLSPI時(shí)鐘也能滿足MRAM的40MHz上限。這樣省掉電平轉(zhuǎn)換硬件簡(jiǎn)單可靠性高。去耦電容方面MR25H40CDF的VDD引腳旁邊必須放一個(gè)0.1uF的陶瓷電容越近越好。如果SPI走線超過10cm建議再并一個(gè)1uF的電容。工業(yè)現(xiàn)場(chǎng)電磁干擾大電源上的毛刺可能導(dǎo)致MRAM寫入錯(cuò)誤這個(gè)電容不能省。3. MR25H40CDF的SPI驅(qū)動(dòng)實(shí)現(xiàn)細(xì)節(jié)3.1 指令集與操作碼解析MR25H40CDF的指令集和標(biāo)準(zhǔn)SPI Flash很像但有幾個(gè)關(guān)鍵區(qū)別。先看操作碼表指令名稱操作碼說明WREN0x06寫使能WRDI0x04寫禁止RDSR0x05讀狀態(tài)寄存器WRSR0x01寫狀態(tài)寄存器READ0x03讀數(shù)據(jù)WRITE0x02寫數(shù)據(jù)SLEEP0xB9進(jìn)入低功耗模式WAKE0xAB喚醒和Flash最大的區(qū)別是MRAM的WRITE指令不需要先擦除。Flash寫之前必須發(fā)WREN然后發(fā)扇區(qū)擦除指令等待擦除完成再發(fā)WREN再發(fā)WRITE。MRAM只需要發(fā)WREN然后直接發(fā)WRITE指令加地址和數(shù)據(jù)就行。整個(gè)流程簡(jiǎn)化了很多寫入延遲也從毫秒級(jí)降到微秒級(jí)。狀態(tài)寄存器的bit0是WEL寫使能鎖存bit1是BP0bit2是BP1bit7是SRWD。上電后WEL是0任何寫操作之前必須先發(fā)WREN把WEL置1。寫操作完成后WEL自動(dòng)清零。這個(gè)機(jī)制和Flash一樣是為了防止誤寫入。3.2 PIC18F4550的SPI初始化代碼下面是我在實(shí)際項(xiàng)目中用的SPI初始化函數(shù)基于XC8編譯器void SPI_Init(void) { // 配置SPI引腳 TRISCbits.TRISC3 0; // SCK輸出 TRISCbits.TRISC5 0; // SDO輸出 TRISCbits.TRISC4 1; // SDI輸入 TRISAbits.TRISA5 0; // CS輸出 // 片選默認(rèn)拉高 CS_MRAM 1; // MSSP配置SPI主模式時(shí)鐘Fosc/16 // SSPCON1: WCOL0, SSPOV0, SSPEN1, CKP0, SSPM0000 SSPCON1 0x20; // 使能SPI模式0時(shí)鐘Fosc/16 // SSPSTAT: SMP0(中間采樣), CKE0(空閑到激活時(shí)鐘) SSPSTAT 0x00; // 時(shí)鐘速度計(jì)算Fosc48MHz時(shí)SPI時(shí)鐘3MHz // 如果需要更快可以改SSPM為0001(Fosc/4)12MHz }這里解釋一下時(shí)鐘配置。PIC18F4550的SPI時(shí)鐘由SSPCON1的SSPM位決定SSPM0000Fosc/4SSPM0001Fosc/16SSPM0010Fosc/64SSPM0011TMR2溢出如果系統(tǒng)時(shí)鐘是48MHzUSB應(yīng)用常用Fosc/16就是3MHzFosc/4就是12MHz。MR25H40CDF支持40MHz所以12MHz完全沒問題。但實(shí)際用的時(shí)候要考慮PCB走線質(zhì)量和信號(hào)完整性我一般先用3MHz調(diào)通再逐步提高到12MHz。3.3 字節(jié)讀寫函數(shù)實(shí)現(xiàn)SPI發(fā)送和接收在PIC18F4550上是同一個(gè)寄存器SSPBUF。發(fā)送時(shí)寫SSPBUF接收時(shí)讀SSPBUF。注意讀之前要等BFBuffer Full標(biāo)志置位否則讀到的可能是舊數(shù)據(jù)。uint8_t SPI_Transfer(uint8_t data) { SSPBUF data; // 寫入發(fā)送數(shù)據(jù) while(!PIR1bits.SSPIF); // 等待傳輸完成 PIR1bits.SSPIF 0; // 清除中斷標(biāo)志 return SSPBUF; // 返回接收數(shù)據(jù) } void MRAM_WriteEnable(void) { CS_MRAM 0; SPI_Transfer(0x06); // WREN指令 CS_MRAM 1; } void MRAM_Write(uint32_t addr, uint8_t *buf, uint16_t len) { MRAM_WriteEnable(); CS_MRAM 0; SPI_Transfer(0x02); // WRITE指令 SPI_Transfer((addr 16) 0xFF); // 地址高8位 SPI_Transfer((addr 8) 0xFF); // 地址中8位 SPI_Transfer(addr 0xFF); // 地址低8位 for(uint16_t i 0; i len; i) { SPI_Transfer(buf[i]); } CS_MRAM 1; } void MRAM_Read(uint32_t addr, uint8_t *buf, uint16_t len) { CS_MRAM 0; SPI_Transfer(0x03); // READ指令 SPI_Transfer((addr 16) 0xFF); SPI_Transfer((addr 8) 0xFF); SPI_Transfer(addr 0xFF); for(uint16_t i 0; i len; i) { buf[i] SPI_Transfer(0x00); // 發(fā)送啞數(shù)據(jù)接收返回 } CS_MRAM 1; }注意MRAM_Read里發(fā)送的是0x00這是啞數(shù)據(jù)dummy byte因?yàn)镾PI是全雙工讀的時(shí)候也要有時(shí)鐘主機(jī)發(fā)送什么無所謂從機(jī)不關(guān)心。但有些SPI從機(jī)要求啞數(shù)據(jù)是特定值MR25H40CDF不挑0x00或0xFF都行。3.4 片選時(shí)序的關(guān)鍵細(xì)節(jié)前面提到一定要用軟件片選原因在這里。MR25H40CDF的CS引腳有兩個(gè)作用一是選中芯片二是界定指令邊界。每個(gè)SPI事務(wù)必須以CS拉低開始以CS拉高結(jié)束。如果在事務(wù)中間CS抖動(dòng)了一下MRAM會(huì)認(rèn)為指令結(jié)束后續(xù)數(shù)據(jù)就丟了。PIC18F4550的硬件SS功能在SPI主模式下如果SSPCON1的SSPM0000且SSEN使能SS引腳會(huì)被自動(dòng)控制。但硬件SS的時(shí)序和MRAM要求的CS時(shí)序不一定完全匹配而且硬件SS在多從機(jī)場(chǎng)景下容易出問題。所以我的做法是把SS功能關(guān)掉RA5配置為普通IO手動(dòng)控制CS。手動(dòng)控制CS的時(shí)候要注意CS拉低之后要等至少10ns再發(fā)第一個(gè)時(shí)鐘MRAM的tCSS參數(shù)。CS拉高之前要確保最后一個(gè)時(shí)鐘已經(jīng)完成tCSH至少10ns。在3MHz SPI時(shí)鐘下一個(gè)時(shí)鐘周期333ns這些納秒級(jí)的延時(shí)自然滿足。但如果SPI跑到40MHz周期25ns就需要檢查一下代碼里CS操作的順序確保沒有額外的指令延遲導(dǎo)致時(shí)序違規(guī)。4. 工業(yè)數(shù)據(jù)存儲(chǔ)策略與實(shí)操流程4.1 數(shù)據(jù)幀格式設(shè)計(jì)工業(yè)現(xiàn)場(chǎng)的數(shù)據(jù)記錄不能只存原始字節(jié)要有結(jié)構(gòu)。我一般設(shè)計(jì)一個(gè)固定長度的數(shù)據(jù)幀包含時(shí)間戳、設(shè)備ID、數(shù)據(jù)類型、數(shù)據(jù)載荷和校驗(yàn)。下面是我在一個(gè)電機(jī)監(jiān)控項(xiàng)目里用的幀格式字段長度說明幀頭2字節(jié)0xAA55用于同步時(shí)間戳4字節(jié)秒級(jí)Unix時(shí)間戳設(shè)備ID1字節(jié)區(qū)分不同設(shè)備數(shù)據(jù)類型1字節(jié)0x01溫度0x02電流0x03轉(zhuǎn)速數(shù)據(jù)載荷8字節(jié)浮點(diǎn)數(shù)或整型CRC162字節(jié)校驗(yàn)幀頭到載荷幀尾1字節(jié)0x0D一幀總共19字節(jié)。512KB的MRAM可以存大約27000幀。如果每秒記錄一幀可以存7.5小時(shí)。如果每分鐘記錄一幀可以存18天。實(shí)際項(xiàng)目中我會(huì)根據(jù)需求調(diào)整記錄頻率或者用環(huán)形緩沖區(qū)覆蓋最舊的數(shù)據(jù)。4.2 環(huán)形緩沖區(qū)實(shí)現(xiàn)環(huán)形緩沖區(qū)是工業(yè)數(shù)據(jù)記錄的經(jīng)典方案。MRAM的地址空間從0x00000到0x7FFFF512KB。我把它分成兩部分前4KB存元數(shù)據(jù)寫指針、讀指針、總記錄數(shù)、設(shè)備配置后面508KB存數(shù)據(jù)幀。元數(shù)據(jù)區(qū)的結(jié)構(gòu)typedef struct { uint32_t write_ptr; // 下一個(gè)寫入位置相對(duì)于數(shù)據(jù)區(qū)起始 uint32_t read_ptr; // 下一個(gè)讀取位置 uint32_t total_count; // 總寫入幀數(shù) uint32_t magic; // 0x4D52414D (MRAM) uint8_t reserved[240]; // 預(yù)留 } MRAM_Meta_t;每次寫入一幀之前先讀元數(shù)據(jù)計(jì)算寫入地址寫數(shù)據(jù)幀然后更新write_ptr和total_count再把元數(shù)據(jù)寫回。這里有個(gè)關(guān)鍵點(diǎn)元數(shù)據(jù)的更新必須原子化。如果寫完數(shù)據(jù)幀但元數(shù)據(jù)沒更新下次上電后write_ptr還是舊的新數(shù)據(jù)會(huì)被覆蓋。我的做法是元數(shù)據(jù)存兩份地址0x0000和0x0800各一份每份帶CRC。寫入時(shí)先寫數(shù)據(jù)幀再寫第一份元數(shù)據(jù)再寫第二份元數(shù)據(jù)。上電初始化時(shí)讀兩份元數(shù)據(jù)比較CRC和write_ptr取有效的那份。如果兩份都無效說明MRAM是全新的或者數(shù)據(jù)損壞就初始化元數(shù)據(jù)。4.3 寫入速度實(shí)測(cè)與優(yōu)化我用邏輯分析儀抓過實(shí)際波形在SPI時(shí)鐘3MHz下寫一幀19字節(jié)的時(shí)間構(gòu)成如下CS拉低到第一個(gè)時(shí)鐘約1us指令地址4字節(jié) × 8bit / 3MHz 10.7us數(shù)據(jù)載荷19字節(jié) × 8bit / 3MHz 50.7usCS拉高到下一個(gè)事務(wù)約2us元數(shù)據(jù)更新讀寫約200us總計(jì)約265us。如果SPI時(shí)鐘提到12MHz數(shù)據(jù)部分可以縮短到12.7us但元數(shù)據(jù)更新的時(shí)間主要花在SPI事務(wù)的固定開銷上提升有限。所以瓶頸不在SPI時(shí)鐘而在元數(shù)據(jù)管理策略。優(yōu)化方法不要每寫一幀就更新元數(shù)據(jù)??梢栽赟RAM里緩存write_ptr每寫10幀或者每1秒更新一次元數(shù)據(jù)。這樣元數(shù)據(jù)更新頻率降低10倍整體寫入速度提升明顯。但代價(jià)是掉電時(shí)可能丟失最近幾幀的元數(shù)據(jù)不過數(shù)據(jù)幀本身已經(jīng)寫進(jìn)MRAM了只是write_ptr沒更新下次上電后新數(shù)據(jù)會(huì)被覆蓋。如果對(duì)數(shù)據(jù)完整性要求極高可以每幀都更新元數(shù)據(jù)犧牲速度換可靠性。4.4 讀取流程與數(shù)據(jù)導(dǎo)出讀取數(shù)據(jù)有兩種模式實(shí)時(shí)讀取和歷史導(dǎo)出。實(shí)時(shí)讀取是設(shè)備正常運(yùn)行時(shí)上位機(jī)通過USB或串口發(fā)送指令單片機(jī)從MRAM里讀最新幾幀返回。歷史導(dǎo)出是設(shè)備停機(jī)維護(hù)時(shí)把MRAM里的數(shù)據(jù)全部讀出來上傳到PC。實(shí)時(shí)讀取的實(shí)現(xiàn)比較簡(jiǎn)單根據(jù)read_ptr計(jì)算地址讀一幀CRC校驗(yàn)通過USB CDC發(fā)送。PIC18F4550的USB模塊可以配置成CDC類在PC上顯示為虛擬串口波特率隨便設(shè)USB CDC不受波特率限制。歷史導(dǎo)出的數(shù)據(jù)量比較大508KB全部讀出來在3MHz SPI下需要約1.4秒508K × 8 / 3M。如果通過USB全速12Mbps傳輸理論上一秒多能傳完。實(shí)際測(cè)試中加上協(xié)議開銷和PC端處理大概3到5秒。這個(gè)速度對(duì)于維護(hù)場(chǎng)景完全可以接受。導(dǎo)出的時(shí)候要注意讀取過程中設(shè)備不能寫入否則read_ptr和write_ptr會(huì)沖突。我的做法是進(jìn)入導(dǎo)出模式前先停止數(shù)據(jù)記錄任務(wù)把write_ptr和read_ptr快照到SRAM然后按快照讀取。導(dǎo)出完成后恢復(fù)記錄任務(wù)。5. 常見問題與排查技巧實(shí)錄5.1 寫入后讀出來全是0xFF或0x00這是新手最常遇到的問題。原因通常有三個(gè)一是WREN指令沒發(fā)或者發(fā)完WREN后CS拉高了WEL位被清除二是地址發(fā)錯(cuò)了寫到了未使用的區(qū)域三是SPI模式配置不對(duì)數(shù)據(jù)采樣邊沿錯(cuò)了。排查步驟先用邏輯分析儀抓SPI波形看WREN指令0x06后面CS是否保持低電平直到WRITE指令發(fā)完。MRAM要求WREN和WRITE可以在同一個(gè)CS低電平周期內(nèi)完成也可以分開。我一般分開做WREN一個(gè)CS周期WRITE另一個(gè)CS周期。但要注意WREN之后WEL位保持直到下一個(gè)WRITE完成或者WRDI。如果波形沒問題讀一下狀態(tài)寄存器RDSR0x05看bit0WEL是否為1。如果WEL是0說明WREN沒生效。檢查CS時(shí)序WREN指令發(fā)送時(shí)CS必須拉低發(fā)送完可以拉高WEL會(huì)保持。5.2 SPI通信不穩(wěn)定偶爾讀到錯(cuò)誤數(shù)據(jù)工業(yè)現(xiàn)場(chǎng)電磁干擾大SPI走線長的時(shí)候容易出現(xiàn)位錯(cuò)誤。我遇到過的情況是MRAM和單片機(jī)在同一塊板上但SPI走線經(jīng)過了電機(jī)驅(qū)動(dòng)區(qū)域電機(jī)啟動(dòng)時(shí)SPI數(shù)據(jù)偶爾出錯(cuò)。解決方法一是降低SPI時(shí)鐘從12MHz降到3MHz給信號(hào)建立更多時(shí)間二是在SCK和MOSI上串22歐姆電阻抑制反射三是在MRAM的VDD和VSS之間加0.1uF和1uF電容靠近芯片引腳四是軟件上加CRC校驗(yàn)發(fā)現(xiàn)錯(cuò)誤就重讀。CRC校驗(yàn)我用的是一幀一校驗(yàn)讀出來先算CRC16和幀尾的CRC比較不匹配就丟棄或者重讀。重讀最多3次3次都失敗就記錄錯(cuò)誤日志。實(shí)際跑下來加了CRC之后數(shù)據(jù)可靠性提升非常明顯誤碼率從萬分之一降到百萬分之一以下。5.3 掉電后數(shù)據(jù)丟失或元數(shù)據(jù)損壞MRAM本身是非易失的掉電數(shù)據(jù)不會(huì)丟。但元數(shù)據(jù)更新過程中掉電可能導(dǎo)致write_ptr和實(shí)際數(shù)據(jù)不一致。比如數(shù)據(jù)幀寫完了元數(shù)據(jù)還沒更新掉電后write_ptr指向舊位置下次上電后新數(shù)據(jù)覆蓋了剛寫的那幀。解決方案是雙份元數(shù)據(jù)加CRC。寫入順序?qū)憯?shù)據(jù)幀 → 寫元數(shù)據(jù)A → 寫元數(shù)據(jù)B。上電時(shí)讀A和B如果A的CRC有效且write_ptr B的write_ptr用A否則用B。如果兩個(gè)都無效用默認(rèn)值初始化。還有一種情況是掉電時(shí)正在寫元數(shù)據(jù)導(dǎo)致元數(shù)據(jù)A寫了一半。這時(shí)候A的CRC肯定無效B還是舊的但有效用B恢復(fù)。最壞情況是A和B都寫了一半但概率極低因?yàn)樵獢?shù)據(jù)只有幾十字節(jié)寫入時(shí)間幾十微秒掉電恰好落在兩個(gè)元數(shù)據(jù)寫入之間的概率很小。5.4 常見問題速查表現(xiàn)象可能原因排查方法解決措施讀出來全0xFFCS時(shí)序錯(cuò)誤邏輯分析儀抓CS和SCK確保CS在事務(wù)期間保持低寫入不生效WREN未執(zhí)行讀狀態(tài)寄存器bit0寫前先發(fā)WREN數(shù)據(jù)偶爾錯(cuò)誤SPI時(shí)鐘太快降低時(shí)鐘測(cè)試降到3MHz或加CRC元數(shù)據(jù)損壞掉電時(shí)寫入讀雙份元數(shù)據(jù)雙份CRC恢復(fù)邏輯通信完全無響應(yīng)電源或接線測(cè)VDD和CS電壓檢查3.3V和地連接讀取速度慢SPI時(shí)鐘低測(cè)SCK頻率提高SSPM配置5.5 實(shí)操心得先調(diào)通再優(yōu)化我剛開始做這個(gè)方案的時(shí)候想一步到位把SPI配到12MHz結(jié)果波形慘不忍睹數(shù)據(jù)錯(cuò)誤率很高。后來退回到3MHz先把讀寫邏輯調(diào)通確認(rèn)數(shù)據(jù)正確再逐步提高時(shí)鐘。每提高一檔就用邏輯分析儀看波形用CRC統(tǒng)計(jì)誤碼率。最后在12MHz下穩(wěn)定運(yùn)行但3MHz到12MHz之間試了四五次才找到穩(wěn)定的配置。另一個(gè)心得是MRAM的寫入不需要等待但SPI事務(wù)之間的間隔不能太短。我試過連續(xù)寫CS拉高后立刻拉低發(fā)下一個(gè)指令結(jié)果偶爾出錯(cuò)。后來在CS拉高后加了一個(gè)NOP延時(shí)約1us就穩(wěn)定了。查手冊(cè)發(fā)現(xiàn)MRAM的tSHSLCS高電平最短時(shí)間是10ns理論上不需要延時(shí)但實(shí)際PCB上有寄生電容CS上升沿需要時(shí)間加個(gè)小延時(shí)更保險(xiǎn)。6. 性能優(yōu)化與擴(kuò)展思路6.1 SPI時(shí)鐘提升的邊界條件MR25H40CDF標(biāo)稱最高40MHz SPI時(shí)鐘但實(shí)際能跑多快取決于PCB走線、電源質(zhì)量和單片機(jī)SPI輸出能力。PIC18F4550在48MHz系統(tǒng)時(shí)鐘下SPI最高是Fosc/412MHz。如果想更快需要換更高級(jí)的單片機(jī)比如PIC32系列或者STM32SPI可以跑到40MHz以上。在12MHz下我實(shí)測(cè)寫一幀19字節(jié)含元數(shù)據(jù)更新約120us讀一幀約60us。如果去掉元數(shù)據(jù)更新寫一幀只要約30us。這個(gè)速度對(duì)于大多數(shù)工業(yè)數(shù)據(jù)記錄場(chǎng)景已經(jīng)足夠了。如果要求更高可以考慮用DMA或者雙緩沖但PIC18F4550沒有DMA只能靠?jī)?yōu)化代碼。6.2 數(shù)據(jù)壓縮與存儲(chǔ)效率508KB的數(shù)據(jù)區(qū)如果每幀19字節(jié)能存27000多幀。如果數(shù)據(jù)有規(guī)律可以做壓縮。比如溫度數(shù)據(jù)變化緩慢可以只存變化量delta編碼每幀從8字節(jié)載荷壓縮到2字節(jié)。這樣一幀變成13字節(jié)存儲(chǔ)量提升30%以上。但壓縮會(huì)增加CPU負(fù)擔(dān)和代碼復(fù)雜度。PIC18F4550的指令周期是48MHz/412MIPS做簡(jiǎn)單的delta編碼沒問題做復(fù)雜的壓縮算法就吃力了。我的建議是如果數(shù)據(jù)變化確實(shí)緩慢用簡(jiǎn)單的差分編碼如果數(shù)據(jù)隨機(jī)性大不要壓縮直接存原始數(shù)據(jù)可靠性優(yōu)先。6.3 多設(shè)備SPI總線擴(kuò)展一個(gè)PIC18F4550的SPI總線可以掛多個(gè)MRAM芯片用不同的CS引腳選擇。比如掛4片MR25H40CDF總?cè)萘?MB。CS引腳可以用RA5、RB0、RB1、RB2軟件控制。但要注意SPI總線的負(fù)載效應(yīng)每增加一個(gè)從機(jī)SCK和MOSI上的電容就增加高速下波形會(huì)變差。如果掛4片以上建議加SPI緩沖器或者用多路復(fù)用器。另一個(gè)擴(kuò)展方向是用MRAM做程序存儲(chǔ)器的擴(kuò)展。PIC18F4550只有32KB Flash如果程序超過32KB可以把不常用的函數(shù)或數(shù)據(jù)表放到MRAM里運(yùn)行時(shí)按需讀取。但MRAM是SPI接口不能直接執(zhí)行代碼只能做數(shù)據(jù)存儲(chǔ)。如果需要執(zhí)行代碼得用并行接口的MRAM或者帶XIP功能的Flash。6.4 低功耗設(shè)計(jì)考慮工業(yè)現(xiàn)場(chǎng)有些設(shè)備是電池供電的低功耗很重要。MR25H40CDF支持SLEEP模式0xB9指令進(jìn)入后電流降到幾微安。PIC18F4550也有多種低功耗模式比如Sleep模式電流可以降到0.1uA以下。我的做法是數(shù)據(jù)記錄間隔期間單片機(jī)進(jìn)入SleepMRAM進(jìn)入SLEEP。定時(shí)器或者外部中斷喚醒后先發(fā)WAKE指令0xAB喚醒MRAM等待tWAK約100us再開始SPI通信。這樣平均功耗可以做到毫安級(jí)以下用一節(jié)18650電池能撐幾個(gè)月。但要注意MRAM從SLEEP喚醒后需要重新發(fā)WREN才能寫入。而且SLEEP期間CS必須保持高電平否則MRAM可能被意外喚醒。這些細(xì)節(jié)在低功耗調(diào)試的時(shí)候很容易忽略我當(dāng)初就因?yàn)镃S在Sleep期間被拉低導(dǎo)致MRAM一直處于喚醒狀態(tài)功耗降不下來。7. 寫在最后的一些個(gè)人體會(huì)這個(gè)方案我從2019年第一次用在電機(jī)監(jiān)控項(xiàng)目上到現(xiàn)在陸續(xù)改了三四版中間踩過的坑基本都寫在上面了。MR25H40CDF這顆芯片給我的感覺是貴有貴的道理。單片價(jià)格比同容量的NOR Flash貴好幾倍但在頻繁寫入、高可靠性要求的場(chǎng)景下省下來的軟件復(fù)雜度和維護(hù)成本遠(yuǎn)超硬件差價(jià)。PIC18F4550雖然老但生態(tài)成熟XC8編譯器穩(wěn)定USB功能開箱即用配合MRAM做數(shù)據(jù)記錄模塊整體BOM成本可控開發(fā)周期短。如果你手頭有PIC18F4550的存量項(xiàng)目需要擴(kuò)展存儲(chǔ)或者正在選型工業(yè)數(shù)據(jù)記錄方案這個(gè)組合值得認(rèn)真考慮。最后分享一個(gè)小技巧MRAM的WRITE指令支持跨頁寫入不像Flash那樣有頁邊界限制。你可以一次寫任意長度只要不超過芯片容量。但實(shí)際用的時(shí)候我建議單次寫入不要超過256字節(jié)因?yàn)镻IC18F4550的SRAM只有2KB緩沖區(qū)太大容易和其他任務(wù)沖突。256字節(jié)的緩沖區(qū)加上元數(shù)據(jù)和??臻gSRAM占用在可控范圍內(nèi)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
嫩草美女久久| 亚洲好色人妻| 操逼日批| 熟女少妇视频| 亚洲一二三四区| 老女人老91妇女老热女| 天天爱天天韩国日本牛牛牛牛| 熟女人妻一区二区三区免费看| AV一二区| 亚洲天堂男人在线| 99国产人成精品| 久久美女国产| 丁香色五月 97干| 国产 码在线成人网站| 岛国黄色短视频| 男人天堂电影院| 99re在线视频| 超碰中文字幕人妻草一区| 日本综合久久| 中文字幕一区av| 国产精品美女久久久久AⅤ国产馆| 欧美天天综合网| 欧美综合色综合| 丁香婷婷激情五月天无毒不卡 | 97精品网| 精品人妻一区二区三区鲁大师| 啊啊啊啊啊啊啊网址在线观看| 人妻天天操天天爽视频免费| 成人精品视频一区二区| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 你想操日本小逼吗| 欧美一级久久久丰满| 国产美女高潮| 香蕉欧美| 精品性爱一二三区| 91黑丝露脚| 91碰碰碰| 中文字幕人妻丝袜| 天天影视色香色欲| 伊人国产av| 午夜情侣自拍网站| 国产偷仑| 久久是精品| 好一吊区二区| 亚洲欧美日韩不卡人妻| 97色在线视频| 久久精品国产亚洲AV清纯| 丰满人妻一区二区三区免费| 亚洲AV麻豆Aⅴ无码电影一| 东北毛片| 国产精品激情久久久久久久| 六月婷婷综合| 一区中文字幕二区日韩| 精品人妻一区二区三区四区不卡在| 亚洲在线欧美| 蜜臀AV秘一区翔田千里| 色嗨嗨在线| 久久九九国产精品| 综合色图亚洲欧美| 色91综合网| 一区二区三区成人| 无码人妻1727| 在线视频免费播放一区| 丁香六月婷| 美腿丝袜偷拍亚洲欧美| 欧美一品道| 96一区二区三区| 亚洲欧美国产va在线播放频| 女人 A一级| 久热免费视频| 亚洲drav色图| 天堂v无码免费视频| 波多野42部无码喷潮在线观看| 精品亚洲国产成人精品| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 亚洲日韩美国人妻| 99中出在线| 加勒比人妻综合| 精品一区二区三区麻豆| 草草影院日本第一页| 97久久超碰| 欧美老妇女内射网址| 在线视频资源| 插日本熟女视频| 日韩精品区二区三区不卡| 欧美天堂第二区| 老熟女综合| 深夜国产一区二区三区在线看| 亚洲激情四射| 另类图片综合| 性爱视频久久| 另类老少妇| 日本爽爽爽爽爽爽免费视频| 天美精品av| 狠狠爱AV| 日韩人妻一区二区| 国产污视频麻豆传媒一区二区| 无卡一区=区| 人妻夜夜爽天天爽三区麻豆AV网站| 中文字幕丝袜国产第一页不卡| 超碰人人在线| 欧美天天搞| 国产精品无码AV网站| 歐美一級亂黃99在綫精品| 久久熟女嫩草成人片免费| 日本狂喷奶水在线播放212| 天天日天天爽| 天天躁日日躁狠狠狠躁| 青草青草久热| 免费视频观看60秒| 国内精品久久久久影院亚洲| 亚洲情色一区二区三区| 国产亚洲欧美每日在线| 中文字幕人妻色偷偷久久皮 | 国产福利精品最新在线| 嗯嗯啊啊好大好爽| 多毛小伙内射老太婆| 精品久久久久黄少妇| 91精品人妻一区二区三区蜜臀| 黑人嘿嘿嘿超爽免费视频| 大香蕉欧美日韩| 一区二区三区国产在线播放 | 久久久成人免费av电影| 国产动漫操逼视频| 少妇贴图| 狠狠爱综合网| 91精品无码久久久久久久| 国产成人亚洲精品自产在线| 国产a片操逼| 97大色网| 亚洲最新av无码成人精品区| 91精品免费| 久久久久亚洲av综合波多野制衣| 国产一区二区三区,在线观看观看| 国产精品999aaa| 性欧美另类高清| 欧美色综合| 啊嗯好大视频在线观看| 亚洲AV秘无码一区..| 人妻人人澡人人爽人人| 日欧亚洲二三区大片不卡| 精品少妇人妻| 亚洲欧洲另类| 啪啪AV导航| 久久久久幕乱码| 综合婷婷| 岛国视频一二三区| 婷婷五月天色网| 丁香五月激情综合| 美日韩男女操屄视频| 欧美少妇性乱| 99热官网| 中国女人内射6XXXXX| 在线色资源| 粉嫩国产精品久久粉嫩| 一本大道不卡一二三区| 青青草在线视频播放器| 97国产天堂岛| 久久精品人体| 人、人、摸,人、人、草| 中文 人妻 制服| 亚洲黄日韩无码专区| 欧美系列在线一区二区| 69精品| 日韩精品怡红院| 久久久精品国产亚洲伊人| 懂色中文一区二区三区| 五月丁香黄色网| 麻豆人妻偷人精品无码视频| 婷婷色一区| 中文字幕精品一区二区精| 天天干18禁| 99国内熟女露脸视频| caopeng97| 亚洲最大成人a毛毛片| 亚洲Av诱惑| 91 国产丝袜在线播放-百度| 极品粉嫩一区二区| 日韩三级一区 | 超碰97资源大奶| 操逼逼无码| 免费人成在线观看网站品爱网| 91综合天天看| 亭亭在线资源| 青青青青草av在线观看| 熟妇人妻一区二区三区| 国产欧美第五页| 欧美性爱在线无码| 少妇滛荡视频| 天天日天天舔天天喷天天射| 97人人干| 丁香五月激情综合| 九九色热| 99色热| 天天操夜夜嗨| 少妇熟女1区2区3区| 美女黄色91| 午夜无码熟妇丰满人妻| 91精品久久久久久77777| 日本青青草在线| www超碰| 国产亚洲禁久一区二区| 国产无套粉嫩白浆在| 国产欧美日韩一区二区三区| 精品久久久久久无码| 97碰| 欧美aaaaaaa| 乱伦a片视频| 日韩福利综合一区| 天天天天天天天天天天干美女| www.黄色在线| 亚洲精品第一| 粉嫩av在线一区二区| 91久久久久久| 久久久久精| 91麻豆天美国产欧美日| 在线 亚洲 网爆 自拍| 嗯嗯嗯啊啊啊操的我好爽| 久久久影院| 久久精品视频久久久| www鬼畜国产男人的天堂| 欧美日韩国产传媒在线精品| 黄色二级片网站| 日本天天人人狠狠在线日美女 | 国产精品69久久久久久久| 狠狠干妹子| 精品欧美日韩在线观看| 日韩欧视频| 久久久蜜桃臀无码视频| 国产黄色影片在线观看| 九九Av| 天美传媒av 在线| 熟妇熟女一区二三区| 91五月天| 精品人妻一区二区三区免费视频| 久久的免费性爱视频| 精品无码一区二区三区| 97婷婷色| 97干色天堂| 欧美亚洲日韩16色| 激情内射| 大香网站| 国产天天看| 久久精品91| 亚洲资源站| 久久免费99精品久久久久久| 欧亚免费视频| 欧美婷婷久久| 久久久久亚洲| 亚洲欧洲网站免费观看| 久久综合精品一区二区三区| 亚洲同性aV综合| 91亚洲黑人| 亚洲三级网址久久最新| 97亚洲在线| 亚洲精品性爱片| 色色激情五月天| 自拍视频大全亚洲专媒视频/一区二区三区 | 久久久精品,3| 精品性爱| 亚洲激情综合另类男同| 99热成人| 久操视频免费观看| 久久人人爽爽人人爽人人片αV| 伊人色综合网电影| 99只有精品| 久久午夜色播影院免费高清| 国产又色又爽又舒服的三级视频| 色女99一级片在线观看| 精品九九九| 欧美精品日韩一区二区| 青青草无码视频| 91久久免费视频互動交流| 人妻AV在线| 好舒服视频| 亚洲加勒比久久日本道| 亚洲情色91| 91精品国产长腿丝袜美女| 精品人妻1区| 蜜臀久久99精品久久综合| 综合网亚洲1| 一级黄色性爱A级片| 欧美欲色| 亚洲日韩在线a不卡99精品| 99热精品免费| 一本久道久久综合狠狠爱一密臀精| 天天搞在线综合网| 九九九九九九视频| 亚洲好看强奸乱伦| 天天干天天操天天操夜夜操天天操 | 午夜福利视频在线一区| 欧美亚洲成人在线一区二区三区| 无码人妻精品一区二区三区99不卡| 亚洲91少妇| 性天堂| 日韩国语字幕| 久久六六| 九一综合精品视品av| 91在线免费精品视频| 欧日韩不卡视.频| 嗯嗯啊啊啊好爽| 国产又爽又黄| 国产熟女无套内射| 亚洲最大的黄色电影网站。| 国产无码精品无码| 成人久久精品| 婷婷中文网| 亚洲少妇视频| 青青11操操操操操操操操| 丝袜亚洲综合| 97国产天堂岛| 人人操人人大香蕉| 好吊色综合| 国产人妻精品久久久一区二区三区 | 免费观看的黄色的网站| 天天操天天干美女网址导航| 久久久久久性爱视频| 四虎国产精品永久在线囯在线| 综合 青草 伊久久 影院 综合 | 欧美日韩一干二干| 美女自卫慰黄网站免费| 色五月AV| 99re在线视频国产| 久久久熟女一区| 欧美成人一级免费电影| 欧美激情 亚洲色图| 人妻久热在线| 国产亚洲色婷婷久久99精品91葵花宝典| 天天超级碰碰碰| 97碰在线视频| 97欧美性爱| 精品久久久久久久| 一本一首道人妻少妇免费久久| A片三级无码| 国产精品扒开腿做爽爽爽视频| 久久伊人网视频一区二区三区| 亚洲av国产av综合av卡| 東南亚性呦成人伦理资源在线视频| 99re6久热只有精品6在线直播| 无码 黑人一区二区三区| 天天搞欧美| 国产农村妇女精品1区二区| 永久免费发布性爱网| 中文字幕三四五区| 激情情色五月天| 超碰爽人妻熟女Av| 婷婷五月影院| 亚洲成av人片色午夜乱码| 曰韩人妻中文字幕在线| 色欲久久99国产精品久久久久久| 九九黄色网| 一本一道久久综合久久| 亚爽爽爽爽爽爽爽爽| 日韩乱插| 亚洲蜜乳av| 啊v在线观看视频| 人妻无码一区二区三区久久99| 一区二区三区网站日日骚| 福利在线观看一区二区| 自拍偷拍第26| 久久久久久9| 亚洲第一页综合在线| 中日韩久久人妻一区二区| 久久九色| 人妻激情偷乱视三区频一区二区| 都市久久精品激情亚洲| 亚洲啪啪综合?v一区综合精品区| 久久东京热成人| a片亚洲一本通视频| 亚洲综合春色| 亚洲精品 大香蕉| 亚洲制服欧美另类内射| 中文字幕aⅴ在线视频| 8x福利精品第一福利视频导航| 精品少妇999| 精品国产乱码久久久| 97少妇人妻中文字幕久久| 美欧老女人97| 久久99精品九九久久久婷婷| 91激情网| 中文字幕久久亚州无码| 国产精品久久久久久久久久久久久久久久 | 97AV爱| 五月综合色| 日韩啪啪视频| 伊人影院在线理论播放| 国产免费大片| 亚洲综合影片| 熟女一区二区三区| 国桃视频产巨乳精品一区二区在线| 亚洲日韩青青草色月| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 久久精品视频28| 亚洲男人的天堂AV| av草草在线电影| 丝袜色综合| 熟女熟妇一区二区三区视频| 大香蕉草草| 99re超碰| 亚洲国产一级黄色视频| 久久黄色视频一区二区三区 | 美女91网址| 四虎在线视频| 性爱乱伦视频免费| 国产精点久久久成人| 色五月激情综合网| 超碰性爱97| 天堂涩涩| 欧美啪啪色吧在线| 国产精品一区二区校花| 精品一区二区成人动漫| 日本天天吊| 欧美日韩国产电影| 亚洲欧洲日韩中文字幕一区| 日韩性爱长视频免费| 国产一区免费午夜视频| 免费人成?大片在线播放| 日本久久精品| 综合网久久| 97资源站久久| 日韩成人高清一区二区| 亚洲免费人妻在| 久久久影院| 香蕉色网| 夜夜草天天| 亚洲无线码一区国产欧美国| 欧美日韩婷婷中文| 亚洲中文字幕熟女少妇一区二区| 亚洲一区二区久久久久| 久久怡红院| 色老牛| 春色综合网| 一牛影视成人片免费| 色播综合| 亚洲啪啪啪啪视香蕉| 亚洲色图 欧美| 郑州宾馆老熟女露脸啪啪| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 日韩啪啪啪啪啪| 亚洲性综合| 日本精品一级二级三级| av大香蕉| 亚州黄站| 日韩性爱再线视频| 婷婷精品国产一区二区三区日韩| 在线视频 亚洲精品| 九九性爱网| 久偷拍欧美日韩三区| 精品无码秘 人妻一区二区| 免費黃色視頻觀看一| 性色av一区二区| 在线中文字幕视频| 蜜桃成人1区2区3区| 中文字幕无码不卡啪啪| 狠狠色狠狠色狠狠五月| 久热久操| 亚洲精品乱码线路中文字幕| 嗯嗯,啊啊,国产精品| 97色综合中文网| 免费久久精品麻豆一区二区av| 国产乱码精品久久久久久| 男女一进一出视频久久| 欧美 中文字幕 一区| 97超碰护士| 91久久久久久| 九色黄站| 中文字幕大片三级狠狠干| 91成人精品| 日本色色色| 67914在线兔费成人视频| 大色综合网| 玖日综合网| 国产精品无码AV网站| 欧美洲精品一级| 在线观看精品国产免费| 啪啪啪男女亚洲中文字幕99| 六月丁香网| 青娱乐91| 蜜桃久久久久久久| AV天堂国产| 国产乱码精品久久久久久| 精品成人动漫一区二区| 亚洲风情综合网| 国内精品久久久久影院亚洲| 哈哈操电影| 91亚洲黑人| 69视频入口| 久久国产精品熟女人妻| 亚洲国产高清福利视频| 偷拍导航视频网站| 亚洲精品一区二区三区新线路| 欧洲久久一二线| 亚洲一二三四区机械| 人妻献身系列第54部| av72网| 97人人模人人爽人人| 78操B| 亚洲欧美中日韩| 国产自产自拍| 高清孕妇孕交 交| 欧美熟女激情| 日韩性爱网址| 狠狠色伊人亚洲综合网站色| 久久久内射良家| 亚洲婷婷五月天| 人妻无一区二区三区| 韩国嫰模上门援交视频| 久久超碰爱| 中文字幕奈奈美被公侵犯| 人妻人久久精品中文字幕| 精品一区二区三区蜜桃臀赵总 | 高清国产成人无码| 9久久久久久| 欧美精品丝袜久久久中文字幕| 97人人操人人摸人人爱| 天天肏天天干| 大香蕉日韩欧美| 欧美日韩人人精品| 性爱av在线免费观看| 日韩强奸av| 四虎av在线| 麻豆激情综合| 老鸭窝亚洲毛片| 亚洲色图亚洲无码强奸乱伦| 国产家庭乱伦表演| 殴美性天天| 久久精品中文字幕女同| 蜜臀AV一区二区三区激情综合| 成年人性爱日韩| 日本色色视频网站| 五月丁香激情四射| 亚洲黄色电影| 天天摸天天操视频| 97久久国产亚洲精品超碰热| 乱理日韩中文| 天天日B狠狠操| 色五月激情综合网| 凸凹视频在线观看| www.91理论| 国产成人无码a| 91无码西班牙视频在线| 美女高潮国产高清| 欧美同性恋 的搜索结果 - 91n| 天天α片| 怡春苑东京热| 91精品成人| 一区=区三区视频| 美女黄页| 91n美女视频| 性色avv| 国产精品天美传媒| 玖玖97综合 | 99www.bibizy香蕉资源国产一区二区三区高清 | 少妇熟女1区2区3区| 国产97在线 | 亚洲| 亚洲骚逼少妇| 中文字幕在线免费观看 | 九月丁香| 蜜臀av一区二区三区免费观看| 狠狠色婷婷7777久| 亚洲色吧网| 一本一道人妻久久一区二区三区| 日韩欧美女优电影| 九九天堂| 久久综合精品一区二区三区| 久久、1234| 天堂亚洲精品久久老牛| 九九九九九九九| 白嫩妹子国产骚| 欧美精品激情| 亚洲中文字幕熟女| 天天干天天燥| 日韩欧美字幕亚洲一区二区| 亚洲欧洲网站免费观看| 中文字幕一区av| 啊啊啊 在线观看| 超硑97精品| 天堂资源站| 东北老熟女| 超碰97护士| 日本操逼aaaaa| 日韩精品在线观看观看| 在线国产探花| 97玖玖人妻| 亚州日韩97| 色与欲影视天天看综合网| 熟妇色99| 乱伦图一区| 婷婷伊人綜合中文字幕| 2025亚洲男人天堂| 麻豆区久久久久亚| 亚洲综合第一页| 亚洲无码免费看| 伊人久久婷婷| 欧美情色贴图| 人妻天堂网| 国产一级高跟丝袜| 黑丝少妇在线观看| 日韩精品电影| 91无遮挡| 国产综合操逼高清| AV高清一区| 欧美色吧综合| 26uuu欧美日韩| 久久伊人大香蕉| 中文字幕97色| 日韩兔费看黄片| 欧美久久伊人| 日韩成人午夜精品久久高潮| 大粗鳼巴久久久久| 一本大道不卡一二三区| 国产女上位好爽在线| 欧美日韩亚洲国产中文永久天天看| 2017大香蕉| 天堂8在线新版官网| 色 婷97| 噜噜噜噜久久久精品免费| 影音先锋视频在线| 欧洲中文字幕| 国产精品乱码久久久| 黄片无码在线制服| 超碰在线97国产| 狠狠操使劲操| 视频二区美腿丝袜制服人妻欧美| 成人资源中文字幕在线观看| 18禁免费视频| www.91欧美| 精品亚洲成人免费在线| 色av中文字| 青青青在线高清视频在线一二三四区| 成人免费在线网站| av东京热男人的天堂| 日韩性爱啪啪视频| 国产原创精品| 91社区伊人| 懂色AV一区二区三区| 国产精品农村妇女精品| 操逼逼无码| 国产av色网| 每日更新AV| 日本天天干天天日一区| 午夜福利在线合集| 色眯眯av| 人人爱人人操人人性| 天天草AV| 黄色性爱网网| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 夜色97| www黄片免费看com| 后入式999| 国产成人久久久精品免费AV| 懂色AV网| 加勒比无码一区二区三区| 国产sv美女内射| 人妻熟女一区在| 男人天堂欧美| 欧美日韩淫加| 岛国免费黄色网址| 青青草中出视频| 国产免费一区二区在线A片视频| 欧美综合色,www| 野狼激情网| 国产无码三级视频在线观看| 日本97久久久精品| 国产无马视频| 97亚洲色图| 91老司机在线视频免费观看| 国产亚洲深夜激情| 好爽免费视频,| 91色久| 久久产精品一区二区三区电影| 日韩中文字幕熟妇人妻| 国产精品999zyz| chaopen97久久| 日韩美脚一区二区网站| 免费黄色片。| 日天天九九天堂666| 超碰亚洲97| 99国产精品视频尤物| 丝袜美腿操av| 欧美 综合| 3p国产欧美99热| 啊啊啊好想要| 91女优在线观看| 操狠狠| 一区二区视频在线播放| 精品传媒在线一区| 成熟熟女国产精品一区二区| 九九久久精品| 吖在线不卡一区二区国产剧情| 久久九九精品一区二区 | 狼人狠干| 夜夜操中文字幕| 95人妻爽爽人人做人人澡| 人人操人人摸人人看人人插| 欧美日韩亚洲少妇寂寞影院正在播放| 日韩内射视频| 久久久九九网站| 久久久久久久伊人精品| 啪啪啪亚欧美视频| 伊人久久亚洲色欲综合网站 | 欧美亚洲中文| 天天爽入口| 91久久18禁| 亚洲,欧美,春色,另类| 天天色综亚洲91污| 日韩性爱免费观看视频| 亚洲天天更新| 亚洲欧美内射| 96久久久精品| 91撸色网 玖玖网 欧美| 午夜精品一区二区三区三上悠亚| 岛国艾薇凹凸视频天堂| 日韩字幕一区| 日日爱99| 2017天天插| 玖色av| 超碰一区二区| 美日韩一二三区| 天天综合网久久ww| 99re6国产精品99re在线| 爱射综合| 日本精品成人无码| 久久激情亚洲精品无码?V| 欧美人人曰人人操人人射射| 精品九九九九九| 国产精品久久久亚洲第一牛牛_在线观看 | 黄久在线| 99re热| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 操国产高清| 97在线观| 国产精品剧情| 欧美中出| 久久精品国产精品一区| 激情综合网亚洲| 青青在线视频日韩欧美| 91bbb| 九九碰九九爱97超碰| 五月天亚洲色图| 久久久96| 999久久久免费精品国产牛牛| 亚洲欧美人妻| 免费观看成人www精品视频| 国产精品福利资源在线尤物| 欧美精品成人一区二区在线观看 | 丰满少妇一区二区三区四区观看| 精品人人| 青青草精玖玖69精品| 亚洲视频,小说| 久热久| 亚洲色图第一页| 中文字幕欧洲有码| 久久啊啊| 日韩熟女无码| 日韩色欲久久一二三四区| 午夜理论片在线观看免费| 中国探花熟女| 久久香蕉国产传媒一区剧情天美| 美女人妻色网站| 久久999久| 人妻喷水| 加勒比综合| se01国产在线视频| 欧美日韩操逼嗦吊| 九色97| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 青青青草伊人精品| 色图四区| 日韩免费三级黄片电影| 色哟哟511老熟女| 人妻少妇色综合| 免费人人搞97| 欧美淫乱视频| 日本中文熟女视频| 全球成人中文在线| 人妻日日夜夜精品| 日韩97视频| 亚洲97在线| 日本无码1| 裸体美女国产免费久久久网站| 激情终合网| 精品人妻一区二区三区四区| 懂色中文一区二区三区 | julia国产在线 | 四虎永久在线精品免费网址| 91精品免费| 一区二区三区国产在线播放| 91强热人妻| 97操97色| 人妻熟女一区二区三区视频| 亚洲日本韩国极品一区二区| 97超碰色屌| 欧美亚洲中文字幕| 一区二区三区黄色片a| 色情成人五月天| 久久大精品乱码视频人妻熟女| 九热久| 色哟哟511老熟女| 91人妻丝袜无码| 欧美亚洲中文字幕| 亚洲暴力强奸AV| 爱干爱射网啊啊啊| 丰满人妻一区二区三区四区| 青椒国产97在线熟女| 久久婷婷国产一区二区色| 好一吊区二区| 亚洲精品国产熟女久久久久久| 台欧久久精品视频| 就去色综合| 国产亚洲日本精品在线| 久草精品国产蜜臀 | 91九久| 3P丝袜熟女 色综合| 久久久精品无码亚免费| 亚州再线| 中英熟女操女| 97资源超碰| 日韩情色一区二区| 日本3级一区二区免费| 天天舔天天日天天射| 欧美日韩国产一区二区小黄片大全| 日本三级韩三级99久久| 四虎在线免费视频| se01国产在线视频| 热久久国产精品视频大陆精品| 91 欧美| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 激情无码日韩| 欧美成人色| 久久综合国产精品国产| 好吊色一区| 9国产超碰| 婷婷色香| 亚洲日韩视频二区| 97干天天| AV网站高清无码在线观看| 老女人老91妇女老热女| 久久久久久久伊人精品| 日韩午夜国产| 亚洲最大成人a毛毛片| 秋霞一区二区三区四区五区六区七区| 一级人妻性爱视频| 国产中文福利| 奇米四色影视777久久久| 素颜老阿姨乱情色| 制度丝袜99| 欧美在线综合| 99操| 精品国产乱码久久久久久久久1| 亚洲精品蜜桃久久久| 色九区| 试看60秒 爽| 日本天堂网| 日韩操逼HD| 91在线超高颜值国产| 搡老女人911熟妇老熟女| 果冻国产精品麻豆成人av| 最新无码国产| 啊啊啊啊啊啊好多水| 国产97视频| 精品视频久久| 亚欧韩av| 欧美91网| 93人人操人人| 中文字幕1区2区| 欧美黑人猛交春色影视大全| 激情小说图片亚洲首页| 极品久久久久久久久久久久久久| 性做久久久久久免费观看软件| 中文字幕激情小说| n1038 一二三区| 激情接吻视频久久久久久| 日日躁夜夜躁狠狠躁超爽| 国产13区| 一区二区三区 日韩欧美| 超碰在线91| 性性久久| 国产丝袜视频| 综合免费无码中文| 玖玖爱影院| 中亚黄色三级大片| 97资源超碰| 中国女人内射6XXXXX| 嗯嗯啊啊操我| 九九久精品| 亚洲男人天堂网久久| 青青草丝袜在线视频| 亚洲国产综合视频| 久久影视二区三区行押| 免费看污网站| 十八禁视频网站| 日韩偷拍一区二区三区| 九九九999久久久网站| 日韩av色图| 97精品国产97久久久久久户外免费| 国产极品美女高潮无套在线观看 | 青娱乐国产盛宴视频| 白丝AV| 国产麻豆一区二三区| 日本精品人妻少妇一区二区| 国产无套粉嫩白浆在| 成人性爱AV在线免费观看| 久久精品久久久久久久| 941超碰| 日本999精品| 九九九九九九九九九九九免费国产| 亚洲欧美国产其他二区| 51久久夜色精品国产麻豆| 日韩小电影| 人妖欧美一区二区| 中文字幕伊人| 欧美成人色| 精品人妻一区二区三区-国产精品| www.超碰在线| 国产综合永久精品日韩鬼片| 一起草欧美| 富女玩鸭子一级毛片| 不卡视频一区蜜桃视频 | 秋霞男人网| 色哟哟国产精品免费网址| 亚洲色综合| 日韩中文字幕视频在线观看| 激情国产乱伦Av| 色综合久久av| 国产性爱在线视频一区二区| 青娱乐福利99| 亚洲欧美国产中文视频| 欧美狠狠| 国产强奸乱伦无码视频| 亚洲牲交| 2017av无码免费无线播| 日本视频在线中文字幕| 97香蕉网| 日本国产欧美一区三区二区 | 成人无码专区精品视频| 污到发麻的视频 国产| 人妻精品综合中文字幕在线| 精品人妻一区二区三区-国产| 亚洲综合97中文网| 人妻夜夜爽天天爽麻豆三区网站| 天天综合AV| 久视频在线观看| 亚洲情色1区| 日韩传媒在线| 国产视频大全| 大香交| 俞拍久久国应视频| 七月婷婷综合| 国产无马在线| 欧美aaaaaaa| 一级啊性爱在线视频| 日韩性爱高清免费视频| 狠狠综合| 97欧美精品综合| 夜精品久无码| 97色欧洲| 风月影院十八禁| heyZO天然素人无码AⅤ专区| 操高情无码| 久久曰曰| 男人天堂站| 亚洲欧美在线综合| 极品少妇久久久| 秋霞一集毛片观看| 国产男人又猛又粗又爽| 男人的天堂啪啪| 日本不卡二三区| 国产超碰欧美| 超碰在线人人射| 国产大学生口爆吞精合集| 色狠狠综合| 欧色综合| 91成人亚洲色图| 欧美v日韩v亚洲v最新在线| 亚洲国产奇米影视久久| 婷婷五月天AV| 亚洲男人天堂2016| 久久线上视频免费看| 少妇一级无码精品| 8050无码八戒| 不卡超碰护士AV在线免费播放| 日韩少妇在线视频| 91欧美综合| 欧美不卡二区| 九九毛片这里只有精品| 欧美超碰人妻97| 欧美综合天天| 最新国产精品久久精品| 日韩av熟女一区二区三区成人| 国产人人干| 国产福利电影| 色色色综合网| 欧美一区二区三区成人性生活| 欧美日韩传媒| 色成人Www精品永久观看| 插入综合网| 97情超碰色| 天天夜躁日日躁狠狠2002| 久久久com| 久久99草| 久久久久久99AV无码免费网站| 不卡免费av在线播放| 欧美在线啊啊啊| 99re在线| 九九黄色网| 91N综合网在线| 在线观看无码三级少妇| 久久五月份| 清纯唯美亚洲另类| 日韩 欧美 另类 人妻| 久久国产视频专区一二三| 精品人妻久久久久一区二区三区| 九九综合久久中文字幕| 精品无码一区二区| 久9九综合在线| 妺妺跟我一起洗澡没忍住| 欧美人人天天网| 内射老妇BBWX0C0CK| 日本久久久久久久久| 天天操妹子| 亚洲欧美经典一区二区| 欧美色图97| 青青伊人这里只有精品| 五十路熟女工口 | 久久无码一区二区二三区性色| 色五月婷婷麻豆在| 午夜精品久久久久久久第一页按摩| av婷婷色婷婷色六月| 九九九九一级| 天天干夜夜一操| 九七人妻在线| 亚洲中文日韩精品| 超碰在线1234区| 亚洲制服欧美另类内射| 丰满人妻一区| 熟女字幕| 密臀成人视频久久久| 国产在线视视频有精品| 亚洲日本大香蕉1| 国产18精品亚洲精品| 亚州五月| 大香蕉啪啪啪| 综合色好色| 91AV老熟女视频| 色哟哟AⅤ| 欲香欲色天天天综合和网| 欧美日产国产在线成人第一区| 91AV天堂| 欧美亚洲日本激情在线| 麻豆一区二区三区在线看| 婷婷五月天AV| 少妇综合| 另类 综合 日韩 欧美 亚洲| 国产精品无码久久久久2028| 韩国嫰模上门援交视频| 女人高潮抽搐喷水视频网站| 78操B| 国产视频一区二区三区久久亚洲天堂| 国产一区二区三区高清视频| 99re95| 欧美强奸一区二区诱惑| 97鸡把在线视频| 日本免费不卡二区| 在线a v| 91丰满| 嗯……啊…嗯嗯…啊…好舒服| 日韩三A大片在线观看| 超碰这里有精品| 亚洲人人操| AV天堂国产| 日韩成人人妻网站| 日韩在线视频1234| 成人激情无码在线视频| 密臀在线视频| 亚州综合电影| 日本黄 R色 成 人网站| 欧美一级A一级a爱片久久| 亚洲Av噜噜一区二区三区妖精| 操逼网站视频漫画国产| 九九久久玖玖| 欧美大战久久久伊人| 九月婷婷久久| 中文字幕AV乱伦| 精品人妻15区| 日韩精品第3页| 婷婷精品| 一类无码操逼视频| 色欧美亚洲| 男人的天堂日韩| 五月天色图| 91超级碰| 亚洲欧美综合区自拍另类| 日本久久超碰| 亚洲欧美综合网站| 少妇一区二区三区在线观看| 岛园激情| 亚洲激情综合另类男同| 丰满少妇一区二区三区免费看| 欧洲精品网| 日韩中字av一区| 久9热| 色成人Www精品永久观看| 操逼操2| 欧美96在线|欧| 97精品国产精品免费观看| 亚洲天堂东京热| 久久婷婷色| www.91理论| 精品久久久久久无码| 国产91 丝袜在线播放00-百度| 人人干黄色| 亚洲毛片基地专区| 97 国产精品| 亚洲日本天堂| 国产精品久久久777| 亚洲色图超碰在线| 免费视频a级毛片免费视频| 国产一进一出视频网站| 欧州一区二区三区四区| 日日不卡av| 久久久天堂| 狠狠操狠狠燥| 日本高清熟女久久一区| 欧美72网页| 欧美三级免费伊人| 在线啊啊啊啊| 成人一二| 色婷婷影视| 操逼网免费无码视频| 亚洲 自拍偷拍 欧美| 国产黄色视频久久| 欧美综合91| 97欧美综合| 97欧美日韩| 人妻少妇精品| 一起草在线视频| 亚洲色图一区二区三区| 天天做天天爱| 亚州综合色| 国产精品香蕉| 懂色aV一区二区天美传媒| 98久久| 熟女探花啪啪| J?P?NESEHD熟女熟妇伦| 日本熟妇浓毛hdsex| 女人天堂av在线播放| 亚洲加勒比久久日本道| 超碰91在线| 明星性猛交ⅹxxx乱大交| 国内毛片热久久思思热| 精品久久久久久AV无码| 先锋影音av先锋一区| 亚洲成人在线高清| 狠狠中文字幕| 美女国产一区二区久久| 亚洲制服欧美另类内射| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 狠狠操,使劲操| 午夜操逼不卡|