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

ARTICLE DETAIL

資訊詳情

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

藍(lán)牙示波器開發(fā)實(shí)戰(zhàn):BLE鏈路、GATT協(xié)議與波形繪制全解析

藍(lán)牙示波器開發(fā)實(shí)戰(zhàn):BLE鏈路、GATT協(xié)議與波形繪制全解析 簡(jiǎn)介一份面向電子愛好者、嵌入式開發(fā)者與移動(dòng)測(cè)量應(yīng)用學(xué)習(xí)者的安卓藍(lán)牙示波器資料包將手機(jī)轉(zhuǎn)化為便攜式信號(hào)檢測(cè)與分析工具無需傳統(tǒng)臺(tái)式示波器即可在電路調(diào)試、傳感器信號(hào)觀察、課堂演示等場(chǎng)景中查看實(shí)時(shí)波形。壓縮包約115KB共8個(gè)文件包含1個(gè)可直接安裝的APK、5個(gè)Java源碼文件、1張硬件原理圖JPG及1個(gè)dsPIC固件RAR包覆蓋信號(hào)采集、藍(lán)牙傳輸?shù)桨沧慷瞬ㄐ物@示的完整鏈路。電路圖清晰展示信號(hào)采集與ADC模數(shù)轉(zhuǎn)換部分Java源碼便于學(xué)習(xí)Android藍(lán)牙API調(diào)用、藍(lán)牙Socket通信和波形繪制邏輯dsPIC固件則為下位機(jī)采集程序提供參考利用這套資料可自行修改硬件設(shè)計(jì)提升ADC分辨率或增加存儲(chǔ)、回放、參數(shù)設(shè)置等高級(jí)功能。已有2383人學(xué)習(xí)下載適用于需要低成本移動(dòng)測(cè)量方案或入門藍(lán)牙示波器開發(fā)的用戶也可作為電子類課程設(shè)計(jì)與畢業(yè)設(shè)計(jì)的參考資料。1. 打開 App 卻不出波形藍(lán)牙示波器的帶寬悖論把手機(jī)放到口袋、點(diǎn)開 App屏幕上應(yīng)該出現(xiàn)一條規(guī)整的正弦波??珊芏嗳说牡谝淮嗡{(lán)牙示波器體驗(yàn)是波形成了一片馬賽克或者卡在某個(gè)位置一動(dòng)不動(dòng)。問題不在 App 寫得爛而在于你讓一條藍(lán)牙鏈路干了它原本干不了的活示波器本質(zhì)是數(shù)據(jù)搬運(yùn)工它要在幾百毫秒內(nèi)把幾萬個(gè)采樣點(diǎn)搬上屏幕而經(jīng)典藍(lán)牙串口或 BLE 通知在理想條件下的有效凈荷也只有每秒幾十 KB。一個(gè) 20KB/s 左右的信道和動(dòng)輒幾百 kSa/s 的采集率差了整整一個(gè)數(shù)量級(jí)。這就是安卓藍(lán)牙示波器最底層的悖論采集端多快都能采瓶頸永遠(yuǎn)在無線鏈路上。搞懂這套機(jī)制不是滿足好奇心。你調(diào)采樣率、改包長(zhǎng)度、重畫波形時(shí)遇到的所有玄學(xué)問題——為什么低時(shí)基下波形稀疏、為什么切到雙通道就丟包、為什么長(zhǎng)時(shí)間運(yùn)行后 App 卡死——根源全在這條鏈路上。本文從數(shù)據(jù)怎么從 ADC 進(jìn)入手機(jī)內(nèi)存講起拆到安卓端 GATT 回調(diào)里的字節(jié)流處理最后落到協(xié)議設(shè)計(jì)和硬件選型的取舍。理解了這些你和這份資源里的代碼就不再是能跑和看不懂的關(guān)系。2. BLE 鏈路從 ADC 采樣到手機(jī)字節(jié)流中間發(fā)生了什么2.1 GATT 模型才是藍(lán)牙示波器真正的傳輸層藍(lán)牙示波器的硬件端通常是一個(gè) MCU 內(nèi)置 ADC 定時(shí)采樣數(shù)據(jù)通過串口發(fā)給藍(lán)牙模塊模塊再以無線方式傳給手機(jī)。聽起來像一根無線的串口線但工程上和真實(shí)的串口天差地別。藍(lán)牙模塊在手機(jī)側(cè)暴露的是一個(gè) GATTGeneric Attribute Profile服務(wù)它把事情拆成了三層Service服務(wù)、Characteristic特征、Descriptor描述符。你的波形數(shù)據(jù)不是流進(jìn)來的而是手機(jī)主動(dòng)注冊(cè)監(jiān)聽某個(gè) Characteristic 的通知Notification設(shè)備端把數(shù)據(jù)切成一包一包推給手機(jī)。這里最關(guān)鍵的一個(gè)數(shù)字是 MTU最大傳輸單元。Android 上默認(rèn)的 MTU 是 23 字節(jié)減去 3 字節(jié)的 Attribute 協(xié)議頭一次通知最多攜帶 20 字節(jié)凈荷。如果你的硬件用了某款經(jīng)典藍(lán)牙透?jìng)髂K它內(nèi)部會(huì)把 UART 流切成 L2CAP 數(shù)據(jù)包依然受這個(gè)限制。20 字節(jié)意味著采樣率 100kSa/s、每個(gè)樣本 2 字節(jié)12 位 ADC 對(duì)齊到 16 位一秒鐘產(chǎn)生 200KB 數(shù)據(jù)BLE 在 1Mbps 物理速率下實(shí)測(cè)有效吞吐量樂觀估計(jì)在 3050KB/s200KB 顯然是塞不進(jìn)去的于是硬件端必須降采樣率或者軟件端丟點(diǎn)。你看到的實(shí)時(shí)波形背后是一個(gè)被迫砍掉 90% 數(shù)據(jù)的傳輸策略。2.2 硬件原理圖里的信號(hào)路徑典型的硬件方案是信號(hào)經(jīng)過運(yùn)放調(diào)理分壓、跟隨、抬升到 ADC 量程→ MCU 內(nèi)置 ADC 由定時(shí)器觸發(fā)采樣 → DMA 把結(jié)果搬到內(nèi)存緩沖區(qū) → 固件按幀打包 → UART TX 發(fā)送到藍(lán)牙模塊。原理圖上你會(huì)看到三個(gè)關(guān)鍵器件運(yùn)放、MCU、藍(lán)牙模塊它們之間只有幾根走線但每根走線都決定了波形質(zhì)量。運(yùn)放的輸出阻抗和 ADC 采樣電容直接決定了信號(hào)建立時(shí)間。如果運(yùn)放到 ADC 引腳之間串了太大的電阻采樣瞬間電壓建立不完全高頻率信號(hào)就會(huì)幅度衰減俗稱波形糊了。原理圖里如果有 1kΩ 以上的串阻且沒有加采樣保持電容這是第一處要檢查的地方。另一個(gè)隱蔽點(diǎn)是 ADC 參考電壓如果用 MCU 內(nèi)置參考且選擇了 3.3V 供電電池電壓波動(dòng)會(huì)直接讓讀數(shù)漂移所以合格的設(shè)計(jì)會(huì)單獨(dú)留一個(gè)精密參考源或至少用 LDO 穩(wěn)壓后給 MCU 供電。2.3 為什么說透?jìng)魇且粋€(gè)黑匣子很多藍(lán)牙透?jìng)髂K對(duì)外宣稱串口透?jìng)骱孟?MCU 寫串口、手機(jī)就能收到流。實(shí)際工作方式是MCU 的 UART TX 進(jìn)入模塊模塊內(nèi)部固件將字節(jié)流切包、加 L2CAP 頭、經(jīng)射頻發(fā)出手機(jī)端 BLE 協(xié)議棧把這些包重組后交給 App。問題在于重組并不完美模塊廠商會(huì)設(shè)置一個(gè)打包間隔常見 515ms到點(diǎn)就把緩沖區(qū)的數(shù)據(jù)發(fā)出去沒到點(diǎn)就一直攢著。這意味著你在 UART 側(cè)每次發(fā) 20 字節(jié)到了手機(jī)側(cè)可能三包并成一包到達(dá)也可能一包被拆成兩包。App 側(cè)根本不能假設(shè)一次通知 一個(gè)完整波形幀。這就是后面數(shù)據(jù)幀協(xié)議存在的前提——接收端拿到了是字節(jié)流而不是消息流。從源碼調(diào)試的角度看你可以在模塊的數(shù)據(jù)手冊(cè)里找到 PDU 長(zhǎng)度和連接間隔Connection Interval參數(shù)。連接間隔 7.5ms30ms它決定了底層多久和主機(jī)同步一次間接影響可達(dá)吞吐量。同一款模塊廠商讓用戶把連接間隔從 30ms 改成 7.5ms吞吐量能翻倍。資源里的固件工程一般在初始化代碼里有一個(gè)連接參數(shù)更新請(qǐng)求修改minInterval/maxInterval就能看到實(shí)際速度變化建議你實(shí)際動(dòng)手改一改并抓包對(duì)比比讀十遍文檔都管用。3. 數(shù)據(jù)幀協(xié)議怎么在亂序字節(jié)流里切出一整屏波形3.1 為什么不能直接讀一個(gè)字節(jié)畫一個(gè)點(diǎn)如果 App 每收到 20 字節(jié)就往屏幕上畫兩個(gè)點(diǎn)理論延遲最小但工程上完全不可行。原因有三第一字節(jié)流沒有邊界。你不知道哪兩個(gè)字節(jié)組成一個(gè)樣本如果 MCU 端是 12 位數(shù)據(jù)右對(duì)齊成 16 位高 4 位補(bǔ) 0那么每個(gè)樣本的低字節(jié)可能一直是 0xF0但高字節(jié)可能是任意值。首字節(jié)錯(cuò)位會(huì)導(dǎo)致整幀數(shù)據(jù)全亂畫出來的波形是疊加了偽隨機(jī)噪聲的毛刺。第二無線鏈路會(huì)重傳。BLE 在鏈路層有 CRC 校驗(yàn)和重傳機(jī)制但重傳導(dǎo)致的延遲抖動(dòng)會(huì)讓包到達(dá)時(shí)間完全不可預(yù)測(cè)如果按包到達(dá)時(shí)間推算樣本的時(shí)間間隔你得到的時(shí)基就是一個(gè)不停抖動(dòng)的擺鐘。第三你不知道 MCU 端此刻處于什么狀態(tài)——是剛開始采樣還是已經(jīng)采了一半還是剛從低功耗模式喚醒。區(qū)分這些信息的唯一手段是在數(shù)據(jù)里顯式聲明邊界和狀態(tài)。3.2 幀協(xié)議的經(jīng)典結(jié)構(gòu)這份資源里的固件和 App 配合使用一套自定義幀格式常見設(shè)計(jì)如下包頭(0xAA 0x55) | 幀長(zhǎng)度(1B) | 通道數(shù)(1B) | 采樣率編號(hào)(1B) | 樣本數(shù)(2B) | 樣本... | 校驗(yàn)和(1B)對(duì)應(yīng)的 C 固件打包偽代碼void pack_and_send_frame(uint16_t* adc_buf, uint32_t sample_count, uint8_t ch_mask) { uint8_t frame[128]; uint8_t idx 0; frame[idx] 0xAA; frame[idx] 0x55; frame[idx] (uint8_t)(2 sample_count * 2 1); // 幀長(zhǎng)度 frame[idx] ch_mask; frame[idx] g_sample_rate_code; frame[idx] sample_count 8; frame[idx] sample_count 0xFF; uint8_t sum 0; for (int i 0; i sample_count; i) { frame[idx] (uint8_t)(adc_buf[i] 0xFF); frame[idx] (uint8_t)(adc_buf[i] 8); } for (int i 0; i idx; i) sum frame[i]; frame[idx] sum; uart_write(frame, idx); }注意幾個(gè)細(xì)節(jié)。包頭用0xAA 0x55不是隨便選的0xAA 是二進(jìn)制101010100x55 是01010101在這段字節(jié)流里誤碼后重新同步的概率極低。幀長(zhǎng)度字段讓你能區(qū)分這只是半包還是完整一幀傳輸被切分后App 可以先把收到的字節(jié)攢著等湊夠了幀長(zhǎng)度再解析。采樣率編號(hào)不是直接用數(shù)值如 100000因?yàn)橐粋€(gè)字節(jié)只能表達(dá) 0~255所以定義一張枚舉表01kSa/s, 110kSa/s, 250kSa/s...App 端查表還原真實(shí)采樣率。校驗(yàn)和覆蓋從包頭到樣本最后一個(gè)字節(jié)能擋掉大部分射頻誤碼——BLE 的鏈路層 CRC 只保證單包傳輸正確不能保證你的數(shù)據(jù)幀跨包后依然正確。3.3 App 端的狀態(tài)機(jī)解析安卓端的解析邏輯核心是一個(gè)按字節(jié)轉(zhuǎn)移的有限狀態(tài)機(jī)。它不依賴 GATT 通知的包邊界而是把所有接收字節(jié)喂進(jìn)一個(gè)環(huán)形緩沖區(qū)然后逐字節(jié)輪詢private void parseByte(byte b) { switch (state) { case IDLE: if ((b 0xFF) 0xAA) { state WAIT_HEADER2; } break; case WAIT_HEADER2: if ((b 0xFF) 0x55) { state WAIT_LENGTH; } else { state IDLE; } // 首字節(jié)對(duì)但次字節(jié)錯(cuò)回退重找 break; case WAIT_LENGTH: expectedLen (b 0xFF) 2; // 長(zhǎng)度字段代表剩余部分 state WAIT_CHANNEL; break; case WAIT_CHANNEL: channelMask b; state WAIT_DATA; break; // ... 繼續(xù)收樣本收滿后校驗(yàn) } }這個(gè)狀態(tài)機(jī)的關(guān)鍵在于失敗回退的設(shè)計(jì)任何一步出錯(cuò)不是丟棄一幀就完事而是回到IDLE狀態(tài)重新尋找0xAA不做計(jì)數(shù)跳過。原因很實(shí)際無線丟包后字節(jié)流里可能出現(xiàn)半個(gè)舊幀 半個(gè)新幀的拼接只有找到完整包頭才算新幀開始才能避免錯(cuò)位越積越深。你會(huì)在 App 源碼里看到同樣的邏輯只是用 Kotlin/Java 寫成了可讀性更高的狀態(tài)類。解析完成后把樣本數(shù)組交給顯示層同時(shí)用幀內(nèi)帶的采樣率編號(hào)回推每個(gè)樣本的實(shí)際時(shí)間這樣即使包到達(dá)間隔抖動(dòng)畫出來的波形橫軸依然準(zhǔn)確。從資源的使用角度看如果你想把這套代碼移植到自己的板子上改動(dòng)只需三處固件里的采樣率編號(hào)表、App 端FrameParser里的對(duì)應(yīng)關(guān)系、以及校驗(yàn)算法是否一致。這三處都對(duì)不上最常見的結(jié)果是 App 能收到數(shù)據(jù)但一直提示幀校驗(yàn)失敗波形永遠(yuǎn)出不來。4. 安卓端實(shí)現(xiàn)GATT 回調(diào)、環(huán)形緩沖與波形繪制管線4.1 BLE 連接與通知注冊(cè)的關(guān)鍵步驟安卓端建立 BLE 鏈路有一套固定流程BluetoothLeScanner.startScan掃描設(shè)備找到后connectGatt連接然后在onServicesDiscovered回調(diào)里拿到服務(wù) UUID 和特征 UUID。示波器的設(shè)備端通常暴露一個(gè)服務(wù)下面兩個(gè)特征一個(gè)用于 App 下發(fā)命令Write一個(gè)用于設(shè)備上報(bào)數(shù)據(jù)Notify。關(guān)鍵代碼如下public void onServicesDiscovered(BluetoothGatt gatt, int status) { if (status ! BluetoothGatt.GATT_SUCCESS) return; BluetoothGattService svc gatt.getService(SERVICE_UUID); if (svc null) return; BluetoothGattCharacteristic notifyChar svc.getCharacteristic(NOTIFY_UUID); gatt.setCharacteristicNotification(notifyChar, true); BluetoothGattDescriptor desc notifyChar.getDescriptor( UUID.fromString(00002902-0000-1000-8000-00805f9b34fb)); if (desc ! null) { desc.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE); gatt.writeDescriptor(desc); } BluetoothGattCharacteristic cmdChar svc.getCharacteristic(CMD_UUID); cmdChar.setValue(new byte[]{ (byte)rateCode, (byte)chMask }); gatt.writeCharacteristic(cmdChar); }setCharacteristicNotification只是本地注冊(cè)真正讓設(shè)備開始推送的是寫那個(gè)2902描述符里面一個(gè)字節(jié)的0x01告訴鏈路層客戶端已準(zhǔn)備好收通知。很多人漏掉這一步后果是設(shè)備端已經(jīng)在推數(shù)據(jù)手機(jī)卻完全不觸發(fā)回調(diào)。命令特征和通知特征分開是為了避免控制報(bào)文和數(shù)據(jù)報(bào)文搶占同一個(gè)通道。如果你在一個(gè)特征上又寫命令又收數(shù)據(jù)寫操作會(huì)打斷正在進(jìn)行的通知流造成周期性丟幀。4.2 回調(diào)里只做拷貝解析放到子線程onCharacteristicChanged是在 Binder 線程上調(diào)用的頻率高的時(shí)候每秒可能被調(diào)用幾十次每次攜帶 20 字節(jié)或協(xié)商后更大的數(shù)據(jù)。如果在這個(gè)方法里直接做狀態(tài)機(jī)解析、數(shù)組拷貝、UI 刷新任何一個(gè)環(huán)節(jié)卡頓都會(huì)導(dǎo)致 BLE 棧內(nèi)部緩沖積壓。Android 的 BLE 棧對(duì)慢消費(fèi)者沒有流控積壓到一定程度就靜默丟包——不是報(bào)錯(cuò)是直接丟掉。這段資源的實(shí)現(xiàn)采用生產(chǎn)者-消費(fèi)者模型private final ByteArrayRingBuffer ring new ByteArrayRingBuffer(64 * 1024); private final HandlerThread parserThread new HandlerThread(frame-parser); private final Handler parserHandler; public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic ch) { byte[] data ch.getValue(); synchronized (ring) { ring.write(data, 0, data.length); } parserHandler.post(this::parseFromRing); }環(huán)形緩沖區(qū)開 64KB足夠容納幾十幀未解析的數(shù)據(jù)。解析線程每次從 ring 里把所有可讀字節(jié)拉出來跑狀態(tài)機(jī)解出完整幀后通過Handler投遞到 UI 線程。注意其中沒有設(shè)置任何每收 20 字節(jié)解析一次的邏輯而是攢到多少解析多少這樣每幀數(shù)據(jù)的處理只經(jīng)過一次狀態(tài)機(jī)遍歷CPU 開銷被平攤丟幀率大幅下降。4.3 繪制管線波形不是逐點(diǎn)畫的手機(jī)屏幕從刷新到人眼可感知需要穩(wěn)定的幀率但 BLE 數(shù)據(jù)的到達(dá)間隔是不穩(wěn)定的。直接每收到一幀就 invalidate的后果是波形快慢不均。這里的做法是在 UI 層緩存最近 N 幀的樣本然后用一個(gè)自繪的WaveformView以顯示時(shí)鐘比如 30fps主動(dòng)重繪。繪制核心在onDraw里對(duì)樣本做降采樣把 4 萬個(gè)樣本映射到屏幕寬度 1080 像素上每個(gè)像素列取該區(qū)間內(nèi)的最大值和最小值畫一條豎線而不是取平均值。這樣能保留尖峰信息否則窄脈沖會(huì)被平均掉看起來像被磨平了。這個(gè)min-max 降采樣策略是數(shù)字示波器顯示引擎的通用做法你在資源里的自定義 View 中能看到對(duì)應(yīng)代碼它直接決定你能不能看清一個(gè) 10μs 寬的毛刺?;鶞?zhǔn)線和電壓刻度則是從幀頭里的量程信息換算出來的App 顯示500mV/div時(shí)實(shí)際上是每格對(duì)應(yīng)多少 ADC 碼值。4.4 時(shí)基重建不能用包到達(dá)時(shí)間當(dāng)時(shí)間戳這是最容易翻車的地方。很多人畫波形時(shí)直接用 System.currentTimeMillis() 記錄每個(gè)樣本的到達(dá)時(shí)間畫出來的波在靜止時(shí)能看可一旦信號(hào)頻率稍高波形就會(huì)橫向抖動(dòng)看起來像在呼吸。原因很簡(jiǎn)單BLE 包的到達(dá)間隔在鏈路層重傳和調(diào)度的影響下可能波動(dòng)數(shù)十毫秒把這個(gè)抖動(dòng)當(dāng)作采樣時(shí)間等于給波形加了一個(gè)隨機(jī)時(shí)間噪聲。標(biāo)準(zhǔn)做法是完全信任幀頭里的采樣率編碼。收到一幀時(shí)知道起始樣本序號(hào)樣本 i 的真實(shí)時(shí)間為frameStartTick i / sampleRateframeStartTick由前一幀的樣序遞推而來。這樣時(shí)基是數(shù)學(xué)重建的與包到達(dá)時(shí)間無關(guān)。所以如果你的代碼里出現(xiàn)了根據(jù)接包時(shí)間計(jì)算橫軸的邏輯多半就是波形成像不穩(wěn)定的直接原因。5. 藍(lán)牙示波器避坑實(shí)錄采樣率虛標(biāo)、丟包和時(shí)基漂移5.1 波形毛刺密集像一堆頭發(fā)絲現(xiàn)象輸入一個(gè)干凈的正弦波屏幕上卻疊加了大量細(xì)碎跳變用手摸一下探頭線波形更亂。原因最常見的是硬件端 ADC 引腳浮空或參考地噪聲。另一個(gè)隱蔽原因是固件里沒有對(duì) ADC 結(jié)果做軟件濾波以及運(yùn)放輸出端到 ADC 引腳之間缺少 RC 濾波網(wǎng)絡(luò)。藍(lán)牙示波器為了省功耗MCU 的采樣時(shí)鐘可能直接用內(nèi)部 RC 振蕩器頻率誤差在 1%3% 左右觸發(fā)采集的定時(shí)器抖動(dòng)直接轉(zhuǎn)換為波形上的相位噪聲。解決在原理圖上給 ADC 輸入端加一個(gè) 100Ω 串阻和 1nF 到地的電容構(gòu)成低通濾波器固件里對(duì)相鄰樣本做一階滑動(dòng)平均如new old * 0.25 current * 0.75如果追求更高精度采集時(shí)改用外部晶振或校準(zhǔn)內(nèi)部 RC。這套方案在模擬信號(hào)鏈上比對(duì)波形的平滑處理要可靠得多。5.2 長(zhǎng)時(shí)間運(yùn)行后波形卡死App 無響應(yīng)現(xiàn)象開機(jī)正常兩三分鐘后波形開始斷斷續(xù)續(xù)最后完全不動(dòng)關(guān)閉 App 重進(jìn)又恢復(fù)正常。原因App 的消息積壓導(dǎo)致onCharacteristicChanged回調(diào)無法及時(shí)執(zhí)行。你的解析邏輯可能卡在同步鎖上或循環(huán)里做了大量對(duì)象分配導(dǎo)致 GC 頻繁觸發(fā)一旦回調(diào)堆積BLE 棧背壓丟棄通知但 App 端不知道還在等新數(shù)據(jù)。解決保持回調(diào)線程的職責(zé)單一——只拷貝字節(jié)到緩沖區(qū)并 post 一個(gè)任務(wù)。解析、檢驗(yàn)、繪圖全部移出該線程。如果你已經(jīng)用HandlerThread做了解析就在環(huán)內(nèi)禁止一切日志輸出Log.d在頻繁調(diào)用時(shí)比解析更耗時(shí)。加一條自愈邏輯如果超過 500ms 沒收到任何通知主動(dòng)重連 GATT。這條邏輯在資源里的連接管理類中有現(xiàn)成實(shí)現(xiàn)。5.3 采樣率設(shè)置成 100kSa/s實(shí)測(cè)只有 30kSa/s現(xiàn)象把采樣率檔位調(diào)到最高波形顯示卻依然粗糙橫軸稀疏感明顯。原因不是 App 騙人是鏈路吞吐量到頂了。BLE 有效載荷按 20 字節(jié)/包、連接間隔 15ms 計(jì)算理論 1Mbps 物理速率下每秒只有約 1.3KB/s 可用。100kSa/s × 2 字節(jié) 200KB/s差了快 200 倍。固件可能確實(shí)在 100kSa/s 采樣但發(fā)不出去于是只在緩沖區(qū)滿了之后把最新的數(shù)據(jù)發(fā)出來導(dǎo)致大量數(shù)據(jù)被丟棄。解決先用數(shù)據(jù)包計(jì)數(shù)驗(yàn)證真實(shí)吞吐量——App 統(tǒng)計(jì)每秒收到的有效幀字節(jié)數(shù)顯示為實(shí)際采樣率。然后據(jù)此反推能穩(wěn)定跑的最高檔位。如果必須實(shí)時(shí)就降采樣率如果信號(hào)是周期的就讓固件在 MCU 本地緩存一段數(shù)據(jù)一次性發(fā)完App 離線繪制這段波形。這個(gè)分段傳輸思路是許多成品藍(lán)牙示波器的真正工作模式。5.4 電壓讀數(shù)整體偏小 10%現(xiàn)象輸入 1V 直流App 顯示 0.9V換一個(gè)檔位偏差比例不變。原因這是運(yùn)放增益誤差與 ADC 參考電壓誤差疊加的結(jié)果。原理圖里運(yùn)放的分壓電阻精度 5% 就能造成 5% 量級(jí)誤差MCU 內(nèi)置參考電壓本身有 ±2% 左右的誤差。藍(lán)牙示波器為了低成本通常省略精密參考所以誤差全部帶進(jìn)了讀數(shù)。解決做兩點(diǎn)校準(zhǔn)。用已知精度的 0V 和一個(gè)基準(zhǔn)電壓比如 1.000V分別采樣算出增益和偏置把校準(zhǔn)系數(shù)燒進(jìn)固件或存到 App 偏好里。資源中的 App 有校準(zhǔn)頁(yè)面寫算法就是real (raw - offset) * gain。這個(gè)系數(shù)位數(shù)必須用 float用整數(shù)除法會(huì)導(dǎo)致低量程時(shí)階梯狀誤差。5.5 低頻波形出現(xiàn)明顯臺(tái)階感現(xiàn)象輸入 50Hz 正弦波波形本來應(yīng)該平滑但屏幕上一段一段地跳像樓梯。原因屏幕刷新率 60HzBLE 推送頻率可能也只有 2030 幀/秒看起來就是一步一個(gè)臺(tái)階。不要把這個(gè)誤認(rèn)為信號(hào)本身是階梯波。如果一個(gè)包里有 200 個(gè)樣本屏幕卻只在每次收到包時(shí)畫一次那么 50Hz 信號(hào)一個(gè)周期只畫了 5 個(gè)點(diǎn)視覺效果就是鋸齒。解決確認(rèn) App 是按幀內(nèi)樣本數(shù)補(bǔ)點(diǎn)即每個(gè)樣本都畫而不是按包畫。同時(shí)檢查WaveformView是否做了偶發(fā)式重繪改為按顯示時(shí)鐘固定 3060fps 重繪。如果 MCU 端的采樣率遠(yuǎn)高于 BLE 能推送的刷新率那每個(gè)包的樣本數(shù)必須足夠多才能保證屏幕上每幀之間有足夠的點(diǎn)覆蓋完整波形周期。6. 設(shè)計(jì)取舍帶寬換體驗(yàn)還是在協(xié)議層做補(bǔ)償藍(lán)牙示波器開發(fā)到最后繞不開一個(gè)二元選擇是讓硬件降低采樣率保證實(shí)時(shí)流暢還是讓 MCU 高速采集、分塊傳輸、App 離線繪制前者體驗(yàn)連貫但看不到高頻瞬態(tài)后者能捕獲細(xì)節(jié)但犧牲了實(shí)時(shí)性。我一般會(huì)這么權(quán)衡如果待測(cè)信號(hào)是持續(xù)輸出且只關(guān)心宏觀趨勢(shì)比如電池放電曲線、電源上電時(shí)序那 1kSa/s 的實(shí)時(shí)流就足夠如果要抓一段 5ms 的 I2C 波形毛刺就必須讓 MCU 以 1MSa/s 采集幾百個(gè)點(diǎn)存下來一次性發(fā)走。這也是為什么這份資源里的固件同時(shí)保留了連續(xù)流模式和單次捕獲模式兩個(gè)命令——它們對(duì)應(yīng)的協(xié)議幀結(jié)構(gòu)不同App 端根據(jù)幀頭里的模式字段決定是實(shí)時(shí)追加還是整幀替換。第二個(gè)取舍在觸發(fā)機(jī)制上。硬件觸發(fā)需要在 MCU 端做比較器邏輯能精準(zhǔn)定位邊沿但固件復(fù)雜度上升App 端軟件觸發(fā)是收到數(shù)據(jù)后在樣本序列里查找跨閾值點(diǎn)實(shí)現(xiàn)簡(jiǎn)單卻需要傳輸大量無關(guān)數(shù)據(jù)。資源里的固件選擇了 MCU 端做一個(gè)簡(jiǎn)易上升沿檢測(cè)ADC 連續(xù)采樣時(shí)在中斷里比較前后值捕獲到邊沿才啟動(dòng) DMA 存儲(chǔ)。這樣做的代價(jià)是你丟掉了邊沿之前的預(yù)觸發(fā)數(shù)據(jù)要做好取舍就必須在內(nèi)存里開一段循環(huán)緩沖區(qū)讓 DMA 始終寫入最新數(shù)據(jù)觸發(fā)后停止寫保留觸發(fā)前的一段記錄。從那以后我每次調(diào)試藍(lán)牙示波器都不先調(diào)采樣率而是先拿一臺(tái)信號(hào)發(fā)生器輸出一個(gè)固定頻率的方波測(cè)量 App 端顯示的實(shí)際采樣率。算清楚有效帶寬再去決定用哪個(gè)檔位、要不要開觸發(fā)、數(shù)據(jù)分塊多大。這套先驗(yàn)證鏈路后寫業(yè)務(wù)邏輯的習(xí)慣幫我省掉了大量無謂的抓包和改參數(shù)。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情亚洲五月| 狠狠操狠狠插| 蜜乳国产网站| 五月激情站| 特黄三级又爽又粗又大| 色视五月天婷婷| 成人av在线网址| 国产成人片| 成人va视频| 久久综合网免费视频| 操日本色| 超碰免费电影| 婷婷酒色网| 精品一区二区三区四区五区六区| 久久久婷婷婷| 五月丁香婷中文| 九九久久五月天综合伊人| 丁香五月熟女| 日韩欧美成人网| 996热| 91色久| 风流少妇A片一区二区蜜桃| w婷婷五月婷婷w| 综合一本道| 99热视| 色综合网上班开心婷婷久久| 日本三级韩三级99久久| 久操无码| 色色婷婷五月天| 欧美婷婷丁香五月| 丁香五月婷婷欧美激情-中文天堂最新版在线观看 | 毛片网站谁有| 色五月天.con| 热久久成人| 操逼视频一区| 色~性~乱~伦~噜| 五月丁香六月合| 9九色首页| 99视频免费播放 | 五月丁色AV| 九九热精品99| 99色天堂| 久久人妻爱爱| 狠狠草狠狠草| 色色色色色网站| 欧美成人网婷婷综合在线| 五月婷婷啪啪啪| 在线不卡中文字幕| 久久婷婷五月综合| 99热只有精品在线观看| 丁香婷婷久久| 色婷五月| 一本大道伊人AV久久综合| 99精品无码| 激情丁香五月| 亚洲色综合| 青996青| 99热骚货| 另类图片五月天婷婷| 五月激情婷婷开心五月| 久久这里只有国产视频| 丁香婷婷情色五月天| 99热精品免费| 99热这里只有精品8| 青草五月天| 色噜噜狠狠色综合日日| 色色色色色色综合网| 91se精品国产| 狠狠狠狠狠狠色| 超碰97干| 国产高潮A片羞羞视频涩涩| 激情综合色婷婷啪啪六月天| 丰滿爆乳一区二区三区| 国产精品岛国片在线观看免费| 丰满少妇猛烈A片免费看观看 | 婷婷亚洲在线| 欧美大香蕉视频| 丁香五月综合激情啪啪| 人人干av| 五月天 婷 欧美亚洲| 国产精品国产| 日韩精品AV一区二区三区| 九色99视频| 99热这里只有精品免费| 性色做爰片在线观看WW| 亚洲综合另类| 久久多色| 欧美狠狠一在草| 亚洲激情五月婷婷日日| 99热66| 91精品丝袜久久久久久| 综合色图婷婷| 99九九精品| 婷婷五月天激情综合| 婷婷五月天激情AV影院| 久久东京热婷婷五月| 少妇综合网| 激情AV网| 婷婷五月天激情网| 亚洲五月激情| 婷婷六月丁香激情综合| 日本婷婷| 久久久久九九九九视屏小说88| 激情99| 狠狠婷婷色| 91丨九色丨熟女|新版| 色婷婷国色天香综合| 激情综合网五月激情| 91超级碰| 大香蕉五月丁香| 五月天激情AAAA| 九九热精品| 国产人妻777人伦精品HD| 1024你懂的欧美曰韩| 看婷婷五月天网| 色综合另类| 99色网站| 超碰在线超碰| 91a片爽| 婷婷色在线视频| 色婷婷丁香五月天在线视频| 日本99久久| 亚洲黄色操逼| 六月香五月婷| av狠狠操| 99re在线视频精品,这里只有精品18,| 激情久久丁香| 《久久综合九色综合97婷婷| 五月丁香婷婷开心| 婷婷影院A成人| 热五月婷婷| 另类在线| 极品另类| 亚洲天堂大香蕉| 99热精品少| 九九大香蕉黄色影院| 丁香六月色香蕉视频| 日本一级一片免费视频| 日本在线视频www色| 天天干 夜夜爽| 百度一下国产精品A| 五月的丁香六月的婷婷| 熟女色色一区二区| 久久爱婷婷| 婷婷黄色网| 第一区久久网站| 性生生活大片又黄又| 丁香婷婷射| 嫩BBB搡BBBB榛BBBB| 婷婷五月天色| 综合天堂AV久久久久久久| 五月丁香色色综合| 国产毛片操B| 五月婷婷六月激情网| 91精品国产综合久久久不卡电影| 天天色综合网吨吧| www.99精品视频| 成年人丁香五月| 亚洲第一av| 五月花综合视频| av一区免费看| 91成人品| 男女久久婷婷五月天| 狠狠色丁香婷婷基地| 天堂综合久久 | 天天色色天天| 天堂网色婷婷| 久久久久亚洲AV无码网影音先锋| 色婷婷欧美| av在线免费网站| 久久久五月天婷婷成人网| 六月丁香婷婷色69| 91seAV| 深爱激情69热| 婷婷色在线视频| 草操AV在线| 综合色色网| 久久婷婷五月综合色丁香| 国产精品人人做人人爽人人添| 大香蕉婷婷五月| 99国产视频网| 激情五月天婷婷直播| 天天日天天舔| 婷婷丁香五月婷婷| 久久精品国产色| 亚洲色综合| 婷婷伊人网| 六月激情丁香一道本7777| 色婷婷丁香五月天在线观看| 色v综合网| 婷婷六月久久综合导航| 日本久久99| 一点色成人网| 开心五月丁香啪| 亚洲AV成人在线观看| 亚洲成人噜噜| 色婷婷操逼| av大香蕉| 五月婷婷自拍| 五月婷婷色色| 猫咪伊人AV| 婷婷五月色惰| 天天上天天爽| 国产精品岛国片在线观看免费| 碰97久久| 亚洲综合婷婷| 99热免费精品| 五月天激情美女久久| 亚洲天堂aaa| 久久与婷婷| 夜夜夜夜做天天天做无码视频| 丁香五月影院| 日本丁香五月| 亚洲情a| 九九热只有精品| 91狠狠综合网| 婷婷影视久久| 99精品综合| 99热这里只是精品| 婷婷字幕在线| 精品夜夜澡人妻无码AV| 亚洲日日操| 亚洲色网络| 色情丁香五月天| 九洲一级A片| 亚州欧美黄色电影| 日韩ww| 精品久久久人妻| 人人干人人操人人摸| 久久在这里有精品| 激情综合自拍五月婷婷色五月| 日韩成人电影Av| 日本不卡高字幕在线2019| 久超超碰| 另类专区在线| 99re久久| 狠狠艹狠狠艹| 人人操AV| 婷婷激情四射| 国产精品久久久久久妇女6080| 狠狠色噜噜狠| 综合色综合| 97干视频| 欧美A A A A A| 百度4399有码精品V在线观看| 丁香五月色激情| 五月婷婷99热| 深爱五月激情| 四川女人毛多水多A片| 亚洲婷婷激情五月天| 五月天婷婷丁香导航| 天天爱天天做天天舔| AA丁香综合激情| 色停停香蕉视频| 亚洲AV综合网| 丁香五月狠狠在线观看| www婷婷色情网| 99精品视频推荐| 激情网 久久| 婷婷五月天丁香花| 五月综合久久| 久久色五月| 国产精品色一哟哟| 五月天综合激情网| 玖玖无码中文| 少妇AB又爽又紧无码网站| 丁香六月激情综合| 欧美123区免| 最熟少妇乱码| 欧美天堂久久| 六月激情婷婷| 五月天伊人综合| 91超级碰人人操| 五月天网址在线刘玥| 丁香五月在线播放| 婷婷亚洲在线| 性99网站| 在线婷婷| 男女啪啪视频久 9| 国産精品| 79色色免费| www、色色色| 日本女人久久| 日本熟妇乱妇熟色A片蜜桃| 曰韩少妇内射免费播放| www.99精品视频| 色五月成人| 成人精品一区二区三区四区五区 | 77799热| 欧美噜一噜| 91丨九色丨大屁股| 婷婷五月激情网站| 色色综合日韩| 99视频91| 成人亚洲精品| 欧美成性色| .操區COm| 一级A片天天操夜夜操| xfplayav在线| 夜夜干夜夜操| 久草A片| 成人av中文字幕| XX久久| 日韩成人综合网| 激情综合亚洲| 五月天网址在线刘玥| av高清无码| 牛牛澡牛牛爽| 六月丁香婷婷色狠狠久久| 亚洲 视频 导航 一区| 婷婷久久亚洲| 久久九九网| 色婷婷五月天激情综合| 色色婷婷五月天| 午夜九九九九九九九九九九九九九| 超碰com| 亚洲欧美婷婷五月色综合| 思思热在线| 中字幕视频在线永久在线观看免费| 亚洲夜五月| 久99久热只有精品国产99| 免费无码毛片一区二区A片| 丁香婷婷激情六月五月开心| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 黄色热99| 婷婷久久精品| 狠狠色丁婷婷日日,伊人激情综合网 | 97人人操人| 欧美精品啪啪| 超碰猛烈的性猛交| 久久精品日| 丁香五月另类小说在线阅读| 久99热| 亚洲综合视频网| se99视频| 久久九九亚洲| 婷婷狠狠色| 五月日韩中文字幕| 情情五月天色| 黄色三级毛片中字| 五月综合影院| 五月天丁香久久综合| 刘玥av在线| 一起操 91N.com| 色综合婷婷| 深爱五月天 开心网| 亚洲九九视频| 婷婷五月色花丁香社区| 人人摸人人澡人人| 人妻aV在线| 五月婷婷深爱六月| 久99热在线观看| 99噜噜噜在线播放| 99热在线观看精品| www、色色色| 欧美色色色| 67194线路二在线观看| 亚洲成人一区| 色亚洲欧洲| 免费观看的av| 欧洲一区二区| 婷婷十月激情综合网| 99热这里| 91操片| 五月丁香激情婷婷综合| 99热91| 激情综合久久| 久久人妻久久久久| 天天日日天天| 久久丁香| 伊人网碰碰| 久久婷婷亚洲| 97婷婷狠狠| 狠狠干狠狠干| 五月婷婷深深爱| 战争与艾拉电影免费观看| 色香欲综合| 成人在线日韩欧美| 亚洲色色香蕉| 欧美天天干五月丁香| 激情内射p| 精品少妇人妻AV无码专区偷人| 五月天丁香综合| 亚洲精品午夜国产va久久成人| 丁香婷婷久久| 99无码视频| 婷婷天天综合| 欧美日韩成人在线观看| 玖玖色综合| 色婷婷激情视频| 丁香五月婷婷婷桃花影院| 国产亚洲色婷婷久久99精品91| 五月丁香好婷婷A片网| 狠狠干五月天| 色在线视频网2025| 色狠狠激情五月| 五月天丁香婷婷久久九| 熟女激情网| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 成人AV播放| 狠狠婷婷色综合| 亚洲五月婷| 97五月久久丁香婷婷| 激情丁香五月| 天天干,夜夜爽| 婷婷激情四射五月天| 五月深爱激情网| 日韩在线观看网址| 99性感视频| 久久综合99综合| 人人人人人人人人人草| 国产又色又爽又黄又免费| 另类五月婷婷| 91.www综合| 色婷婷六月开心中文字| 久久丁香婷婷色情综合| 思思热视频在线观看| 另类图片五月天激情| 亚州色色色| 精品99在线| 婷婷激情社区| 五月天激情啪啪| 亚洲无码99| 天天骑日日爽| 中国丰满熟女A片免费观| 婷婷五月天少妇| 强辱丰满人妻HD中文字幕| 亚洲色婷婷激情| 丁香九九九九| 激情五月婷婷综合网| 激情亚洲网| 五月丁香在线观看| 91n啪啪| 夜夜骑夜夜撸| 五月丁香91| 六月婷婷久久| 天天色综合网1| 激情五月深爱五月| 婷婷色五月丁香六月欧美啪| 六月婷色| 丁香六月婷| 任我肏视频精品| 图片区 小说区 区 亚洲五月| 色色激情网| 五月天色不卡| 天天爱天天爽| 97碰碰在线看视频免费| 97干欧美| 五月停停大香蕉| 99热在线观看免费精品| 久思思久视频| 99热在线观看99| 婷婷婷婷色| 激情亚洲五月| www.久久爱.com| 日本人妻A片成人免费看片| 九九热这里只有精品12| 99原创自拍视频在线观看| 97色永久免费视频| 久热91| 亚洲啪视频| 亚洲天堂爱爱| 能看的av网站| 免费做A爰片77777| 欧美性生交A片免费看| 亚洲人妻av| 欧美激情综合| 大香蕉久久综合网| 自拍视频99| 亚洲有码在线视频| 婷婷五月花| 久久99久久99久久99人受| ww久久| 九九热a| 思思视频久久| 99热最新网址| 性色五月天| 日日夜夜干| 五月丁香综合啪啪| 激情婷婷另类| 精品在线| 丁香五月网址| 亚洲第二AV| 深爱五月天| www.色9| 激情五月婷婷网| 99自拍视频网站| 午夜丁香婷婷| 婷婷黄色网| 操逼巨乳91| 色性综合| 色五月综合激情| 婷婷五月天视频免费在线观看| 欧美综合123区| 天天艹夜夜艹| 在线色婷婷| 香焦网五月天| 啄木鸟黑丝一区二区| 性色视频| 97久久超碰| 超碰2021| 丁香婷婷激情综合五月激情 | 97热这里精品在线视频| 噼里啪啦在线观看免费完整版视频| 大香蕉久久青青| 久草丁香婷婷五月天婷| 精品色情一区二区三区四区| 丁香五月天中文字幕| 久久九九99| 九九精品9| 91精品久久久久久久| 欧美婷婷五月激情| 九九综合色综合| 日韩精品AV一区二区三区| 操比激情五月| 久色成人| 成人在线网址| 青青色com久久| 五月天激日本色情在线| 亚洲婷婷基地| 欧美偷偷操| 色婷婷综合久色AV五色最新| 五月丁香激情综合久久| 久久无码成人| www色婷婷久久综合久色 | 五月天婷婷基地综合网| 国产精品色婷婷99久久精品| 五月天丁香综合久久国产| 激情综合在线播放| 五月丁香六月婷婷久久肏| 中文成人在线| 精品久热69| 色老久久| 色情五月综合婷婷| 激情综合啪啪啪| 国产超碰在线| 成人色五月天| 婷婷丁香五月天亚洲| 天天色天天噜| 亚洲av骚货| 丁香五月六月综合欧美| 婷婷五月色情| 思思热视频在线观看| 五月丁香六月欧美综合网站| 五月天婷婷一起草| 日本美女五月天| 激情婷婷激情在线不卡| 丁香五月婷婷啪啪| 五月天激情国产综合婷婷婷| 黄色片avv| 操97在线观看| 日本五月视频| 在线超碰免费| 五月天 另类图片| AV片一区在线观看| 五月婷婷伊人久久| 五月婷婷 激情按摩| 丁香六月 人妻| 大香蕉久| 亚洲第一色色色色| 国产成人一区二区三区在线观看| 丁香五月自拍| 国产精品久久久久久久久久| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | xxx.色婷婷| 3p九色在线| 国产日日操夜夜操的肉棒视频| 亚州美女| 99免费视频精品| 亭亭玉立国色天香| 欧美婷婷五月无砖| 五月丁香六月婷婷久久| 99久re热视频精品98| 婷婷五月天丁香| 丁香五月桃花在线激情综合| 日韩AV片| 久久有码| 婷婷伊人久久| 婷婷五月丁香亚洲| 99在线观看精品| 五月天婷亚洲天综合网综合| 色色日本| 久久这里只有精品热在99| 丁香狠狠干| 91激情五月开心| 亚洲俩性性爱图片久久第六页| 丁香综合网| 日本久热| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 丁香五月开心亚洲| 国产AV一区二区三区最新精品| 99热www| 人妻久久久久久久久妻久久久久久久久| 天天色色婷婷| 五月激情综合网| 一二线视频 另类| 久久伦乱| 久久免费视频62| 思思热在线播放| 丁香婷婷五月综合欧美另类| 丁香网站| 99秘 在线| 美女伊人久久| 亭亭玉月丁香| 五月色丁香视频精品| 丁香五月天婷婷91| h在线看免费版在线看| 激情综合色婷婷啪啪六月天| 激情99| 欧美性生交XXXXX无码小说| 天天天日天天天干| 99操视频| 国产女人十八水真多1| 99精品自拍视频| 日夜夜天天| 中文字幕av在线播放| 操碰97| 激情五月婷| 性爱在线播放av| 91九色无码内射| 99视频这里有精品| 99热都是精品| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 亚洲视频无| 精品欧美一区二区三区久久久| 亚洲婷婷乱乱丁香| 色九九综合| 另类丁香综合| 九九无码AV| 婷婷五月天亚洲| 99热这里只有精品86| 婷婷五六月丁香| 婷婷中文字幕网| 精品人妻午夜一区二区三区四区 | 草久私拍| 亚洲亚洲人成综合网络| 国产成人+综合亚洲+天堂| 这里只有精品视频在线看| 久久五月视频| 久草a片| 无码AV大香线蕉伊人| 九九九九这里只有精品| 激情五月丁香亭亭| 人人草人人视| 日本在线噜噜| 开心五月丁香综合久久| 天天摸.天天mo| 五月丁香六月婷婷久久肏| 久久人人添人人爽添人人片αV| www.99热| av色色国产| 91丁香五月| 五月丁香成人视频| 99热99热在线| 亚洲aV写真天天综合网久久| 激情综合网激情五月欧美| 婷婷欧美色| 99久久久| 婷婷激情四射| 五月开心婷婷极品激情| 97影院一级片| 色婷婷狠| 激情综合无码| 精热在线综合网| http://www.com久久久精品一区| 丁香五月婷婷五月天在线| 天天射色五月天| 丁香婷婷综合激情五月色| 九九热这里只有精品556| 久久se 综合网| 亚洲操B| 深爱激情综合网| 久久人人妻| 第五色色色婷婷| 色五狠狠| 日韩激情婷婷五月天| 99这里只有精品视频免费| 丁香五月91| 91肏| 91综合国免费久入| 思思热闹这里只有精品| 九九综合视频在线观看| 亚洲精99| 99热精品9| 婷婷五月丁香网| 99久在线精品99re8| 六月婷婷五月天| 99狠狠色| 五月丁香影院| 99人妻碰碰久久久禁片| 激情五月婷色| 欧美大香蕉视频| 91久久婷婷| 77799热| 夜夜做天天爽| 夜夜干夜夜操| 色墦五月丁香| 99人妻碰碰久久久禁片| 亚洲激情| 久久人妻高清中文| 五月停停丁香| 日韩成人AV在线播放| 色婷婷五月天偷拍| 婷婷五月丁香青青草在线| 五月天婷婷色色首页| av久热| 激情的五月| 五月天激情无码| 色~性~乱~伦~噜| 亚洲中文无码成人| 九九99一区| 色狠狠综合| 字幕网AV中文字幕| 色噜噜夜夜夜综合网| 色情·com| 中文乱子伦视频| 五月丁香啪啪网| 超极99精品| 色丁香五月天| 狠狠色噜噜狠狠| 色婷婷丁香五月天| 色婷婷丁香AV综合| 欧美五月丁香啪啪响视频| 日韩在线aaa| 天天婷婷综合亚洲亚洲| 久久33视频| 亚洲五月天色| 人人摸人人| A片试看50分钟做受视频| 婷婷激情五月视频| 夜夜夜叫天天天做| 激情五月天婷婷丁香| 日本97在线看片| 精品一区二区三区四区五区六区介绍 | 啪啪黄页网| 老师的粉嫩小又紧水又多A片视频| 一起操 91N.com| 色综合xx| 婷婷色导航| 1234操逼网| 六月香五月婷| 玖玖婷婷五月天| 五月丁香九九| 夜夜爽天操| 无码AV免费精品一区二区三区 | 沈娜娜av| 国产五月天激情小说| AV在线免费网站| 激情五月婷婷她| 青草热视频这里只有精品| 91久热| 97人操| 五月天成人小说网| 六月成人网| 丁香五月自拍| 五月激情偷拍| 中美日韩成人在线| www.99日本| 综合99在线| 丁香五月婷婷手机| 99热传媒| 久热最新视频| 色伦专区97中文字幕| 婷婷久久婷婷色五月| 五月丁香啪啪啪啪| 狼友视频在线观看18| 亚洲精品永久久久久久| 色色综合热| 99爱视频在线播放| 韩日AV片| 五月丁香六月婷婷在线观看| 久在热99| 天天色域综合网| 色欲久久99精品久久久久久| 久久99热精品a片在线观看| 国产人妻777人伦精品HD| 五月婷婷黄色| 婷婷五月天小说| 日日操夜夜爽白洁| 亚洲精品一区中文字幕乱码| 日本本土色网第一区| 99久久9| 97激情五月天| 字幕网AV中文字幕| 婷婷五月天天aV| 五月婷久久综合| 久色资源| 婷婷月综合| 日韩婷婷| 天堂婷婷五月在线| 亚洲妇女熟BBW| 五月色丁香激情| 丁香婷婷五月天成人| 丁香色五月天| 久久综合综合久久| 五月天播播| 免費亭亭成人| www久久久久久久| 五月亭亭开心网| 成人在线不卡| 婷婷五月天基地| 色婷婷五月亚洲| 免费观看日韩成人av| 天天人人人人人人人人人人人| 亚洲五月激情| 久久久婷婷婷| 婷婷五月天免费视频在线观看| 久久99jiu9| 99视频久久| 婷婷五月天伊人在线| 激情五月天。| 超碰资源在线| 丁香五月天天日| 久久婷婷五月天激情四射| 婷婷爱爱蜜臀天天操| 久久久久9| 99性爱精品| 99碰碰视频| 久久久国产精品黄毛片| 五月叮香啪| 天天日天天添| 中文不卡av| 色综合激情| 久久机只有这里精品| 伊人玖玖婷婷| 国产乱人偷精品人妻A片| 噜噜色婷婷| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 五月婷婷与六月丁香图片激情| 日本黄色三级片内射| 丁香五月婷婷五月天| 亚洲激情综合色站| AV免费在线网站| www.婷婷| 六月份天丁香婷婷| 亚洲综合丁香五月| 色色色在线| a性生活久久无| 97碰在线视频| 美女五月天| 99er国产| 九九色综合网| 99热在线播放精品| 91超级碰碰碰| 欧美性爱一区| 日韩操| 婷婷五月综合色中文字幕| 青青草五月天| 丁香性爱在线视频| 亚洲色视频| 婷婷六月天激情| 色色色.com| WWW.天天日| 综合99久久天天综合| 婷婷色色网站| 天天色粽合合合合合合合| 五月天激情综合| www.五月丁香av| 妻久久久久| 97操在线视频| 99WWW免费视频| 日本婷婷色| 欧类av怡春院| 91chinese在线| 色碰碰视频| 五月丁香亭亭| 色狠狠婷婷| 五月天色婷婷伊人网| 另类图片 五月激情| 亚洲小视频免费观看| 久久综合五月天| 另类激情码| 第五婷婷伊人丁香| 狠狠色丁香久久综合婷婷亚洲成人福利 | 色综合久久888| 另类图片天天影视在线观看| 波多野结衣AV无码Porn| 五月天亭亭俺也| 欧美国产一区二区三区| 亚洲五月天婷婷在线| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 五月丁香婷婷五月| 亚洲无码色色| 五月婷婷在线视频| 人人操av| 五月婷婷婷丁香播| 97色色视频| 日日撸夜夜操| 九九色图| 99福利导航| 亚欧州精品视频| 欧美精品啪啪| 午夜丁香| 五月丁香综合网| 五月色综合| 精品一二三区久久AAA片| 99精品视频在线观看| 超碰99在线| 久久精品A片777777| 女人被躁到高潮嗷嗷叫小| 国产视频色色色色色色色 | 丁香久久AV| 五月丁香在线精品| 久热这里只有精品视频6| 久久这里99| 99热这里只有精品18| 婷婷五月六月| 碰97久久| 99亚洲精品视频| 婷婷丁香六月天| 日本视频不卡123区| 伊人天堂婷婷| 97欧美在线| 九九热色视频| 色色日韩无码| 综合网亚洲| 99视频久久| 97精品综合| 日本久久久97| 琪琪色五月天| 精品无码色| 99免费视频网| 9精品在线| 天天爽天天操| 亭亭丁香97| 天天色天天射天天日| 激情涩涩网| 国产精品激情五月天色婷婷| 99精品在线| 九九热在线视频| 婷婷丁香五月天激情四射| 久久久久久久8| 综合婷婷六月| 欧美日韩一区二区三区四区| 九月激情网| 国产精产国品一二三在观看| 激情啪啪五月天| 色婷婷五月影视| 五月色网| 婷婷五月激情五月激情| 久久久久久久久月丁| 婷婷综合色网| 婷婷五月永远18免费久久久| 开心深爱激情网| 亚洲综合婷婷| 一级无码作爱片| 婷婷97狠狠干| 久久99热这里只有精品| 色色婷婷丁香| 激情五月色综合网| AⅤ色区| 91精品婷婷国产综合久久| 色色色五月天婷婷| 色吧五月| 啪啪小说五月天| 97人妻碰碰中文无码久热丝袜| 五月深情久久| 千人斩操逼| 任你爽精品免费视频6| 亚洲精品无码99热| 日本色色网| 婷婷狠狠操| 97在线观视频免费观看| 中文精品在| VfJxEwPH| 亚洲成av人影院| 99精品国产热久久91色欲| 中文字幕色色| 荫道BBWBBB高潮潮喷| 欧美精产国品一二三区| 综合色五月| 激情内射人妻1区2区3区| 色婷网| 夜夜干天天操| 九月丁香婷婷网| 九九热视频网站| 日本超碰在线| 久久宗合影| 五月丁香婷婷三级| 国产全是老熟女太爽了| 久久99免费视屏| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 可以看的AV| 深夜婷婷 丁香| 七七九九色色| 欧美人妻一区二区| 99超级碰碰| 丁香婷婷色五月| 国产av网| 深爱五月天天| 精品夜夜澡人妻无码AV| 99热欧美在线观看| 久久伊人五月天| 久久精品视频99| 99综合一区| www.五月天色色色| 五月丁香色综合| 激情婷婷五月综合| 五月婷婷六月开心| 91在线资源| 深爱五月最新网址| 久久成人亚洲欧美电影| 久久成人精品视频| 九九色婷婷五月天| VA婷婷亚洲| 伊人大综合| 99热777| 婷婷丁香九色| 欧美性色五月天| 狠狠爱成人综合网| 五月天激情视频网站| 无码AV大香线蕉伊人| 五月丁香婷婷潮喷中文字幕| 任你弄在线视频免费| 日本五月天一页| 日韩AV一区二区三区| 五月天国产| 97日在线视频| 九月丁香亭亭| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 色天天综合成人网| 黄色中文字目| 综合久久人妻| 九九www| 九九综合九九| 好好干Av| 成人午夜天| 激情丁香五月婷婷啪啪| 无码一级片| 97在线视频人妻九色| 四月婷婷五月色综合| 91蜜桃婷婷狠狠久久综合9色| 亚洲综合新99视频| 日韩成人中文| 婷婷天天日婷婷| 色狠狠综合网| 噜噜在线| 99av视频| 99久久婷| AA片在线观看视频在线播放| 久久久久久久久久人妻| 第四色网婷婷| 丁香五月婷婷网| 婷婷五月天熟妇| 丁香五月婷婷色偷偷| 久久久18| 五月丁香成人版| 久久一品区| 欧洲亚洲精品| A色色| 夜夜躁婷婷AV| 丁香五月久久| 天天做天天爱天天要| 99欧州偷拍视频| BBWCUCKOLD精品熟妇| 亚洲热视频在线| 99热99网| 五月婷中文娱乐综合| 婷婷丁香97| 九九热手机在线视频| 狠狠爱婷婷| 六月成人网| 丁香五月情| 爱的综合网| 99riAv1国产在线观看| 日韩一本操| 丁香久久五月婷综合| www婷婷亚洲| 骚五月婷婷| 日本色色色色色色色色一色二色| 久久精品夜色噜噜亚洲a∨| 色婷婷成人在线| 五月停停999| www.wuyuetian啪啪| 亚洲日日操| 天天日,天天干,天天操| 丁香婷婷精品视频| 操操精品| 亚洲情综合五月天| 久久激情五月| 开心激情播播五月天| www.狠狠操.co m| 青996青| 开心激情站婷婷五月天| 中文字幕不卡+婷婷五月| 丁香社92视频| 久久在线视频免费观看| 色久九| 夜夜骑夜夜操| 先锋av性爱成人电影| 五月份婷婷| 色色五月婷婷久久| 久久九九99.www| 大伊香蕉精品视频在线| 丁香六月五月天| 五月丁香色综合| 丁香五月综合在线观看| 欧美综合婷婷欧美综| 精品久热| 中文字幕日韩成人| 五月天色色色色色| 丁香婷婷激情网站| 欧美性做爰大片免费看办公室 | 久久激情综合| 99久久婷婷国产综合| 九热视频精品| 久热在线观看视频9| 丁香五月开心七月| 中文字幕人妻熟女在线| 五月天婷婷丁香| 性一交一乱一交A片久久四色| 五月丁香六月婷婷色日| 狠狠五月激情丁香六月| 思思w99| 情欲综合网| 熟女乱论网| www久久99com| 久久久久婷婷五月热综合| 久久综合丁香| 在线观看婷婷5月| 日日天天干| www.henhengan| 婷婷丁香在线播放| 日日日影院| 天天免费日日夜夜夜夜| 国产一级婬片毛片| 婷婷性爱无码视频| 日韩六六久久电影| 久香草视频在线观看| 九九热区一区二区三区| 综合激情综合啪啪| 丁香五月天啪啪激情综合网| 五月婷婷香蕉| 国产美女精品| 激情婷婷综合五月少妇| 婷婷五月天资源| 伊人五月丁香| 激情五月天小说网| 天天日天天插| 激情久久久久| 狠狠干五月天| 亚洲精品久久久久AV无码| 国产69久久久欧美黑人A片| 99热网精品| 色吧网综合| 色五月97| 亚洲色碰| 激情综合婷婷五月| www.伊人天堂偷偷婷婷| 天天色综合综合| 成年人丁香五月| 色综合中文| 99精品视频免费观看| 99欧美| AV成人在线网站| 丁香婷婷老司机久操| 大香蕉久久婷婷精品综合| 超碰com| 青青夜夜狠狠夜夜狠狠| 欧美97p| 五月天成人网在线观看| 啊V视频在线观看| 五月天综合网| 一区操| 99热亚洲| 色综合色欲综合天天免费| 99re最新地址| 九九re精品视频在线观看| 激情色色| 99精品丰满| 激情性爱五月天| 久久婷婷五月综合激情国产| 思思热高清在线观看| 五月色丁香| 国产精产国品一二三在观看| 丁香五月熟女| 99碰超| 新激情五月天色播| 99热久草| 日日躁夜夜躁狠狠久久AV| 久久中国毛毛片爱久久| 丁香五月激情六月欧亚激情综合导航 | 九九色精品| 九九Y精品热播| 色啪影院| 婷婷五月天激情综合网| 日熟女| 国产真实乱了老女人视频 | 爱草人视频| 女人天堂AV| 野外99热| 玖玖在线资源视频| 99精品网| 国产亚洲精品久久久久苍井松 | 第四色五月激情网| 伊人五月综合网| 九九伊人网| wWW九九在线播放| www.狠狠操.com| 国产精品日日躁夜夜躁| 激情性爱五月天网页| 丁香五月日韩| 色五月丁香伊人五月| 色婷久久| 久久久久久99精品无码| 岛国av电影网站| 九九RE视频在线精品| 9999热在线观看| 婷婷综合六| 日本三级日本三级99| 噜噜狠狠色综合久| 丁香五月第四色88| 天天日天天爽| 青青草色在线视频观看| 噜噜噜噜噜色| 国产日韩精品SUV| 99热91| 欧美激情VA永久在线播放| 五月丁香婷婷钟和色图| 五月丁香婷婷综合在线| 99热新网址| 久99精品视频| 五月天激情视频网站| 丁香五月天啪啪| 特黄三级片| 久色激情| 免费在线a| 五月婷婷福利| 国外亚洲成AV人片在线观看| 久久久精品视频79| 99热免费| 久久九九re热| 久久这里有精品视频| 亚洲最大成人综合网720P| www.99热日韩.com| 五月天社区| 丁香婷婷黄网站| 五月天色色婷婷| 五月丁香婷婷啪啪综合| 天天日天天干天天爽| 婷婷五月天免费99| 婷婷激情五月综合基地| 国产成人精品一区二三区熟女在线| 99视频内射三四| 色五月丁香五月| 97碰在线| 久草大| 久久久久婷婷| 99热精品在线| 婷婷久久五月| 久久五月综合| 婷婷五月天影院| 婷婷丁香五月综合| 操人91| 99热这| 99热免费网站| av九九| 啪啪五月天啪啪| 国产性爱在线| 婷婷五月天成人基地| 91人妻九色大屁股| 九九亚洲视频| 中文字幕第四色.999| 五日激情综合| 99操逼视频| a久久|