摘要: 介紹了一種以Samsung公司 的ARM 7TDMI CPU S3C4510B為核心、μCUnux 為操作系統 的嵌入式系統 應用于MPEC-2或MPEG-4等實時多媒體數據的網絡 傳輸所面臨的問題,并提出了相應的解決方案。
嵌入式 系統目前已廣泛應用于信息 家電、網絡通信 和工業控制 等各個領域。典型的嵌入式系統主要由嵌入式硬件 和軟件構成,其中硬件部分的核心為嵌入式處理器 。與通用處理器相比,其在功耗、體積、成本等方面都受到應用要求的制約。嵌入式系統的軟件部分可以像計算機一樣使用操作系統,目前已有許多成熟嵌入式操作系統,如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 、SD RAM 、以太網 物理層、FIFO以及CPLD 等芯片 構成,如圖1所示。
(1) CPU
本系統采用了 ARM7TDMI 內核的 RISC 處理器S3C4510B。該芯片具有如下一些主要特點:
8/16/32位的外部總線支持 ROM、RAM、Flash 存儲器、DRAM 和外部I/O;
·8K 字節的 Cache;
·一個I2C 接口 ;
·一個帶 MII 接口的100Mbps/10Mbps 以太網控制器 ;
·兩個 UART 通道;
·兩個通用 DMA 通道;
·兩個 HDLC 通道;
·18個通用I/0通道;
·兩個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 等。這些商業化操作系統在網絡和用戶圖形界面等方面都有很好的支持,并且在穩定性和實時性方面都有相應的保證,但其價格也相當高。這里選用了開放源碼的嵌入式 Linux,它一般免費或花較少的費用就可得到,同時它在網絡和圖形界面方面也有很好的支持。另外,嵌入式 Linux 的高度模塊化使它可以根據實際應用需要靈活配置,能有效精簡內核代碼。嵌入式 Linux 具有很高的穩定性。在實時性方面,盡管 Linux 本身未作過多關注,但可通過打實時 Linux(RTLinux)補丁解決。
針對所采用的 CPU 沒有 MMU,選用了目前在嵌入式系統中被廣泛使用的μClinux。μClinux 是從標準的Linux 2.0 內核發展而來的,但其源代碼針對典型的嵌入式應用已經作了許多精簡和修改,使得其內核比標準的 Linux 內核要小很多,不過它仍然保留了標準 Linux的主要特色。
目前最新 的μClinux 版本已經支持 S3C4510B 及典型開發板,如果所采用的 CPU 及開發板沒有被支持,應根據實際情況移植。此外,由于在外部總線接了 CPLD和 FIFO,為了使應用程序能訪問它,需要在μClinux 下開發相應的驅動程序。 2 實時數據接口的擴展
2.1 應用要求
將上述嵌入式系統應用于實時多媒體數據的網絡傳輸,如圖2所示。這里的實時多媒體可以是 MPEG-4或 MPEG-2 等,其數據流一般是連續、恒定碼率的。
2.2 硬件擴展
根據上述數據流的特點,需在嵌入式系統與外設(編、解碼器)之間加入數據緩沖控制單元。對于發送端和接收端,數據緩沖控制單元的設計有所不同,下面以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口數據位寬度和讀寫時序設置等。
嵌入式系 (13886)
嵌入式系 (13886)
接口擴展 (8295)
接口擴展 (8295)
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
相關推薦
電子發燒友網站提供《嵌入式 實時數據 采集系統 的設計與實現.pdf》資料免費下載
2023-10-24 10:41:22 0 本文主要介紹嵌入式 系統 的一些基礎知識,從嵌入式 系統 基礎,包括嵌入式 系統 的定義、嵌入式 系統 的組成、實時 系統 、邏輯電路基礎以及接口 技術兩方面介紹,希望對各位有幫助。
2023-04-13 15:30:21 455 (USB接口 傳輸速度快),可適用于多種實時 操作系統 (保存在優盤中的映像文件也可以是使用其他嵌入式 實時 操作系統 ,如PSOS、Nuclues等開發生成的);對系統 的Flash存儲容量要求小(Flash中主要
2011-09-05 11:36:14
嵌入式 系統 設計來源于電科大陳虹老師的課程總結課程體系:理論與實踐相結合以嵌入式 硬件的核心嵌入式 微處理器及嵌入式 軟件的核心嵌入式 實時 操作系統 為重點,以應用為目的,全面介紹嵌入式 系統 使大家既能對嵌入式
2021-11-30 18:21:07 33 ,這一階段嵌入式 系統 的主要特點是系統 結構和功能比較單一,處理效率比較低;隨著微處理器的誕生,嵌入式 系統 得到了廣泛的發展,這一時期出現了一些商用的嵌入式 系統 并得到了迅速發展,并且具備了高度的模塊化和擴展
2021-11-03 20:36:04 11 ,是加拿大一家知名的嵌入式 系統 開發商。?QNX是一個分布式 、嵌入式 、可規模擴展 的硬實時 操作系統 。它遵循POSⅨ.1 (程序接口 )和POSⅨ.2 (Shell和工具)、部分遵循POSⅨ.1b(實時 擴展 )。...
2021-10-20 21:35:58 10 嵌入式 系統 接口 測試策略嵌入式 系統 接口 測試策略摘要:在日益廣泛應用的嵌入式 系統 中,軟件測試因為系統 平臺局限性需要重復下裝,耗費較大的測試資源與時間成本。文章根據嵌入式 系統 軟件的特性,結合實際案例智能
2021-10-20 19:06:08 13 本文檔的主要內容詳細介紹的是嵌入式 實時 操作系統 的應用詳細教程說明包括了:1 嵌入式 系統 與嵌入式 操作系統 ,2 用于8051內核單片機的常見嵌入式 操作系統 ,3 嵌入式 實時 操作系統 uC/OS-II簡介及特點,4 uC/OS-II內核 ,5 uC/OS-II在STC12C5A60S2中的移植及注意事項
2019-12-05 08:00:00 2 與匯編語言程序設計,UC/OS-II實時 操作系統 分析,嵌入式 系統 硬件接口 設計,嵌入式 系統 軟件設計與編程以及嵌入式 系統 的應用開發案例等知識體系。
2018-12-10 08:00:00 28 基于嵌入式 系統 的Internet接口 開發
2017-02-07 17:25:04 11 本文主要介紹嵌入式 系統 的一些基礎知識,從嵌入式 系統 基礎,包括嵌入式 系統 的定義、嵌入式 系統 的組成、實時 系統 、邏輯電路基礎以及接口 技術兩方面介紹,希望對各位有幫助。
2016-07-25 13:30:55 1793 在高速實時數據 采集系統 設計中 我們采用了“數字信號處理芯片 + 嵌入式 中央處理器”的設計思路即將高速實時數據 采集系統 分成基于三星公司的S3C2410精簡指令處理器的核心板和基于現場可編程門陣列的高速
2016-04-18 14:12:30 1 闡述了嵌入式 實時 系統 的原理及特點,分析并論述嵌入式 實時 系統 實現過程中的關鍵問題,討論了嵌入式 實時 系統 在通信領域中的應用。
2012-05-30 09:52:22 2430 人機接口 是嵌入式 控制系統 的重要組成部分,用于人機之間實時 交換控制系統 并返回系統 狀態。嵌入式 系統 大都采用液晶屏和鍵盤作為人機接口 的輸入、輸出設備。這里設計的人機接口
2012-05-18 16:42:32 1099 為滿足嵌入式 實時 系統 快速適應硬件型號升級、快速變更要求以及可伸縮、可修改、可復用等方面的需求,本文提出了一種適用于嵌入式 實時 系統 的設計模式--ERTSDP,解決了系統 分析設計
2011-10-14 15:33:56 2228 概述了嵌入式 系統 的開發工具實時 操作系統 的特點和核心內容;分析了在利用實時 操作系統 進行嵌入式 系統 設計時,經常要面對的幾個方面的問題。
2011-10-10 15:23:24 42 本文設計了一種嵌入式 系統 用于多媒體實時數據 的網絡傳輸。ARM內核處理器與嵌入式 Linux 是目前嵌入式 應用中的一種典型組合,選用了 Samsung 公司的16/32位ARM7TDMI 內核的網絡處理器 S3C
2011-08-16 16:49:42 900 本文給出了實現嵌入式 實時 系統 優盤啟動的嵌入式 主機硬件結構、軟件協議棧以及主要程序流程,探討了實現嵌入式 實時 系統 從優盤啟動的可行性。
2011-07-20 15:09:49 1500 摘 要:闡述了嵌入式 系統 的概念、特點及應用,并對其軟硬件系統 、實時 軟件開發技術進行了詳細敘述,對嵌入式 CPU各種類型及代表產片的進行了比較說明;提出了嵌入式 系統 的模型、嵌入式 實時 軟件的開發過程和方法;針對目前嵌入式 系統 的發展現狀,論述了嵌入式 系統 的
2011-02-25 13:03:41 55 基于ARM的藍牙實時數據 采集系統 的設計
摘要:本文提出了一種基于ARM的藍牙無線數據 采集系統 。結合嵌入式 技術與藍牙技術的優勢,解決了傳統工業現場數據 采集系統 中
2010-02-02 11:27:03 1078 設計了一種基于ARM9 與Linux 的嵌入式 實時數據 采集系統 。通過對數據 采集實時 理論的研究和對系統 應用需求的分析選擇設計了系統 的軟硬件,其中主要包括基于AD7892的采集模塊硬
2010-01-13 15:45:11 29 本文主要提出了一種可應用于監控組態軟件的實時數據 庫的實現方法。通過對實時數據 庫在組態軟件中的地位與作用的分析,結合嵌入式 Linux 在實時 多任務方面的特性,設計并實
2010-01-06 15:48:20 17 DSP嵌入式 系統 人機接口 設計
1 引言
人機接口 是嵌入式 控制系統 的重要組成部分,用于人機之間實時 交換控制系統 并返回系統 狀態。嵌入式 系統 大都采用液
2009-12-24 16:34:13 749 本文介紹一種實用的基于嵌入式 TCP/IP技術的實時數據 傳輸系統 ,分析了其硬件和軟件系統 。結合系統 控制對象的分散性和網絡化管理的特點,重點論述嵌入式 操作系統 、嵌入式 TCP/IP
2009-09-23 11:35:29 38 該文提出了一種基于uClinux 嵌入式 操作系統 的嵌入式 系統 中,使用Java 實現嵌入式 實時數據 采集系統 中數據 在WEB 中實時 圖形化顯示的方案。該方案彌補uClinux 不支持java 的缺憾,實現
2009-09-18 10:46:21 31 實時 仿真與嵌入式 系統 :Matlab 和VxWorks 是當今工業流行的仿真軟件和嵌入式 操作系統 , 二者之間的結合極大的方便了程序在嵌入式 平臺上的仿真。本文介紹了Matlab 中RTW 面向VxWork
2009-09-13 10:44:08 21 實時數據 庫是嵌入式 系統 的核心,用來定義數據 變量,負責與外部設備進行實時數據 交換。在用組態軟件開發嵌入式 應用時,在開發環境中定義實時數據 庫結構、數據 來源及類型
2009-08-22 09:45:14 10 本文探討了利用Linux 的實時 擴展 RTAI 在工業PC 機硬件平臺上,構建實時 嵌入式 通用數據 采集系統 的設計思想和實現方法。深入地剖析了驅動程序與用戶程序的關系。同時,介紹了
2009-08-21 09:14:11 12 介紹了以嵌入式 芯片S3C2410X為核心的遠程監控系統 ,闡述了基于嵌入式 Web服務器的監控系統 的總體設計思路與系統 體系架構方法,通過嵌入式 Web服務器將現場的實時數據 上傳到網
2009-08-11 08:30:12 31 基于 ARM 處理器的32 位嵌入 系統 具有極高速和大容量的數據 處理能力,如何設計ARM 與主機設備或系統 的通信接口 、提升數據 通信能力,成為嵌入式 系統 設計的一大問題。文章給出了
2009-08-06 10:06:39 10 基于GPRS網絡的嵌入式 系統 可以利用嵌入式 系統 結構緊湊、功能強和實時 性強等特點,用GPRS網絡進行數據 傳輸,擴展 了嵌入式 系統 的應用范圍,使得該嵌入式 系統 可以廣泛適用于
2009-06-17 09:16:09 17 在工業控制嵌入式 實時 系統 中應用的數據 庫要同時滿足嵌入式 和實時 性兩方面的要求。工業控制系統 中的嵌入式 實時數據 庫通常作為軟件部件鑲嵌于設備中或實時 應用環境中,它往
2009-06-10 11:01:42 16 嵌入式 實時數據庫系統 是近幾年才興起的一項新的數據 管理技術。本文首先描述了實時 事務并發控制并發控制協議,然后探討了具有功能替代性和補償性的實時 事務并發控制的新
2009-06-01 15:30:23 20 嵌入式 實時數據庫系統 是近幾年才興起的一項新的數據 管理技術。本文首先描述了實時 事務并發控制并發控制協議,然后探討了具有功能替代性和補償性的實時 事務并發控制的 新
2009-06-01 15:17:48 8 提出利用SL811HS 和8 位單片機實現USB-Host 實時數據 采集嵌入式 模塊。該系統 的數據 傳輸,遵守大規模存儲協議和USB 1.1協議規范,可作為嵌入式 設備的數據 輸入輸出模塊。它以文件的形
2009-05-16 14:57:48 13 嵌入式 實時 操作系統 教程:以VRTX為對象詳細介紹了嵌入式 實時 操作系統 的原理和應用,特別是第一部分關于嵌入式 實時 操作系統 的介紹非常適合初學者全面了解嵌入式 實時 系統 ,
2009-04-19 21:55:52 43 提出利用SL811HS 和8 位單片機實現USB-Host 實時數據 采集嵌入式 模塊。該系統 的數據 傳輸,遵守大規模存儲協議和USB 1.1協議規范,可作為嵌入式 設備的數據 輸入輸出模塊。它以文件的形
2009-04-15 09:24:19 13 近年來, 嵌入式 實時 系統 已經在工業等各個領域得到廣泛關注與應用。 本文介紹嵌入式 實時 系統 的特點、關鍵技術、優勢,以及嵌入式 實時 系統 在高檔卷接設備和包裝設備中的應用
2009-04-07 09:51:57 9
已全部加載完成
評論
查看更多