色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

基于STM32H750與HAL庫的高性能音樂播放器設(shè)計與實現(xiàn)

基于STM32H750與HAL庫的高性能音樂播放器設(shè)計與實現(xiàn) 簡介本資源是一套基于STM32H750微控制器開發(fā)的音樂播放器完整工程面向嵌入式初學(xué)者與進階開發(fā)者解決高性能音頻應(yīng)用中HAL庫驅(qū)動適配、外設(shè)協(xié)同與文件系統(tǒng)集成等核心問題。壓縮包共393個文件含197個頭文件.h定義硬件抽象接口、167個源文件.c實現(xiàn)GPIO按鍵控制、I2S音頻傳輸、SD卡FatFS文件讀取、DMA高效數(shù)據(jù)搬運及FreeRTOS多任務(wù)調(diào)度等關(guān)鍵功能另有PNG界面資源、工程配置文件.uvprojx/.uvoptx及編譯輸出.hex/.lib整體大小4.34MB。已有1188人學(xué)習下載資源直接復(fù)用ST官方HAL庫如stm32h7xx_hal_i2c.c、stm32h7xx_hal_tim.c等并集成libmpllib.a音頻解碼庫與ff.c FatFS組件提供可一鍵編譯運行的完整項目框架顯著降低從零搭建H7系列音頻系統(tǒng)的門檻。1. 項目緣起為什么用STM32H750做音樂播放器最近在整理手頭的開發(fā)板翻出來一塊吃灰已久的STM32H750VBT6核心板。這塊板子當初是沖著它那480MHz的Cortex-M7內(nèi)核和豐富的外設(shè)買的但一直沒找到特別合適的項目來發(fā)揮它的性能??粗揖驮谙肱c其讓它繼續(xù)吃灰不如做個有點意思的東西——一個能播放高品質(zhì)音樂并且代碼結(jié)構(gòu)清晰、易于移植的播放器。你可能覺得用單片機播放音樂不是新鮮事網(wǎng)上基于STM32F1、F4的WAV播放器一抓一大把。但我想做的有點不一樣。首先STM32H7系列的性能是F4的好幾倍這意味著我們可以玩點更“奢侈”的比如支持更高采樣率、更高位深的音頻文件甚至實時解碼一些壓縮格式像MP3、AAC而不僅僅是播放原始的WAV。其次HAL庫現(xiàn)在是ST主推的雖然有人吐槽它效率不如標準庫但它的跨系列兼容性和CubeMX的可視化配置是真的香對于快速原型開發(fā)和后期維護來說優(yōu)勢明顯。最后我希望這個項目能成為一個“樣板工程”代碼架構(gòu)清晰模塊劃分明確不僅自己能跑起來還能方便地移植到其他STM32H7系列甚至其他系列的MCU上比如STM32H743、H723等。所以這個項目的目標就很明確了基于STM32H750VBT6使用HAL庫作為驅(qū)動基礎(chǔ)構(gòu)建一個支持多種音頻格式、具備良好擴展性的音樂播放器系統(tǒng)。它不僅僅是一個播放功能更是一個展示如何在資源相對豐富的MCU上合理設(shè)計軟件架構(gòu)、高效利用DMA等外設(shè)來處理實時音頻流的案例。2. 核心硬件選型與電路設(shè)計要點做硬件項目第一步永遠是理清需求然后選型。音樂播放器的核心需求很簡單一塊性能足夠的MCU一個高質(zhì)量的數(shù)字音頻接口一個能將數(shù)字信號轉(zhuǎn)換成模擬信號的DAC以及必要的存儲和用戶交互。2.1 MCU為什么是STM32H750STM32H750是STM32H7系列中的“性價比”之王雖然Flash只有128KB但它有高達1MB的RAM其中512KB是DTCM速度極快并且核心頻率能達到480MHz。對于音頻處理來說大內(nèi)存和高速核心至關(guān)重要。高速內(nèi)核480MHz Cortex-M7這為我們進行實時音頻解碼如MP3的軟件解碼提供了充足的算力。純播放WAV可能用不到這么高但一旦涉及解碼性能就是瓶頸。豐富的存儲1MB的RAM可以輕松開辟出雙緩沖或多緩沖來存放解碼后的PCM數(shù)據(jù)避免因數(shù)據(jù)搬運不及時導(dǎo)致的播放卡頓。128KB的Flash雖然小但我們可以將程序放在外部QSPI Flash或SD卡中運行通過XIP內(nèi)部Flash主要用來存放Bootloader和關(guān)鍵配置。關(guān)鍵外設(shè)它擁有多個高速外設(shè)如SDMMC用于高速讀取SD卡上的音樂文件、SAI/I2S用于高質(zhì)量數(shù)字音頻輸出、多個DMA控制器用于實現(xiàn)數(shù)據(jù)零拷貝搬運解放CPU。2.2 音頻數(shù)模轉(zhuǎn)換DAC方案選擇這是音質(zhì)的關(guān)鍵。有兩種主流方案使用MCU內(nèi)置DACSTM32H750有2個12位DAC。優(yōu)點是簡單、成本低。但缺點也很明顯12位分辨率對于高保真音樂來說不夠動態(tài)范圍約72dB通常需要過采樣和濾波來提升有效位數(shù)且輸出需要外部運放進行緩沖和濾波設(shè)計不好容易引入噪聲。使用外部專用音頻DAC芯片這是更專業(yè)的選擇。例如TI的PCM5102A、Cirrus Logic的CS4344等。它們通常是24位或32位分辨率支持最高192kHz采樣率信噪比SNR可達110dB以上內(nèi)部集成高質(zhì)量濾波器輸出直接就是線路電平電路簡潔音質(zhì)有保障。為了追求更好的音質(zhì)和更簡單的后端設(shè)計我選擇了PCM5102A。這是一款非常經(jīng)典的立體聲DACI2S接口無需軟件配置即插即用。我們只需要通過MCU的SAI或I2S外設(shè)將解碼后的PCM數(shù)據(jù)流按照I2S協(xié)議發(fā)送給它即可。2.3 存儲與文件系統(tǒng)音樂文件存放在哪里SD卡是最通用、容量最大的選擇。STM32H750的SDMMC接口支持SD卡的高速度模式讀取速度遠超音頻數(shù)據(jù)流的需求即使是192kHz/24bit的立體聲數(shù)據(jù)率也僅為~1.15MB/s。我們需要在SD卡上建立FAT32文件系統(tǒng)這樣就能像在電腦上一樣通過路徑來訪問音樂文件。這里會用到FATFS這個開源文件系統(tǒng)模塊它被廣泛移植到各種嵌入式平臺與STM32的兼容性很好。2.4 用戶交互與輔助電路顯示屏選擇一塊SPI接口的OLED如0.96寸SSD1306來顯示歌曲名、播放進度、采樣率等信息。SPI接口節(jié)省IO驅(qū)動簡單。按鍵/編碼器用于播放/暫停、上一曲/下一曲、音量調(diào)節(jié)。旋轉(zhuǎn)編碼器在調(diào)節(jié)進度和音量時體驗更好。音頻功放PCM5102A輸出的是線路電平需要接耳機或有源音箱。如果想驅(qū)動小喇叭可以再加一個功放芯片比如PAM8403。時鐘電路為SAI/I2S提供精準的時鐘源至關(guān)重要。STM32H750可以使用內(nèi)部PLL生成所需的音頻時鐘如44.1kHz的256倍頻即11.2896MHz但對于追求極致jitter時鐘抖動性能的發(fā)燒友可以外接一顆低抖動的專用音頻時鐘晶振。我的核心板原理圖設(shè)計圍繞STM32H750VBT6最小系統(tǒng)展開擴展出了SD卡槽、PCM5102A模塊接口、OLED接口和幾個按鍵。電源部分需要注意模擬部分PCM5102A的AVDD和數(shù)字部分的隔離可以用磁珠或0Ω電阻分開并加上足夠的去耦電容。3. 軟件架構(gòu)設(shè)計與關(guān)鍵模塊解析軟件部分是這個項目的靈魂。一個好的架構(gòu)能讓開發(fā)、調(diào)試和移植事半功倍。我采用了分層和模塊化的設(shè)計思想。3.1 整體架構(gòu)分層整個系統(tǒng)可以劃分為以下幾個層次硬件抽象層HAL由STM32CubeMX生成負責最底層的寄存器操作和外設(shè)初始化。我們盡量不直接修改這一層的代碼而是通過CubeMX配置后重新生成。外設(shè)驅(qū)動層在HAL的基礎(chǔ)上封裝更易用的驅(qū)動函數(shù)。例如sai.c/.h負責配置SAI并實現(xiàn)音頻數(shù)據(jù)發(fā)送函數(shù)sdio.c/.h負責SD卡讀寫oled.c/.h負責顯示。中間件層引入第三方開源庫主要是FATFS文件系統(tǒng)和Helix MP3 Decoder或libmadMP3解碼庫。這一層是功能實現(xiàn)的核心。應(yīng)用層這是我們的主程序它協(xié)調(diào)所有模塊。主要包括文件瀏覽模塊遍歷SD卡列出音樂文件。解碼調(diào)度模塊根據(jù)文件后綴名.mp3, .wav調(diào)用不同的解碼器。播放控制模塊管理播放、暫停、停止、切歌等狀態(tài)。用戶界面模塊更新OLED顯示響應(yīng)按鍵事件。3.2 音頻數(shù)據(jù)流與DMA雙緩沖機制這是整個播放器最核心、最需要精細設(shè)計的部分。目標是實現(xiàn)無卡頓的流暢播放。數(shù)據(jù)流SD卡 - FATFS讀取 - 解碼器 - PCM緩沖區(qū) - SAI (通過DMA) - PCM5102A DAC - 音頻輸出。雙緩沖機制為了不讓“讀數(shù)據(jù)-解碼”的過程阻塞“音頻發(fā)送”的過程我們使用兩個PCM緩沖區(qū)Buffer A和Buffer B。初始化填充Buffer A和Buffer B然后啟動SAI的DMA傳輸首先發(fā)送Buffer A。DMA傳輸完成中斷當DMA發(fā)送完一個緩沖區(qū)比如Buffer A的數(shù)據(jù)時會產(chǎn)生一個“傳輸完成”中斷或使用DMA的“半傳輸完成”和“傳輸完成”中斷來管理循環(huán)緩沖。中斷服務(wù)程序在中斷里我們并不處理數(shù)據(jù)而是僅僅設(shè)置一個標志位通知主循環(huán)“某個緩沖區(qū)已空”。主循環(huán)任務(wù)主循環(huán)檢測到“緩沖區(qū)空”標志后在下一個緩沖區(qū)正在被DMA發(fā)送的同時立刻為這個已空的緩沖區(qū)填充新的解碼后的PCM數(shù)據(jù)。這樣就實現(xiàn)了“生產(chǎn)”和“消費”的并行。關(guān)鍵在于填充緩沖區(qū)的速度解碼速度必須大于或等于DMA消耗數(shù)據(jù)的速度播放速度。STM32H750的性能使得軟件解碼MP3的同時還能輕松處理文件IO和顯示刷新。3.3 關(guān)鍵模塊代碼剖析3.3.1 SAI (Serial Audio Interface) 配置SAI是ST提供的比傳統(tǒng)I2S更靈活的數(shù)字音頻接口。我們用它來對接PCM5102A。在CubeMX中的配置要點音頻模式選擇“主發(fā)送”模式MCU作為時鐘提供方。協(xié)議選擇Philips I2S標準這是PCM5102A支持的。數(shù)據(jù)大小16位或24位根據(jù)解碼器輸出和DAC支持情況定。時鐘配置這是最容易出錯的地方。需要根據(jù)音頻采樣率如44.1kHz計算MCLK主時鐘。PCM5102A通常需要256倍或384倍的采樣頻率作為MCLK。我們需要在CubeMX的時鐘樹里配置PLL來生成一個精確的11.2896MHz44.1k256或12.288MHz48k256時鐘給SAI。DMA配置為SAI的發(fā)送數(shù)據(jù)寄存器配置一個DMA流模式設(shè)為循環(huán)模式Circular數(shù)據(jù)寬度為半字16位或字32位如果是24位數(shù)據(jù)按32位對齊傳輸。使能DMA的“傳輸完成中斷”。3.3.2 FATFS 與 SD卡驅(qū)動集成FATFS的移植主要就是實現(xiàn)底層的磁盤讀寫接口disk_read,disk_write和獲取時間函數(shù)。STM32CubeMX可以幫我們生成基于SDMMC的FATFS中間件代碼大大簡化了工作。我們需要關(guān)注的是SD卡初始化確保SD卡能正確識別并進入高速模式。文件讀取優(yōu)化音頻文件是順序讀取的可以使用FATFS的f_read函數(shù)進行連續(xù)大塊數(shù)據(jù)讀取減少文件系統(tǒng)API的調(diào)用開銷。長文件名支持如果需要顯示中文歌名需要在ffconf.h中使能長文件名_LFN_UNICODE和動態(tài)內(nèi)存工作區(qū)。3.3.3 MP3解碼庫的集成與使用我選擇了Helix MP3 Decoder。它是一個開源的、定點運算的MP3解碼庫優(yōu)點是沒有浮點運算在像Cortex-M7這樣有高效DSP指令集的MCU上跑得飛快且代碼量相對可控。獲取源碼從官網(wǎng)或開源倉庫下載。移植主要是實現(xiàn)庫所需的幾個底層函數(shù)如內(nèi)存分配malloc、內(nèi)存釋放free以及一個自定義的memcpy可以使用CMSIS-DSP庫中優(yōu)化過的版本。解碼流程// 偽代碼示例 HMP3Decoder decoder MP3InitDecoder(); while(有數(shù)據(jù)需要解碼){ // 從文件讀取一幀MP3數(shù)據(jù)到inputBuffer bytesRead f_read(file, inputBuffer, MP3_FRAME_SIZE, br); // 解碼這一幀 err MP3Decode(decoder, inputBuffer, bytesRead, pcmBuffer, 0); if(err ERR_MP3_NONE){ // 解碼成功pcmBuffer中就是PCM數(shù)據(jù)將其填入音頻播放緩沖區(qū) audioFeedBuffer(pcmBuffer, decodedSamples); } } MP3FreeDecoder(decoder);關(guān)鍵點在于MP3文件是分幀的每一幀獨立解碼。我們需要循環(huán)讀取幀、解碼幀并將解碼出的PCM樣本送入我們的雙緩沖隊列。4. 開發(fā)環(huán)境搭建與CubeMX工程配置工欲善其事必先利其器。一個清晰的工程結(jié)構(gòu)能避免后期很多混亂。4.1 工具鏈選擇IDEKeil MDK-ARM (uVision) 或 STM32CubeIDE。我選擇CubeIDE因為它是ST官方免費的且與CubeMX無縫集成對于HAL庫項目非常友好。STM32CubeMX必須的圖形化配置工具。用于引腳分配、時鐘樹配置、中間件FATFS初始化、生成工程骨架。4.2 CubeMX工程詳細配置步驟選擇MCU在CubeMX中選擇你的具體型號如STM32H750VBTx。時鐘樹Clock Configuration這是重中之重。先配置好HSE外部高速晶振如25MHz。配置PLL1將系統(tǒng)時鐘SYSCLK推到最高480MHz。為SAI配置獨立的時鐘源PLL2或PLL3。計算PLL輸出使其能精確產(chǎn)生目標MCLK。例如對于44.1kHz系列目標MCLK11.2896MHz。假設(shè)輸入時鐘是25MHz那么倍頻系數(shù)N361分頻系數(shù)M800可以得到 (25MHz * 361) / 800 11.28125MHz誤差極小在音頻時鐘容差范圍內(nèi)。引腳分配Pinout ConfigurationSAI分配SAI1的FS幀同步即LRCLK、SCK串行時鐘即BCLK、SD串行數(shù)據(jù)到指定引腳。SDMMC分配SDMMC1的CMD、CK、D0~D3到對應(yīng)引腳通常有固定映射注意上下拉電阻配置。OLED (SPI)分配SPI的SCK、MOSI以及一個GPIO作為DC數(shù)據(jù)/命令一個GPIO作為RESET。按鍵/編碼器分配為GPIO輸入內(nèi)部上拉。調(diào)試分配SWD的SWDIO和SWCLK。外設(shè)與中間件配置SAI1模式為“Transmit Only Master”協(xié)議I2S Standard數(shù)據(jù)位寬16bit或24bit使能DMA請求。SDMMC1總線寬度4位時鐘分頻器根據(jù)SD卡速度調(diào)整初期可先設(shè)大一點保證穩(wěn)定。FATFS在Middleware中啟用FATFS接口選擇SD卡使能長文件名支持。DMA為SAI1_Tx配置一個流如DMA1 StreamX方向內(nèi)存到外設(shè)循環(huán)模式數(shù)據(jù)寬度半字/字使能傳輸完成中斷。GPIO將按鍵和編碼器引腳配置為輸入上拉模式。生成代碼指定工程路徑、IDECubeIDE在“Project Manager”中設(shè)置好堆棧大小Heap和Stack可以設(shè)大一點比如0x2000然后生成代碼。4.3 工程目錄結(jié)構(gòu)管理生成的工程只是一個基礎(chǔ)我們需要合理組織自己的代碼。MyMusicPlayer/ ├── Core/ │ ├── Inc/ // 主頭文件 │ ├── Src/ // 主循環(huán)、中斷回調(diào) │ └── Startup/ // 啟動文件 ├── Drivers/ │ ├── CMSIS/ // ARM內(nèi)核支持 │ └── STM32H7xx_HAL_Driver/ // HAL庫 ├── FATFS/ // CubeMX生成的FATFS中間件 ├── Middlewares/ │ └── Third_Party/ │ └── helix_mp3/ // Helix MP3解碼庫源碼 ├── User/ │ ├── App/ │ │ ├── player.c/.h // 播放器核心控制邏輯 │ │ ├── ui.c/.h // 用戶界面 │ │ └── file_browser.c/.h // 文件瀏覽 │ ├── Bsp/ │ │ ├── bsp_sai.c/.h // SAI驅(qū)動封裝 │ │ ├── bsp_sd.c/.h // SD卡驅(qū)動封裝 │ │ ├── bsp_oled.c/.h // OLED驅(qū)動 │ │ └── bsp_key.c/.h // 按鍵掃描 │ ├── System/ │ │ ├── mem_manage.c/.h // 內(nèi)存管理用于解碼緩沖 │ │ └── debug.c/.h // 調(diào)試打印 │ └── main.c // 入口初始化各模塊 └── STM32H750VBTx_FLASH.ld // 鏈接腳本這樣的結(jié)構(gòu)清晰地將標準外設(shè)驅(qū)動Bsp、應(yīng)用邏輯App、系統(tǒng)工具System和第三方庫分開便于管理和移植。5. 從零到一的代碼實現(xiàn)與調(diào)試心得配置好工程接下來就是一步步寫代碼把各個模塊串起來。這個過程會遇到很多坑我挑幾個關(guān)鍵的分享一下。5.1 啟動與基礎(chǔ)外設(shè)測試首先確保生成的工程能編譯、下載、運行。寫一個簡單的LED閃爍程序確認系統(tǒng)時鐘和GPIO正常。然后測試OLED顯示能畫出基本圖形和文字。再測試SD卡用FATFS的f_mount和f_open函數(shù)嘗試打開一個測試文件。這些基礎(chǔ)模塊穩(wěn)定了才能進行更復(fù)雜的音頻部分。5.2 SAI與DMA音頻輸出調(diào)試這是第一個難關(guān)。即使CubeMX配置看起來正確也可能沒有聲音。靜態(tài)數(shù)據(jù)測試先不接復(fù)雜的解碼用最簡單的辦法驗證SAI和DMA是否工作。在內(nèi)存中定義一個數(shù)組里面存放一個固定頻率比如1kHz的正弦波PCM數(shù)據(jù)。然后啟動SAI的DMA傳輸將這個數(shù)組循環(huán)發(fā)送出去。用示波器測量SAI的BCLK、LRCLK和DATA引腳。檢查時鐘LRCLK的頻率應(yīng)該是音頻采樣率如44.1kHzBCLK的頻率是 LRCLK * 通道數(shù) * 數(shù)據(jù)位寬如44.1k * 2 * 16 1.4112MHz。如果頻率不對回頭檢查CubeMX的時鐘樹配置。檢查數(shù)據(jù)在DATA引腳上應(yīng)該能看到隨正弦波變化的數(shù)字信號。如果時鐘對但沒數(shù)據(jù)檢查DMA配置和SAI的使能順序。通常順序是初始化SAI - 初始化DMA - 啟動DMA - 啟動SAI。連接DAC確認數(shù)字信號正確后接上PCM5102A和功放/耳機。如果此時有持續(xù)的“嗡嗡”聲或白噪聲但沒有音樂說明數(shù)據(jù)流是通的但數(shù)據(jù)內(nèi)容不對可能是全0、全1或隨機數(shù)。如果完全沒聲音檢查DAC的電源、接地以及模擬輸出電路。雙緩沖實現(xiàn)靜態(tài)測試成功后實現(xiàn)5.2節(jié)描述的雙緩沖機制。在DMA傳輸完成中斷中翻轉(zhuǎn)緩沖區(qū)索引在主循環(huán)中填充空閑緩沖區(qū)??梢杂靡粋€全局變量來記錄緩沖區(qū)狀態(tài)避免在中斷中進行復(fù)雜操作。5.3 FATFS文件讀取與MP3解碼集成文件遍歷實現(xiàn)一個函數(shù)遞歸掃描SD卡根目錄下的MP3和WAV文件將文件路徑和名字保存在一個列表里。注意內(nèi)存管理列表大小要合理。WAV文件播放WAVPCM格式最簡單它是未經(jīng)壓縮的音頻數(shù)據(jù)。播放WAV就是解析文件頭跳過44字節(jié)的RIFF頭然后將后面的PCM數(shù)據(jù)直接送入音頻緩沖區(qū)。這是一個很好的測試可以驗證從文件讀取到音頻播放的整個鏈路是否暢通。集成Helix解碼器將Helix源碼加入工程包含頭文件路徑。實現(xiàn)Helix所需的malloc和free。在嵌入式環(huán)境中最好使用事先分配好的靜態(tài)內(nèi)存池避免內(nèi)存碎片。我定義了一個大的數(shù)組作為解碼器的“工作內(nèi)存”在MP3InitDecoder時傳入。解碼循環(huán)與播放同步這是最精巧的部分。主循環(huán)中當檢測到音頻緩沖區(qū)有空閑時就從當前播放的文件中讀取一幀MP3數(shù)據(jù)送入Helix解碼將解碼出的PCM填入音頻緩沖區(qū)。這里要計算好節(jié)奏解碼一幀MP3產(chǎn)生1152個PCM樣本對于44.1kHz就是約26ms的音頻而我們的音頻緩沖區(qū)大小比如2048個樣本要能覆蓋解碼一幀所需的時間并且留有裕量防止因為SD卡讀取偶爾變慢而導(dǎo)致緩沖區(qū)欠載播放卡頓。5.4 調(diào)試過程中遇到的典型問題與解決問題一播放時有“噼啪”爆音??赡茉?緩沖區(qū)欠載或溢出。DMA已經(jīng)要播放下一個數(shù)據(jù)了但緩沖區(qū)還沒填好欠載或者數(shù)據(jù)填得太快覆蓋了還沒播放的數(shù)據(jù)溢出。仔細檢查雙緩沖的狀態(tài)機邏輯確保“填充”和“消耗”的指針不會沖突??梢栽诰彌_區(qū)切換時加入互斥鎖開關(guān)中斷保護??赡茉?時鐘抖動Jitter。SAI的MCLK不穩(wěn)定。檢查時鐘樹配置確保PLL鎖定穩(wěn)定。如果使用內(nèi)部時鐘可以嘗試降低PLL的倍頻系數(shù)或者為SAI使用獨立的低抖動時鐘源PLL2/PLL3??赡茉?電源噪聲。模擬部分電源被數(shù)字部分干擾。檢查PCB布局模擬地和數(shù)字地單點連接為PCM5102A的AVDD使用LDO穩(wěn)壓并加強濾波。問題二播放MP3時聲音速度變快或變慢像“卡通音效”。幾乎可以肯定是采樣率問題。MP3文件內(nèi)部存儲了采樣率信息如44.1kHz解碼后輸出的PCM就是這個采樣率。如果你的SAI配置的音頻主時鐘MCLK和分頻系數(shù)是基于48kHz計算的那么播放44.1kHz的文件時DAC會以為數(shù)據(jù)是48kHz的播放速度就會變快。解決方案在播放每個文件前根據(jù)解碼器輸出的采樣率信息動態(tài)重配SAI的時鐘分頻器。這需要你在代碼中實現(xiàn)一個SAI_SetSampleRate(uint32_t sample_rate)的函數(shù)根據(jù)不同的采樣率44.1k, 48k, 96k等計算并重設(shè)SAI的時鐘配置。問題三文件系統(tǒng)操作如切歌時播放會卡頓一下。原因文件系統(tǒng)的f_open,f_read等函數(shù)可能不是完全可重入的或者在進行文件操作時占用了CPU時間過長影響了解碼線程。解決將文件IO操作放在一個低優(yōu)先級的后臺任務(wù)中如果用了RTOS或者確保在文件操作時音頻緩沖區(qū)有足夠的數(shù)據(jù)加大緩沖區(qū)。對于切歌可以先暫停播放關(guān)閉舊文件打開新文件讀取并解碼幾幀數(shù)據(jù)填滿緩沖區(qū)后再恢復(fù)播放。問題四內(nèi)存不足解碼器初始化失敗或系統(tǒng)崩潰。STM32H750的128KB內(nèi)部Flash確實很小但我們的程序可以放到外部QSPI Flash中執(zhí)行XiP。在CubeMX中配置QSPI為內(nèi)存映射模式并在鏈接腳本中將.text和.rodata段放到外部Flash地址空間。內(nèi)部Flash只放中斷向量表和初始化代碼。同時合理規(guī)劃RAM的使用將大的緩沖區(qū)如音頻雙緩沖、文件讀取緩沖放到DTCM或RAM中速度快的區(qū)域。6. 功能擴展與性能優(yōu)化思路當基礎(chǔ)播放功能穩(wěn)定后就可以考慮增加更多功能和優(yōu)化體驗了。6.1 支持更多音頻格式AAC/FLAC解碼可以集成更多的開源解碼庫如FAAD2AAC解碼、libFLAC。這些庫通常比MP3解碼更耗資源需要評估H750的性能是否足夠?qū)崟r解碼更高碼率的文件。軟解與硬解STM32H7系列沒有專用的音頻解碼硬件全靠軟件。對于超高碼率的音頻可能會吃力??梢钥紤]支持更低復(fù)雜度的編碼格式如OPUS它在低碼率下音質(zhì)很好且解碼復(fù)雜度相對可控。6.2 加入音頻處理效果利用Cortex-M7的DSP指令集和FPU可以實時做一些簡單的音頻處理豐富可玩性。均衡器EQ實現(xiàn)一個多段數(shù)字均衡器??梢允褂肐IR或FIR濾波器。CMSIS-DSP庫提供了豐富的濾波器函數(shù)如arm_biquad_cascade_df1_f32非常適合實現(xiàn)參數(shù)均衡器。混響、延遲實現(xiàn)一些簡單的數(shù)字效果器。這需要更多的內(nèi)存來作為效果線的緩沖區(qū)。頻譜顯示在OLED上顯示音樂頻譜。使用CMSIS-DSP庫的FFT函數(shù)如arm_cfft_f32對音頻數(shù)據(jù)進行快速傅里葉變換然后將各頻率幅值用柱狀圖顯示出來。6.3 系統(tǒng)優(yōu)化與功耗管理使用RTOS如FreeRTOS將文件瀏覽、解碼、用戶界面、網(wǎng)絡(luò)控制如果未來有分成不同的任務(wù)用消息隊列進行通信可以使程序結(jié)構(gòu)更清晰更容易擴展。例如解碼任務(wù)始終以高優(yōu)先級運行保證音頻流不中斷UI任務(wù)以低優(yōu)先級運行刷新界面。低功耗模式在播放暫停時可以讓CPU進入睡眠模式Sleep Mode僅靠DMA和SAI工作來維持靜音輸出或直接關(guān)閉SAI當有按鍵中斷時再喚醒。這可以顯著降低待機功耗。緩存優(yōu)化利用STM32H750的緩存I-Cache, D-Cache。確保關(guān)鍵代碼和數(shù)據(jù)段如解碼器代碼、音頻緩沖區(qū)被正確配置到帶緩存的內(nèi)存區(qū)域如AXI SRAM可以極大提升性能。6.4 擴展硬件接口USB Audio將STM32H750配置為USB Audio Device這樣它就可以被電腦或手機識別為一個USB聲卡實現(xiàn)音頻輸入/輸出。CubeMX提供了USB Audio的中間件但集成和調(diào)試有一定復(fù)雜度。網(wǎng)絡(luò)流媒體通過以太網(wǎng)如LAN8720 PHY芯片或Wi-Fi模塊接入網(wǎng)絡(luò)播放網(wǎng)絡(luò)電臺或DLNA服務(wù)器上的音樂。這需要移植TCP/IP協(xié)議棧如LwIP和相應(yīng)的流媒體協(xié)議解析庫是一個更大的工程但對H750來說性能是足夠的。這個基于STM32H750的音樂播放器項目從硬件選型、軟件架構(gòu)到一步步調(diào)試實現(xiàn)涵蓋了嵌入式開發(fā)中從外設(shè)驅(qū)動、中間件集成、實時系統(tǒng)設(shè)計到性能優(yōu)化的多個方面。它不僅僅是一個播放器更是一個展示如何駕馭一顆高性能Cortex-M7 MCU的完整案例。代碼我已經(jīng)整理好包含了詳細的注釋和配置說明你可以直接用來參考或移植到你的H7開發(fā)板上。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色情五月丁香| 久久久精品国产亚洲伊人| 97爱b| 操逼1区| 亚洲天堂一区| 久操97| 国产精品久久久久久久免牛肉蒲团| 久久久五月天| 台湾佬激情综合| 黑人中出21连凳花野真衣| 51久久夜色精品国产麻豆| 日韩欧美午夜一区二区| 思思热er精品视频| 亚洲国产剧情少妇激情| 久久久久九九九九| 天天摸夜夜添无码小视频| 蜜乳AV网址| 国模限制级电影| 熟女精品va中文字幕| 91丨九色丨熟女高潮| 综合色图亚洲欧美| 亚洲十八禁止| 性生活无遮挡纯毛片在线看| 午夜福利国产欧美日韩夜夜| 9久综合网| 夫妻四区五区六区| 欧美精品三级黄片| 亚洲一区制服诱惑| 亚洲图片 激情小说| AA丁香综合激情| www.99中文字幕| 国产精品久久久亚洲第一牛牛_在线观看| 久久久久久亚洲精品不卡人乳| 欧美日韩国产黄色片| 91在线丝袜| 操国产逼| 亚洲精品九九九九九九| 国产污视频麻豆传媒一区二区| 狠狠色婷婷7777久| 精品久久久av无码免费| 欧美日韩岛国大片在线观看| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 囯产精品强| 操久久久久| 日韩欧美操逼xxx| 91欧美在线| 精彩国产视频播放1区2区| 色娱乐色呦呦夜夜夜夜av| 蜜桃久久综合视频| 免费看片黄| 精品久久久av无码免费| 久久久不卡区一区二区三区久久久| 中文字幕青青草| 116美女午夜| 久久黄黄| 激情网色| 密臀AV在线| 欧美大香蕉专区网| 大香蕉专区| 色哟哟的毛片| 欧亚 另类 久| 国产区日韩区在线观看| 欧美97网| 精品免费视频国产一区| 久久久久国产精品久久久| 欧美午夜视频免费观看| 美女国产一区二区久久| 精品熟女一区=区三区| 久久熟女久| 在线免费观看日韩一区| 亚洲图片视频小说| 亚洲无码电影久久久| 97网址97| 中文字幕精品日韩中文字幕| 91处女视频在线观看| 天天色播亚洲综合网站| 97超碰国产精品| 天堂国产AV| 久久精品中文字幕女同| 国产精品诱惑| 一起草日韩| 久久久婷婷婷| 亚码人妻| 日本孕妇一区二区视频操逼免费看| 中国少妇XXXX做受| 啊啊啊不要好疼视频| 佐山爱中文字幕| 99热8| 一级片视频啪啪| 中文字幕av乱伦| 97精彩视频网站| 97久久天天综合色天天综合色电影| 蜜臀久久久99久久久久 | 9精品久久久久| 久久午夜色播影院免费高清| 日韩丰满熟妇| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚 | 97就爱干| 婷婷av在线中文字幕| 日韩不卡av一二三| 中文字幕日韩人妻视频一区二区三区交换夫妻| 一起草视频在线| AV污污污污| 成人热久久精品| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 人妻中文字幕精品无码| 久久久久久中文字幕中文字幕最新| 屁股久久久久久久久| 少妇久久久| 久久久国产三级黄色片| 久久久偷拍| 每日更新AV| 99黄页网站| 亚欧视频在线| 欧美色图97| 欧美另类精品xxxx| 国外91| 国产乱伦亚洲| 久草精品一区| 亚洲一区日韩| 日夜伊人网| 亚洲老熟妇xxx| 久久系列| 妇女视频网站| 秋霞成人做爱| 国产又长又大又粗的视频| 26uuu欧美日韩| 欧美亚洲综合色| 神马久久午夜| ss久久| 欧美精品成人一区二区在线观看| 后入内射蜜桃臀| 亚洲丝袜综合| 日韩钢筋无码高清啾啾啾| 91社区伊人| 九九久久久久久爱| 国产av激情无码久久天堂| 日本伦理一区二区| 国产一区二区在线播放量| 国产极品久久久| 中文字幕奈奈美被公侵犯| 国产中文福利| 国产精品无码久久久久2025| 亚洲一区二区av| 九九九九九精品视频| 久久久久久久人妻| 国产无码精品高清| 亚洲国产中文字幕| 好好的日:com久久九九| 人人摸人人摸人人干| 男人的天堂久久狠| 婷婷大香蕉| 91免费看一区二区三区| 欧美 亚洲 91| 屌逼传媒| 亚洲午夜福利在线影院| 麻豆三极片| 国产60区。| 国产精品久久久久中文字幕| 国产精品操| 亚洲综合性网址| 免费a在线播放v| 国产精品视频在线观看| 男人把坤坤插入女人的下体| 亚洲无套久久嗯嗯| 一区二区视频在线播放| 啊啊啊操死我| 91丝袜人妻| 亚洲AV免费在线观看| 无码最新| 亚洲本色精品一区二区久久| 易易A毛视频| 欧美爆操91| 亚洲成av人片色午夜乱码| 亚洲网站一区二区在线| 亚州五月| 内射卯月麻衣| 中美日韩毛片| 婷婷五月天丁香| 少妇一区二区三区高速| 91青青草| 国产精品乱码久久久| 九九九久久久久| 天天弄天天操| 亚洲精品亚洲人成在线麻豆| 国产精品久久久久无码Av网曝门| 国产精品无码久久久久2025| 欧美超碰97| 国产精品色| 神马久久中文字幕| 一区二区三区国产精产| 密桃99999| 日本三级一区二区 在线| 女生91网站| 黄页网站成人免费| 国产吹潮女在线观看| 日韩二三区| 91婷婷伊人狠人| 国产欧美一区激情交| 日本免费专区| 久草免费福利在线播放| 国产绿奴视频在线观看| 成人无码在线超碰网| 91综合色噜噜| 97操| 乱性AV| 亚洲视频中文一区| 91天堂色男人的天堂| 日韩欧美麻豆大片| 国产一级高清免费观看| 超91综合网| 91美女在线| av东京热男人的天堂| 不卡av在线中文字幕| 91男人天堂网| 91成人在线免费视频| 午夜精品久久久久久久第一页按摩| 亚洲欧洲美腿丝袜| 久久AV无码网址| 2021久久国产综合精品青草| 激情终合网| 婷婷久草| 东京热双插| 国产白丝AV| 蜜臀久久99精品久久久久| 1240青青草一区二区三区视频天爱| 中文字幕精品专区搜索结果91| 加勒比五月天| 农村妇女精品一二区| 亚洲人久久久久日| 黄色大片免费在线| 乱伦熟女区| 久久婷婷五月天| 亚洲国产综合久久久性感熟妇| 极品粉嫩一区二区| 极品AV网站在线观看| 亚洲人人夜夜澡人人爽| 精品欧美乱码久| 搡老女人911熟妇老熟女| 欧美人与动性人交a| 九九九精品成人免费视频小说| 99无码狠狠久久| 午夜乱轮操逼视频免费看| 人人看欧美性爱| 极品白嫩美女白浆成人福利在线看| 色色婷婷丁香| 精品一久久久| 日日日日做夜夜夜夜做无码97| 99热销国产这里有精品| 2018天天日天天日| 天天综合网~69| 久久只有精品一区二区三区| 日韩欧美麻豆 | 在线 亚洲 网爆 自拍| 德国一二三不卡| 超碰超碰欧美| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 欧美色图第一页| 97视频免费播放| 夜草欧美| 99999精品视频| 97超碰资源网| 午夜操一视频一区| 久草五月| 高清国产精品福利网站| www.操| 亚洲欧美经典一区二区| 欧美色偷偷| 国产黄片在线免费观看| 97香焦色区| 蜜桃臀一区二区aV| 神马精品视频| 老司机午夜精品视频| 蜜桃香蕉久草精品在线| 97精品国产97久久久久久免费| 欧美中日韩XXXX| 啊好爽快点-国产一区二区三区撒尿在线-成人AV| 91天天| 国产精品色色| 99久久99九九99九九九| 天天爱综合网| 久久美女国产| 国产久久一区二区| 91P0RNY大屁股人妻| 婷婷大香蕉| 大香蕉琪琪日本女优不卡| 精品久久无码午夜福利| 操我啊啊啊啊啊| 日本三级精品| 激情久久久| 久久久久婷婷精品av电影| 黄色大片免费在线| 九九久久国产精品| 亚洲中文字幕熟女| 天美精品av| 伊香蕉综合久久久久久久噜噜噜 | 嗯嗯啊在线视频| 午夜噜噜噜| 91精品黄在线观看| 午夜噜噜噜| 久久性爱免费送| 中文字幕文字幕无码一区二区三区电影99| 亚洲无码免费看| 国产成自自拍在线观看| 亚洲国产av中文字幕久久| 天美av在线观看| 97国产超碰| 大香蕉伊利av| a片 xxxx受爽视频| 久久久久久久 九九九九九九九| 女人久久久| 国精品一区二区三| 1人人看人人摸人人操| 天天综合网1| 欧美日韩国产中文精品字幕自在自线| 中文久久96| 久久肏大逼| 97久久久| 久草视频制服诱惑| 91快色色色色色| 嫩草 我啊~嗯~在线| 青青操狠狠撩| 1024人妻| 精品久久視頻在线| 亚洲免费精品一区| 亚洲成人妻日韩在线| 精品二区三四区五电影| 天天激清| 国产精品亚洲天堂网址| 婷婷丁香五月激情啪啪| 欧色网址| 国产精品久久久久久久久久久久| 日韩天天综合| 亚瑟国产精品久久无码| 97精品人妻一二三四| 天天天天操| 亚洲欧美洲综合| 九九热九九| 久久精品国产Aⅴ| 操人人| 四虎884| 欧美日韩激情无码专区| 久久久久久久亚洲Av无码| 视频一区二区三区精品| 国产激情在线| 中国一级特黄大片护士| 裸体美女国产免费久久久网站| 国产高清成人免费视频| 欧美亚洲第1页| 欧美精品人妻视频| 色网亚洲人| 在线精品福利免费播放| 91内射| 最新亚洲风情电影| 一区二区影视| 操逼大黄片| 手机在线观看不卡无码av| 国产精品91ai| 啊啊啊网站| 东亚亚洲无码高清| 欧美成人综合| 99re免费视频精品全部| 看看日B真人视频| 亚洲第一精品在线视频| 麻豆久久久久久久久丝袜 | 夜夜嗨AV一区天天| 91九九| 少妇精品| 国产情侣自拍在线播放| 亚洲阿v天堂在线| 九九色逼| 97精选久久| 99999精品| 性生活性生大爱77AV国产 | 亚洲三级。日韩三级| 老女人碰碰在线碰碰视频| 久久久久成人蜜桃精品| 中文久久一区| 亚州色站 日韩电影| 亚州操操穴网| 伊人久久大香大香线蕉中文| 欧美综合天天| 亚洲色图国产另类| 7777欧美成是人在线观看| 新怡红院| 日韩福利综合一区| 日韩草久视频| 男人的天堂不卡一区二区| 久久无码电影| 午夜福利视频在线一区| 操比国产| 操碰97| 99在线免费观看| 91超级碰碰| 99亚洲精品| 丁香五月天堂网| 开心激情站| 男人天堂婷婷五月天校园春色| 99精品在线观看| 91蜜臀熟女| 黑丝少妇麻豆| 激情网五月天| 亚洲中文日韩欧美大香蕉视频| 精品国产一区二区三区四区在线看| 奇米四色影视777久久久| 日本福利社| 91精品久久久久| 亚洲色人妻综合| 中文字幕成人| 人人操人人精品影片| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 天美精品av| 乱理日韩中文| 丝袜AV一二三区| 午夜啪| 久久男女激情视频网站| 亚洲少妇激情一区二区三区| 五月天久久综合网| 超碰这里只有精品| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 一区二区三区黄片免费观看| 日韩人妻少妇 一区二区三区| 欧美成年人性爱视频免费观看| 超碰精品日韩欧美国产| 国产三级日产三级韩国三级| 深爱五月天| 久久深夜无码| 日韩综合97p| 国产精品一区二区手机看片| 日操粉逼逼| 色五月婷婷网| 99re在线视频国产| 97天天日| 岛国精品视频在线观看| 夜夜操夜夜爽夜夜高潮| 亚欧操逼片在线观看 | 色九九综合AV| 狠狠91| 色情乱伦AV| 国产不卡精品91| 九九九九九九九| 欧美精品三级黄片| av资源在线观看少妇| 九九玖玖精品| 怡红院成人视频| 精品人妻av在线播放| 校园春色制服丝袜中文字亚洲| 欧美大片一区二区三区| 天天干天天操天天操夜夜操天天操| 国产欧美美女免费观看视频| 亚洲欧美激情小说| 久久精品毛片免费不卡| 成人熟女视频一区二区三区| 日韩大香蕉AV影片| 人人操人人大香蕉| 都市激情人妻一区二区青青操视频| 久久久96| 五月色丁香| 久草毛片| 囯产乱伦一区二区三女 | juliaann欧美丝袜办公室| 国产探花精品在线| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 夜夜操美女| 怡红院视频在线| 精品十八在线观看| 91free福利| 激情内射| 日本天天操| 国产精品另类一区大香蕉| 人人操,操人人| 九九九久久久久| 亚洲无码电影久久久| 裸体美女国产免费久久久网站| 91中出在线| 国产精品99久久久www| 劲爆欧美人妖三区91| 色九色久| 国产精品欧美激在线| 欧美日韩97在线| 亚洲色图第四色| 操逼视频色| 999精品乱码| 99re99在线视频| 亚洲欧美国产其他二区| 国内一区二区三区| 国产18精品亚洲精品| 呻吟 欧美 日本 中出| 欧美日韩香蕉| 97欧美色| 国色天香av| 国产欧美亚洲精品a第2页| 97国产高清视频在线观看| 美女黑人91神马| 久久噜噜噜精品国产亚洲综合| 91bbbbbb| 91中出在线| 日本成人在线不卡一区二区三区| 少妇人妻精品| 另类一区| 以及麻豆国产入口在线观看免费| 97超碰人妻| av在线一区二区三区| 中国黄色特级精品一区二区三区片| 亚洲成a人片在线观看中文!!!| 狠狠操狠狠燥| 日韩天美| 丝袜熟女一区二区三区| 97综合激情| 国产精品久久久蜜臀| 大香蕉黄色一级片免费看| 国产亚热在线久久| 一区二区三区精品黑丝白丝酒店对鸡 | av东京热男人的天堂| 一起草精品人妻| 超碰午夜| 东北女人性交| 亚洲激情色片 | 久操电影网| 亚洲AV资源| 8050午夜少妇无码| 无码不卡八戒| 色亚洲欧美| 青青青青草av在线观看| 黄网在线播放| 亚洲蜜乳av| 亚洲天天操| 色婷婷国产精品一区在线观看| 91av天美性媒精品视频| 思思热在线视频精品| 乱伦1色页| 91春色| 人妻 欧美亚洲| 99re这里只有精品3| 亚洲中文字母在线播放| 人人操人人舒服| 超碰人妻久久| 96精品一区| 色盈盈影院| 亚洲欧美精品一区天堂久久 | av中亚| 欧美日日人人天天| 日本中文字幕一区| 影音综合网| 志村玲子视频一区二区| 国产又大又硬又长又粗| 亚洲色图欧美色图日韩色图| 超碰97人妻免费在线| 亚洲成成熟女人综合一区二区| 亚洲综合夜色| 国产精品久久久久久久久久久久久久久久 | 国产精品日本无码A片| 熟女精品一区二区在线观看| 99成人| 国产家庭乱伦网址| 色综合av男人天堂| 国产亚洲日韩在线三区黑人| 伦激情人妻另类人妻| 九九九精品| 黄色av网站在线播放| 不卡免费av在线播放| 久久久久久精品免费看A级| 性做久久久久久免费观看软件| 亚洲精品一卡二卡三卡福利视频网站| 五月丁香亭亭| 久热久一区二区三区| 久久久久密臀一区二区| 裸模AV女优| 75大香蕉| 亚洲色丰满少妇高潮| 超碰97最新人妻| 熟妇一区二区三区| 操逼视频色| 国产嫩草精品A88AV| 91插B网站| 黄站在线免费观看| 东北女人性交| 男人的天堂午夜av| 热久久精品| 亚洲Av诱惑| 黄色一级视| 67194无码不卡| 亚洲一区二区三区在线激情| 日韩精品人妻中文字幕不卡乱码| 久久av色| 国产精品夜夜| 自拍视频大全亚洲专媒视频/一区二区三区 | 亚洲女人91| 亚洲情色视频| 成全在线观看免费观看| 91成人精品在线播放| 日本一级一级一级一级| 福利风月五月天影院| 操逼999| 91狠狠| 一区二区偷拍拍视频| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 国产激情av女片自拍| 久久视频少妇美女| 久久久激情| 一级性爱视频免费观看 | 亚洲 国产 精品一区| 中文字幕一二三| a男人的天堂久久一级A毛片| 日本一级二级三级网站| 91撸色网 玖玖网 欧美| 91性网| 日韩免费av片高清无码| 欧美日综合| 99xav| 中文字幕视频二区| 天天欧美| 亚洲成人综合在线| 大香蕉欧美国产日韩高潮| 亚洲 日本 不卡| 国产成人+综合亚洲+天堂| 欧美日韩另类字幕中文| 综合在线导航一区| 老女人老91妇女老热女| 黑人精品XXX一区一二区| 丁香五月天激情综合| 欧美色亚洲色| 粉嫩国产精品久久粉嫩| 四虎免费在线播放| 黄aaaaaaaaaaaaaaaaaa色网站| 国产精品久久久蜜臀| 中文?日韩?免费?精品| 欧美亚洲丝袜人妻制服99| 欧美一二三| 亚洲精品久久久久久久久豆丁网| 国产AV中文| 五月丁香色婷婷| 久久区| 国产刺激视频| 麻豆精品一区二区三区四区免费观看| 天天欧美色| 青春草莓视频在线观看网址| 极品AV网站在线观看| 26UUU欧美激情一区二区| 精品成人女人久久| 日韩美脚一区二区网站| 国产一区二区三区视频在线看| 97久久天天综合色天天综合色电影 | 日产操逼| 大香蕉日亚洲日本亚大| 九九AV| 亚洲视频中文一区| 四虎影视 亚洲无码| 啊啊啊用力在线观看| 午夜视频久久久久一区| 国产精品96| 尤物视频偷拍免费| 亚洲瓯美色图| 五月大香蕉| 国产av波波国产精品| 欧美久久人体| 蜜桃中文字日产乱幕4区| 少妇人妻好深太紧了vr91| 中文字幕av片| 精品人妻视频一区二区在线播放| 亚洲 欧美 小说| 97超碰美国| 国产高潮AA片免费看| 天天做日日爱夜夜爽| 日韩强奸av| 天天日天天干少妇日| 天天综合站| 一摸二插三插| 9ⅰ久久久天天| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 国产午夜视频| 日韩精品9999| 无码人妻精品一区二区三区九九| 日本精品性生活久久久| 中文字幕55555| 精品九九九九九九九九九| 久久夜色一区二区| 日日干男人的天堂| 天操天操夜操夜月月年年操操| 久久男人网| 欧美乱妇狂野欧美在线视频| 久久精品超碰| 免费av高清无码| 乱伦av.com| 巨爆乳肉感一区二区三区竹菊影视 | 丝袜熟女一区二区三区| 婷婷综合视频| 无码操逼天堂| 99精品人妻| 影音先锋视频在线| 夜夜嗨一区二区| 人妻 制服 日韩 中文 在线| 97资源站国产精品| A 天堂在线观看视频| 国产精品熟女丝袜一区二区| 97中文超碰| 人妻少妇无码 | 9九九九九视频在线观看| 99re在线观看| 狠狠操狠狠操操| 秋霞曰韩R级| 69综合网| 婷婷操视频| 天天影视网综合少妇| 97爱碰| 国产av强奸美女| 人妻精品综合中文字幕在线| 四虎影视国产精品| 99热最新| 一区二区影视| 国产有码一区| 黄片qw| 国产精品suv一区| 精品人妻1区| 成人热久久精品| 摸奶性爱视频网站在线免费播放| 91老司机在线视频免费观看| 张柏芝国产一区在线观看| 亚洲午夜免费狠狠干| 色婷婷A V一二三四区麻豆综合| 国产亚洲精品美女久久久久久2021| 91九色丨国产丨爆乳| 久久这里只精品免费福利| 亚洲综合性网址| 99操碰| 亚洲电影中字一区二区| 精品人妻伦一区二区三区久久| 操逼日韩无码 | 91精品操美女| 久久久久久大| 久久久国产三级黄色片| 性无码专区2020| 欧美性天天影院| 欧洲天天在线| 亚洲中文字母在线播放| 99热在线不卡| 日韩一性一交一A片俄罗斯 | 亚洲高清无码免费观看视频| 免费在线看黄片av| 97超碰资源网| 国产黄色小视频网站| 水多多映视AV| 成人麻豆av电影网站| 欧美强奸一区二区诱惑| 色情五月综合婷婷| 2010男人的天堂| 蜜臀99999| 欧美se综合| 久久9久久| 九九免费影片| 嗯嗯,好大,好爽,好骚| 黄片www.| 丰满熟女一区二区三区在线播放| 日韩影片中文字幕一区二区三区| 色爱国产| 亚洲nv男人的天堂网| 丁香五月影院| 婷婷激情五月综合| 蜜桃久久久久久久| AV99热18这里只有精品| 久久久亚洲精品中文字幕人妻| 嗯嗯啊啊日韩精品| 懂色中文一区二区三区| 国产欧美日本亚洲精品| 视频国产精品未满十八禁止在线观看| 色噜噜精品一区二区三| 大香蕉伊人色偷偷在线| 亚洲欧洲无码一区夜| 天美传媒AV在线| 被男人添B超爽视频| 国产精品久久久三级无码| 欧美性猛交美女自慰91| 色综合99999| 日本成a人v网站在线观看| 久久受www免费人成| 久久久九97| 青操影院| 一区操逼日比视频| 热久久91婷婷| 91色亚洲| 韩国一级婬片A片AAAAA| 激情小说亚洲视频| 欧洲性爱无码区| 99色热| 夜夜操夜夜高潮夜夜爽国产精品区| 国产精品白丝| 五月婷婷激情| 91 亚欧| caoni国产亚洲av| 丝袜综合| 精品国产丝袜一区二区三区乱码| www.久久| 天天日天天干少妇日| 久久久一区二区三区四曲免费听 | 国产精品内射婷婷一级二| 成人综合久久精品色婷婷| 九九热午夜欧亚国产视频| 国产亚洲女v在线观看| 青青草导航在线视频| 大黄片做爱的大的| 亚州男人的天堂| 黄色小视频日本txt| 亚洲少妇视频| 91丨九色丨大屁股| 一起草在线视频| 国产精品色哟哟| 亚洲黄色网址视频| 中文字幕av亚洲精品| 日本三级久| 欧美激情视频在线一区| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 成人AV素股で擦久久| 亚洲AV成人无码一二三久久| 久久久久ab| 亚洲日本成人动漫| 精品人成视频在线观看| 亚洲的天堂网| 麻豆亚洲Av成人无码一区精品| 亚洲乱色熟女一区| 国产乱不卡| 少妇无码太爽| 丰满人妻一区二区三区大胸懂色| 97视频免费播放| 呻吟 欧美 日本 中出| 五月婷婷六月色| 91成人在线免费视频| 五月丁香黄色网| 国产日韩中文字幕欧美| 天天操av懂色| www欧美性爱| 自拍偷拍草一草| 亚洲人天堂| 无码逼| 大香蕉2017| 婷婷另类小说| 精品国产自在在线99| 亚洲国产日韩欧美熟妇在线| 操逼逼无码| 超97在线精品视频| 日韩簧片免费看| 999综合网| 老熟女网站| 澳门色噜噜色噜噜色噜噜色噜噜色噜噜| 天天干天天日天天射黄色| 亚洲精品一区中文字幕乱码| 国产超碰人人操| 九色婷婷| 人妻久久久| www.99热| 亚洲欲色9532548967一区| 色五月婷婷麻豆在| 欧美精品 - 91爱爱| 中美日韩毛片| 日韩在线97| 九九九九九九九九九五码| 日韩不卡网操逼中文字幕日韩| 欧美男人亚洲天堂| 大香蕉青青9| 国产怡红院在线| 熟女人妻一区二区三区| 黄色无码高清黄色无码网站| 波多野42部无码喷潮在线观看| 最新av中文字幕高清| 欧美精品一区二区少妇免费A片| 人人干黄色| 亚洲乱熟女一区二区三区大香蕉| 丁香九月婷婷| 色盈盈影院| 丝袜色综合| 91香蕉国产尤物视频| 狠狠操夜夜| 91色情黑丝搞鸡在线观看一区二区三区三州 | 五月天婷婷综合网| 97人亚洲综合字幕| 久久久成人精品| 国产综合久久久麻桃个| 欧美精品成人在线播放| 99热精品在线| 粉嫩小泬久久久一区二区| 欧美,亚洲,日韩,v,天堂,手机在线观看| 国产后入式在线观看| 亚洲日韩视频二区| 夂久色| 成人精品久久| 屁屁影院一区二区三区国产| 午夜精品99久久久久传媒| 91国产丝袜美女| 久热在线精品免费观看| 欧美专区第一页| 加勒比综合88| 久久欧美性爱视频| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 91黑人狂躁丰满熟妇| 69精品人人人人| 久久精品99久久久久久| 6080YYY午夜理论片在线观看| 亚洲91少妇| 91精品91久久久中77777| 美女刺激久久国产欧美| 1024午夜激情男人的天堂| 欧美精品23| 91爰爱欧美| 在线观看免费视频国产| 校园春色美腿丝袜 | 久久亚洲色图中文字幕| 人妻夜夜爽天天爽三区麻豆AV网站| 亚洲天堂热| 丰满人妻一区二区三区| 亚洲日韩肥臀视频在线观看| 亚洲欧洲自拍图片专区满春格 | a级免费在线观看| 亚洲第一页欧美| 国产又黄又粗的视频| 久草成人影片| 超碰在线99| 国产自制av蜜乳| 性爱欧美五月| 日本理论在线| 欧洲久久一二线| 成人热久久精品| 日韩精品一区二区三区色欲| 亚洲天天更新| 久操视频免费观看| 黄色污污污污污污网站| 久久久九九网站| 老熟妇乱轮| 少妇熟女视频一区二区三区| 男人的天堂2010| 亚洲精品影视老司机| 日本人妻中文字幕精品| 大但人体久久久久| 红桃视频高潮| 91九色在线| 2018天天干在线视频| 欧美亚洲综合高清在线| 男人的天堂99| 欧美视频激情久久久久久| 少妇二级| 久久99综合| 91久久久久久久久18| 精品少妇人妻av久久免费| 中文一区二区三区影院| 欧美精品系列| 天天性射网| 91亚洲丝袜熟女| 中字一区| www.成人无码| 综合激情一一91| 鸥美极品| 天堂av最新电影网| www.成人无码| 青青草综合在线| 超碰视97中文| 97se综合| 96国产精品| 亚洲不雅视频1区二区| 久久人妻熟女一区二区| 欧洲综合色图| 国产传媒日韩欧美| 国产亚洲色停停久久99精品91| 97se亚洲综合自| 91综合色| 97精品熟女少妇一区| 国产av白丝| 99色热| 国产不卡中文字幕免费avi| 成人激情无码在线视频| 日韩免费在线观看不卡| 久久爱97| 新怡红院| 少妇天堂| 日本成人在线不卡一区二区三区 | 小视频国产| J?P?NESEHD熟女熟妇伦| a片自拍直播视频| 性爱免费视频成人| 亚洲最新中文字幕免费| 欧美操逼熟女| 丁香五月综合| 九色在线熟女国产黑人| 婷婷丁香五月激情啪啪| 96久久科窝| 传媒免费一区二区三区| 五月天精品| 韩国一级做a久久久久| 日韩精品色呦呦| 欧美性爱第一区| 99热超碰| 4虎在线视频| 国产精品精品系列在线观看| 日本熟女免费視颖| 色五月网址| 国产精品熟女AV中文字幕在线播放| 韩国女主播青草在线| 国产精品第一页国产大屁股视频免费区i| 欧美日本不卡在线| 麻豆综合一区av| 人妻少妇精品一区二区三区| 欧美91网站| 亚洲一区二区三区春色| 久久久久国产精品片区无码直播| 亚洲色鬼| 天天综合,91入口| 再深点灬舒服灬太大了添视频| 婷婷激情综合网| 99xav| V A在线| 综合五月天| 久操av在线| 中文字幕一区二区免费在线| 久久久一热在线播放| 男人的天堂Va| 亚洲成熟国产精品美女| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 曰韩操B| 久操B网| 男人的天堂 在线一区| 97色色网| 国产一区二区在线播放| 天天天天干| 一区二区三区看视频| 果冻国产精品麻豆成人av| 神马久久啊啊| 日韩免费在线视频观看| 欧洲精品一区二区三区| 性色AV网站| 97天天操天天干| 国产精品无套内谢| 日韩毛片9| 亚洲中文字母在线播放| 久久蜜桃一区二区| 超碰亚洲欧美日韩无| 美女诱惑一区| 天天夜夜久久| 亚洲黄色a级片| 久久久久久久97| 国产AV天美| 日韩国产不卡在线视频| 亚洲九九视频在线观看| 综合色啪| 九九九精品成人免费视频小说| 色五月第四色| 久久极品伊人| 日韩精品免费高清视频在线| 99re6国产精品99re| 国产成人无码久久精品| 精品午夜福利导航| 欧美熟女逼久久久久久| 国产欧美精品日韩区二区麻豆天美| 啪啪啪东京| 欧洲综合色| 伊人久久亚洲中文字幕不卡| 国产无套粉嫩白浆在| 26uuu久久| 中文字幕一区二区三区人妻不卡| 久草综合视频| 中文字幕在线观看第二页| 亚洲 欧美 手机在线观看| 天天精品| 天天操夜夜嗨| av一区二区三区四区| 免费一级性爱久久| 午夜黄色免费在线观看| 啪啪综合网| 在线亚洲丝袜视频网站| 男人天堂免费| 久久久久夜夜夜夜| 久久一区二区高清免费| 韩国一区二区精品亚洲| 目产99999久久999| 久久久91| 黄色免费网页无码| 久久久久性熟视频| 绑缚麻绳人妻寝取完整版| 岛国黄片网站| 久久中文字幕在线观看| 欧美性Fer办公室秘书| 欧美亚州综合网图片| 欧美丝袜亚洲| rivers-china.com| 久草新在线| 白天啪啪晚上啪啪视频| 国产一级αv免费看片| 91在线色综合| 国产亚洲日本| 天天综合97| 十八禁成人网站在线观看| 成人午夜无码视频| 精品丰满人妻一区二区三区免费观| 日欧操屄视频| 尹人大香蕉视频在线| 精品美女少妇一区二区三区| 97精品在线| 国产一区二区三区高清视频| 日韩欧美tv一区二区在线观看| 高凊专区人人操| 大香伊人在线一区| 高潮综合网| 91激情网| 疯操AV| 久久天堂网| 丝袜美腿91| 日本人妻伦在线中文字幕| 84YTCOM性无码| 欧美精品第3页| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | Av色五月| 蜜臀精品1区2区| 久久久国产精品人妻丝袜| 国产精品大屁股999| 人妻丰满熟妇av无码区蜜桃| 欧美一级黄色免费专区| 在线可观看的黄色网址| 神马午夜久久久| 无码天堂| 久久精品天美| 欧美激情视频在线一区| 91亚洲人电影| 男人的天堂2018| 人妻AV 中文字幕的| 少妇熟女一区二区三区| 婷婷AV一区二区三区| 999色欧美中文字幕| 亚洲欧美激情在线视频| 亚州Av天美传媒| 狠狠干综合| 亚洲一区二区三区婷婷| 99啪| 欧美96交| 玖玖97综合 | 97av在线视频| 美女久久久久久久久久久| 国产懂色精品国产av| 久久久久久99999国产精品| 嗯啊不要在线观看嗯啊| 久久中文字幕在线观看| 熟女中出视频| 成人性爱美曰韩| 欧美国产精品久久九九| 久久久国产精品亚洲精品| 国产真实野战在线视频| 校园春色亚洲| baiduhicn.com。| 99在线免费观看| 日熟女| 97视频免费在线| 超碰一区二区| a在线视频免费观看| www.亚洲黄色| 大色网久久| 97露脸精品丝袜| 精品国产网站| 综合久| 亚欧国产无码精品在线| 熟女激情综合网| 啪啪自拍九九综合| 99re综合伊人| 桃色人妻在线视频| 亚洲精品天天影视综合网| 91N欧美|