當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]摘要:針對一般嵌入式播放系統(tǒng)無網(wǎng)絡(luò)功能,提出一種網(wǎng)絡(luò)播放系統(tǒng)硬件平臺設(shè)計方案。該方案采用ARM Cortex-M3構(gòu)架的LM3S1138作為主控制器,以USB控制器CH375、網(wǎng)絡(luò)器件ENC28J60和音頻解碼器VSl003作為外圍器件,采用μ

摘要:針對一般嵌入式播放系統(tǒng)無網(wǎng)絡(luò)功能,提出一種網(wǎng)絡(luò)播放系統(tǒng)硬件平臺設(shè)計方案。該方案采用ARM Cortex-M3構(gòu)架的LM3S1138作為主控制器,以USB控制器CH375、網(wǎng)絡(luò)器件ENC28J60和音頻解碼器VSl003作為外圍器件,采用μC/OS作為操作系統(tǒng)。并給出系統(tǒng)軟件的設(shè)計方法,包括設(shè)備驅(qū)動程序設(shè)計和應(yīng)用程序設(shè)計。通過測試,該系統(tǒng)能流暢下載和播放網(wǎng)絡(luò)歌曲,并能廣泛應(yīng)用于家電產(chǎn)品、車栽電子產(chǎn)品和公共廣播場所。
關(guān)鍵詞:嵌入式系統(tǒng);ARM Cortex-M3;以太網(wǎng)接口;APl;應(yīng)用程序

    隨著網(wǎng)絡(luò)應(yīng)用的普及,為普通嵌入式系統(tǒng)增加網(wǎng)絡(luò)功能,能更好滿足消費者對網(wǎng)絡(luò)資源的需求。這里采用基于ARM Cortex-M3的微控制器LM3S1138實現(xiàn)一種具備網(wǎng)絡(luò)功能的播放終端系統(tǒng),該系統(tǒng)不僅具有良好的播放效果,還可從網(wǎng)絡(luò)音樂服務(wù)器上點播音樂并實時播放。

1 網(wǎng)絡(luò)播放系統(tǒng)的設(shè)計方案
    該網(wǎng)絡(luò)播放系統(tǒng)由服務(wù)器、用戶終端和音響設(shè)備組成。其中,服務(wù)器通過以太網(wǎng)提供音樂資源,用戶終端通過網(wǎng)絡(luò)下載音頻數(shù)據(jù)再實現(xiàn)音頻解碼,音響設(shè)備實現(xiàn)音樂播放。圖1給出該系統(tǒng)設(shè)計框圖。


    該系統(tǒng)設(shè)計采用基于ARM Cortex-M3的控制器LM3Sll38作為主控制器。該控制器改進(jìn)了代碼密度,減少中斷延時,實現(xiàn)Thumb-2指令集,并具有更低功耗,適用于嵌入式微處理器;網(wǎng)絡(luò)模塊采用以太網(wǎng)控制器ENC602J28;音頻編解碼器采用VSl003,該器件擁有自主產(chǎn)權(quán)的DSP處理器核,具有高性能、低功耗等特性;并采用USB總線接口器件CH375擴(kuò)展存儲模塊。支持海量存儲。
    將嵌入式實時操作系統(tǒng)μC/OS-II移植到主處理器上,實現(xiàn)多任務(wù)的調(diào)度管理。系統(tǒng)工作時,通過操作播放器上的配置按鈕,設(shè)置服務(wù)器和用戶終端的相關(guān)網(wǎng)絡(luò)配置,點擊播放器中的連接按鈕,發(fā)送連接服務(wù)器請求,服務(wù)器收到用戶終端的連接請求,驗證終端帳號正確后開始網(wǎng)絡(luò)連接,向用戶傳送點播的資源列表,用戶終端在播放器界面顯示列表,此時,用戶可以選擇點播的歌曲,然后將音樂文件下載到存儲設(shè)備中,下載完畢后,服務(wù)器關(guān)閉網(wǎng)絡(luò)連接,播放器就可播放已下載歌曲。[!--empirenews.page--]

2 系統(tǒng)硬件模塊設(shè)計
2.1 以太網(wǎng)接口
    ENC28J60是獨立的以太網(wǎng)控制器,采用業(yè)界標(biāo)準(zhǔn)的SPI串行接口,具有10 Mb/s SPI接口,符合IEEE802.3協(xié)議,內(nèi)置10 Mb/s以太網(wǎng)物理層器件(PHY)及介質(zhì)訪問控制器(MAC)。另外,它還具有可編程8 KB雙端口SRAM緩沖器,此緩沖存儲器具有靈活可靠的數(shù)據(jù)管理機(jī)制,以高效方式進(jìn)行信息包的存儲、檢索和修改,以減輕主控器件的內(nèi)存負(fù)荷。


    圖2為網(wǎng)絡(luò)接口硬件連接示意圖。ENC28J60通過SPI總線實現(xiàn)與LM3Sll38的數(shù)據(jù)傳輸,CS為片選信號,SCLK為時鐘信號,MOSI/MISO為數(shù)據(jù)傳輸串口。此外,ENC28J60還與網(wǎng)絡(luò)變壓器HR901l70A相連,引出剛45接口。
2.2音頻接口
    VSl003音頻編解碼器為VSl0XX系列第3代產(chǎn)品,包括MP3/WMA/MIDI解碼和ADPCM編碼2個單器件。其內(nèi)置有高性能、低功耗的DSP處理核(VSDSP),工作內(nèi)存,可供用戶程序使用的5.5 KB RAM,串行SPI總線接口,高質(zhì)量的采樣頻率可調(diào)的過采樣D/A轉(zhuǎn)換器以及16位的過采樣A/D轉(zhuǎn)換器。圖3為音頻編解碼器模塊硬件連接示意圖,VSl003采用SPI總線與LM3Sll38實現(xiàn)通信。其中,SCLK為輸入時鐘,CS為片選信號,MOSI/MISO為數(shù)據(jù)串口,Demand為命令有效信號,VSl003外接音頻輸出設(shè)備。


2.3 USB控制接口
    CH375是一款支持USB-HOST主機(jī)方式和USB-DE-VICE/SLAVE從設(shè)備方式的器件,主機(jī)端點輸入和輸出緩沖區(qū)各64字節(jié),支持常用的12 Mb/s全速USB設(shè)備,支持USB設(shè)備的控制傳輸、批量傳輸、中斷傳輸。內(nèi)置固件處理海量存儲設(shè)備的專用通訊協(xié)議,支持Bulk-Only傳輸協(xié)議和SCSI,UFI,RBC或等效命令集的USB存儲設(shè)備。


    圖4為USB控制接口模塊硬件連接示意圖,CH375通過UART串口與LM3S1138傳輸數(shù)據(jù),*****為中斷信號,TXD/RXD為數(shù)據(jù)傳輸串口,CH375連接USB存儲設(shè)備。

3 系統(tǒng)軟件設(shè)計
    μC/OS-II是專門為嵌入式應(yīng)用設(shè)計的實時操作系統(tǒng)內(nèi)核,其具有以下優(yōu)點:源代碼公開,代碼結(jié)構(gòu)清晰,注釋詳盡,組織有條理,具有良好的可擴(kuò)展性和可移植性,最多可以管理60個任務(wù)。該系統(tǒng)移植的μC/OS-II由用戶層、中間件層、μC/OS-II源碼層、μC/OS-II移植層和驅(qū)動庫組成。用戶層存放用戶代碼及設(shè)置,其中Main.c是用戶編寫任務(wù)處,Main.h定義堆棧大小及優(yōu)先級;中間件層Middleware存放UART、SPI等串口通信中間件和TCP/IP協(xié)議棧LwIP;μC/OS-II源碼層Source存放μC/OS-II的源代碼;μC/OS-II移植層Port存放μC/OS-Ⅱ基于LM3S的移植代碼,包括OS_CPU_C.C,OS_CPU_A.A,OS_CPU.C等3個必要文件;驅(qū)動庫層是直接面向硬件設(shè)備層,它是硬件設(shè)備和應(yīng)用程序之間的樞紐,直接與系統(tǒng)底層的硬件設(shè)備打交道,按照硬件設(shè)備的具體工作方式讀寫設(shè)備寄存器。將寄存器的數(shù)據(jù)與應(yīng)用軟件交互,ENC28J60、VSl003和CH375的驅(qū)動函數(shù)都在該層。
3.1網(wǎng)絡(luò)驅(qū)動程序
    本系統(tǒng)采用ENC28J60以太網(wǎng)控制器,需編寫網(wǎng)絡(luò)設(shè)備驅(qū)動程序,實現(xiàn)低層網(wǎng)絡(luò)接口及硬件函數(shù)驅(qū)動。該驅(qū)動程序設(shè)計主要包含網(wǎng)卡的初始化和數(shù)據(jù)的發(fā)送接收。[!--empirenews.page--]
    網(wǎng)卡初始化的驅(qū)動程序包括定義發(fā)送緩沖區(qū)大小、發(fā)送緩沖區(qū)數(shù)、ENC28J60的片選信號、ENC28J60的復(fù)位引腳以及網(wǎng)卡自檢。具體程序代碼如下:


    網(wǎng)卡數(shù)據(jù)傳輸?shù)尿?qū)動程序包括申請IP地址,建立與服務(wù)器的連接,以及數(shù)據(jù)的接收和發(fā)送等,圖5為其程序流程。


3.2文件系統(tǒng)
    文件系統(tǒng)是一種以結(jié)構(gòu)化格式存儲和信息檢索的實現(xiàn)方法,可使用戶方便快捷的管理存儲數(shù)據(jù)。文件系統(tǒng)一般包括FAT32/16,NTFS,ext2/3,NFS等,本設(shè)計采用FATl6,可支持2 GB的最大分區(qū),用于管理U盤中的音頻文件,該文件系統(tǒng)的實現(xiàn)主要針對USB接口器件CH375進(jìn)行驅(qū)動開發(fā)。
    在CH375驅(qū)動設(shè)計中,先實現(xiàn)FAT32/16文件系統(tǒng)層,再實現(xiàn)文件級API應(yīng)用層。文件系統(tǒng)層采用CH375開發(fā)商提供的U盤文件級子程序庫來實現(xiàn),CH375的U盤文件級子程序庫具有以下特性;支持常用的FAT16和FAT32文件系統(tǒng),磁盤容量可達(dá)100 GB以上,支持多級子目錄。支持8.3格式的大寫字母和中文文件名,支持小寫字母或長文件名,支持文件打開、刪除、讀寫以及搜索等。文件系統(tǒng)移植好后,再進(jìn)行API應(yīng)用層驅(qū)動設(shè)計。應(yīng)用層驅(qū)動包括CH375引腳配置、文件讀寫緩沖區(qū)配置、CH375讀寫程序的設(shè)計。在讀寫程序的設(shè)計中,要注意對CH375的延時操作,滿足CH375的時序要求。
3.3音頻驅(qū)動程序
    音頻驅(qū)動的設(shè)計主要是針對VSl003的初始化設(shè)置和實現(xiàn)音頻數(shù)據(jù)流的傳輸,并對應(yīng)用層提供API接口,這里完成了音頻播放功能程序的設(shè)計。
    在該程序設(shè)計中,首先對LMll38和VSl003控制接口的(MISO、MOSI、SCK、CS、Demand)引腳進(jìn)行相應(yīng)配置,VSl003初始化配置完成后,開始等待系統(tǒng)的播放標(biāo)志置位,播放標(biāo)志為“0”時,重新初始化VSl003,播放標(biāo)志為“l(fā)”時,接收到系統(tǒng)的播放消息,使能SPI接口,選擇將要播放的數(shù)據(jù)包,把音頻數(shù)據(jù)寫入SPI的緩沖存儲區(qū),然后再發(fā)送給VSl003的數(shù)據(jù)寄存器,當(dāng)音頻數(shù)據(jù)發(fā)送完成后,開始由VSl003處理這些音頻數(shù)據(jù),實現(xiàn)模擬音頻數(shù)據(jù)的輸出。該函數(shù)能夠流暢地完成音頻播放功能。[!--empirenews.page--]
3.4用戶應(yīng)用程序
    系統(tǒng)的應(yīng)用程序主流程如圖6所示。


    系統(tǒng)主任務(wù)啟動后,先初始化人機(jī)界面庫函數(shù),它提供了操作界面的按鍵中斷處理函數(shù)以及LCD的顯示函數(shù);再讀取初始系統(tǒng)配置數(shù)據(jù),如本地IP、服務(wù)器IP、用戶賬號、密碼等,完成網(wǎng)絡(luò)、音頻編解碼以及存儲等模塊的初始化;然后,主任務(wù)再創(chuàng)建多個子任務(wù),包括ENC28-J60task,CH375task,VSl003task,humaninterfacetask,接著進(jìn)入消息循環(huán),消息循環(huán)是整個應(yīng)用程序的核心部分,通過消息循環(huán),系統(tǒng)不斷獲取用戶操作消息,并做出相應(yīng)處理,實現(xiàn)系統(tǒng)功能;當(dāng)收到一個退出消息時,系統(tǒng)強制主任務(wù)跳出消息循環(huán),關(guān)閉播放器操作界面,系統(tǒng)退出應(yīng)用程序。

4 系統(tǒng)測試及分析
    系統(tǒng)調(diào)試成功后,可流暢地從服務(wù)器中下載音頻數(shù)據(jù),保存到外接USB設(shè)備中,然后再通過音頻解碼從音響播放出來。圖7為該系統(tǒng)主界面,系統(tǒng)音質(zhì)良好,達(dá)到設(shè)計要求。

5 結(jié)束語
    本系統(tǒng)設(shè)計采用基于ARM Cortex-M3的嵌入式器件LM3S1138作為主控制器件,采用ENC28J60作為網(wǎng)絡(luò)接口器件,在μC/OS-II平臺上構(gòu)建一個實時的網(wǎng)絡(luò)播放系統(tǒng)。該系統(tǒng)能夠?qū)崿F(xiàn)網(wǎng)絡(luò)點播功能。如將ENC28J60更成為具有USB接口的無線網(wǎng)卡,則該系統(tǒng)還具有無線網(wǎng)絡(luò)功能。而隨著以太網(wǎng)技術(shù)的深入發(fā)展,將嵌入式系統(tǒng)與網(wǎng)絡(luò)結(jié)合,在嵌入式實時操作系統(tǒng)中引入TCP/IP協(xié)議棧,以支持嵌入式設(shè)備接入網(wǎng)絡(luò),成為嵌入式領(lǐng)域重要的研究方向,且對于一些基于網(wǎng)絡(luò)接口的嵌入式系統(tǒng)都將具有廣泛的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉