DIY你的電子玩具:網絡音樂電臺,給你系統(tǒng)解決方案、軟硬件設計實現
一、項目概述
1.1 引言
網絡音樂電臺是指通過編碼器,將存儲器里面的音頻數據轉換成為可以在Internet上直接傳送的格式,而用戶登錄到電臺的網站時,可以播放經過編碼的音頻信息,音頻信息轉換成聲音播放出來。網絡音樂電臺不需要占用衛(wèi)星頻段和頻率資源。
1.2 項目背景
I P T V(Internet Protocol Television),也叫網絡電視,是指基于IP協議的電視廣播服務。該業(yè)務將電視機或個人計算機作為顯示終端,通過寬帶網絡向用戶提供數字廣播電視、視頻服務、信息服務、互動社區(qū)、互動休閑娛樂、電子商務等寬帶業(yè)務。IPTV的主要特點是交互性和實時性。主要存儲及傳送的內容是流媒體文件,基于IP網絡傳輸,用戶終端可以是IP機頂盒+電視機,也可以是PC。
而網絡音樂電臺正是基于I P T V 的一種新型應用,網絡上已有的音樂電臺如Last.fm, 豆瓣音樂電臺等都是大型服務器搭建的,不僅部署維護困難,而且造價昂貴。本項目的設計網絡音樂電臺正是為緩解這種狀況而產生的。
1.3 項目優(yōu)勢
首先,本項目基于AVR32 AT32UC3A低成本微處理器,免去了造價昂貴的PC或服務器,適合于廣大的網絡音樂電臺愛好者。
其次,由于采用的是低成本微處理器的嵌入式技術,因此功耗低,可24X7 小時不間斷工作,而且由于目標功能單一,不需要復雜的部署及維護,可以即插即用。
另外,本設計具有體積小,易于移動,能夠方便的隨身攜帶,因此可以滿足網絡音樂電臺愛好者隨時隨地進行網絡廣播的需求,擴大了交流寬度和廣度。
二、需求分析
2.1 功能要求
本項目的初步目標是實現一個網絡音樂電臺,能夠提供用戶通過Internet 訪問并點播音樂功能,管理員(網絡音樂電臺所有者)可以通過網絡登陸并管理網絡音樂電臺,網絡音樂電臺所有者能夠進行實時廣播?;疽笕缦滤荆?/p>
1. 當上電或用戶復位后所有AVR32位單片機配置能夠自動設置好,并正常工作;
2. 網絡連接通過板卡上的Etnernet 接口實現,并且相關的IP地址,子網掩碼(Submask),網關(Gateway)等網絡配置能夠通過DHCP(Dynamic Host Configuration Protocol)自動實現。
3. HTML源文件及網絡音樂電臺所能播放的音頻應該存放在外部存儲器上,以方便用戶修改,而且須通過USB接口來實現讀寫。
4. 網絡音樂電臺所有者能夠通過網絡認證后遠程進行網絡音樂電臺管理,包括添加管理員,更新存儲器上的音頻文件和HTML源文件。
5. 網絡音樂電臺所有者能夠通過Microphone 進行實時的在線廣播及錄制,并且能夠播放以進行檢查。
6. 為了方便使用,相關的網絡信息(如IP地址,網關(Gateway)等)及播放音頻等信息應該顯示在TFT上。
2.2 性能要求
本項目設計的產品-------網絡音樂電臺,應該能夠在24X7小時不間斷工作條件下,保持穩(wěn)定運行。而且能夠滿足使用者隨時移動的要求。
三、方案設計
3.1 系統(tǒng)功能實現原理
系統(tǒng)硬件結構框圖如下所示:
從上圖可以看到,整個系統(tǒng)由四大部分組成,分別是網絡服務器,USB及存儲控制部分,TFT控制部分,音頻處理部分。
3.2 硬件平臺選用及資源配置
(1)網絡服務器
網絡服務器是最重要的部分之一。實現了AVR32與Internet的通信協議,接受用戶的請求并根據Http_Request()的返回值使用Http_Response()來與用戶進行交互,例如顯示音樂曲目列表,或者傳送網絡音樂電臺所有者實時錄制的音頻。
下圖是簡化了的Web服務器原理圖,服務器的事物邏輯部分是嵌入式服務器的核心部分,它根據不同的Http Socket來讀取存儲器上的HTML源文件或音頻文件,來響應用戶的請求,這是網絡音樂電臺的基礎。
(2)USB及存儲控制
USB及存儲控制部分是整個系統(tǒng)中僅次于嵌入式Web服務器的重要模塊,它主要用來存放網絡音樂電臺管理員編寫的HTML源文件,提供給Web服務器來響應用戶的請求,以及能夠提供給用戶點播的音樂文件。存儲器的讀寫可以利用AVR32位單片機上的USB Host來方便的實現。
其示意性原理框圖如下所示:
(3)TFT控制部分
同時與AVR32 位單片機相連的TFT用來顯示嵌入式Web服務器的網絡連接信息以及網絡音樂電臺當前播放的音頻。嵌入式Web服務器的網絡連接信息不僅包括當前IP地址,網關等基本網絡信息,還包含了當前用戶連接數,用戶的Web請求等。管理者可以根據這些基本的信息來判斷當前Web服務器的工作狀態(tài),以及系統(tǒng)錯誤的檢查。同時能夠能夠根據網絡音樂電臺管理員操作顯示不同信息。
LCD顯示內容的總體布局如下圖所示:
(4)音頻處理部分
音頻處理部分也是網絡音樂電臺系統(tǒng)中重要的一部分。音頻處理部分完成的主要任務包括:根據網絡音樂電臺管理員操作播放實時錄制音頻或存儲器器中的音頻;存儲通過Microphone輸入的音頻。
其示意性原理框圖如下所示:
3.3系統(tǒng)軟件架構
網絡音樂電臺系統(tǒng)軟件主要有四部分組成,分別對應前文中硬件四部分。其中WebServer ,USB Controller,主要使用FSM實現。
3.4 系統(tǒng)軟件流程
程序流程圖如下所示:
系統(tǒng)整體工作流程: 首先系統(tǒng)上電后進行一系列的初始化, 包括網絡控制器的配置, USB控制器的配置及存儲器的枚舉, TFT清屏, 音頻芯片的初始化等; 然后系統(tǒng)等待用戶的網絡請求, 有則轉到網絡服務器狀態(tài)機中執(zhí)行相關的操作, 完成后繼續(xù)等待; 如果沒有請求則檢查是否有Microphone的輸入請求, 如有則進行相關的音頻錄制及播放等操作, 沒有則返回并繼續(xù)等待并輪詢Microphone的輸入請求。