《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM的嵌入式網絡收音機的設計
基于ARM的嵌入式網絡收音機的設計
摘要: 研究了一種基于ARM處理器的嵌入式網絡收音機的設計方案。該系統以ARM處理器及其外圍模塊為硬件平臺,以嵌入式Linux為操作系統,以Mplayer為網絡播放軟件,實現了嵌入式網絡收音機的全部功能。以嵌入式技術來實現網絡收音機,是一個設計技術的創新。該設計有較高的科研價值和極好的市場應用前景。
Abstract:
Key words :

摘要:研究了一種基于ARM處理器的嵌入式網絡收音機的設計方案。該系統以ARM處理器及其外圍模塊為硬件平臺,以嵌入式Linux為操作系統,以Mplayer為網絡播放軟件,實現了嵌入式網絡收音機的全部功能。以嵌入式技術來實現網絡收音機,是一個設計技術的創新。該設計有較高的科研價值和極好的市場應用前景。
關鍵字:嵌入式系統;Linux;ARM9;網絡收音

        收音機作為接收廣播的工具,經過漫長的發展過程,由單波段發展到多波段,由電子管,晶體管發展到集成電路,由機械調諧發展到數字調諧功能等,其技術和品質都有了長足的進步。如今,在收音機這個家族中新的成員也在不斷加入,如衛星廣播接收機等。當社會進入網絡時代后,更是出現了網絡收音機這種跨越全球的信息接收設備。但是,目前這種網絡收音機大多是通過基于PC機上的軟件開發來實現的其功能的,也就是說這種網絡收音機不能脫離電腦這種相對比較大的和比較昂貴的設備。

        為了克服PC機形式的網絡收音機的缺點,本文研究了一種基于ARM的嵌入式技術的網絡收音機的設計方案。該方案以ARM處理器及其外圍模塊作為硬件平臺,以嵌入式Linux作為操作系統,以Mplayer作為網絡播放軟件,再配合設計的用戶應用程序,共同實現了嵌入式網絡收音機的全部功能。這種設計方法在網絡收音機的設計史上是一個創新。同時,隨著網絡技術的高速發展,該設計將具有極好的市場應用前景。

1系統的結構及工作原理

        系統的層次結構如圖1所示。系統以S3C2410及其外圍電路為硬件平臺,以嵌入式Linux和設備驅動程序作為系統的軟件平臺,為上層Mplayer播放器和用戶應用程序提供用戶接口支持[1]。在這三層結構的支持下,共同來實現嵌入式網絡收音機的全部功能。

圖1  系統層次結構圖

        系統的硬件結構框圖如圖2所示。本系統選用的ARM處理器是Sumsing(三星)公司的一款ARM9系列的芯片,型號為S3C2410。網卡芯片采用的是Cirrus Logic公司的一顆網絡處理芯片CS8900。FLASH芯片采用的是 K9F5608,用來存儲啟動引導程序U-boot、內核及文件系統,SDRAM芯片采用的是HY57V281620,作為該系統的內存。16*4的字符型液晶顯示模塊用來顯示網絡電臺、音頻文件名等相關信息。音頻D/A轉換芯片選用的是飛利浦公司的UDA1341芯片,該芯片具有IIS接口,可以方便的與S3C2410連接。

圖2  系統硬件結構框圖

        系統在Linux提供的TCP/IP協議的支持下,通過應用程序和Mplayer控制,經過網卡連接到internet上指定的網絡電臺服務器,下載網絡電臺列表。系統支持在按鍵的控制下的網絡電臺選擇和LCD上顯示電臺信息等功能。Mplayer解析出選中的電臺的IP地址后,再連接到要收聽的電臺的網站,系統便可以接收并解析出該網站發出的流媒體數據。系統將接收到的流媒體數據保存到SDRAM中。之后,經過Mplayer的解碼,送到音頻D/A轉換芯片,即可收聽到該網絡電臺播放的聲音等信息。

2 系統的硬件設計

2.1 S3C2410

        本系統的硬件核心平臺采用的是Samsung 公司的處理器S3C2410。該處理器內部集成了ARM 公司ARM920T 處理器核的32 位微控制器,資源豐富,帶獨立的16KB 的指令Cache 和16KB 數據Cache、MMU虛擬內存管理單、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]。其內部結構如圖3所示。

圖3  S3C2410內部結構圖

 


2.2 網絡接口

        系統的網卡芯片采用Cirrus Logic公司的一種局域網處理芯片CS8900,該芯片內部集成了RAM、10BASE-T收發濾波器,并且提供8位和16位兩種接口。其片選信號連接到S3C2410的nGCS1,因此網卡的地址空間映射到0X08000000~0X0FFFFFFF。在Linux內核中,一般都含有CS8900的驅動程序,使用時只需修改驅動與處理器的地址映射關系,并在配置內核的Device Driver選項中,選中CS8900項。

2.3 SDRAM存儲器

        本設計的SDRAM采用的是HY57V281620芯片。該芯片是一個數據寬度為16BIT,容量為16M字節的SDRAM。HY57V281620與S3C2410的連接圖如圖4所示。

圖4  HY57V281620電路圖

        HY57V281620的ncs引腳接到處理器的nGCS6。由于在處理器的存儲空間中,字節是存儲容量的唯一單位。而HY57V281620的數據寬度為16位,它的每一個存儲單元都包含2個字節。因此HY57V281620的A0引腳接到了S3C2410處理器的地址線ADDR01上面。 HY57V281620的容量為16MB,因此它需要ADDR00~ADDR23共24跟地址線來尋址,所以,BA0~BA1引腳應該接到ADDR22~ADDR23地址線上。

3 系統的的軟件設計

3.1 嵌入式Linux的移植

        嵌入式Linux內核的版本很多,一般情況下版本越高,系統越穩定,驅動更完善,本系統選擇了2.6.18的Linux內核。其實對于2.6以后版本的Linux內核,對S3C2410的支持都有了很好的支持,所以移植過程都比較簡單[3]。Linux2.6.18移植到S3C2410的基本步驟如下:

(1)下載Linux2.6.18內核,并解壓到相應目錄。

(2)修改內核頂層目錄下的Makefile文件,指明交叉編譯器。進入Linux-2.6.18內核目錄,輸入命令vi Makefile,找到ARCH和CROSS_COMPILE兩項,將其修改為ARCH = arm,CROSS_COMPILE = arm-linux-。

(3)設置PATH環境變量,使其可以找到交叉編譯工具。輸入su root,進入root,在輸入vi/etc/bashrc,在結尾處加入以下行:export PATH=/usr/local/arm/3.4.4/bin:$PATH,然后重啟終端或重新登陸即可。

(4) 設置Flash分區。首先要在arch/arm/mach-s3c2410/devs.c文件中添加分區信息,其次在arch/arm/mach-s3c2410/mach-smdk2410.c文件的smdk2410_devices[]的成員中添加&s3c_device_nand。這樣Linux內核啟動時,就會對Flash分區的設置初始化。

(5)禁止Flash ECC校驗。修改drivers/mtd/nand/s3c2410.c 文件,找到s3c2410_nand_init_chip()函數,在該函數體最后加上一條語句:chip->eccmode = NAND_ECC_NONE。

(6)配置內核。通過make menuconfig命令配置內核。

(7)編譯內核,make zImage命令,得到Linux內核的映像文件zImage。

(8)制作根文件系統。

3.2 Mplayer移植

        Mplayer是Linux下的一個多媒體網絡播放器。它的主要功能是對接收到的各種格式的流媒體數據進行解碼,同時也完成對接收的網絡電臺的IP地址進行解析的任務。Mplayer支持mp3、ogg 和wma等多種格式的流媒體數據進行解碼,是一個功能十分強大的開源應用軟件。Mplayer的移植步驟如下:

(1)下載源代碼MPlayer-current.tar.bz2,并解壓。

(2)為了讓mplayer支持在線播放,從而能夠播放網絡電臺,還必須下載安裝網絡協議包(主要指RTSP、MMS等協議)。可從www.live555.com上下載live555協議包,解壓后配置并編譯。

(3)配置mplayer的命令格式如下:

./configure --cc=arm-linux-gcc --target=arm-armv4-linux --enable-static --disable-win32  --host-cc=gcc --disable-dvdread --enable-fbdev --disable-mencoder --disable-mp3lib --enable-mad --enable-libavcodec --enable-live --with-livedir=/live555的目錄/ --2>&1 | tee logfile。

        其中,--host-cc=gcc是用來編譯一些需要在host上執行的中間文件的,如codec-cfg。--cc=arm-linux-gcc 是用來指定交叉編譯工具。關于 --target=arm-armv4l-linux這個參數要注意的是它被分為三部分,第一部分的arm是指arch,這里設定為arm;第二部分的armv4l是指具體的版本;第三部分是系統平臺。--enable-static是設定靜態連接。--2>&1 | tee logfile意思是將執行的情況在輸出到屏幕的同時記錄到logfile文件中,在控制臺下編譯比較有用。

(4)輸入make命令開始編譯,編譯完成后在頂層目錄生成mplayer可執行文件。

3.3軟件主流程圖

        系統主流程圖如圖5所示。系統上電后,bootloader(U-boot)啟動,完成硬件設備的初始化, 并引導系統內核啟動。系統啟動執行初始化任務后,首先配置網絡連接,通過運行DHCP Clieant向DHCP Server申請獲取本系統IP地址。然后系統自動訪問默認的電臺服務器,該服務器上有最近更新的世界各地的網絡電臺的URL地址,系統下載該列表,并更新上次保存的列表。然后系統判斷有無按鍵按下,若有按鍵按下,系統根據按鍵選擇相應網絡電臺,若在一定時間段內沒有按鍵按下,系統自動連接電臺列表的第一個電臺地址,并開始播放該網絡電臺。同時,LCD將顯示電臺的有關信息和系統信息。在播放過程中,同樣可以根據按鍵來中斷、選擇網絡電臺。

 

圖5 系統主流程圖

4 結束語

        本設計基于ARM的嵌入式技術,通過軟硬件等三層結構,實現了一個嵌入式網絡收音機系統。該系統克服了PC機形式的網絡收音機的諸多缺點,是一個極具創新思維的設計。隨著網絡技術和嵌入式技術的高速發展,該設計具有很好的市場應用前景和科研價值。

本文作者創新點:

1、首次提出了用嵌入式技術設計網絡收音機的系統設計方案,極具創新特點。

2、實現了Mplayer軟件在Linux系統平臺下向ARM9的移置。

參考文獻

[1] 周立功等.ARM 微控制器基礎與實踐[M].北京航空航天大學出版社,2003.7.

[2] 李侃,廖啟征. 基于s3c2410平臺與嵌入式Linux的圖像采集應用[J].微計算機信息, 2006,3-2:125-127.

[3] 孫瓊. 嵌入式Linux應用程序開發詳解[M]. 人民郵電出版時, 2006.7.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
午夜精品av| 欧美日韩一区在线观看| 亚洲视频一区在线| 日韩视频在线一区二区三区| 久久精品视频在线播放| 欧美影院成年免费版| 先锋影音网一区二区| 亚洲嫩草精品久久| 亚洲欧美区自拍先锋| 中文国产一区| 中文欧美在线视频| 亚洲视频一区二区免费在线观看| 亚洲美女在线国产| 日韩午夜视频在线观看| 日韩一级成人av| 一本色道久久综合| 亚洲少妇中出一区| 亚洲欧美日韩天堂一区二区| 欧美一二三视频| 亚洲第一色在线| 亚洲黄一区二区三区| 亚洲精品日韩欧美| 夜夜嗨av一区二区三区四季av| 99在线|亚洲一区二区| 一区二区三区高清| 亚洲字幕一区二区| 欧美一区二区三区在线观看 | 久久精品亚洲乱码伦伦中文| 久久精品72免费观看| 亚洲国产女人aaa毛片在线| 亚洲黄色高清| 日韩天堂av| 亚洲性色视频| 久久精品人人爽| 免费人成网站在线观看欧美高清| 欧美激情在线播放| 国产精品美女久久久久aⅴ国产馆| 国产日韩1区| 激情小说另类小说亚洲欧美 | 久久av一区二区三区| 久久精品国产69国产精品亚洲| 亚洲福利专区| 99re6热在线精品视频播放速度| 日韩一区二区精品| 亚洲综合色激情五月| 久久国产精品第一页| 久久影院午夜片一区| 欧美激情偷拍| 国产精品久久久久久亚洲毛片 | 狠狠狠色丁香婷婷综合久久五月 | 亚洲精品国产视频| 亚洲一区不卡| 久久久综合网| 欧美日韩高清在线观看| 国产精品日韩二区| 伊人狠狠色丁香综合尤物| 亚洲精品你懂的| 亚洲欧美另类国产| 91久久国产精品91久久性色| 亚洲一区在线观看免费观看电影高清| 欧美一区二区三区四区在线| 欧美gay视频| 国产精品日韩电影| 亚洲东热激情| 亚洲一级在线| 亚洲欧洲一区二区三区在线观看 | 亚洲国产成人久久| 亚洲一区二区视频在线观看| 久久视频在线视频| 欧美日韩在线观看视频| 国产亚洲aⅴaaaaaa毛片| 91久久精品视频| 亚洲欧美中日韩| 日韩视频免费大全中文字幕| 午夜视频一区在线观看| 欧美成人在线影院| 国产日韩欧美夫妻视频在线观看| 亚洲第一伊人| 午夜精品久久久久久久99热浪潮| 亚洲美女电影在线| 久久精品免费播放| 欧美日韩日本视频| 在线欧美影院| 欧美一二区视频| 亚洲欧美视频在线观看| 欧美极品一区二区三区| 国产在线精品一区二区中文| 亚洲免费av观看| 亚洲国产欧美不卡在线观看| 午夜在线成人av| 欧美日韩视频一区二区| 国内偷自视频区视频综合| 亚洲午夜在线视频| 一区二区三区欧美亚洲| 久久在线播放| 国产午夜精品美女毛片视频| 一区二区三区欧美在线观看| 亚洲日韩欧美视频一区| 久久女同互慰一区二区三区| 国产精品久久久久久久午夜片| 亚洲激情六月丁香| 亚洲国产成人在线| 久久久久综合一区二区三区| 国产精品久久久久久福利一牛影视| 亚洲激情第一页| 亚洲国产天堂久久综合| 久久久久国产精品一区二区| 国产精品自拍在线| 亚洲视频中文字幕| 亚洲视频大全| 欧美一级日韩一级| 国产精品一区毛片| 亚洲一区尤物| 亚洲欧美日本视频在线观看| 欧美日韩精品在线视频| 亚洲欧洲午夜| 99精品欧美一区| 欧美精品二区三区四区免费看视频| 在线观看成人一级片| 久久国产精品久久w女人spa| 欧美中文在线观看| 国产精品午夜春色av| 亚洲主播在线播放| 亚洲欧美一区二区精品久久久| 欧美午夜不卡| 在线综合亚洲| 亚洲欧美一区二区三区久久| 国产精品国产三级国产专播品爱网| 99视频一区| 亚洲一区二区三区在线播放| 欧美性开放视频| 在线亚洲欧美| 亚洲欧美成人在线| 国产九九视频一区二区三区| 午夜精品一区二区三区在线播放 | 国内偷自视频区视频综合| 亚洲精品久久久久久久久| 一本色道久久加勒比88综合| 欧美三级小说| 亚洲视频一区在线| 欧美一区二区免费观在线| 国产亚洲欧美aaaa| 亚洲第一二三四五区| 免费成人在线观看视频| 91久久精品一区二区三区| 一本色道综合亚洲| 欧美日韩综合久久| 亚洲在线一区二区| 久久久精品一区| 在线免费高清一区二区三区| 亚洲精品色图| 欧美视频一区二区三区…| 亚洲私拍自拍| 久久久久久久网站| 亚洲电影在线免费观看| 亚洲天堂av高清| 欧美另类99xxxxx| 亚洲免费视频成人| 可以免费看不卡的av网站| 亚洲精品国产日韩| 亚洲男人第一网站| 狠狠色丁香婷综合久久| 亚洲剧情一区二区| 国产精品日韩精品欧美精品| 久久国产一区二区三区| 欧美精选午夜久久久乱码6080| 亚洲视频网在线直播| 久久午夜精品一区二区| 亚洲精品国精品久久99热| 午夜在线观看免费一区| 一区三区视频| 亚洲午夜伦理| 国产一区二区三区免费不卡| 亚洲免费观看视频| 国产午夜精品一区二区三区欧美| 亚洲人成人77777线观看| 欧美午夜精品久久久久久久| 久久精品一区二区国产| 欧美日韩国产亚洲一区| 午夜在线电影亚洲一区| 欧美好骚综合网| 亚洲欧美偷拍卡通变态| 欧美国产成人精品| 午夜精品福利在线观看| 欧美激情第六页| 欧美一区二区精美| 欧美日韩在线高清| 久久精品夜色噜噜亚洲a∨| 欧美午夜一区二区福利视频| 亚洲成人在线视频网站| 欧美偷拍另类| 亚洲狼人综合| 国产一在线精品一区在线观看| 一区二区三区日韩精品视频| 国产中文一区二区| 亚洲永久视频| 亚洲精品日韩激情在线电影 | 欧美精品在线一区二区三区| 欧美亚洲三级| 国产精品久久久久久久一区探花 |