久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 51 開源 180MHz-PWM-播放立體聲音樂@STC32G12K128, USB-CDC實時傳輸音頻 [打印本頁]

作者: STC新未來    時間: 2023-11-20 17:14
標題: 51 開源 180MHz-PWM-播放立體聲音樂@STC32G12K128, USB-CDC實時傳輸音頻
51 開源 180MHz-PWMA-播放立體聲音樂@STC32G12K128, USB-CDC實時傳輸音頻
WAV播放程序使用說明
1、簡介
建議用戶直接下載"Objects"里的"audio-play.hex"測試. 下載時選擇主頻30MHz
WAV播放器使用STC32G12K128運行,MCU內部HIRC工作于30MHzPLL180MHzPWM時鐘,6分頻30MHzCPU-系統時鐘。
兩路HS-PWM工作時鐘為180MHzPWM周期為4097,輸出PWM頻率大約為44KHz(CD采樣率44.1KHz相近),占空比為12位。
本播放程序支持以下WAV文件的播放,由【STC-ISP | 調試接口 |播放WAVE】界面通過 USB-CDC 虛擬串口/就是串口下傳音頻數據:
支持PCMADPCMA-Law
支持16位無壓縮(CD音軌)WINDOWS PCM格式,單聲道或雙聲道采樣率最高支持44.1KHz
支持IMA-ADPCM格式,單通道或雙通道采樣率最高支持44.1KHz
支持A-law(A)格式,單通道或雙通道采樣率最高支持44.1KHz
語音解碼算法可能看似跟網上的有差異,但算法實際是一樣的,我只是將其簡化操作而已。各種算法可以網搜相關知識,但不在本文討論之列。
2、輸出濾波電路
輸出PWM要經過低通濾波器獲得光滑的模擬信號輸出,請參考下圖的電路:3階巴特沃斯低通濾波器。

PWMA1P--P1.0左聲道,    PWMA3P--P1.4右聲道。
左右聲道完全一致,以左聲道為例,PWM信號經過R1R2分壓適當衰減后與C1組成第一階RC低通濾波,將變化陡峭的PWM的高頻諧波濾除,再送到運放組成的二階低通濾波電路濾波輸出,就得到模擬信號,經過C4隔直后得到交流信號,從3.5mm的立體聲插座輸出。用戶可以用SPWM輸出一個1000Hz正弦波來評估其性能。
上圖參數為對應16KHz采樣的輸出,轉折頻率為不超過采樣頻率的一半即可。
要改成別的采樣頻率,則按比例改變電容即可,電阻不變。
注意:圖中零件不是隨便取的,是經過精心計算的,無源一階低通、有源二階低通的截止頻率和Q值都不同,兩者串聯才能得到最終的輸出響應。
模擬濾波器相關的知識不在本文討論范疇,用戶可以自行復習模擬電子技術基礎的相關章節。

3、使用“屠龍刀三”核心板驗證
本程序使用STC公司的“屠龍刀三”核心板驗證,用戶可以自行修改到自己的系統上。
與“屠龍刀三”核心板的連接:
將上述的P1.0P1.4VCCGND連接到核心板的對應焊盤即可,最好斷開板上R107R108兩個0歐姆電阻,避免其電路影響PWM信號。
板上的P3.2按鍵為播放鍵,P3.3按鍵為停止鍵。
P2.7為每個采樣解碼時間指示(高電平時間),用示波器觀察。
P2.0為播放指示燈,正在播放時輸出低驅動LED亮。
P2.1CDC接收數據包指示,每收到一包(64字節)就取反一次,下傳數據一塊為1024字節,分16個包傳輸。
P2.4MCU請求PC傳輸數據的提示,從請求開始P2.4輸出高電平,之后收到第一包數據(64字節)輸出低電平,用示波器觀察。
4、下載程序
下載程序和CDC通信均使用板上TYPE-C接口實現。打開STC-ISP V6.92G或更高版本。
打開程序文件,即打開"Objects"里的"audio-play.hex"文件。

USB TYPE-C延長線將“屠龍刀三”核心板與PC連接,持續按下P3.2按鍵,短按OFF鍵釋放,1秒后釋放P3.2按鍵,STC ISP就能自動識別到設備:

點擊下載按鈕,將程序下載到MCU中。

5、播放設置

此時STC ISP已能自動識別播放程序的CDC通信口,下圖的“掃描”里顯示的就是CDC串口。

點擊“STC調試接口”,選擇“播放Wave(P)”,見下圖:

點擊“打開Wave”,選擇要播放的Wave文件。
Wave文件信息里會顯示文件的重要信息:
    文件格式,目前只支持:1-PCM6-A law17-IMA ADPCM3種類型。
    通道數:1表示單聲道,2表示立體聲。
    采樣率:不用解釋。
    采樣位數:就是一個采樣點的位數,用戶不用關心。
    數據大小:即聲音的字節數。
設置數據發送模式里的“每個數據包的大小(字節)”為1024
勾選“第一包數據發送WAVE文件信息”
選擇“應答式發送”。
點擊“發送Wave數據”。

之后,按一下板上的P3.2鍵開始播放,MCU請求的第一個數據包為14字節的上述文件信息,大端模式。
   Byte0Byte1WAV類型,0x0001-->PCM0x0006-->A Law0x0011-->IMA ADPCM
   Byte2:聲道數,1(單聲道)或2(立體聲)。
   Byte3:采樣位數,用戶不用理會。
   Byte4~Byte7:采樣率,Hz
   Byte8~Byte11:數據長度(字節數)。
   Byte12~Byte13BLOCK長度(ADPCM使用)
后面請求發送的都是音頻數據包,程序根據文件格式進行處理后送去PWM播放出聲音。
輸出的聲音要接功放和音箱才能聽到傳真度不錯的音樂,使用32KHz44.1KHz的采樣格式,普通音響將難以分辨其與320Kbps碼率的MP3的音質有啥差別。

6、通信查詢速度適配
文件格式不同,采樣率不同,就有不同的數據率,數據率越高,對通信的速度要求就越高。但是通信速度高,PCCPU占用率就高,這必須要平衡一下。

點擊串口助手“更多設設置”,在“響應接收時間(查詢周期)”的輸入框中,根據數據率輸入合適的值,時間短通信速度快,但電腦PC占用率會加大。

下面為參考的時間設置:
PCM  采樣率    響應接收時間     數據率
    44.1KHz       0ms        176.4KB/S
     32KHz     1ms2ms     128KB/S
     16KHz     4ms5ms      64KB/S

ADPCM 采樣率    響應接收時間     數據率
    44.1KHz       5ms           44.1KB/S
      32KHz      10ms            32KB/S
     16KHz       10ms            16KB/S

A law 采樣率    響應接收時間     數據率
    44.1KHz    2ms3ms        88.2KB/S
     32KHz     4ms5ms         64KB/S
     16KHz       10ms            32KB/S


最后,將HIFI功放打開,8寸迷宮式二單元書架箱安排上,將重低音開最大,聽著圓潤的歌聲和直拍心口的重低音鼓,等待隔壁鄰居來敲門!


30A-HSPWMA-播放立體聲音樂-CDC實時傳輸音頻流-180MHz.rar (663.52 KB, 下載次數: 21)






作者: joyb    時間: 2023-12-29 08:29
單片機實現重低音鼓,實在是高
作者: wkman    時間: 2023-12-29 10:12
注意:圖中零件不是隨便取的,是經過精心計算的,無源一階低通、有源二階低通的截止頻率和Q值都不同,兩者串聯才能得到最終的輸出響應。
最難折騰的就算這部分了吧?




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 一级视频在线免费观看 | 国产成人精品a视频一区www | 亚av在线 | 91在线第一页 | 亚洲成人一级 | 欧美一级三级在线观看 | 青青草亚洲 | 久久久国产一区二区三区四区小说 | 中文字幕国产第一页 | 国产高清在线观看 | 91久久精品一区二区二区 | 精品一区二区三区免费视频 | 亚洲成人播放器 | 亚洲电影在线播放 | 午夜影视免费片在线观看 | 波多野吉衣久久 | 免费一区| 玖玖综合网 | 国产午夜av片 | www.日本在线播放 | 欧美日韩一区二区三区四区 | 久久色视频 | 亚洲国产精品99久久久久久久久 | 黄频视频 | 国产色| 久久久久国产精品www | 日日操夜夜摸 | 国产在线一区二区三区 | 日韩欧美一区二区三区 | 国产欧美在线播放 | 日韩在线不卡 | 在线免费观看欧美 | 午夜国产精品视频 | 视频一区 国产精品 | 久久久久国产精品 | 欧美11一13sex性hd | 日本特黄a级高清免费大片 成年人黄色小视频 | 91视频观看 | 欧美日韩不卡 | 草草在线观看 | 一区二区三区av |