基於Cortex M3的音頻播放器的設計

2020-12-20 電子產品世界

隨著科學技術的發展,MP3這一產品的技術越來越成熟,MP3現在以外形精緻小巧,功能的的多樣性,且抗震省電等特點得到了廣大消費者的喜愛,且MP3歌曲可以隨時自由下載,更是將MP3的使用達到極大的普及,豐富了人們的文化生活。

本文引用地址:http://www.eepw.com.cn/article/201609/303781.htm

系統採用TI公司新推出的Cortex M3系列微控制器LM3S9B96。該晶片使用高性能的ARM Cortex-M3 32位的RISC內核,工作頻率為80 MHz。完全滿足音頻文件的讀取、解碼、播放等功能。改進了市場中流行的MP3由於播放文件格式單一、人機界面的單調的缺陷。

1 系統總體設計

系統總體設計如圖1所示,以TI公司的微處理器LM3S9B96為控制核心,通過讀取SD卡*.mp3、*.wma、*.wav等格式的音頻文件,然後通過音頻解碼晶片VS1003實現解碼,最後通過外部音頻功放完成放大,推動揚聲器工作。LCD觸控螢幕主要完成所播放歌曲名稱的顯示和人機互動功能。系統由ARM微處理器控制核心、音頻解碼模塊、功率放大模塊、SD卡存儲模塊、人機互動模塊等組成。系統框圖如圖1所示。

2 硬體系統設計

2. 1 Cortex M3 LM3S9B96微處理器

LM3S9B96是TI公司最新推出的基於ARMv7體系架構的處理器核,主要實現對SD卡音頻格式文件的讀取、然後將音頻文件發送到外部音頻解碼晶片VS1003。人機互動功能中的觸控螢幕控制所包括的作業系統移植及應用軟體的執行均是通過該處理器來完成。

2.2 音頻編解碼器及與控制器的硬體連接

音頻解碼晶片VS1003採用芬蘭VLSI公司出品的一款單晶片的MP3/WMA音頻解碼晶片,其內部集成一個高性能低功耗的DSP處理器核,來實現將SD卡裡的音頻數據流讀出並進行解析、轉化成模擬信號輸出。同時,微控制器通過SPI接口發出命令控制字實現對VS1003晶片的功能控制,如初始化、暫停、音量控制、播放時間的讀取等。其與LM3S9B96的硬體連接連接如圖2所示。

2.3 SD卡與微控制器LM3S9B96的硬體連接

系統中SD卡通過SPI接口與LM3S9B96進行連接,其主要實現MP3音頻文件的存儲,其電路連接如圖3所示。

2.4 觸控螢幕模塊功能與微控制器LM3S9B96的硬體連接

LCD觸控螢幕採用SSD1298驅動控制器和ADS7843觸控螢幕控制晶片實現LCD的顯示和觸摸功能。其顯示功能主要包括:MP3文件名的顯示、歌詞顯示功能及一些附助信息,主要完成人機對話。觸控螢幕控制晶片ADS7843 LCD觸控螢幕和LM3S9B96的電路連接、如圖4所示。

2.5 LCD觸控螢幕與μC/GUI

μC/GUI是一種嵌入式應用中的圖形支持系統。其適用於任意LCD控制器和CPU下任何尺寸的真實顯示或虛擬顯示。為了方便對LCD觸控螢幕的控制,在LCD中繪製各種窗口,做出友好的人機互動界面,方便客戶的操作,在μC/GUI中提供了內存管理、視窗管理器、各種常用的控制項、字體管理、文本輸出、圖形繪製等功能,開發者藉助輔助開發工具很容易生成用戶所需要的圖形界面,大大縮短了開發時間。

其運行界面如圖5所示。

3 系統軟體設計

系統軟體設計分為三部分。

1)μC/OS—II作業系統。μC/OS—II是一個支持多任務的作業系統,本次設計將創建3個任務,觸控螢幕任務、圖形界面任務和音樂播放任務,系統移植的μC/OS—II來實現任務的調度、任務切換和信號量處理。

2)μC/GUI圖形用戶接口,μC/GUI是一種嵌入式應用中的圖形支持系統,本設計中用移植了μC/GUI來實現音頻播放器的操作界面。

3)數據存儲方面,播放MP3時,系統採用FatFs文件系統讀取存儲在SD卡中的MP3數據。

3.1 μC/OS-Ⅱ作業系統

μC/OS—II是嵌入微處理器的作業系統,它是實時作業系統,具有任務管理,文件管理,設備管理的底層支持。μC/OS—II具有執行效率高、佔用空間小、實時性能優良和可擴展性強等特點,最小內核可編譯至2 KB,它適用於多種微處理器,微控制器和數字處理晶片,已經移植到了幾乎所有知名的CPU上。要使μC/OS-Ⅱ能正常運行,處理器必須滿足以下要求:

1)處理器的C編譯器能產生可重入代碼。

2)處理器支持中斷,並且能產生定時中斷(通常在10~100 Hz之間)。

3)用C語言就可以開關中斷。

4)處理器支持能夠容納一定量數據(可能是幾千字節)的硬體堆棧。

5)處理器有將堆棧指針和其它CPU寄存器讀出和存儲到堆棧或內存中的指令。

本系統主要是將μC/OS—II移植處理器上需要修改3個ARM體系結構相關的文件:OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C進行了操作。移植包括以下幾步:

1)用#define設置一個常量的值 (OS_CPU.H)

2)聲明10個數據類型 (OS_CPU.H)

3)用#define聲明3個宏 (OS_CPU.H)

4)用C語言編寫6個簡單的函數 (OS_CPU_C.C)

5)編寫4個彙編語言函數 (OS_CPU_A.ASM)

3.2 μC/GUI的移植

對於μC/GUI圖形系統應用不管什麼目標系統,大部分的圖形應用開發系統都可以在模擬器下運行,但最終的目的還是要在目標系統上運行。因此在移植?C/GUI的時候,目標系統必須具備如下幾點:

1)CPU(8/16/32/64位)

2)必要的RAM和ROM存儲

3)LCD顯示器(任何類型及分辯率的)

本次移植過程分為以下幾個步驟進行:

相關焦點

  • ARM7、ARM9、ARM11、ARM-Cortex系列的關係
    ARMv4架構的ARM7TDMI),Cortex-M比ARM7的架構高了3代,性能也有較大提升,所以新的設計推薦使用Cortex-M,關於從ARM7到Cortex-M的移植詳見ARM官網指導 ARM7處理器系列。
  • 基於ARMcortex A8的三星移動應用處理器S5PC100
    基於ARMcortex A8的三星移動應用處理器S5PC100 為客戶量身定製專業的解決方案,包括硬體平臺設計(原理圖和PCB設計)、作業系統定製、驅動程序開發和應用軟體開發等等。在本次IIC-China展會中,友堅恆天科技以三星S5PC100--基於ARMcortex A8的移動應用處理器憑藉高的性價比吸引著參展者的目光。
  • 基於Cortex―M3的自動氣象站設計
    摘要:設計了一種氣象數據採集系統,該系統能採集溫度、溼度、氣壓、風速4個氣象要素,採集的原始數據保存在本地SD卡中,同時對採集數據進行數據處理,處理後的數據打包成氣象數據包,
  • Arm技術文檔分享|Cortex-M 系列處理器Cortex-M3 DesignStart FPGA...
    DesignStart FPGA-Xilinx Edition文檔集:Revision: r0p01.Arm Cortex-M3 DesignStart FPGA-Xilinx edition User Guide附件包含文檔如下:1.arm_cortex_m3
  • 基於CORTEX-M3的多機通信網絡的設計與實現
    CORTEX—M3是基於ARM7架構的處理器內核,採用哈佛架構,其功耗低,性價比高。在多機通信網的設計中,經過需求分析,提出並設計了一種基於CORTEX—M3的多機通信網絡。設計中,CORTEX—M3用做系統終端,作為主機和從機。從機負責前端系統的各類數據測量,主機作為控制端,負責各從機測量信息的採集,並通過網絡實現對從機的控制。
  • FiiO M3便攜音樂播放器:回歸簡單聽歌的小可愛
    HiFi這一專業音頻術語對於如今的我們而言,早已不再是什麼陌生詞彙,倒不是人人都修成了金耳朵發燒友,而是見多了但凡和音質沾邊的東西就喜歡用HiFi來貼金。於是乎有了99元的圈鐵神器,有了汪老師的信仰耳機,然後每部音樂手機都可以自詡為HiFi而生。
  • 智能家居基於Cortex-M3/M0的感知與控制子網設計
    NXP Cortex-M3/M0系列ARM微處理器的優異性能,低廉的價格為這樣的設計開發提供了良好的條件。1 系統體系結構物聯網智能家居系統如圖1所示,它實際上是一個分布式測控系統。3.2 CAN總線感知/控制模塊CAN感知/控制模塊均選用基於Cortex—M0的LPC11C14/24。LPC11C14內部集成有一個CAN控制器,而LPC11C24是在LPC11C14的基礎上集成了一個CAN收發器TJF1051。
  • 基於ARM Cortex-M3的MODBUS協議實現及其應用
    摘要 針對變頻器通信應用,介紹了MODBUS協議的特點及其組成;設計了RS485電路接口;並以ARMCortex-M3微控制器為核心,設計了MODBUS協議的實現方案。
  • 基於音頻功放集成晶片LM4766實現高保真音頻功放器的設計
    基於音頻功放集成晶片LM4766實現高保真音頻功放器的設計 劉燕妮,隋俊傑,李 發表於 2020-12-15 11:46:00 本文設計了以AB類音頻功放集成晶片LM4766
  • 進階級播放器的新高度,山靈M3s體驗
    山靈M3s是一款音頻架構設計規格極高的音樂播放器,整體配置均衡沒啥短板。加上本身出眾的顏值,和吸引人的售價,造就了M3s被很多燒友所關注。M3s的配件主要有:兩幅前後貼膜、Hi-Res金標、川宇讀卡器、USB type-C數據線、多國語言說明書、快速開始指南、保修卡。
  • 基於FPGA的可選擇不同頻率的音頻發生器設計方案
    打開APP 基於FPGA的可選擇不同頻率的音頻發生器設計方案 發表於 2018-02-08 03:45:00 EDA技術是指以計算機為工作平臺,融合了應用電子技術、計算機技術、信息處理及智能化技術的最新成果,進行電子產品的自動設計。
  • 索尼最強隨身音頻,只要六萬塊,請了解一下
    醇音系列,是索尼為了滿足發燒友對理想音效的追求,由索尼工程師和設計師通力合作的索尼旗艦音頻產品,它是索尼在音頻設計道路上的標杆,既樹立品牌又展現索尼對音頻設計的無盡追求。在索尼官網上——」索尼在醇音系列(Signature Series)的答案是能夠展現聲音的細節。
  • 好看又好聽的HiFi音樂播放器:HIFIMAN R2R2000紅衣太子評測
    ▲如果對這款播放器有一定的了解的話,那麼你一定知道其實R2R2000是HIFIMAN推出的一個系列產品,共包含了黑太子、紅衣太子兩款產品,這兩款播放器在外觀設計、尺寸方面採用了一致的設計,只不過在色彩與內置的晶片方面有所不同,相對於更為高端的黑太子而言,擁有紅色外殼的紅衣太子更具活力一些。
  • 能力爆表的無損音樂播放器:山靈M3X上手體驗
    看完了正面,咱們再來看看山靈M3X的背部設計。背部它採用了整塊的玻璃背板設計,並且有雙金標加持(Hi-Res、Hi-Res Wireless認證)。出廠時還貼了膜,可以很好地防止使用過程中劃傷玻璃面板。玻璃背板的設計讓我很是驚喜,玻璃面板提升了整個播放器的氣質,讓它的顏值得到了進一步的提升。
  • 基於漿骨比的現代混凝土配合比設計
    最後,通過推導,得出基於漿固比的現代混凝土配合比設計解析計算式。;基於漿固比的現代混凝土配合比設計方法實現了「科學」與「實用」的完美統一,所有配合比參數的選擇均由實際工程混凝土性能指標計算得出,且設計過程耗時短,優化靈活度高,宜在現代混凝土設計與製備中廣泛應用。
  • 採用ARM Cortex-M3單片機和DSP的逆變電源設計
    許多IPS產品因遵循傳統設計而不符合或落後於現代電源理念,突出表現為控制模塊的單一複雜化,控制器晶片落後且控制任務繁重,模擬閉環控制而得不到理想的監控和反饋調節效果,並由此帶來單個控制設備軟硬體設計上的隱患,這對IPS電源輸出造成不利影響,甚至對用電設備因為供電故障而導致災難性後果。
  • ARM Cortex系列(A8/A9/A15/A7) NEON多媒體處理SIMD引擎優化
    Cortex-A9的NEON多媒體處理器是基於ARMv7的SIMD(Single Instruction Multiple Data)和向量浮點VFPv3(Vector Floating-Point)指令集的,在具體的晶片設計中NEON組件是可選的,NEON處理器是面向音頻、視頻編解碼器、
  • 山靈M2x是無線時代播放器的新嘗試
    高清音頻播放器在我們的印象中一直都是國磚或者一些發燒友隨身攜帶高端的聽音設備,似乎離我們很遠,也與主流消費群體格格不入。但隨著無線化的發展,更便攜的藍牙耳機、隨時隨地都能享受音樂的在線流媒體軟體更是不斷蠶食高清播放器市場。
  • 基於矩陣乘法器的MP3音頻解碼系統的優化設計
    MP3音頻編碼器複雜,壓縮率很高,但其音色和音質還可以保持基本完整,因此該音頻格式文件在計算機、網絡和各種電子設備上都得到了廣泛運用。由於MP3音頻解碼相對比較複雜,為了達到在控制成本的範圍內實現快速解碼的要求,提出了在SoC上通過增加矩陣乘法器運行快速的兩個16點DCT算法,進一步提高MP3解碼速度的可行性方案。
  • Cortex-M3簡介
    譚軍舉例說,在工控領域,用戶要求具有更快的中斷速度,Cortex-M3採用了Tail-Chaining中斷技術,完全基於硬體進行中斷處理,最多可減少12個時鐘周期數,在實際應用中可減少70% 中斷。概述單片機的另外一個特點是調試工具非常便宜,不象ARM的仿真器動輒幾千上萬。