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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1744|回復: 2
打印 上一主題 下一主題
收起左側

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)





分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1064915 發表于 2023-12-29 08:29 | 只看該作者
單片機實現重低音鼓,實在是高
回復

使用道具 舉報

板凳
ID:433219 發表于 2023-12-29 10:12 | 只看該作者
注意:圖中零件不是隨便取的,是經過精心計算的,無源一階低通、有源二階低通的截止頻率和Q值都不同,兩者串聯才能得到最終的輸出響應。
最難折騰的就算這部分了吧?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产99久久久国产精品下药 | 99久久99| 国产一二三视频在线观看 | 日韩视频一区 | 亚洲欧美在线视频 | 亚洲一区二区三区在线免费 | 亚洲自拍偷拍视频 | 日韩中文视频 | 91在线最新| 碰碰视频| 91av视频在线 | 日韩高清中文字幕 | 亚洲精品区| 亚洲一区二区三区免费观看 | 欧美视频在线播放 | 日韩α片 | 欧美手机在线 | 国产综合第一页 | 91免费看片 | 精品一区二区久久久久久久网站 | 国产成人小视频 | 亚洲 自拍 另类 欧美 丝袜 | 国产精品mv在线观看 | 97久久久久久 | 国产精品精品视频一区二区三区 | 国产精品国产成人国产三级 | 欧美午夜一区二区三区免费大片 | 国产精品综合一区二区 | 国产人成精品一区二区三 | 九色在线| 999视频在线播放 | 久久久国产一区 | 丁香婷婷久久久综合精品国产 | 一区中文| 国产精品视屏 | 色婷婷av99xx | 中文字幕av在线播放 | 中文字幕一区二区三区四区 | 国产精品成人一区二区三区夜夜夜 | 亚洲精品久久久9婷婷中文字幕 | 在线午夜 |