夜夜爽妓女8888视频免费观看_在线播放免费人成视频在线观看_国产成人精品免费直播_免费黄色一级毛片

ARTICLE DETAIL

資訊詳情

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

NFC供電電子紙屏開(kāi)發(fā)全解析:從原理到實(shí)踐

NFC供電電子紙屏開(kāi)發(fā)全解析:從原理到實(shí)踐 1. 項(xiàng)目概述當(dāng)電子紙遇上NFC一個(gè)創(chuàng)意硬件的誕生最近在折騰一個(gè)挺有意思的小玩意兒一塊7.5英寸、支持NFC供電和刷新的高清電子墨水屏。這聽(tīng)起來(lái)可能有點(diǎn)“縫合怪”的感覺(jué)但當(dāng)你把它拿在手里看著它僅靠手機(jī)“碰一碰”就能瞬間更新顯示內(nèi)容并且完全不需要內(nèi)置電池時(shí)那種感覺(jué)還是挺奇妙的。這個(gè)項(xiàng)目的核心就是把NFC的近場(chǎng)通信與無(wú)線取電技術(shù)和電子墨水屏的超低功耗、類紙顯示特性巧妙地結(jié)合在了一起。它本質(zhì)上是一個(gè)無(wú)源、可無(wú)線編程的電子紙顯示終端。說(shuō)“無(wú)源”是因?yàn)樗陨頉](méi)有電池所有運(yùn)行所需的能量都來(lái)自于你手機(jī)或NFC讀寫器在靠近時(shí)通過(guò)電磁感應(yīng)產(chǎn)生的電能。說(shuō)“可無(wú)線編程”是因?yàn)轱@示的內(nèi)容和數(shù)據(jù)也是通過(guò)這同一套NFC鏈路傳輸進(jìn)去的。它的目標(biāo)場(chǎng)景非常明確那些需要長(zhǎng)期、靜態(tài)顯示信息但又希望更新過(guò)程極度便捷、無(wú)需接線、甚至無(wú)需打開(kāi)設(shè)備外殼的場(chǎng)合。比如作為一個(gè)智能家居的中央狀態(tài)顯示屏碰一下手機(jī)就能切換場(chǎng)景或顯示溫濕度作為一個(gè)商品電子價(jià)簽的原型店員用手持設(shè)備一掃就能改價(jià)或者干脆就是一個(gè)極具極客范兒的桌面擺件每天用手機(jī)碰一下自動(dòng)更新待辦清單、日歷或一句名言。要實(shí)現(xiàn)它繞不開(kāi)幾個(gè)核心關(guān)鍵詞NFC負(fù)責(zé)通信與供電ST25R3911B這類NFC讀寫器芯片是背后的“能量與數(shù)據(jù)樞紐”而e-Paper則是最終呈現(xiàn)內(nèi)容的窗口。整個(gè)系統(tǒng)的邏輯是Android或iOS設(shè)備作為NFC發(fā)起端靠近屏幕屏幕上的NFC標(biāo)簽芯片被激活從手機(jī)獲取能量啟動(dòng)然后接收手機(jī)發(fā)送過(guò)來(lái)的、經(jīng)過(guò)處理的圖像數(shù)據(jù)最后驅(qū)動(dòng)電子紙完成一次全局刷新。這背后涉及到射頻能量采集、低功耗MCU調(diào)度、電子紙驅(qū)動(dòng)波形調(diào)試等一系列軟硬件細(xì)節(jié)。接下來(lái)我就把這幾個(gè)月從選型、打板、調(diào)試到最終讓屏幕亮起來(lái)的過(guò)程以及踩過(guò)的各種坑詳細(xì)拆解一遍。2. 核心硬件選型與設(shè)計(jì)思路拆解做一個(gè)這樣的設(shè)備硬件是地基。選型決定了項(xiàng)目的上限和難度。我的核心思路是在滿足7.5寸高清電子紙驅(qū)動(dòng)和NFC取電/通信的前提下盡可能追求極致的低功耗與集成度因?yàn)镹FC能提供的能量實(shí)在是非常有限。2.1 顯示核心7.5英寸高清電子紙屏解析首先是最顯眼的部件——屏幕。我選擇的是一款7.5英寸、800x480分辨率的黑白電子墨水屏。選擇這個(gè)尺寸和分辨率是權(quán)衡了顯示信息量、刷新速度和驅(qū)動(dòng)功耗的結(jié)果。7.5寸大小足夠顯示一幅清晰的圖片或一段較長(zhǎng)的文字800x480的分辨率在觀看距離上顆粒感也不明顯。電子紙屏本身是被動(dòng)的它只有在上電施加特定驅(qū)動(dòng)波形時(shí)才會(huì)改變狀態(tài)。一次完整的全局刷新GC耗電量相對(duì)較大但關(guān)鍵在于刷新完成后即使完全斷電圖像也能永久保持。這就是我們能用瞬時(shí)、微弱的NFC能量來(lái)驅(qū)動(dòng)它的理論前提我們只需要在手機(jī)靠近的幾秒鐘內(nèi)提供足以完成一次刷新的能量即可。屏幕的接口通常是標(biāo)準(zhǔn)的SPI串行外設(shè)接口。這里有個(gè)關(guān)鍵點(diǎn)不同廠商、甚至同廠商不同批次的電子紙其驅(qū)動(dòng)波形LUT可能不同。驅(qū)動(dòng)波形就像指揮屏幕粒子如何運(yùn)動(dòng)的樂(lè)譜如果波形不對(duì)輕則刷新殘影嚴(yán)重重則完全無(wú)法顯示或損壞屏幕。所以拿到屏幕的第一件事就是向供應(yīng)商索要官方的驅(qū)動(dòng)代碼或LUT表。如果供應(yīng)商不提供就需要根據(jù)數(shù)據(jù)手冊(cè)或者用邏輯分析儀抓取官方驅(qū)動(dòng)板的時(shí)序來(lái)反推這個(gè)過(guò)程非常痛苦。我的建議是優(yōu)先選擇能提供完整Arduino或STM32驅(qū)動(dòng)示例的屏幕供應(yīng)商這能省去無(wú)數(shù)麻煩。2.2 能量與數(shù)據(jù)樞紐NFC控制器ST25R3911B深度剖析這是整個(gè)項(xiàng)目的“心臟”。為什么是ST25R3911B而不是更常見(jiàn)的RC522或PN532根本原因在于能量傳輸效率和通信速率。RC522這類簡(jiǎn)單讀卡器芯片設(shè)計(jì)初衷是讀/寫標(biāo)簽其射頻輸出功率和能量傳輸效率通常不足以驅(qū)動(dòng)一個(gè)“主動(dòng)設(shè)備”包含MCU和屏幕。PN532功能更強(qiáng)但ST25R3911B在作為NFC發(fā)起端Poller時(shí)其主動(dòng)波模式Active Wave Mode能提供更高的輸出功率和更優(yōu)的調(diào)諧這意味著它能從手機(jī)端“汲取”更多能量并通過(guò)其高效的整流和穩(wěn)壓電路為后級(jí)系統(tǒng)提供更穩(wěn)定、功率更高的電源。ST25R3911B集成了一個(gè)高性能的NFC收發(fā)器前端、一個(gè)低功耗的ARM Cortex-M0內(nèi)核以及豐富的外設(shè)SPI, I2C, UART。這意味著它不僅能處理射頻信號(hào)還能直接運(yùn)行代碼擔(dān)任主控MCU的角色。在我們的設(shè)計(jì)中它需要完成以下任務(wù)能量采集通過(guò)天線接收13.56MHz的射頻能量經(jīng)內(nèi)部整流橋和LDO穩(wěn)壓后產(chǎn)生一個(gè)VOUT電源為自身和外部MCU、屏幕供電。通信處理遵循ISO14443A/B或ISO15693等協(xié)議與手機(jī)進(jìn)行數(shù)據(jù)交換。系統(tǒng)控制運(yùn)行固件解析手機(jī)發(fā)送來(lái)的指令和數(shù)據(jù)通過(guò)SPI接口控制電子紙屏的刷新。其天線設(shè)計(jì)是關(guān)鍵中的關(guān)鍵。天線是一個(gè)LC諧振電路需要精確調(diào)諧到13.56MHz。天線尺寸、形狀、匝數(shù)、線寬以及匹配網(wǎng)絡(luò)通常由幾個(gè)電容組成的計(jì)算直接決定了能量傳輸?shù)木嚯x和效率。官方提供了設(shè)計(jì)工具和參考電路必須嚴(yán)格遵循。我的教訓(xùn)是第一版PCB自己憑感覺(jué)畫了個(gè)天線結(jié)果有效感應(yīng)距離不到0.5厘米幾乎要貼上去才能工作。后來(lái)嚴(yán)格按照ST提供的計(jì)算工具調(diào)整了天線尺寸和匹配網(wǎng)絡(luò)距離才穩(wěn)定到1-2厘米達(dá)到了實(shí)用級(jí)別。2.3 輔助大腦低功耗MCU的必要性你可能會(huì)問(wèn)ST25R3911B本身就有Cortex-M0內(nèi)核為什么還需要額外的MCU原因有二性能分工和功耗管理。ST25R3911B的M0內(nèi)核主頻相對(duì)較低資源也有限。當(dāng)它全力處理射頻通信、協(xié)議棧解析時(shí)再讓它去處理一張800x480分辨率的圖片數(shù)據(jù)轉(zhuǎn)換、抖動(dòng)算法處理并精確控制SPI時(shí)序發(fā)送給屏幕會(huì)非常吃力容易導(dǎo)致通信超時(shí)或屏幕刷新錯(cuò)誤。因此我增加了一顆超低功耗的MCU比如STM32L0系列或ESP32-C3僅使用其低功耗模式。它的角色是圖像處理接收來(lái)自ST25R3911B的原始圖像數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換、抖動(dòng)處理將灰度圖轉(zhuǎn)為黑白二值圖并存儲(chǔ)在外部或自身的Flash中。屏幕驅(qū)動(dòng)嚴(yán)格按照時(shí)序通過(guò)SPI向電子紙屏發(fā)送命令和圖像數(shù)據(jù)控制刷新流程。電源管理在非刷新期間MCU可以進(jìn)入深度睡眠模式功耗降至微安級(jí)等待ST25R3911B通過(guò)中斷喚醒它。這樣的分工使得ST25R3911B可以專注于其最擅長(zhǎng)的射頻工作而復(fù)雜的顯示邏輯則由專門的MCU處理系統(tǒng)更穩(wěn)定可靠。兩者之間通過(guò)UART或SPI進(jìn)行通信。2.4 電源架構(gòu)設(shè)計(jì)從射頻能量到穩(wěn)定電壓這是硬件設(shè)計(jì)中最具挑戰(zhàn)的部分。NFC提供的能量是不穩(wěn)定、且功率有限的。整個(gè)電源路徑需要精心設(shè)計(jì)手機(jī)射頻場(chǎng) - NFC天線 - ST25R3911B (整流/穩(wěn)壓) - VOUT (典型值~5V) - 后續(xù)DCDC/LDO - MCU 屏幕驅(qū)動(dòng)電壓。儲(chǔ)能電容在ST25R3911B的VOUT輸出端必須并聯(lián)一個(gè)大容量、低ESR的儲(chǔ)能電容我用了470μF的鉭電容。它的作用是在手機(jī)靠近的瞬間快速儲(chǔ)存能量像一個(gè)“能量水池”為后續(xù)整個(gè)刷新過(guò)程提供相對(duì)穩(wěn)定的電流。電容值需要計(jì)算根據(jù)屏幕刷新峰值電流、刷新時(shí)間估算所需電荷量。公式是C I * t / ΔV其中ΔV是允許的電壓跌落。假設(shè)峰值電流200mA刷新時(shí)間2秒允許電壓跌落0.5V那么需要的電容至少為0.2A * 2s / 0.5V 0.8F 800,000μF。這顯然不現(xiàn)實(shí)。實(shí)際上我們依靠電容緩沖峰值電流系統(tǒng)平均功耗遠(yuǎn)低于峰值所以470-1000μF通常是經(jīng)驗(yàn)值。多路電壓生成電子紙屏通常需要多路電壓如VCC (3.3V)、VCOM (驅(qū)動(dòng)公共極的電壓可能為-20V ~ 20V范圍)。這些高壓需要專門的電荷泵或Boost電路生成。必須選擇高效率、低啟動(dòng)電壓的DCDC芯片。例如我使用了一顆TI的TPS61099x系列升壓芯片它能在低至0.7V的輸入電壓下啟動(dòng)非常適合這種微能量收集場(chǎng)景。上電時(shí)序控制MCU和屏幕的供電時(shí)序可能有要求。通常需要MCU先啟動(dòng)初始化IO再使能屏幕的電源。這可以通過(guò)MCU的GPIO控制一個(gè)MOSFET來(lái)實(shí)現(xiàn)。注意所有電源路徑上的二極管、電感、電容的選型都必須優(yōu)先考慮低功耗、高效率。一個(gè)普通二極管0.3V的壓降在這么緊張的能源預(yù)算下都是巨大的浪費(fèi)應(yīng)選用肖特基二極管或理想二極管控制器。3. 固件開(kāi)發(fā)驅(qū)動(dòng)、協(xié)議與圖像處理硬件搭好了接下來(lái)是讓它們“活”起來(lái)的軟件部分。固件主要運(yùn)行在附加的低功耗MCU上與ST25R3911B協(xié)同工作。3.1 ST25R3911B的初始化和通信協(xié)議棧首先需要配置ST25R3911B的工作模式。我們將其配置為NFC-V (ISO15693) 標(biāo)簽仿真模式。為什么是ISO15693而不是更常見(jiàn)的ISO14443AMifare因?yàn)镮SO15693協(xié)議支持更遠(yuǎn)的讀寫距離可達(dá)1米當(dāng)然在我們這個(gè)無(wú)源場(chǎng)景下會(huì)近很多和更大的數(shù)據(jù)塊傳輸更適合傳輸一幅圖片的數(shù)據(jù)量。初始化步驟包括配置寄存器設(shè)置工作頻率、調(diào)制方式、輸出功率。校準(zhǔn)天線調(diào)諧確保諧振點(diǎn)在最佳狀態(tài)。初始化ISO15693協(xié)議棧設(shè)置一個(gè)唯一的UID類似設(shè)備地址。準(zhǔn)備好用于接收數(shù)據(jù)的存儲(chǔ)區(qū)通常是MCU的一片RAM或Flash區(qū)域。當(dāng)手機(jī)作為NFC讀卡器靠近時(shí)ST25R3911B會(huì)被激活并通過(guò)中斷通知MCU。MCU隨后通過(guò)SPI讀取ST25R3911B的FIFO獲取手機(jī)發(fā)送過(guò)來(lái)的指令和數(shù)據(jù)。3.2 電子紙屏驅(qū)動(dòng)移植與優(yōu)化這是另一個(gè)重頭戲。通常供應(yīng)商會(huì)提供參考驅(qū)動(dòng)代碼但往往是為某款特定MCU如STM32F1編寫的。我們需要將其移植到自己的MCU平臺(tái)上關(guān)鍵點(diǎn)在于GPIO和SPI初始化根據(jù)自己MCU的引腳定義重寫屏幕的復(fù)位RST、忙信號(hào)BUSY、數(shù)據(jù)/命令選擇DC等控制引腳的操作函數(shù)以及SPI的收發(fā)函數(shù)。延時(shí)函數(shù)替換原驅(qū)動(dòng)中的delay_ms()、delay_us()函數(shù)需要用自己系統(tǒng)的定時(shí)器或空循環(huán)延時(shí)實(shí)現(xiàn)替換。驅(qū)動(dòng)波形LUT驗(yàn)證這是最核心也最容易出錯(cuò)的地方。必須將供應(yīng)商提供的LUT表完整、正確地寫入屏幕控制器。我遇到過(guò)因?yàn)長(zhǎng)UT表中某個(gè)參數(shù)錯(cuò)誤導(dǎo)致屏幕刷新后局部泛白無(wú)法消除的問(wèn)題。調(diào)試方法只能是1) 反復(fù)核對(duì)數(shù)據(jù)手冊(cè)2) 用邏輯分析儀抓取官方驅(qū)動(dòng)板的SPI時(shí)序和自己的時(shí)序?qū)Ρ?) 分段測(cè)試先寫一個(gè)簡(jiǎn)單的全刷黑/全刷白LUT確保基礎(chǔ)功能正常。為了節(jié)省寶貴的NFC能量和刷新時(shí)間需要對(duì)刷新策略進(jìn)行優(yōu)化局部刷新如果只是更新部分文字盡量使用電子紙屏支持的局部刷新模式。但要注意局部刷新多次后可能產(chǎn)生殘影需要定期進(jìn)行一次全局刷新來(lái)清除。睡眠模式刷新完成后立即通過(guò)命令將屏幕控制器進(jìn)入深度睡眠以降低功耗雖然此時(shí)已斷電但養(yǎng)成好習(xí)慣。3.3 圖像數(shù)據(jù)處理與傳輸協(xié)議定義手機(jī)App需要把圖片發(fā)送給設(shè)備。一幅800x480的黑白二值圖未經(jīng)壓縮的數(shù)據(jù)量是800 * 480 / 8 48,000字節(jié)即48KB。通過(guò)NFC傳輸48KB數(shù)據(jù)即使速率達(dá)到53kbps也需要好幾秒。因此優(yōu)化傳輸是必須的。圖像預(yù)處理在手機(jī)端完成縮放與裁剪App將用戶選擇的圖片縮放至800x480分辨率。二值化將彩色或灰度圖轉(zhuǎn)換為黑白圖。簡(jiǎn)單的閾值法效果不好我采用了Floyd-Steinberg誤差擴(kuò)散抖動(dòng)算法它能得到視覺(jué)效果更好的黑白圖片模擬灰度效果。位平面轉(zhuǎn)換將每個(gè)像素的1位0或1數(shù)據(jù)按屏幕控制器要求的字節(jié)順序排列通常是水平掃描MSB或LSB在前。自定義傳輸協(xié)議在設(shè)備和手機(jī)端約定 由于要傳輸?shù)臄?shù)據(jù)量大且NFC通信可能不穩(wěn)定手機(jī)移開(kāi)需要設(shè)計(jì)一個(gè)簡(jiǎn)單的可靠傳輸協(xié)議。分幀將48KB的圖像數(shù)據(jù)分成多個(gè)數(shù)據(jù)幀每幀包含幀頭幀序號(hào)、總幀數(shù)、數(shù)據(jù)載荷、校驗(yàn)和如CRC16。握手與確認(rèn)設(shè)備收到一幀數(shù)據(jù)后校驗(yàn)無(wú)誤向手機(jī)回復(fù)一個(gè)ACK確認(rèn)幀手機(jī)再發(fā)送下一幀。如果設(shè)備回復(fù)NAK否認(rèn)或超時(shí)未收到回復(fù)手機(jī)重發(fā)該幀。數(shù)據(jù)存儲(chǔ)MCU將接收到的數(shù)據(jù)幀按序號(hào)存入外部SPI Flash中。全部接收完成后再一次性從Flash讀出發(fā)送給屏幕刷新。這樣避免了在接收過(guò)程中就驅(qū)動(dòng)屏幕導(dǎo)致的功耗不穩(wěn)定。固件更新我們還可以利用這套傳輸協(xié)議實(shí)現(xiàn)固件的無(wú)線更新OTA。將新的固件程序打包成二進(jìn)制文件由手機(jī)App通過(guò)NFC發(fā)送。設(shè)備端Bootloader在接收完成后校驗(yàn)并跳轉(zhuǎn)到新程序。這為后續(xù)功能升級(jí)提供了可能。4. 手機(jī)端App開(kāi)發(fā)要點(diǎn)設(shè)備端準(zhǔn)備好了還需要一個(gè)“指揮官”——手機(jī)App。它需要完成圖片選擇、處理、并通過(guò)NFC發(fā)送出去。這里分別簡(jiǎn)述Android和iOS端的核心實(shí)現(xiàn)。4.1 Android端實(shí)現(xiàn)基于Android StudioAndroid對(duì)NFC的支持比較成熟。核心類是NfcAdapter和NdefMessage。但對(duì)于我們自定義的、大數(shù)據(jù)量的傳輸使用標(biāo)準(zhǔn)的NDEFNFC數(shù)據(jù)交換格式記錄效率較低。我們更傾向于使用ISO-DEP (ISO14443-4)或直接基于Host Card Emulation (HCE)的底層通信但這需要設(shè)備端也支持相應(yīng)的復(fù)雜協(xié)議。一個(gè)更實(shí)用的方法是我們?nèi)匀蛔屧O(shè)備模擬一個(gè)標(biāo)準(zhǔn)的NFC-V標(biāo)簽但利用該協(xié)議允許自定義命令的特性在App端使用transceive(byte[] data)方法發(fā)送原始的、自定義的APDU指令幀。這樣我們就繞開(kāi)了NDEF的限制可以直接傳輸我們分幀后的圖像數(shù)據(jù)。關(guān)鍵步驟檢測(cè)NFC檢查設(shè)備是否支持NFC并啟用前臺(tái)調(diào)度enableForegroundDispatch。建立連接當(dāng)檢測(cè)到標(biāo)簽時(shí)通過(guò)Tag對(duì)象獲取IsoDep或NfcV對(duì)應(yīng)ISO15693對(duì)象。發(fā)送數(shù)據(jù)在獨(dú)立的線程中循環(huán)調(diào)用transceive()方法發(fā)送數(shù)據(jù)幀并處理設(shè)備的ACK/NAK響應(yīng)。圖片處理使用Bitmap類進(jìn)行縮放并實(shí)現(xiàn)抖動(dòng)算法轉(zhuǎn)換為二值位圖再按協(xié)議打包。注意Android 10及以上版本對(duì)后臺(tái)NFC活動(dòng)有更嚴(yán)格的限制。確保你的App在前臺(tái)運(yùn)行或者申請(qǐng)必要的權(quán)限。另外transceive()是阻塞調(diào)用必須在非UI線程中進(jìn)行。4.2 iOS端實(shí)現(xiàn)基于Core NFCiOS從iOS 11開(kāi)始開(kāi)放了Core NFC框架但限制比Android多得多。最主要的是每次讀取會(huì)話Session時(shí)長(zhǎng)最多60秒且僅支持NDEF格式的讀取不支持后臺(tái)標(biāo)簽檢測(cè)也不支持向標(biāo)簽寫入大量自定義數(shù)據(jù)在iOS 13后可以寫入NDEF消息。這對(duì)于我們傳輸48KB自定義數(shù)據(jù)的場(chǎng)景幾乎是不可行的。iOS的Core NFC設(shè)計(jì)初衷是讓App讀取標(biāo)簽中的URL或簡(jiǎn)短信息而不是進(jìn)行設(shè)備間的大數(shù)據(jù)通信。變通方案極度壓縮數(shù)據(jù)將圖像數(shù)據(jù)壓縮如使用簡(jiǎn)單的游程編碼RLE并分割成多個(gè)很小的NDEF記錄在多次“碰一碰”中分別寫入。但這體驗(yàn)極差。使用iOS的“App Clip”或“輕App”概念將圖片處理邏輯放在云端設(shè)備標(biāo)簽只存儲(chǔ)一個(gè)包含參數(shù)如圖片ID的URL。手機(jī)碰觸后打開(kāi)一個(gè)輕量級(jí)App或網(wǎng)頁(yè)從云端下載處理好的圖片數(shù)據(jù)再通過(guò)藍(lán)牙或Wi-Fi如果設(shè)備有發(fā)送給設(shè)備。這完全改變了架構(gòu)。等待蘋果開(kāi)放更多API目前看在iOS上實(shí)現(xiàn)與Android同等體驗(yàn)的大數(shù)據(jù)量NFC傳輸官方途徑非常困難。這也是這個(gè)項(xiàng)目目前對(duì)iOS用戶體驗(yàn)不完美的原因。因此在現(xiàn)階段這個(gè)項(xiàng)目在Android上可以實(shí)現(xiàn)完整功能在iOS上可能只能實(shí)現(xiàn)一個(gè)“概念演示”比如只傳輸一個(gè)極小的圖標(biāo)或幾行文字。4.3 圖像處理算法的嵌入無(wú)論在哪個(gè)平臺(tái)都需要將彩色圖片轉(zhuǎn)換為高質(zhì)量的黑白二值圖。簡(jiǎn)單的固定閾值法如像素值128為白會(huì)產(chǎn)生大量細(xì)節(jié)丟失。Floyd-Steinberg誤差擴(kuò)散算法是經(jīng)典選擇。其原理是將當(dāng)前像素量化變?yōu)?或255產(chǎn)生的誤差按一定比例分配到相鄰的、尚未處理的像素上從而在整體上保持灰度層次感。以下是該算法的簡(jiǎn)化步驟描述遍歷圖像每個(gè)像素從左到右從上到下。對(duì)于當(dāng)前像素將其原始灰度值0-255與閾值通常是128比較得到新的二值值0或255。計(jì)算誤差誤差 原始值 - 新值。將誤差按比例如7/16, 3/16, 5/16, 1/16加到右方、右下方、下方、左下方的像素的原始值上注意邊界處理。在手機(jī)端實(shí)現(xiàn)這個(gè)算法時(shí)要注意性能。對(duì)于800x480的圖片在移動(dòng)CPU上直接進(jìn)行浮點(diǎn)運(yùn)算可能較慢。可以預(yù)先計(jì)算好誤差分配表或者使用定點(diǎn)數(shù)運(yùn)算來(lái)優(yōu)化。也可以考慮其他更快的抖動(dòng)算法如有序抖動(dòng)Bayer Dithering雖然效果稍遜但速度更快。5. 系統(tǒng)集成、調(diào)試與實(shí)測(cè)心得當(dāng)硬件焊接完畢固件和App也初步寫好就進(jìn)入了最“激動(dòng)人心”的聯(lián)調(diào)階段。這里充滿了各種意想不到的問(wèn)題。5.1 硬件焊接與組裝注意事項(xiàng)天線焊接NFC天線線圈通常是用漆包線繞制或FPC柔性電路板制成。焊接點(diǎn)必須牢固并用膠固定避免受力斷裂。匹配網(wǎng)絡(luò)的電容要使用高精度、高Q值的NPO/C0G材質(zhì)電容。電源濾波在ST25R3911B的電源引腳、MCU的電源引腳、以及升壓芯片的輸入輸出端就近放置多個(gè)不同容值的去耦電容如10μF, 1μF, 0.1μF這是抑制噪聲、保證系統(tǒng)穩(wěn)定工作的基石。屏幕連接7.5寸屏幕的排線通常通過(guò)ZIF零插拔力連接器連接。務(wù)必確保鎖緊桿完全扣緊接觸不良會(huì)導(dǎo)致花屏或完全無(wú)顯示。整體布局盡量將天線部分放在設(shè)備背面中心且背面不要有大的金屬物體否則會(huì)嚴(yán)重干擾磁場(chǎng)降低能量傳輸效率。屏幕和主板之間最好用絕緣材料隔開(kāi)。5.2 上電順序與能量瓶頸排查第一次組裝好用手機(jī)去碰可能毫無(wú)反應(yīng)。這時(shí)需要系統(tǒng)性地排查測(cè)量“能量池”用示波器探頭測(cè)量?jī)?chǔ)能電容那個(gè)470μF大電容兩端的電壓。當(dāng)手機(jī)靠近時(shí)電壓是否有一個(gè)上升過(guò)程如果能上升到3V以上說(shuō)明NFC取電部分基本正常。如果電壓紋絲不動(dòng)或很低問(wèn)題出在天線、匹配網(wǎng)絡(luò)或ST25R3911B的配置上。檢查MCU是否啟動(dòng)測(cè)量MCU的電源引腳看是否有電壓。用邏輯分析儀或調(diào)試器看MCU的時(shí)鐘是否運(yùn)行程序是否開(kāi)始執(zhí)行。如果MCU沒(méi)啟動(dòng)檢查其使能信號(hào)、復(fù)位電路以及從ST25R3911B的VOUT到MCU電源的路徑是否通暢。分步測(cè)試先不連接屏幕讓MCU只運(yùn)行一個(gè)簡(jiǎn)單的LED閃爍程序看能否在手機(jī)靠近時(shí)正常工作。如果OK說(shuō)明能量勉強(qiáng)夠MCU運(yùn)行。然后單獨(dú)測(cè)試屏幕用外部電源直接給屏幕供電通過(guò)MCU發(fā)送刷新命令看屏幕是否能正常顯示。確保屏幕本身和驅(qū)動(dòng)代碼沒(méi)問(wèn)題。聯(lián)合測(cè)試最后將屏幕接上進(jìn)行完整流程測(cè)試。此時(shí)很可能發(fā)現(xiàn)手機(jī)靠近時(shí)屏幕剛開(kāi)始刷新就“斷電”復(fù)位了。這是因?yàn)槠聊凰⑿掠绕涫侨炙⑿碌乃查g電流峰值可能高達(dá)100-200mA瞬間將儲(chǔ)能電容的電壓拉低導(dǎo)致MCU欠壓復(fù)位。解決能量瓶頸的幾種方法增大儲(chǔ)能電容這是最直接的方法可以嘗試增加到1000μF甚至更大。但電容體積會(huì)增大且充電時(shí)間變長(zhǎng)需要手機(jī)貼得更久。優(yōu)化刷新流程在刷新前讓MCU通過(guò)SPI命令先將圖像數(shù)據(jù)全部寫入屏幕控制器的GRAM中然后再發(fā)送一個(gè)“快速刷新”命令。這樣最大的電流峰值只出現(xiàn)在最后刷新的一瞬間而不是在整個(gè)數(shù)據(jù)傳輸過(guò)程中持續(xù)高電流。分步刷新如果屏幕支持將一幅圖片分成多個(gè)區(qū)域分多次刷新每次刷新后等待電容重新充電。但這會(huì)影響用戶體驗(yàn)。選用更高性能的NFC芯片和天線如果ST25R3911B的能量輸出仍不足可以考慮專門的能量收集芯片或者優(yōu)化天線設(shè)計(jì)如使用更多匝數(shù)、更大面積的天線。5.3 通信穩(wěn)定性優(yōu)化在傳輸48KB數(shù)據(jù)的過(guò)程中手機(jī)稍微晃動(dòng)就可能造成通信中斷。優(yōu)化策略包括增加數(shù)據(jù)幀重傳機(jī)制如前所述完善的ACK/NAK和重傳機(jī)制是必須的。減小單幀數(shù)據(jù)量在保證協(xié)議開(kāi)銷不過(guò)大的前提下適當(dāng)減小每幀的數(shù)據(jù)載荷如從256字節(jié)減到64字節(jié)這樣每幀傳輸時(shí)間變短中斷概率降低即使出錯(cuò)重傳的成本也小。在App端提供可視化反饋在手機(jī)App上顯示傳輸進(jìn)度條。當(dāng)傳輸中斷時(shí)提示用戶“請(qǐng)保持手機(jī)貼近設(shè)備”并在重新連接后自動(dòng)從斷點(diǎn)續(xù)傳。固件端增加超時(shí)與狀態(tài)恢復(fù)設(shè)備端在接收數(shù)據(jù)時(shí)如果超過(guò)一定時(shí)間如5秒沒(méi)收到下一幀則自動(dòng)復(fù)位接收狀態(tài)機(jī)等待新的傳輸開(kāi)始。防止卡死在半途。5.4 實(shí)際效果與體驗(yàn)評(píng)估經(jīng)過(guò)反復(fù)調(diào)試最終我實(shí)現(xiàn)的版本達(dá)到了以下效果有效感應(yīng)距離約1-1.5厘米。需要將手機(jī)背面NFC天線區(qū)域貼近設(shè)備背面。完整刷新時(shí)間從手機(jī)貼近開(kāi)始到屏幕完全刷新一幅800x480的黑白圖片大約需要8-12秒。時(shí)間主要花費(fèi)在數(shù)據(jù)傳輸上。顯示效果得益于Floyd-Steinberg抖動(dòng)算法顯示灰度圖片的效果令人滿意文字邊緣清晰。待機(jī)功耗嚴(yán)格來(lái)說(shuō)無(wú)“待機(jī)”因?yàn)橥耆珨嚯姟5谑謾C(jī)靠近激活的瞬間峰值功耗約200mA平均功耗約80mA。體驗(yàn)上的優(yōu)缺點(diǎn)優(yōu)點(diǎn)極致簡(jiǎn)潔無(wú)需電池?zé)o需開(kāi)關(guān)無(wú)需配對(duì)一碰即用。顯示內(nèi)容永久保持視覺(jué)舒適。缺點(diǎn)刷新速度慢不適合顯示動(dòng)態(tài)內(nèi)容。傳輸距離極短需要精確對(duì)準(zhǔn)。對(duì)iOS支持不友好。能量限制導(dǎo)致屏幕尺寸和刷新速度有天花板。6. 項(xiàng)目演進(jìn)思考與擴(kuò)展方向這個(gè)原型驗(yàn)證了NFC供電驅(qū)動(dòng)中型電子紙屏的可行性。但它離一個(gè)成熟產(chǎn)品還有距離也打開(kāi)了更多想象空間。6.1 性能提升的可能路徑雙模供電保留NFC無(wú)線更新功能但同時(shí)增加一顆小型紐扣電池或超級(jí)電容。平時(shí)由電池維持一個(gè)極低功耗的待機(jī)狀態(tài)MCU深度睡眠定期檢測(cè)NFC當(dāng)需要刷新時(shí)NFC能量和電池能量可以協(xié)同工作提供更強(qiáng)勁的瞬時(shí)功率從而支持更大尺寸的屏幕或更快的刷新速度。刷新完成后NFC能量還可以為電池進(jìn)行微充電。更高效的無(wú)線能量傳輸研究使用更高頻率或特定方向的無(wú)線充電技術(shù)如Qi協(xié)議的低功耗模式但需要設(shè)備端有對(duì)應(yīng)的接收線圈會(huì)增加復(fù)雜度和成本。圖像壓縮與差分更新如果每次只更新部分區(qū)域如時(shí)間、天氣圖標(biāo)可以只傳輸變化部分的圖像數(shù)據(jù)并壓縮后再傳輸能大幅縮短傳輸時(shí)間。6.2 應(yīng)用場(chǎng)景的深度挖掘除了前面提到的價(jià)簽、狀態(tài)牌還可以拓展到智能辦公桌牌參會(huì)者的電子桌牌用手機(jī)碰一下就能更新姓名、職位、公司信息。博物館展品說(shuō)明牌游客用手機(jī)靠近即可更新為對(duì)應(yīng)語(yǔ)言的展品介紹。可交互的賀卡或明信片發(fā)送一張電子紙賀卡收件人用手機(jī)碰一下可以更新祝福語(yǔ)或顯示一張新圖片。物聯(lián)網(wǎng)傳感器的數(shù)據(jù)顯示終端將傳感器如溫濕度計(jì)的數(shù)據(jù)通過(guò)藍(lán)牙或LoRa發(fā)送到一個(gè)網(wǎng)關(guān)網(wǎng)關(guān)再通過(guò)NFC更新到附近的多個(gè)電子紙顯示屏上。6.3 對(duì)初學(xué)者與愛(ài)好者的建議如果你想復(fù)現(xiàn)或借鑒這個(gè)項(xiàng)目我的建議是從簡(jiǎn)單的開(kāi)始不要一上來(lái)就挑戰(zhàn)7.5寸屏。可以先買一個(gè)帶NFC功能的電子紙價(jià)簽開(kāi)發(fā)板市面上有一些現(xiàn)成的模塊它們通常集成度很高用來(lái)理解整個(gè)流程。或者用ESP32開(kāi)發(fā)板驅(qū)動(dòng)一個(gè)小尺寸如2.9寸的電子紙屏先搞定顯示部分。善用現(xiàn)成模塊有現(xiàn)成的“NFC能量收集MCU”二合一模塊出售可以大大降低射頻電路的設(shè)計(jì)難度和風(fēng)險(xiǎn)。調(diào)試工具投資一個(gè)邏輯分析儀哪怕是最便宜的Saleae克隆版對(duì)于調(diào)試SPI、I2C通信時(shí)序至關(guān)重要。一個(gè)示波器或帶示波器功能的萬(wàn)用表對(duì)于觀察電源電壓波動(dòng)必不可少。分模塊驗(yàn)證絕對(duì)不要把所有東西焊在一起再調(diào)試。先單獨(dú)測(cè)試NFC芯片能否被手機(jī)識(shí)別和供電再單獨(dú)測(cè)試MCU驅(qū)動(dòng)屏幕是否正常最后再聯(lián)調(diào)。這個(gè)項(xiàng)目融合了射頻電路、低功耗設(shè)計(jì)、嵌入式編程和移動(dòng)開(kāi)發(fā)是一個(gè)非常好的全棧式硬件學(xué)習(xí)案例。過(guò)程中每一個(gè)問(wèn)題的排查和解決都是對(duì)理論知識(shí)的深刻鞏固。最大的成就感莫過(guò)于看著自己設(shè)計(jì)的電路在手機(jī)輕輕一碰下讓一幅畫面在電子紙上悄然浮現(xiàn)。那種“無(wú)中生有”的魔法感正是硬件開(kāi)發(fā)的魅力所在。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
夜夜爽妓女8888视频免费观看_在线播放免费人成视频在线观看_国产成人精品免费直播_免费黄色一级毛片
  • <li id="i0tbu"></li>
    
    

    <label id="i0tbu"><meter id="i0tbu"></meter></label>
    <label id="i0tbu"><meter id="i0tbu"><bdo id="i0tbu"></bdo></meter></label>

        <label id="i0tbu"></label>
        亚洲人成在线电影| 国产日产欧美一区二区视频 | 亚洲一区在线看| 亚洲国产精品自拍| 欧美三级日本三级少妇99| 亚洲国产高潮在线观看| aaa欧美日韩| 欧美成人a∨高清免费观看| 中文字幕亚洲无线码a| 欧美日韩国产麻豆| 一区二区欧美久久| 精品久久久久久综合日本欧美| 日韩成人在线免费观看| 欧美二区三区的天堂| 中文字幕日韩欧美在线视频| 日韩午夜中文字幕| 亚洲一区二区三区三| 日韩欧美在线免费观看| 一本一本久久a久久精品综合麻豆| 亚洲精品在线观看视频| 午夜在线成人av| 一区二区免费在线播放| 亚洲视频在线一区二区| 日韩欧美中文字幕在线观看| 日韩三级av在线播放| 欧美日韩精品在线| 精品日本高清在线播放| 欧美一区二区播放| 欧美一区二区精品在线| 欧美日韩国产天堂| 日韩视频一区二区三区 | 欧美一区二区在线免费观看| 亚洲男人天堂一区| 欧美日韩中文字幕| 欧美日韩色一区| 精品一区二区三区免费观看| 国产丝袜欧美中文另类| 亚洲一区二区三区在线播放| 日韩欧美一区二区视频| 欧美日韩一区二区三区高清| 亚洲日韩欧美视频| 国产视频一区二区在线| 欧美一区二区播放| 久久久另类综合| 欧美日韩综合在线| 国产亚洲一本大道中文在线| 一区二区三区在线观看国产| 日韩欧美成人区| 国产亚洲精品va在线观看| 国产日韩精品一区| 日韩精品中文字幕有码专区| 国产精品视频麻豆| 亚洲国产成人av在线| 中文字幕不卡在线| 亚洲视频一区二区三区| 欧美日韩国产成人在线91| 日韩欧美在线免费观看| 欧美日韩国产一区在线| 国产中文字幕一区| 精品国产乱码久久久久久免费 | 国产乱人伦精品一区二区在线观看| 中文字幕亚洲欧美日韩高清 | 亚洲成人av一区二区| 亚洲精品中文字| 91精品国产综合久久久久| 中文字幕不卡av| 精品成人一区二区三区四区| 亚洲一区二区三区激情| 国产在线视频精品一区| 欧美精品一区在线观看| 一区二区三区欧美日韩| 在线观看一区二区精品视频| 日韩一区二区三区视频在线观看| 久久精品欧美日韩| 日韩av综合中文字幕| 亚洲精选中文字幕| 亚洲人成亚洲人成在线观看| 在线观看亚洲成人| 91久久精品一区二区三区| 在线观看精品一区| 欧美日精品一区视频| 欧美日韩激情小视频| 精品国产乱码久久久久酒店| 一区二区三区精品在线| 成人欧美一区二区三区在线播放 | 日韩欧美亚洲国产另类| 亚洲福利一区二区三区| 中文字幕亚洲欧美在线不卡| 亚洲视频一二三区| 亚洲va韩国va欧美va精品| 亚洲成av人片一区二区三区| 欧美日韩国产另类一区| 精品久久久久一区二区国产| 亚洲欧美精品一区| 欧美激情一区二区三区全黄| 一区二区日韩av| 欧美日韩国产成人在线免费| 亚洲成人av中文字幕| 亚洲免费视频网站| 国产亚洲一区二区在线| 国产精品综合视频| 亚洲一区二区3| 亚洲成人黄色在线| 久久女同互慰一区二区三区| 欧美性生交大片免费| 精品欧美一区二区在线观看| 91美女片黄在线观看91美女 | 亚洲日韩中文字幕| 国产精品三级久久久久三级| 天天色天天爱天天射综合| 日韩一区二区免费视频| 日韩成人免费视频| 欧美日韩激情一区二区三区| 精品日韩欧美一区二区| 国产精品系列在线| 中文字幕无线精品亚洲乱码一区| 一区二区三区精品在线| 精品视频中文字幕| 亚洲一区成人在线| 国产欧美日韩视频一区二区| 日韩免费一区二区| 国产午夜精品全部视频播放| 亚洲深夜福利在线| 欧美一二三区在线观看| 成人久久久精品乱码一区二区三区| 亚洲美女视频在线| 一区二区三区国产在线观看| 欧美日韩中文字幕综合视频| 国产亚洲精品va在线观看| 91精品国产91热久久久做人人| 中文字幕欧美专区| 日韩精品在线影院| 欧美日韩久久久久| 亚洲精品视频在线观看网站| 国产在线精品免费av| 亚洲精品一区二区三区影院| 亚洲国产成人av| 国产欧美日韩在线观看| 一区二区三区视频免费在线观看| 欧美一区二区久久| 国产午夜精品一区二区三区| 中文在线免费一区三区高中清不卡| 日韩欧美在线网址| 亚洲精品在线观看视频| 日韩欧美一区二区在线视频| 欧美日韩综合色| 亚洲美女av在线播放| 亚洲二区在线观看| 福利视频导航一区| 欧美日韩在线视频一区| 一本久道中文字幕精品亚洲嫩| 亚洲一区二区三区四区在线| 亚洲一区二区av电影| 欧美日韩国产一区中文午夜| 欧美一区二视频| 亚洲成人中文字幕| 亚洲欧美日韩区| 国产suv精品一区二区三区 | 精品国产乱码久久久久久图片 | 精品久久一二三区| 欧美日韩一区二区不卡| 亚洲欧美日韩一区二区三区在线| 最近日韩中文字幕中文| 日韩一区欧美一区| 亚洲美女av在线| 国产亚洲一区二区精品| 国产精品欧美一区二区三区| 亚洲欧美国产精品专区久久| 日韩精品一区二区三区四区视频 | 亚洲精品国产福利| 亚洲精品高清在线| 日韩亚洲欧美在线| 中文字幕不卡av| 久久精品亚洲麻豆av一区二区 | 日韩精品一区国产麻豆| 亚洲国产婷婷香蕉久久久久久| 亚洲欧美日韩在线一区| 亚洲欧美日韩一区二区三区在线观看 | 亚洲精品一区二区久| 国产成人欧美日韩在线电影| 一区二区三区欧美亚洲| 亚洲欧美日韩中文在线| 亚洲一区二区高清| 亚洲第一网站免费视频| 欧美激情一区不卡| 日韩欧美美女一区二区三区| 成人午夜视频免费看| 欧美精品一区二区在线观看| 亚洲成人午夜电影| 国产欧美日韩卡一| 亚洲欧洲av一区二区| 欧美精品粉嫩高潮一区二区| 久久综合久久综合九色| 日韩二区三区在线| 欧美一级久久久| 婷婷久久综合九色综合伊人色 | 午夜伊人狠狠久久| 国产亚洲一区二区精品| 亚洲一区二区精品视频| 欧美日韩在线播放三区| 色综合久久久久网| 日韩欧美一区二区视频| 色欧美片视频在线观看| 一区二区三区精品在线| 国产欧美日韩不卡免费| 国产成人免费网站| 中文字幕欧美日韩| 亚洲欧美日韩一区二区三区在线| 日韩欧美国产精品| 欧美一区二区三区四区视频| 久久精品一级爱片| 国产一区二区精品久久91| 亚洲成人av在线| 亚洲精品一区二区在线观看| 精品日韩欧美在线| 亚洲欧美日韩国产精品| 国产亚洲精品va在线观看| 色综合久久六月婷婷中文字幕| 日韩电影中文字幕av| 色综合久久久久久久久久久| 国产在线精品一区二区夜色| 久久久777精品电影网影网| 久久久欧美精品sm网站| 国产欧美日韩不卡免费| 中文字幕一区二区三区av| 在线观看国产精品日韩av| 国产福利精品一区二区| 亚洲成av人在线观看| 日韩欧美国产一二三区| 亚洲久久久久久久久久| 国产一区日韩二区欧美三区| 亚洲欧美综合在线精品| 欧美一区二区三区日韩| 97成人超碰视| 一二三区精品视频| 国产一区二区福利视频| 亚洲福利一区二区三区| 精品成人一区二区三区| 国产欧美日韩在线看| 欧美精品精品一区| 国产一区二区三区在线观看网站| 久久久久久99精品| 欧美三级视频在线| 国产欧美视频一区二区| 日韩欧美一区二区三区在线| 国产欧美一区二区三区网站| 亚洲成人精品在线| 亚洲一区国产视频| 亚洲人成电影在线| 91精品国产综合久久久蜜臀粉嫩 | 日韩欧美中文在线| 亚洲一区二区3| 亚洲色在线视频| 欧美日韩亚洲视频一区| 国产成人精品三级麻豆| 精品少妇一区二区三区在线视频 | 成人免费视频一区二区| 欧美不卡激情三级在线观看| 中文字幕不卡三区| 最近日韩中文字幕中文| 亚洲一区二区三区国产| 国产一区在线观看视频| 日韩欧美专区在线| 亚洲欧美日韩系列| 国产在线精品一区二区夜色 | 亚洲激情电影中文字幕| 黄色一区二区在线| 国产亚洲精品aa| 久久99精品一区二区三区三区 | 亚洲精品午夜久久久| 亚洲精品久久久久久久久久久| 日韩一区二区在线观看视频| 一区二区三区在线高清| 国产女人18水真多18精品一级做| 亚洲欧美色婷婷| 精品国产1区2区3区| 欧美日韩久久一区二区| 亚洲一区二区在线观看视频| 成人精品一区二区三区中文字幕 | 亚洲精品福利免费在线观看| 日本精品视频一区二区| 精品国产乱码久久久久久图片| 91精品国产综合久久久蜜臀粉嫩| 亚洲国产成人av网| 91精品国产综合久久福利| 欧美日韩精品二区第二页| 欧美日韩国产在线播放| 91精品免费观看| 欧美久久久久免费| 精品日韩99亚洲| 亚洲深夜福利在线| 国产精选一区二区三区| 欧美激情一区在线| 欧美乱妇一区二区三区不卡视频| 国产精品麻豆久久久| 一区二区三区精品在线| 欧美一区二区播放| 91久久精品一区二区二区| 久久99久久精品欧美| 国产精品色噜噜| 日韩一区二区三区四区| 国产亚洲精品久久久久久| 亚洲欧美综合在线精品| 日韩欧美一二三区| 久久久久久影视| 欧美三级中文字幕| 亚洲精品av在线| 欧美精品久久一区二区三区 | 精品久久香蕉国产线看观看gif| 日韩一区二区在线看片| 日韩精品小视频| 国产亚洲精品超碰| 精品少妇一区二区三区在线播放| 97se亚洲国产综合在线 | 亚洲国产一区二区三区四区| 国产成人精品免费看| 欧美精品一区二区精品网| 中文在线一区二区| 亚洲美女又黄又爽在线观看| 国产日韩精品一区| 欧美日韩在线播放三区四区| 日韩成人av一区| 亚洲国产精品久久久久| 亚洲成人高清在线| 激情深爱一区二区| 亚洲成av人片在线观看香蕉| 亚洲精品伦理在线| 国产精品综合av一区二区国产馆| 欧美日韩国产综合久久| 亚洲精品视频一区二区| 日韩欧美中文在线| 精品美女在线播放| 日韩欧美国产小视频| 欧美日韩国产另类不卡| 亚洲精品va在线观看| 黄页网站大全一区二区| 亚洲成人av在线| 91精品国产福利在线观看| 中文字幕亚洲一区二区va在线| 亚洲全黄一级网站| 日韩电影中文字幕av| 精品成人一区二区三区| 欧美日韩国产天堂| 精品高清一区二区三区精品高清美女精品国产区| 中文字幕亚洲欧美在线| 亚洲欧美在线第一页| 精品视频999| 国产一区二区三区18| 亚洲精品成a人在线观看| 中文字幕精品www乱入免费视频 | 亚洲人a成www在线影院| 亚洲乱码一区av黑人高潮 | 国产麻豆成人精品| 成人免费精品视频| 亚洲欧美日韩电影| 欧美国产综合一区二区| 亚洲欧美日韩电影| 欧美性xxxx在线播放| 欧美一区二区三区小说| 亚洲国产高潮在线观看| 97精品电影院| 久久综合久久久久88| 亚洲美女视频在线| 亚洲免费观看在线观看| 日韩欧美成人精品| 亚洲电影成人av99爱色| 国产乱码一区二区三区| 国产日韩精品视频一区| 午夜一区二区三区视频| 亚洲福利视频二区| 国产一区二区视频在线| 国产欧美日韩不卡| 欧美一二三区在线观看| 亚洲日韩欧美视频| 精品久久久久久久久国产字幕| 日韩免费一区二区| 成人毛片在线观看| 91精品福利在线一区二区三区| 色婷婷久久一区二区三区麻豆| 亚洲精品一区二区三区福利 | 在线观看一区二区视频| 国产成人av自拍| 欧美一区二区三区视频| 亚洲激情在线观看视频免费| 午夜视频在线观看一区二区| 亚洲人在线观看| 欧美精品粉嫩高潮一区二区| 中文字幕精品av| 欧美不卡激情三级在线观看| 国产亚洲精品aa午夜观看| 欧美性生活大片免费观看网址| 亚洲精品中文字幕av| 亚洲va中文字幕| 色一区av在线| 精品视频久久久久久久| 精品久久久久国产| 中文字幕一区二区三区蜜月| 日韩精品中文字| 日韩欧美中文字幕一区| 一区二区三区日韩在线观看|