《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 嵌入式系統的實時數據接口擴展

嵌入式系統的實時數據接口擴展

2008-08-25
作者:朱廣信 石旭剛1 金 蓉2

??? 摘 要:?介紹了一種以Samsun公司的ARM7TDMI CPU S3C4510B為核心、μClinux為操作系統的嵌入式系統" title="嵌入式系統">嵌入式系統應用于MPEG-2或MPEG-4等實時多媒體數據的網絡傳輸所面臨的問題,并提出了相應的解決方案。
??? 關鍵詞: 嵌入式系統? μClinux? 實時多媒體? 接口擴展

?

??? 嵌入式系統目前已廣泛應用于信息家電、網絡通信和工業控制等各個領域。典型的嵌入式" title="的嵌入式">的嵌入式系統主要由嵌入式硬件和軟件構成,其中硬件部分的核心為嵌入式處理器。與通用處理器相比,其在功耗、體積、成本等方面都受到應用要求的制約。嵌入式系統的軟件部分可以像計算機一樣使用操作系統,目前已有許多成熟嵌入式操作系統,如VxWorks、pSOS、Nucleus、Windows CE以及嵌入式Linux等。當然,在一些簡單應用中許多嵌入式系統的軟件并沒有使用操作系統,只有一些循環控制。這樣,軟件復雜度大大降低,從而減少存儲器的容量要求,但是這樣的軟件在重復使用、網絡支持等方面的能力相對較弱。
??? ARM系列內核是目前嵌入式處理器中廣泛使用的內核。采用ARM內核的處理器具有體積小、功耗低、成本低和性能高的特點。在全球有眾多生產ARM內核處理器的廠商。
??? Linux是一種很受歡迎的開放源碼操作系統,原先被設計應用于桌面系統,后被廣泛應用于服務器。由于其開放源碼和內核可裁減等特性,Linux逐漸被修改用于嵌入式領域。目前已有多個嵌入式應用的版本,μClinux是其中的一個分支,最早被設計應用于微控制領域。其最大特征就是沒有MMU(內存管理單元),很適合于許多低端的、沒有MMU的嵌入式處理器。
??? 本文設計了一種嵌入式系統用于多媒體實時數據的網絡傳輸。ARM內核處理器與嵌入式Linux是目前嵌入式應用中的一種典型組合,選用了Samsung公司的16/32位ARM7TDMI內核的網絡處理器S3C4510B為嵌入式硬件核心,μClinux為操作系統。該系統支持完整的TCP/IP協議以及許多其它的網絡協議,同時它具有很低的成本。

1 嵌入式系統的構成
1.1 硬件系統

??? 嵌入式硬件系統主要由CPU、Flash ROM、SDRAM、以太網物理層、FIFO以及CPLD等芯片構成,如圖1所示。

?


??? (1)CPU
??? 本系統采用了ARM7TDMI內核的RISC處理器S3C4510B。該芯片具有如下一些主要特點:
??? ·8/16/32位的外部總線支持ROM、RAM、Flash存儲器、DRAM和外部I/O" title="I/O">I/O;
??? ·8K字節的Cache;
??? ·一個I2C接口;
??? ·一個帶MII接口的100Mbps/10Mbps以太網控制器;
??? ·兩個UART通道;
??? ·兩個通用DMA通道;
??? ·兩個HDLC通道;
??? ·18個通用I/O通道;
??? ·兩個32位定時器;
??? ·共有21個中斷源,其中4個用于外部中斷;
??? ·一個內部PLL用于提供高頻率的系統時鐘,最高系統時鐘可達50MHz。
??? 由此可見,S3C4510B很適用于低端的網絡設備,如集線器、交換機、家庭網關等。
??? (2)Flash ROM和SDRAM
??? Flash ROM和SDRAM構成了系統的存儲空間。其中Flash ROM作為程序存儲器,用于存放操作系統、應用程序等;SDRAM為系統內存。
??? (3)以太網物理層和串行接口芯片
??? CPU內部的以太網控制器只提供了MAC(媒體接入控制器),需在外部接一個物理層芯片完成編解碼和時鐘恢復等功能。串行接口芯片主要完成串行線路接口的電平轉換。
??? (4)CPLD和FIFO
??? 為了能使系統支持實時數據通信,需要在外設和嵌入式系統的外部總線之間加上FIFO和CPLD。FIFO用于數據緩沖,CPLD用于產生FIFO控制邏輯和外部總線控制邏輯。
1.2 操作系統
??? ARM7TDMI內核已被眾多的嵌入式操作系統所支持,如VxWorks、pSOS及Nucleus等。這些商業化操作系統在網絡和用戶圖形界面等方面都有很好的支持,并且在穩定性和實時性" title="實時性">實時性方面都有相應的保證,但其價格也相當高。這里選用了開放源碼的嵌入式Linux,它一般免費或花較少的費用就可得到,同時它在網絡和圖形界面方面也有很好的支持。另外,嵌入式Linux的高度模塊化使它可以根據實際應用需要靈活配置,能有效精簡內核代碼。嵌入式Linux具有很高的穩定性。在實時性方面,盡管linux本身未作過多關注,但可通過打實時Linux(RTLinux)補丁解決。
??? 針對所采用的CPU沒有MMU,選用了目前在嵌入式系統中被廣泛使用的μClinux。μClinux是從標準的Linux2.0內核發展而來的,但其源代碼針對典型的嵌入式應用已經作了許多精簡和修改,使得其內核比標準的Linux內核要小很多,不過它仍然保留了標準Linux的主要特色。
??? 目前最新的μClinux版本已經支持S3C4510B及典型開發板,如果所采用的CPU及開發板沒有被支持,應根據實際情況移植。此外,由于在外部總線接了CPLD和FIFO,為了使應用程序能訪問它,需要在μClinux下開發相應的驅動程序。
2?實時數據接口的擴展
2.1 應用要求
??? 將上述嵌入式系統應用于實時多媒體數據的網絡傳輸,如圖2所示。這里的實時多媒體可以是MPEG-4或MPEG-2等,其數據流一般是連續、恒定碼率的。

?


2.2 硬件擴展
??? 根據上述數據流的特點,需在嵌入式系統與外設(編、解碼器)之間加入數據緩沖控制單元。對于發送端和接收端" title="接收端">接收端,數據緩沖控制單元的設計有所不同,下面以MPEG-2為例說明。這里考慮系統的處理能力、網絡的承受能力以及圖像質量,MPEG-2的輸出為4Mbps的CBR(固定比特率)Ts流。
2.2.1 發送端
??? 編碼器送出連續、恒定速率的碼流。如果將此碼流直接送到CPU外部總線,將會導致操作系統頻繁地處理中斷,甚至會產生中斷不能及時處理從而導致數據丟失。因此,有必要在編碼器與外部總線之間加上FIFO,同時用CPLD實現FIFO的讀寫控制邏輯。編碼器送出的數據流連續不斷地以恒定速率寫入FIFO;當FIFO中的數據積聚到一定值后,每寫入若干個數據就向CPU發一個中斷;CPU在收到中斷后通過外部總線讀入相當量的數據,并將其打包送入網絡。正常情況下,每個中斷讀數據個數是一定的,在一段時間內FIFO寫入和讀出將維持平衡,且不會產生“饑餓”狀態;當操作系統因處理別的任務而沒有及時響應中斷時,FIFO將暫時進入“飽和”狀態,但只要FIFO容量足夠大就不會產生數據溢出現象。由于CPU從FIFO讀取單位數據的速度大大高于外設向FIFO寫單位數據的速度,“飽和”狀態一般能消除。由此,可以解決前述問題。
2.2.2 接收端
??? 在接收端,由于解碼器的輸入要求是一個連續、恒定速率的碼流,同樣要求在CPU外部總線與編碼器之間加上FIFO和CPLD。同時,接收端的數據包由于經過了網絡,不可避免地會引入延時,且數據包之間的延時是不確定的,甚至會產生數據包的丟失。這些都需要在接收端予以考慮,增加了接收端數據緩沖控制單元的復雜度。
??? 為了解決數據包到達延時及抖動問題(數據包的丟失將間接導致延時的增加),可以簡單地靠增大FIFO容量解決。但增大FIFO將意味著從編碼器到解碼器之間延時的增加,影響了實時性。因此,為了保證一定的實時性,同時考慮成本因素,不能單純靠增大FIFO解決。
??? 由于FIFO容量的限制,在出現大延時的情況下,FIFO將可能出現“空”狀態。這意味著送給解碼器的數據流會有中斷,從而可能導致解碼器的不正常工作并可能不能恢復(在數據流恢復正常后)。為此,需要在FIFO出現“空”狀態之前,即處于“饑餓”狀態時(可以設置一個閾值),由CPLD停止向FIFO讀數據而向解碼器發填充包。填充包中含有同步頭,可以維持解碼器的同步。短時間的插空包會使視頻圖像出現馬賽克,如果時間過長,可能會出現黑屏。在實際試驗中,接收端視頻的質量與網絡的負載情況有關。當網絡負載較重時,圖像會出現馬賽克,黑屏現象一般極少發生。
2.3 驅動程序
??? 為了使μClinux下的應用程序能通過外部總線訪問FIFO,需要編寫相應的驅動程序。驅動程序主要包括三個基本部分,即CPU相關寄存器的初始化設置以及CPU對外部I/O口的讀操作和寫操作。其中,初始化設置主要包括中斷號及其類型設置、外部I/O口數據位寬度和讀寫時序設置等。
參考文獻
1 鄒思軼.嵌入式Linux設計與應用.北京:清華大學出版社,2002
2 杜春雷.ARM體系結構與編程.北京:清華大學出版社,2003

3 Samsung Electronics Semiconductors.S3C4510B User's?Manual(Rev.1.0).Feb.2001

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 一本到高清 | 成人免费观看视频高清视频 | 欧美丝妇 | 亚洲欧美日韩在线观看播放 | 亚洲va精品中文字幕动漫 | 亚洲视频在线视频 | 丝袜无内写真福利视频 | 你懂的国产高清在线播放视频 | 国产精品香蕉一区二区三区 | 国产一级特黄a大片免费 | 天天色天天色 | 男女啪啪网站 | 欧美曰b| freexx性欧美另类hd | 日韩在线观看一区二区不卡视频 | 免费在线视频a | 久久成人免费观看全部免费 | 黄色三级日本 | 波多野结衣午夜 | 国产2021精品视频免费播放 | 99精品视频在线成人精彩视频 | 中文字幕在线观看你懂的 | 色综合区| 性色生活片免费放 | 成人亚洲精品 | 欧美成人性生活片 | 亚洲日本天堂在线 | 在线观看免费精品国产 | 日本国产在线视频 | 日韩在线欧美 | 欧美日韩一区二区三区四区 | 亚洲一片| 欧美综合亚洲 | 亚洲精品国自产拍影院 | 黄色欧美在线观看 | 久久天堂 | 亚洲欧美国产视频 | 日韩中文在线播放 | 毛片毛多 | 欧美精品一线二线大片 | 免费一级a毛片在线播放视 免费一级a毛片在线播出 |