嵌入式網絡收音機的ARM實現

2021-01-08 電子產品世界

收音機作為接收廣播的工具,經過漫長的發展過程,由單波段發展到多波段,由電子管,電晶體發展到集成電路,由機械調諧發展到數字調諧功能等,其技術和品質都有了長足的進步。

本文引用地址:http://www.eepw.com.cn/article/150437.htm

  如今,在收音機這個家族中新的成員也在不斷加入,如衛星廣播接收機等。當社會進入網絡時代後,更是出現了網絡收音機這種跨越全球的信息接收設備。但是,目前這種網絡收音機大多是通過基於PC機上的軟體開發來實現的其功能的,也就是說這種網絡收音機不能脫離電腦這種相對比較大的和比較昂貴的設備。為了克服PC機形式的網絡收音機的缺點,本文研究了一種基於ARM的嵌入式技術的網絡收音機的設計方案。

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

本文作者創新點:

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

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

  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地址線上。

  

linux作業系統文章專題:linux作業系統詳解(linux不再難懂)

波段開關相關文章:波段開關原理


相關焦點

  • ARM在嵌入式linux內核裁剪與移植的應用
    嵌入式linux是大勢所趨,其巨大的市場潛力與醞釀的無限商機必然會吸引眾多的廠商進入這一領域。本文引用地址:http://www.eepw.com.cn/article/149868.htm1 嵌入式linux作業系統Linux是一類Unix計算機作業系統的統稱。Linux作業系統的內核的名字也是Linux.Linux作業系統也是自由軟體和開放原始碼發展中最著名的例子。
  • 嵌入式arm開發學習第一天
    arm開發學習第一天 2019.9.19 先看內存,核心板(RAM):型號,內存基地址,內存大小以x6818為例,基地址為0x40000000,向內存地址0x48000000寫入數據0x55,c程序為:unsigned chae data;data = *(unsigned char *) 0x48000000;快閃記憶體
  • 嵌入式arm開發學習第五天
    嵌入式arm學習第五天相關概念: i:輸入 o:輸出 clk:時鐘 src:源 div:分頻/降頻 inv:翻轉 invert sel:選擇 slave:外設 master:cpucpu通過uart串口訪問上位機流程:
  • 【歸類小知識】關於「網絡收音機」的歸類探討
    由機械調諧發展到數字調諧,功能和質量有了長足的進步。在收音機這個家族中不斷的發展,從老式收音機(圖一)一直到衛星廣播接收機(圖二),人們足不出戶就可以聽到世界的聲音。當社會進入「E」時代後,便出現了「網絡收音機」(圖三)。
  • 基於Simulink的嵌入式網絡化控制仿真實現
    摘要:實現了基於Simulink/Real-Time Workshop(RTW)的嵌入式網絡化控制仿真系統,構建了以ARM7TDMI型CPU為核,運行uClinux作業系統的嵌入式平臺。建立了廣域網範圍的網絡環境,通過延時測量實驗獲得了網絡延時統計特性,並針對該網絡環境下的分布式控制系統的前向通道和反饋通道分別提出了延時補償方法。
  • 【歸類小知識 1】關於「網絡收音機」的歸類探討
    在收音機這個家族中不斷的發展,從老式收音機(圖一)一直到衛星廣播接收機(圖二),人們足不出戶就可以聽到世界的聲音。當社會進入「E」時代後,便出現了「網絡收音機」(圖三)。 網絡收音機有兩種方案收聽網絡電臺,利用實時流媒體技術發布音頻節目。一、軟體網絡收音機目前這種網絡收音機大多是通過基於PC機上的軟體開發來實現其功能,功能比較強大,但是由於PC體積也影響到這種網絡收音的便攜性。
  • Ubuntu 16.04 LTS-嵌入式交叉編譯環境arm-linux-gcc搭建過程圖解
    在該環境下編譯出嵌入式Linux系統所需的作業系統、應用程式等,然後再上傳到目標機上。交叉編譯工具鏈是為了編譯、連結、處理和調試跨平臺體系結構的程序代碼。對於交叉開發的工具鏈來說,在文件名稱上加了一個前綴,用來區別本地的工具鏈。例如,arm-linux-表示是對arm的交叉編譯工具鏈;arm-linux-gcc表示是使用gcc的編譯器。
  • ARM晶片基於linux嵌入式作業系統實現的CMU控制器方案
    ARM晶片S3C2440為硬體平臺,基於linux嵌入式作業系統所實現的CMU控制器。   本設計採用zigbee無線通信標準將家庭中各個家電無線節點連接起來,捨去了實際線路連接時所產生的布線煩惱;另外zigbee協議主要在低端8位或16位單片機上實現,而單片機的數據傳輸能力有限。如果採用PC機不僅功耗大而且價格昂貴,對於傳輸率不大的傳感器網絡來說十分浪費資源。所以本設計開發基於ARM系列嵌入式晶片為核心處理器的中央管理單元。
  • 嵌入式ARM11處理器具有怎樣的特點
    S3C6400型處理器,基於ARM11架構,arm1176JZF程序內核的運行頻率更是高達620MHz,從而保證了Mac OS的流暢運行,與之對應的程序運行內存達到了128M, 並採用了三星快閃記憶體晶片,容量達到了8GB.觸控方式方面,iPhone採用了Muti-touch技術,絢麗的3D界面以及流暢的畫面過度足以令人驚嘆科技之美。
  • PXA255的嵌入式Linux應用平臺的構建
    本文將介紹如何在Intel XScale PXA255上構建嵌入式Linux應用平臺。一個嵌入式Linux系統的構建由以下步驟組成:加載Bootloader引導程序、交叉編譯環境下加載和編譯Linux內核和與之配套的根文件系統等,下面就逐步介紹各個步驟的實現情況。
  • 什麼是網絡收音機_網絡收音機哪個好
    打開APP 什麼是網絡收音機_網絡收音機哪個好 小敏 發表於 2012-09-13 08:36:47        網絡收音機分為二種
  • 嵌入式Linux學習方法 適合初學者設計學習計劃
    又是arm,又是linux,又是uboot頭都大了。不知道自己究竟從哪裡開始?本文引用地址:http://www.eepw.com.cn/article/201706/361182.htm  下面就跟著我學習設計嵌入式工程師的修煉日記吧!
  • 某嵌入式培訓機構教學總監總結的嵌入式學習路線
    網上看了很多的嵌入式學習路線,有的還湊活,有的純粹是打廣告賣板子,有的東拼西湊,簡直是嵌入式勸退指南。大致給你梳理一下我從事的一個嵌入式的課程培訓體系吧。基礎個人建議只要會一些基本的操作就行了,不需要太深入的學習每一個命令,用到的時候會去搜索就行了。
  • 某嵌入式培訓機構教學總監總結的嵌入式學習路線
    網上看了很多的嵌入式學習路線,有的還湊活,有的純粹是打廣告賣板子,有的東拼西湊,簡直是嵌入式勸退指南。大致給你梳理一下我從事的一個嵌入式的課程培訓體系吧。用鍊表實現一個簡單的《電話本管理軟體》,包括增、刪、改、查、排序等操作,把所有的知識點融會貫通起來。
  • 淺談AT91RM9200的嵌入式網絡攝像機的設計與實現
    網絡攝像機是一種結合傳統攝像機與網絡技術所產生的新一代攝像機,它可以將影像通過網絡傳至地球另一端,且遠端的瀏覽者不需用任何專業軟體,只要標準的網絡瀏覽器(如"Microsoft IE或Netscape)即可監視其影像。網絡攝像機要將高清晰度的實時視頻信息通過網際網路傳送到監控終端,因其信息量巨大,所以必須壓縮。
  • ARM和Linux交叉開發環境的搭建過程
    本文介紹了如何在Windows作業系統下利用Linux虛擬機、針對32位ARM920T內核的$3C2410微處理器實現嵌入式LintLx應用軟體的交叉開發環境,提出了一個比較完整的解決方案,並成功地為GEC2410開發板搭建了一個嵌入式應用軟體開發環境。
  • 淺析gcc、arm-linux-gcc和arm-elf-gcc的關係
    arm-linux-gcc 使用 GNU 的 Glibc,而 arm-elf-gcc 一般使用 uClibc/uC-libc 或者使用 RedHat專門為嵌入式系統的開發的C庫newlib。只是所應用的領域不同而已,Glibc是針對PC開發的,uClibc/uC-libc是與Glibc API兼容的小型化C語言庫,實現了Glibc部分功能。
  • arm嵌入式交叉編譯工具鏈
    /article/201611/317971.htm   arm-linux-gcc -o dest source,直接編譯出可執行文件elf格式 arm-linux-gcc -o dest source -c 只編譯不連接,生成.o格式的庫文件,用來提供給連接器連接成elf 其他的參數可以在GCC的手冊中了解所有信息。
  • arm linux 系統調用實現
    ).我們將從bionic中的open函數開始追溯arm linux的系統調用實現(使用gnu eabi)。Linux的應用程式要想訪問內核必須使用系統調用從而實現從usr模式轉到svc模式。在arm中,這個過程是通過swi(或者和它等價的指令)來實現模式轉換的。
  • 基於和欣嵌入式作業系統實現的一個構件化的網絡協議棧設計淺析
    基於和欣嵌入式作業系統實現的一個構件化的網絡協議棧設計淺析 電子發燒友 發表於 2019-02-20 14:59:23 嵌入式Internet是隨著嵌入式系統的廣泛應用和計算機網絡技術的發展而產生的一種新概念和技術