基于ARM的嵌入式網(wǎng)絡收音機的設計
發(fā)布時間:2008/8/29 0:00:00 訪問次數(shù):501
收音機作為接收廣播的工具,經(jīng)過漫長的發(fā)展過程,由單波段發(fā)展到多波段,由電子管,晶體管發(fā)展到集成電路,由機械調(diào)諧發(fā)展到數(shù)字調(diào)諧功能等,其技術和品質(zhì)都有了長足的進步。如今,在收音機這個家族中新的成員也在不斷加入,如衛(wèi)星廣播接收機等。當社會進入網(wǎng)絡時代后,更是出現(xiàn)了網(wǎng)絡收音機這種跨越全球的信息接收設備。但是,目前這種網(wǎng)絡收音機大多是通過基于pc機上的軟件開發(fā)來實現(xiàn)的其功能的,也就是說這種網(wǎng)絡收音機不能脫離電腦這種相對比較大的和比較昂貴的設備。
為了克服pc機形式的網(wǎng)絡收音機的缺點,本文研究了一種基于arm的嵌入式技術的網(wǎng)絡收音機的設計方案。該方案以arm處理器及其外圍模塊作為硬件平臺,以嵌入式linux作為操作系統(tǒng),以mplayer作為網(wǎng)絡播放軟件,再配合設計的用戶應用程序,共同實現(xiàn)了嵌入式網(wǎng)絡收音機的全部功能。這種設計方法在網(wǎng)絡收音機的設計史上是一個創(chuàng)新。同時,隨著網(wǎng)絡技術的高速發(fā)展,該設計將具有極好的市場應用前景。
1系統(tǒng)的結構及工作原理
系統(tǒng)的層次結構如圖1所示。系統(tǒng)以s3c2410及其外圍電路為硬件平臺,以嵌入式linux和設備驅(qū)動程序作為系統(tǒng)的軟件平臺,為上層mplayer播放器和用戶應用程序提供用戶接口支持[1]。在這三層結構的支持下,共同來實現(xiàn)嵌入式網(wǎng)絡收音機的全部功能。
圖1 系統(tǒng)層次結構圖
系統(tǒng)的硬件結構框圖如圖2所示。本系統(tǒng)選用的arm處理器是sumsing(三星)公司的一款arm9系列的芯片,型號為s3c2410。網(wǎng)卡芯片采用的是cirrus logic公司的一顆網(wǎng)絡處理芯片cs8900。flash芯片采用的是 k9f5608,用來存儲啟動引導程序u-boot、內(nèi)核及文件系統(tǒng),sdram芯片采用的是hy57v281620,作為該系統(tǒng)的內(nèi)存。16*4的字符型液晶顯示模塊用來顯示網(wǎng)絡電臺、音頻文件名等相關信息。音頻d/a轉(zhuǎn)換芯片選用的是飛利浦公司的uda1341芯片,該芯片具有iis接口,可以方便的與s3c2410連接。
圖2 系統(tǒng)硬件結構框圖
系統(tǒng)在linux提供的tcp/ip協(xié)議的支持下,通過應用程序和mplayer控制,經(jīng)過網(wǎng)卡連接到internet上指定的網(wǎng)絡電臺服務器,下載網(wǎng)絡電臺列表。系統(tǒng)支持在按鍵的控制下的網(wǎng)絡電臺選擇和lcd上顯示電臺信息等功能。mplayer解析出選中的電臺的ip地址后,再連接到要收聽的電臺的網(wǎng)站,系統(tǒng)便可以接收并解析出該網(wǎng)站發(fā)出的流媒體數(shù)據(jù)。系統(tǒng)將接收到的流媒體數(shù)據(jù)保存到sdram中。之后,經(jīng)過mplayer的解碼,送到音頻d/a轉(zhuǎn)換芯片,即可收聽到該網(wǎng)絡電臺播放的聲音等信息。
2 系統(tǒng)的硬件設計
2.1 s3c2410
本系統(tǒng)的硬件核心平臺采用的是samsung 公司的處理器s3c2410。該處理器內(nèi)部集成了arm 公司arm920t 處理器核的32 位微控制器,資源豐富,帶獨立的16kb 的指令cache 和16kb 數(shù)據(jù)cache、mmu虛擬內(nèi)存管理單、lcd 控制器、ram控制器、nand 閃存控制器、3 路uart、4路dma、4 路帶pwm的timer、并行i/o 口、8 路10 位adc、touch screen 接口、i2c 接口、i2s 接口、2 個usb接口控制器、2 路spi,主頻最高可達203mhz[2]。其內(nèi)部結構如圖3所示。
{{分頁}}
2.2 網(wǎng)絡接口
系統(tǒng)的網(wǎng)卡芯片采用cirrus logic公司的一種局域網(wǎng)處理芯片cs8900,該芯片內(nèi)部集成了ram、10base-t收發(fā)濾波器,并且提供8位和16位兩種接口。其片選信號連接到s3c2410的ngcs1,因此網(wǎng)卡的地址空間映射到0x08000000~0x0fffffff。在linux內(nèi)核中,一般都含有cs8900的驅(qū)動程序,使用時只需修改驅(qū)動與處理器的地址映射關系,并在配置內(nèi)核的device driver選項中,選中cs8900項。
2.3 sdram存儲器
本設計的sdram采用的是hy57v281620芯片。該芯片是一個數(shù)據(jù)寬度為16bit,容量為16m字節(jié)的sdram。hy57v281620與s3c2410的連接圖如圖4所示。
hy57v281620的ncs引腳接到處理器的ngcs6。由于在處理器的存儲空間中,字節(jié)是存儲容量的唯一單位。而hy57v281620的數(shù)據(jù)寬度為16位,它的每一個存儲單元都包含2個字節(jié)。因此hy57v281620的a0引腳接到了s3c2410處理器的地址線addr01上面。 hy57v281620的容量為16mb,因此它需要addr00~addr23共24跟地址線來尋址,所以,ba0~ba1引腳應該接到addr22~addr23地址線上。
3 系統(tǒng)的的軟件設計
3.1 嵌入式linux的移植
嵌入式linux內(nèi)核的版本很多,一般情況下版本越高,系統(tǒng)越穩(wěn)定,驅(qū)動更完善,本系統(tǒng)選擇了2.6.18的linux內(nèi)核。其實對于2.6以后版本的linux內(nèi)核,對s3c2410的支持都有了很好的支持,所以移植過程都比較簡單[3]。linux2.6.18移植到s3c2410的基本步驟如下:
(1)下載linux2.6.18內(nèi)核,并解壓到相應目錄。
(2)修改內(nèi)核頂
收音機作為接收廣播的工具,經(jīng)過漫長的發(fā)展過程,由單波段發(fā)展到多波段,由電子管,晶體管發(fā)展到集成電路,由機械調(diào)諧發(fā)展到數(shù)字調(diào)諧功能等,其技術和品質(zhì)都有了長足的進步。如今,在收音機這個家族中新的成員也在不斷加入,如衛(wèi)星廣播接收機等。當社會進入網(wǎng)絡時代后,更是出現(xiàn)了網(wǎng)絡收音機這種跨越全球的信息接收設備。但是,目前這種網(wǎng)絡收音機大多是通過基于pc機上的軟件開發(fā)來實現(xiàn)的其功能的,也就是說這種網(wǎng)絡收音機不能脫離電腦這種相對比較大的和比較昂貴的設備。
為了克服pc機形式的網(wǎng)絡收音機的缺點,本文研究了一種基于arm的嵌入式技術的網(wǎng)絡收音機的設計方案。該方案以arm處理器及其外圍模塊作為硬件平臺,以嵌入式linux作為操作系統(tǒng),以mplayer作為網(wǎng)絡播放軟件,再配合設計的用戶應用程序,共同實現(xiàn)了嵌入式網(wǎng)絡收音機的全部功能。這種設計方法在網(wǎng)絡收音機的設計史上是一個創(chuàng)新。同時,隨著網(wǎng)絡技術的高速發(fā)展,該設計將具有極好的市場應用前景。
1系統(tǒng)的結構及工作原理
系統(tǒng)的層次結構如圖1所示。系統(tǒng)以s3c2410及其外圍電路為硬件平臺,以嵌入式linux和設備驅(qū)動程序作為系統(tǒng)的軟件平臺,為上層mplayer播放器和用戶應用程序提供用戶接口支持[1]。在這三層結構的支持下,共同來實現(xiàn)嵌入式網(wǎng)絡收音機的全部功能。
圖1 系統(tǒng)層次結構圖
系統(tǒng)的硬件結構框圖如圖2所示。本系統(tǒng)選用的arm處理器是sumsing(三星)公司的一款arm9系列的芯片,型號為s3c2410。網(wǎng)卡芯片采用的是cirrus logic公司的一顆網(wǎng)絡處理芯片cs8900。flash芯片采用的是 k9f5608,用來存儲啟動引導程序u-boot、內(nèi)核及文件系統(tǒng),sdram芯片采用的是hy57v281620,作為該系統(tǒng)的內(nèi)存。16*4的字符型液晶顯示模塊用來顯示網(wǎng)絡電臺、音頻文件名等相關信息。音頻d/a轉(zhuǎn)換芯片選用的是飛利浦公司的uda1341芯片,該芯片具有iis接口,可以方便的與s3c2410連接。
圖2 系統(tǒng)硬件結構框圖
系統(tǒng)在linux提供的tcp/ip協(xié)議的支持下,通過應用程序和mplayer控制,經(jīng)過網(wǎng)卡連接到internet上指定的網(wǎng)絡電臺服務器,下載網(wǎng)絡電臺列表。系統(tǒng)支持在按鍵的控制下的網(wǎng)絡電臺選擇和lcd上顯示電臺信息等功能。mplayer解析出選中的電臺的ip地址后,再連接到要收聽的電臺的網(wǎng)站,系統(tǒng)便可以接收并解析出該網(wǎng)站發(fā)出的流媒體數(shù)據(jù)。系統(tǒng)將接收到的流媒體數(shù)據(jù)保存到sdram中。之后,經(jīng)過mplayer的解碼,送到音頻d/a轉(zhuǎn)換芯片,即可收聽到該網(wǎng)絡電臺播放的聲音等信息。
2 系統(tǒng)的硬件設計
2.1 s3c2410
本系統(tǒng)的硬件核心平臺采用的是samsung 公司的處理器s3c2410。該處理器內(nèi)部集成了arm 公司arm920t 處理器核的32 位微控制器,資源豐富,帶獨立的16kb 的指令cache 和16kb 數(shù)據(jù)cache、mmu虛擬內(nèi)存管理單、lcd 控制器、ram控制器、nand 閃存控制器、3 路uart、4路dma、4 路帶pwm的timer、并行i/o 口、8 路10 位adc、touch screen 接口、i2c 接口、i2s 接口、2 個usb接口控制器、2 路spi,主頻最高可達203mhz[2]。其內(nèi)部結構如圖3所示。
{{分頁}}
2.2 網(wǎng)絡接口
系統(tǒng)的網(wǎng)卡芯片采用cirrus logic公司的一種局域網(wǎng)處理芯片cs8900,該芯片內(nèi)部集成了ram、10base-t收發(fā)濾波器,并且提供8位和16位兩種接口。其片選信號連接到s3c2410的ngcs1,因此網(wǎng)卡的地址空間映射到0x08000000~0x0fffffff。在linux內(nèi)核中,一般都含有cs8900的驅(qū)動程序,使用時只需修改驅(qū)動與處理器的地址映射關系,并在配置內(nèi)核的device driver選項中,選中cs8900項。
2.3 sdram存儲器
本設計的sdram采用的是hy57v281620芯片。該芯片是一個數(shù)據(jù)寬度為16bit,容量為16m字節(jié)的sdram。hy57v281620與s3c2410的連接圖如圖4所示。
hy57v281620的ncs引腳接到處理器的ngcs6。由于在處理器的存儲空間中,字節(jié)是存儲容量的唯一單位。而hy57v281620的數(shù)據(jù)寬度為16位,它的每一個存儲單元都包含2個字節(jié)。因此hy57v281620的a0引腳接到了s3c2410處理器的地址線addr01上面。 hy57v281620的容量為16mb,因此它需要addr00~addr23共24跟地址線來尋址,所以,ba0~ba1引腳應該接到addr22~addr23地址線上。
3 系統(tǒng)的的軟件設計
3.1 嵌入式linux的移植
嵌入式linux內(nèi)核的版本很多,一般情況下版本越高,系統(tǒng)越穩(wěn)定,驅(qū)動更完善,本系統(tǒng)選擇了2.6.18的linux內(nèi)核。其實對于2.6以后版本的linux內(nèi)核,對s3c2410的支持都有了很好的支持,所以移植過程都比較簡單[3]。linux2.6.18移植到s3c2410的基本步驟如下:
(1)下載linux2.6.18內(nèi)核,并解壓到相應目錄。
(2)修改內(nèi)核頂
熱門點擊
- 基于嵌入式處理器的電力諧波多功能實時分析系統(tǒng)
- 基于ARM9芯片S3C2410異常中斷程序設
- 三星ARM9 S3C2410 的的特點及其軟
- VxWorks下實時多任務程序的實現(xiàn)
- ARM、DSP、FPGA的特點和區(qū)別
- 基于CP2200的嵌入式以太網(wǎng)接口設計
- ucos-ii在嵌入式智能視覺監(jiān)控系統(tǒng)中的應
- ARM/uClinux應用程序的開發(fā)
- 基于ARM開發(fā)板的車輛檢測系統(tǒng)控制單元設計
- 425嵌入式開發(fā)平臺簡介
推薦技術資料
- DFRobot—玩的就是
- 如果說新車間的特點是“靈動”,F(xiàn)QPF12N60C那么... [詳細]