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

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
返回資訊列表
激情五月天色播| 死我十八禁| 国产精品午夜成人福利| 欧美 亚洲精品首页| 五月天玖玖资源站| 极品后入免费视频| 蜜乳视频网站| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 久久精品性| 97精品综合久久网| 亚洲欧美国产va在线播放频| 亚洲免费精品一区| 亚洲AV成人无码一区二区三区在线观看| 精品国产乱码久久久久久久久1 | 午夜国产成人精品视频| 91爱啪| 神马久久69| 97AV爱| 妺妺跟我一起洗澡没忍住| 91久久久亚洲| 91丝袜在线播放| 美女诱惑在线一区| 亚洲欧洲激情| 欧美激色| 国产成人精品一区| 日韩精品电影| 久久久91福利姬| 91处女视频在线观看| 色香阁在线| 黄色人人| 96精品久久久久久久久久| 日韩欧美亚洲国产日韩| 人人摸人人添人人操| 国产熟女高潮一区二区三区| 日韩97P| 天无日色综合| 国产精品探花在线| 免费AV播放| 秋霞蝌科网日本一区| 人妻丝袜二区| 亚洲宅男天堂| 啊啊啊好想要| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 欧成人精品一区二区三区| 成 人 影视 一区 二区 三区 四区 | 强奸乱伦αv片| 精品性爱一区二区| 日欧操屄视频| 久热免费视频| 欧美熟妇视频 | 成人性交午夜免费片| 97久久国产亚洲精品超碰热| 欧美美逼| 久久永久无码人妻视频| 女同女同恋久久级三级| 久久精品久久九九精品| 日本久操视频| 清纯唯美综合亚洲| 超碰九7| 国产精品白丝www| 久久超碰97| 亚洲欧美在线丝袜| 国产强奸AV在线| 欧美日韩中文视频播放| 99亚洲精品| 日韩精品9区| 日日爱99| 亚洲一曲日韩精品| 欧美日韩香蕉| 久久久九九网站| 99热这里只有精品99| 亚洲av在线免费观看| 91在线视频免费中出| 亚州性色| 国产亚洲日韩在线三区黑人| 久久一区二区三区入口| 欧美日韩精品久久| 视频在线中文字幕| 熟妇一区二区| 成人av福利在线观看| 伊人热综合| 成人97人人超碰人人| 国产剧情AV不卡在线观看| 2018色综合天天操| 激情图片亚洲色图| 四虎免费在线播放| 91三级理论片播放器| 91久操| 天天日老熟妇| 色亚州人久干视频在线观看免费版| 亚洲天堂美臀在线| 成人97人人超碰人人| 成人性爱全视频观看| 九九九九九九九精品视频| 黄页18禁| 一区二区三区四区五区久久久久久| 性感美女啊啊啊在线| 快灬快灬 一下爽蜜桃在线观看| 1240青青草一区二区三区视频天爱| 色欲无码人妻日韩欧美精品| 91色综合激情| 国产又粗又长视频| 26uuu性| 九九AV| 99国内熟女露脸视频| 0755午夜福利视频| 久久久久成人亚洲国产| 香一区二区三区| 国产精选视频| 99精品久久| 骚逼一区二区| 久久久久久久伊人精品| 情色五月天久久久| 国产精品高清2021在线| 99999精品成人| 777超碰| 影音先锋国产精品| 欧亚日韩综合精品国产| 黄片免费视频2019| 操学生天天| 96久久久| 俺去俺来也在线www| .精品人妻一区二区三| 欧美v亚洲v综合v国产v妖精| 国产JDAV无码视频在线观看| 91人妻Pr| 国产精品久久久九九九| 精品一久久久| 伊人久久亚洲色欲综合网站 | www网站黄| 欧美成人一级免费电影| 日本熟女免费視颖| 极品尤物在线观看| 日韩在线97| 日骚逼视频| 日韩福利综合一区| 大香蕉男人的天堂| 久操网址| 午夜激情成人在线观看| 五月婷婷影院| 天天综合影院91| 久久99精品国产| 日本成熟少妇A∨网站| 国产有码一区| 无码男人天堂| 蜜臀久久99精品久久久久| 国产精品一级特黄aaa大片在线观看| 国产不卡精品91| 超清中文乱码字幕| 香蕉久久精品| 中国女人内射6XXXXX| 国产精品一区二区麻豆| 伊人97色天使| 亚洲色图欧美视频| 亚洲色天| 亚洲综合情色| 99视频只有精品| 搡老女人老熟女91| 1024手机看片欧美日韩| 丁香五月影院| 亚洲精品无码成人久久久99 | 91欧美www| 91综合在线| www.99中文字幕| 大香蕉久久| 亚洲色图欧美色图制服丝袜| 色香AV| 日韩熟女乱伦中出| 亚洲丝袜色| 经典丝袜一区| 人妻偷拍一区二区三区| 在线天堂999| 人人澡人人澡人人| 亚洲,日韩,欧美,成人播放| 久久草大香蕉| 亚洲 中文 欧美 日韩 在线| 久久久999| 一区AV| 九九亚洲视频| 日韩色女精品| 国产精品视频自拍在线| 夜色五月天| 90后后入| 人人看人人摸人人色| 性一级黄色录像片网站导航| 亚洲精品97久久| 人人玩人人添人人澡免费| 中文高清一区二区的| 天天情欲宗合网| 自拍偷拍国产欧美日韩韩| 久久激情综合| www.婷婷| 人人妻人人爽一区二区三区| 无色无码| 亚洲国产精品久久久久久久久久| 加勒比无码毛片| 中文字幕精品一区二区精| 国产自产91区13区| 无码免费在线观看黄色片| 熟女人妻av在线资源,黄色的资源| 人妻内射一区二区在线视频| 国产91啪| 国产精品一区在线播放| 婷婷中文网| 久久精品操| 亚洲欧洲国产综合av| 黑丝制服中文字幕 | 少妇与黑人高潮在线| 亚欧美色| 97色色国产视频| av天堂精品久久| 97超碰无码网| 女人午夜视频777| 黑人在线91| 亚洲情色婷婷五月天| 五十路熟女人妻一区二区三区四区五| 色综合潮| 国产精品一区二区三区,亚洲综合| 欧美成人一区二区| 亚洲图片欧美日韩| 在线视频免费播放一区| 欧美丝袜91| 成人精品一区二区三区| 干干干天天| 欧美亚洲首页| 久久99草| 91色鬼| 国产精品麻豆视频网站| 天天干18禁| 久久熟女久| 天天欧美色| 欧美色视频在线| 欧美色综合网| 精品人妻一区二区蜜桃视频 | 人妻夜夜爽天天爽麻豆三区网站| 欧美性暴力| 日韩亚洲97| 青青草视频在线观看一区二区| 人人操人人搞人人草| 亚洲天堂男人天堂网| 91网亚洲| 国产精品青青草| 欧美亚洲自拍另类人妻| 亚洲成人色情五月天丁香花| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 国产日韩精品suv| 97 国产精品| 性交一区二区在线播放| 97色插| 午夜男人av| 97九色人妻| 国产精品福利视频| 美欧老女人97| 久久香蕉国产传媒一区剧情天美| 一级啊性爱在线视频| 亚洲资源一区| 中文字幕第二页| 国内精品久9| 国产精品熟女AV中文字幕在线播放| 美女啊啊啊啊pc| yaouchengrenav| 久久午夜神马| 综合色91| 久久黄片国产一区二区| 久久久久亚洲av综合波多野制衣| 精品亚洲成人免费在线| 91色人妻| 亚洲综合精品国产一区| 色综合99| 东北女人的毛片| 黄资源| 99最新日韩偷拍视频| 日本国产二线女色| 老熟女综合网| 久久中文字幕不卡人妻| 操逼视频亚洲| 后入式在线免费观看60秒| 天天综合网久久ww| 亚洲成人在线资源| 国产美女销魂在线观看不卡| 国产精品分类在线观看| 亚洲码专区| 热久久91婷婷| 亚洲黄色电影| 久久直播国产| caopeng97人妻| 亚洲AV永久无码精品成人调教| 五十路三区在线| 狠狠色伊人亚洲综合网站色| 日本狂喷奶水在线播放212| 边做饭边操逼逼| 手机看av网站在线看| 亚洲综合色男人网| 5252色欧美在线男人的天堂| 天天做日日做| 干B网| 高颜值美女口爆高潮浪叫| 香蕉久久精品| 国产一区二区三区视频在线看| 成年无码动漫av片无尽在线 | 一级黄色性爱A级片| 欧美黄色大香蕉一区二区| 欧美日韩亚洲天堂| 夜夜躁狠狠躁日日躁av| 日本幼女18+| 超碰久久.com| 久久综合九色综合欧洲98| 日韩无码久久熟女一级片| 亚洲少妇自拍中文字幕懂色| 色哟哟 日韩精品| 二男一女成人A片| 超碰九色| 亚州男人的天堂| 东北操逼| 肏逼视频日本| 九九黄色网| 色欲人妻一区二区在线| 日本506070| 极品销魂美女一区二区| 91九色在线| 久久视频少妇美女| 性色AV蜜色av色欲av| 性爱边摸边日免费AV| 色色亚洲| 国产怡红院在线| 亚洲无码偷拍| 日韩美脚一区二区网站| 欧美色图电影| 欧美另类色| 日本最新1区2区3区| 伊人网青青| 欧美 亚洲 大香| 啊啊啊啊啊啊啊网址在线观看| 欧美性第1页| 日本操大逼| 歐美性天天| 波多野结衣先锋影音| 大香蕉欧美伊| A级毛片在线看免费| 色一射色一射| 一起草三级AV电影在线观看 | 黄色AAAAA欧美| 欧日韩在线观看| 九九精品99| 久99久视频| 午夜精品久久久久久久| 国产美女销魂在线观看不卡| 麻豆精品A片免费观看| 91精品老女人| 看黑人AV不卡| hd成人一区二区在线| 久久精品男人的天堂| 亚洲中文一区二区三区| 青娱乐黄色录像| 日韩免费人妻色情网站| 亚洲AV无码乱码| 亚洲情色一区二区三区| av一区二区三区 中文| 亚洲资源吧| 综合网亚| 综合网,亚洲,欧美| 福利色色| 亚洲av青草久久一区二区| 国产久久视频| 亚洲一卡2卡3卡4卡乱码网站 | 男人的天堂99| 婷婷五月天激情四射| 麻豆精品一区二区三区四区免费观看| 天天摸夜夜摸| 欧美精品999| 99ri视频| 岛国爱情动作片在国产AV无码专区亚洲AV漫画 | 999热日韩精品| 青青草吊丝| 久久久com| 岛国在线一区二区三区| 国产美女自拍AV| 精品国产乱码久久久久久久| SUV一区二区在线看| 国产精品老师| 澳门特级毛片免费观看| 亚洲密乳AV| 国内自拍 日韩激情 99| 九九九精品| 加勒比综合88| 伊人嫩草| 久久久亚洲精品电影免费看| 久久综合九九| 天天做天天爱天天爽| 亚洲午夜av| 国产91av在线播放| 你懂得91| 探花精品视频| 久久精品99| 日韩操逼HD| 亚洲图片欧美色| 97资源站国产精品| 免费视频一二三区| 人人操,人人液| 蜜臀久久99精品久久久久久-DVD原版全| 人妻激情视频| 蜜桃狠狠色伊人亚洲综合网站| 日韩欧美女求操每天更新| 蜜臀久久99精品久久久电影| 91老熟妇| 人妻激情视频| 亚洲丝袜少妇在线| 色原狠狠天天天| 大香蕉伊然在亚洲91| 激情小说亚洲视频| 亚洲日韩少妇一道本视频| 欧美色图在线视频少妇| 欧美不卡五十路| 无码137片内射在线影院| 久久大黄片| 在线一道啪| 欧美大香蕉专区网| 五月丁香婷婷色| 夜夜夜久久| 久久久久久久久久久精| 无码粉嫩白虎一线天b区| 偷拍盗拍亚洲色图图片 | 欧美白嫩女HD| 久久东京热久久| 亚洲色图尤物视频| 久久婷婷在线观看视频| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 国产人妻久久精品一区二区三区| 久久精品日韩| 91麻豆天美传媒HD| 色吧 综合| 欧美亚洲综合色| 亚州熟妇精品| 最新国内自拍av免费| 六月色婷婷| 97久久国产亚洲精品超碰热| 搞中出久久| 草伊人高潮喷水超碰| 国产精品久久蜜乳av| 国产精品一区二区黄片| 免费99精品国产自在在线| 中文字幕99999| 激情五月综合网| 一区 欧美 日韩 麻豆| 久久精品| 亚洲高潮少妇| 黄色视频高清无码网站| 91人妻超碰| 鸥美中出| 国产久久久9999| 国产又黄又爽| 日韩78m视频| 国产女人视频三四五区| 欧美成人精品A片免费一区99| 国产吹潮女在线观看| 久久久久成人亚洲国产| 欧美精品系列| 欧美亚洲影视| 91精品久久综合熟女| 亚洲精品 欧美97色色| 国产一区二区在线电影| 精品无人区麻豆乱码1区2区图片| 日韩人妻少妇 一区二区三区| 国产乱弄免费在线视频。| J?P?NESEHD熟女熟妇伦| 欧美91精彩| 国产高潮AA片免费看| 人爽不卡视频| 激情黄色五月天| 国产精品免费日韩| 欧美中文综合| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 一区操逼日比视频| 日韩一卡二卡三卡| 热久久99999| 看免费的黄片| 欧美黑人与女人91| 亚洲伊人久久精品狠狠在线| 国产精品一二三在线看| 百度百度日本操逼| 玖玖久久久| 日本97久久久精品| 久久久久久久人妻| 综合五月婷婷亚洲一区| 色欧美综合| 97视频免费在线| 亚洲成人妻日韩在线| 欧美成人精品一区二区三区| 久久久久久欧美精品se一二三四| 美女操逼A A| 91精品久久久久| 久久久久久久强迫| 久久久久免费少妇| 婷婷色五月激情| 高清一区AV无码| 久久尹人大香焦视| av一区二区三区不卡| 色播五月丁香| 操逼网免费无码视频| 超碰在线人妻中文字幕| 日韩丨制服丨中文|在线| 青青青操| 91人妻丝袜无码| 美女的肌被草喷水视频| 桃色六月天| 男人的天堂色偷偷青青草视频婷婷网| 日本在线视频导航| 中国探花熟女| 91日韩在线| 亚洲激情综合| 伊人影院在线理论播放| 欧美 传媒 麻豆 日韩 偷拍| 爽爽歪在线视频| 嫩草 人人网精品| 人妻素股| 毛片一区二区| 成人性爱全视频观看| 又黄又爽在线观看视频| 99999re| 久操精品| 青娱乐淫乱1314| 逼逼逼逼操操操操操操操操操午夜剧场 | 国内毛片婷婷六月色| 91成人在线免费视频| 九九探花视频在线观看| 爱爱动态120秒| 久艹伊人精品综合在线| 一本色道人妻久久| 国产亚洲精品农村妇女| 一级黄碟在线观看| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 亚洲最大的综合性av| 五月天黄色激情视频| 蜜臀国产AV中文字幕| 色色99| 成人性交免费视屏| 欧美性爱精品一区二区| 9久精品视频在线观看| 亚洲欧美97| 91色伦| 日韩小电影| 97天堂| 狠狠操狠狠燥| 黑人操一区二区| 男人的天堂2019AV| 欧美黑人与女人91| 天天射夜夜| 一本精品日本在线视频精品| 免费毛片在线播放| 色悠久久久av| 国产99久久99热这里只有精品15 | 日本熟女免费視颖| 鸥美精品一区二区久久婷婷| www.色吧5.com| 亚洲欧美精品91| 久久香蕉国产线看观看亚洲女人 | 国产日产欧产美韩系列麻豆免费| 国产操逼视频在线观看| 亚洲国内精品成人不卡| 高清无码 国产精品| 91丨熟女丨丰满熟女| 一摸二插三插| 五月天色五月| 91天美| 欧美午夜色妇色鬼| 色噜噜人妻丝袜a∨先锋影| 热热色综合网| 色五月婷婷久久| 好爽视频在线观看视频| 手机不卡视频不卡在线一二三区| PMv在线观看| 少好三P| 色婷婷综合视频| 欧美色图99| 男人天堂一区二区| 亚洲日韩久久精品一区| 天天色综合图片| 国产精品一区二区校花| 青青五月天| 99re在线视频国产| 99热9| 久9re热视频这里只有精品| 亚洲色图激情小说| 美國A片| 久久大黄片| 偷拍视频青青草在线视频| 日本天堂网| 717影院理论午夜伦八戒| 收看日本人日bb| 曰本道人妻久久久在线不卡色视频| 久久精品人体| 色嘟嘟人妻天堂网| 久操精品网| 国产精品自在线发布| 中文久久| 亚洲少妇在线观看| 久久精品老司| 精品国产网站| 综合欧美激情网| 国产日韩手机视频在线| 欧美大香蕉久| 亚洲一区二区三区不卡国产欧美| 色色色日本| 动漫av中文| 亚洲色丰满少妇高潮| 激情终合网| 天天看特黄的免费网站| 日韩啪啪啪视频| 久草色悠悠在线视频| 超碰97资源大奶| 欧美日日夜夜| 国产精品视频播放| 欧美熟爽综合| 神马久久网| 天美传媒AV国产在线| 日本不卡码黄色| 水野优香在线观看| 人妻密肉在线观看| 国产白领连续中出在线观看| 久久熟女人| 色老汉色| 日本高清一本二本免费不卡| 国产精品午夜福利| 久久国产成人精品国产成人亚洲| se吧提供国产乱老熟视频胖女人| 天天综合网在线观看| 人人妻人人玩人人澡人人爽| 日韩成人精品| 一本道综合色图| 爽爽爽免费视频| 后入式999| 亚洲天天操| 亚洲综合色图欧美| 天天综合网~91| 亚洲黄色视频在线观看视频| 国模少妇一区二区三区| 亚洲成人一二三区| 97视频免费在线| 国产操逼视频在线观看| 超91综合网| 吻戏激情性巴克| 熟女高潮合集-永久久久-成人AV| 久久久久白虎| 成人自拍三级在线观看| 影音先锋国产精品| 欧美日韩亚洲五月天婷婷| 亚洲无码一区成人免费午夜| 丰满人妻一区二区三区性色| 人人透人人操| 97操97干| 国产操逼网站亚洲一级黄色| 国产精品交换一区二区| 亚洲小说视频| 国产激情在线| 中文字幕日本久久| 天天综合网~91综合网| 综合色好色| 欧美|91色综合| 婷婷15月天青娱乐| www.av在线视频| 三上制服丝AV| 91丝袜| 色女女女导航| 天天澡天天爽日日av| 蜜臀99久久国产| 久草大| 在线啊v一区| 美女的肌被草喷水视频| 亚洲一区二区三区婷婷| 大香蕉一线视频| 日韩精品三级片长长久久| 国产精品无码久久久久2028| 久久久久斤小| 欧美日综合| 深夜国产福利| 啊啊啊不要啊啊受不了了视频在线 | 亚洲欧美首页| 日本特黄f c2| 日本高清视频xxxx| 欧美黑人168页欧美黑人167| 91爆操视频| 亚洲欧美激情小说| 成人网址在线观看| 2024年最新色情网站在线观看| 麻豆精品A片免费观看| 亚洲a色| 精产国品一区二三产品| 国产精品白丝| 丰满人妻一区二区中文| 久久五月婷| 久久尹人大香焦视| 亚洲AV不卡在线观看尤物| 日本黄色大片一级视频免费麻豆| 日韩有码回春沙龙第一页| 性吧在线视频| 色香色欲天天综合网天天来吧| 97ai亚洲| 蜜桃久久久久久久久久久久| 人妻少妇精品一区二区三区| www.av在线视频| 亚州色综合| 久久亚洲色图中文字幕| 国产熟女少妇一区| 99久久9| 国产精品岛国片在线观看| 国产品精品自在在线午夜免费| 日本免费一区二区不卡 | 久久国产视频性吧| 二色av| 91日韩国产欧美亚洲另类精盘州至城都| 欧美人妻精品一区二区| 国产精品美女| 伊人麻豆传媒| 亚洲最新Av| 久久狠狠色噜噜狠狠狠狠97| 探花视频免费观看国产专区| 天美精品原创av片国产| 精品免费一区| 在线视频亚洲无码| 自拍偷拍第26| 上特色A在线| 青草精品视频日本久久久久网站在线| 9久精品视频在线观看| 男人天堂.AB| 爱射综合| 91热爆在线| 成人小说另类在线| 97干97色| 亚洲色婷婷久久91| 伊人91| 青青草国产欧美非洲黑人| 天天综合91入口| 久久爱97| 欧美日韩亚洲一区二区在线观看| 自拍偷拍 日韩无码| 91干熟女| 色狠人在线99| 天天干1区2区在线| 午夜性刺激视频免费观看| 视频国产成人精品日本亚洲18| 亚洲AV无码翔田千里网站| 色情婷婷| 99热大香蕉伊在线| 日韩三级伊人| 18禁的网站在线| 欧美色偷拍| 0755午夜福利视频| 丰满高潮18xxxx| 久热无码| 天堂av2019| 大香蕉综合久久| 91亚洲综合在线| 亚洲暴力强奸AV| 后入人妻一区| 94色色电影网| 国产成人无码久久精品| 成人精品视频| 五十路六十路七十路熟婆| 五月婷婷五月天| 九九九九九九综合| 国产精品女久久久久av爽| 影音综合网| 91麻豆天美| 国产乱码精品一区二区三区四川| 肥臀熟女福利视频一区二区| 天天干夜夜鈤| 大香樵伊人网| 性欧美91| 婷婷五月丁香五月| 欧美天天射| 97WW精品| 丁香色狠狠色综合久久小说| 麻豆天美国美国产| 天天摸夜夜摸| 久久岛国| 超AV色女| 无码高清操逼网址| 午夜啊啊啊| 青娱乐国产剧情av一区| 97日视频| av无码av无码专区| 日日AAvv| 激情五月天丁香社区| 色香天天| 欧美色图片91| 天天日天天干天天整| 美女十八禁| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 99国内精品| 精品视频一区二区| 天天色综合图片| 天天激情综合站| 欧美性高潮| 亚洲熟妇乱女区二区三区| 视频一区二区三区精品| 夜夜春夜夜操| 欧美日韩亚洲高清不卡一区二区三区| 思思久热在线精品66| 一区二区三区四区在线不卡| 中文字幕在线观看AV| 视频分类 国内精品| 91日韩国产欧美亚洲另类精盘州至城都| 日本一二区免费| 中文字幕日本久久| 国产高清免费不卡av| 亚洲精品久久一区二区三区蜜桃臀| 97人肏| 亚洲精品成人| 男人的天堂一区三区| 天天做日日做天天欢。| 中文字幕一品色图| 超碰在线99| 国产精品爱欲| 天美传媒AV在线| 精品女同一区| 天美国产精品| 日本一本道A级黄色毛片试看60分钟| 凹凸视频在线一区二区| 欧美九九九| 亚洲系列欧美| 欧美宗合色| 蜜桃中文字日产乱幕4区| 99热官网| 日韩 国产 欧美自拍| 亚洲中文sv| 啊啊啊在线看| 综合欧美日韩在线| 欧美大战久久久伊人| 91日韩网站| 99无码视频| 亚洲四虎熟女精品| 性爱乱伦视频免费| 国产亚洲精品久久久久小| 天天激情综合站| 欧美人妻久久精品二区三区| 欧美性生活免费网| 不卡免费av在线播放| 婷婷五月天激情网| 激情综合网激情五月天| 99久久com免费视频′| 人妻出轨一区二区三区| 亚洲成人妻日韩在线| 九热超碰| 性生活无遮挡纯毛片在线看| 欧美色91| 久草尤物| 一区在线观看中文字幕| 激情文学88| 操逼操操操91| 丰满人妻一区二区三区四| 男人天堂.AB| 黄网站黄视频网站进入口| 久久一本大香蕉 | 亚洲,欧美,综合网| 久久99久久99精品天美传媒棢·纸:.| 欧美欧美啪啪视频| 国产精品亚洲色婷婷久久久| 久久精视频美日韩在线视频| 四虎影库国产精品免费| 国产丝袜美腿美女麻豆| 97天天摸天天爽| 人人干人人搞人人摸| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 日韩中文字幕国产| 99综合网| 精品国产99| 99re久久| 一级@啪啪视频| 伊人大香蕉在线| 亚洲日韩精品一区二区| 久久久国产成人一区二区三区在线| 国产精品 午夜福利| 欧美 亚洲| 六十路日本| 国产丁香精品露脸视频| 亚洲暴力强奸AV| 淫乱图区 | 免费超碰97久久| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 色97干| 亚洲宗合网| 国产精品久久久 | 亚洲最大的黄色电影网站。| 久久一本大香蕉| www.av在线观看| 91久久久久| 日本性爱网址| 国产精品禁久久久精品| 欧美黄色大香蕉一区二区| 久久大香蕉97| 97亚洲综合电影| 亚洲AV麻豆Aⅴ无码电影一| 青青草在线成人视频| 小电影欧美91| 亚洲操操操| 九九九九热只有精品| 男人的天堂2018东京热啪啪啪| 久久黄人人爽视频| 欧美天堂日韩三级国产传媒| 97人人操人人摸人人爱| 伊人9| 岛国色情视频在线观看| 2017天天插| 天天干天天日天天射黄色片| 亚洲色欲天天人妻无码系列专区| 色欧洲| 国产欧美黑人丰满在线| 日韩偷拍色图| 麻豆视频国产一区二区| 超碰97综合在线| 亚洲天天影视色综合| 色婷五月天| 国产精品岛国片在线观看| 激情 欧美 亚洲 小说| 亚洲 欧美 综合 91| 欧美AB在线观看| 91狠狠综合久久久久久| 亚洲国产ⅴ高清在线观看| 久久久久久久97| 在线色资源| 国产乱码精品久久久久久| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 日韩免费簧片| 超碰在线人妻不卡| 操逼日韩无码| 一起草高清无码| 成人精品一区二区91毛片不卡| 久九九九| 屁股久久久久久| 亚州男人天堂| 日韩猛交| 九九碰九九爱97超碰| 校园春色 亚洲| 亚洲资源站| 亚洲深夜福利| www.人人摸在线视频| 夜夜操夜夜高潮夜夜爽国产精品区| 国产乱码精品久久久久久| 97爱欧美| 91天射| 97se亚洲| 我想要 啊 啊 啊| 男女一进一出视频久久| 国语av狠狠色丁香婷婷综合激情| 绯色一区二区三区不卡少妇| 操啊国产| 无码人妻精品酒店| 精品高潮| 亚洲阿v天堂无码z2018| 国产一区二区欧美日本| 在线国产探花| 日本一区二区三区精品| av在线人气| 亚州日韩97| 四虎av在线| 国产无码成人无码| 国产精品激情久久久久久久| 人人看人人摸人人色| 18一区二区三区| 中文三一区| 人人操肉肉| 大香蕉色十月| 亚洲女人毛茸茸91| 人人人摸人人| 爱妃国产亚洲视频中文字幕| 香蕉久久国产AV一区二区| 精品一久久久| 加勒比海色香蕉婷婷| 日本免费人成视频播放120秒| 色婷婷丁香五月天| 天天舔九色婷婷| 99精品无码| 亚洲 日韩 丝袜 熟女 变态| AV天天在线观看| 青娱乐蜜桃臀AV色婷| 999久久久免费精品国产牛牛| 中文字幕日本久久| 久久精品高清无码一区| 女人与公拘交酡2020视频| 国产 无码 一区二区| 欧美 熟女 日韩| 欧美中文字幕精品人妻| 精品一区二区三区蜜桃臀赵总 | 精品午夜福利国产一区二区在线观看| 992这里有精品| 天天操熟妇| 成人网址在线观看| 黄色成年| 狠狠爱综合| 亚洲91在线| 78综合网| 777AV电影| 久久精品国产97欧美精品亚洲 | 少妇二级| www.av家庭乱伦| 开心激情婷婷| 啊啊啊啊啊舒服| 久久婷婷五月天| 亚洲国产精品无码AV久久久| 亚洲国产剧情少妇激情| 91大神精品长腿在线观看网站| 97 国产一区| 精品区国产区一区二区三区| 欧美亚洲首页| 蜜桃中文字日产乱幕4区| 性爱av在线免费观看| 一区二区不卡视| 久久日本熟妇熟色高清| 69少妇一区二区| 亚洲第一男人天堂| 欧美性天天影视| 青娱乐亚洲自拍| 伊人网高清| 国产情色第一第二页在线观看| 人妻久久久久久| 亚洲中文字幕久久人妻| 97亚洲中文| 欧美 亚洲 综合 制服 另类| 插穴性爱视频在线观看| 亚洲乱妇p22| 十八禁电影伊人网| 午夜天堂网| 婷婷丁香六月| 色五月首页| 国产色精品午夜大片| 超碰97人妻免费在线| 人、人、摸,人、人、草| 亚洲熟女乱色一区二区三区久久久| wwe 天天干.com| 国产麻豆一级精品视频| 超碰在线观看av不卡| 久久久久久久久久9| 午夜九九| 日日妻色网| 五月天久久婷婷亚洲 | 人妻久久久久久| 亚洲黄网在哪免费看| 91精品人妻偷情| 懂色aV一区二区天美传媒| 国产一线二线三线av| 欧美伦乱| 国产精品久久久亚洲第一牛牛_在线观看 | 青草伊人久久| 久久精品成人| 欧美激情 亚洲色图| 玖玖综合网| 亚洲色天| 99热一区二区三区四区| 97超碰9| 少好三P| 老熟女天天操| 丝袜AV一区二区三区| 97在线免费| 日本性爱网址| 99操逼| 嗯嗯嗯嗯啊啊啊好紧好大| 色婷网| 狠狠干,狠狠操| 天美麻豆精品视频99| 亚洲欧美国产日本一区二区三区| 成人午夜无码视频| 久草视频分类在线| 欧美亚洲激情小说| 久久香蕉网| 好吊色一区| 欧美性暴力猛交| 偷拍 欧美 日韩| 91天堂色男人的天堂| 妺妺跟我一起洗澡没忍住| 按摩中文字幕| 亚洲在线综合| 日韩无码三级影院| 大香蕉伊人久久| 嗯~啊~快点 死我视频免费看网站| 蜜臀AV午夜精品久| 亚洲二区精品在线观看| 三级片大波波| 欧美白嫩女HD| 91成人高清在线观看| 上海一级黄片| 九九这里只有精品| 成人26uuu| 韩国三级理论在线| 一区三区啪啪| 神马视频久久久久久| 操香逼| 97综合网| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 久久二| 色色五月天激情| 97超碰影音| 久久久国产三级黄色片| 后入福利| www.91久久| 久久加勒比| 99激情| 日本熟妇浓毛hdsex| 国产精品久久9| 精品美女久久久久| 男人天堂.AB| 成人免费视瓶| 成人色女网| 9丨久久九九九| 亚洲情色电影网| 日日夜夜青青草母狗| 欧美人妻久久精品二区三区| 好吊妞转入那个网| 九九九精品美女| 九九久久99| 欧美色综合影院| 久久久久久999| 美女啊啊啊啊啊啊啊| 国产精品干干干| 日本在线伊人啪啪| 在线播放成人网站| 精品国产av一区二区三区四区入口| 欧洲自拍色图gif在线| 天天日少妇逼AV| 精品久久97| 欧美亚洲国产日本在线,久久精品国产| 黄片不用下载在线观看| 欧美日本成人一区二区| 九九九九九九九九九九九九九九九女| 无码人妻丰满热妇又大又粗| 97视频在线播放| 大干人妻| 午夜情侣自拍网站| 操屄不卡视频| 91在线超高颜值国产| 天天噜| 肉丝无码中文高清| 91美女在线精品视频| 翔田千里av一区二区三区| 亚洲精品三区在线观看| 久久精品一区二区| 五十路熟女,国产欧美精品区一区二区三区| 国产国产亚洲一二三久久| 国产中文大片资源中文字幕| 日韩精品一区二区人人人| 午夜久久久| 久久久久久亚洲精品中文字幕人妻| 中文字幕在线观| 久久宗合亚洲| 久久综合精品一区二区三区| 九九久久综合| 99激情视频| 91N欧美| 欧美日韩丝袜| 午夜大香蕉| 伊人婷婷五月天| 99re9在线| 国产原创精品| 亚洲 日韩 欧美 国产综合体| 东京热激情视频一二三区| 天天爱天天韩国日本牛牛牛牛 | 亚洲av综合色| 女人精品内射国产99| 欧亚 另类 久| 亚洲91射| 中文字幕丰满人妻日本|