當前位置:首頁 > 單片機 > 單片機
[導讀]  收音機作為接收廣播的工具,經(jīng)過漫長的發(fā)展過程,由單波段發(fā)展到多波段,由電子管,晶體管發(fā)展到集成電路,由機械調(diào)諧發(fā)展到數(shù)字調(diào)諧功能等,其技術(shù)和品質(zhì)都有了長足的進步。如今,在收音機這個家族中新的成員也

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

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

  1系統(tǒng)的結(jié)構(gòu)及工作原理

  系統(tǒng)的層次結(jié)構(gòu)如圖1所示。系統(tǒng)以S3C2410及其外圍電路為硬件平臺,以嵌入式Linux和設(shè)備驅(qū)動程序作為系統(tǒng)的軟件平臺,為上



層Mplayer播放器和用戶應(yīng)用程序提供用戶接口支持[1]。在這三層結(jié)構(gòu)的支持下,共同來實現(xiàn)嵌入式網(wǎng)絡(luò)收音機的全部功能。

  圖1 系統(tǒng)層次結(jié)構(gòu)圖

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

  圖2 系統(tǒng)硬件結(jié)構(gòu)框圖

  系統(tǒng)在Linux提供的TCP/IP協(xié)議的支持下,通過應(yīng)用程序和Mplayer控制,經(jīng)過網(wǎng)卡連接到internet上指定的網(wǎng)絡(luò)電臺服務(wù) 器,下載網(wǎng)絡(luò)電臺列表。系統(tǒng)支持在按鍵的控制下的網(wǎng)絡(luò)電臺選擇和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)絡(luò)電臺播放的聲音等信息。

  2 系統(tǒng)的硬件設(shè)計

  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)部結(jié)構(gòu)如圖3所示。

  圖3 S3C2410內(nèi)部結(jié)構(gòu)圖

  2.2 網(wǎng)絡(luò)接口

  系統(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ū)動與處理器的地址映射關(guān)系,并在配置內(nèi)核的Device Driver選項中,選中CS8900項。

  2.3 SDRAM存儲器

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

  圖4 HY57V281620電路圖


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

  3 系統(tǒng)的的軟件設(shè)計

  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的基本步 驟如下:

 ?。?)下載Linux2.6.18內(nèi)核,并解壓到相應(yīng)目錄。

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

 ?。?)設(shè)置PATH環(huán)境變量,使其可以找到交叉編譯工具。輸入su root,進入root,在輸入vi/etc/bashrc,在結(jié)尾處加入以下行:export PATH="/usr/local/arm/3".4.4/b


inPATH,然后重啟終端或重新登陸即可。

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

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

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

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

 ?。?)制作根文件系統(tǒng)。

  3.2 Mplayer移植

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

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

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

 ?。?)配置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上執(zhí)行的中間文件的,如codec-cfg。--cc=arm-linux- gcc 是用來指定交叉編譯工具。關(guān)于 --target=arm-armv4l-linux這個參數(shù)要注意的是它被分為三部分,第一部分的arm是指arch,這里設(shè)定為arm;第二部分的 armv4l是指具體的版本;第三部分是系統(tǒng)平臺。--enable-static是設(shè)定靜態(tài)連接。--2>&1 | tee logfile意思是將執(zhí)行的情況在輸出到屏幕的同時記錄到logfile文件中,在控制臺下編譯比較有用。

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

  3.3軟件主流程圖

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

  圖5 系統(tǒng)主流程圖

  4 結(jié)束語

  本設(shè)計基于ARM的嵌入式技術(shù),通過軟硬件等三層結(jié)構(gòu),實現(xiàn)了一個嵌入式網(wǎng)絡(luò)收音機系統(tǒng)。該系統(tǒng)克服了PC機形式的網(wǎng)絡(luò)收音機的諸多缺點,是一個極具創(chuàng)新思維的設(shè)計。隨著網(wǎng)絡(luò)技術(shù)和嵌入式技術(shù)的高速發(fā)展,該設(shè)計具有很好的市場應(yīng)用前景和科研價值。

  本文作者創(chuàng)新點:

  1、首次提出了用嵌入式技術(shù)設(shè)計網(wǎng)絡(luò)收音機的系統(tǒng)設(shè)計方案,極具創(chuàng)新特點。

  2、實現(xiàn)了Mplayer軟件在Linux系統(tǒng)平臺下向ARM9的移置。

  參考文獻

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

  [2]


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

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


本站聲明: 本文章由作者或相關(guān)機構(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)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

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

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(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 半導體

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

關(guān)鍵字: 華為 12nm 手機 衛(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)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(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ù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

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