- 相關(guān)推薦
嵌入式系統(tǒng)的實(shí)時(shí)數(shù)據(jù)接口擴(kuò)展
摘要:介紹了一種以Samsung公司的ARM7TDMI CPU S3C4510B為核心、μCUnux 為操作系統(tǒng)的嵌入式系統(tǒng)應(yīng)用于MPEC-2或MPEG-4等實(shí)時(shí)多媒體數(shù)據(jù)的網(wǎng)絡(luò)傳輸所面臨的問題,并提出了相應(yīng)的解決方案。嵌入式系統(tǒng)目前已廣泛應(yīng)用于信息家電、網(wǎng)絡(luò)通信和工業(yè)控制等各個(gè)領(lǐng)域。典型的嵌入式系統(tǒng)主要由嵌入式硬件和軟件構(gòu)成,其中硬件部分的核心為嵌入式處理器。與通用處理器相比,其在功耗、體積、成本等方面都受到應(yīng)用要求的制約。嵌入式系統(tǒng)的軟件部分可以像計(jì)算機(jī)一樣使用操作系統(tǒng),目前已有許多成熟嵌入式操作系統(tǒng),如VxWorks、pSOS、Nucleus、Windows CE 以及嵌入式Linux 等。當(dāng)然,在一些簡(jiǎn)單應(yīng)用中許多嵌入式系統(tǒng)的軟件并沒有使用操作系統(tǒng),只有一些循環(huán)控制。這樣,軟件復(fù)雜度大大降低,從而減少存儲(chǔ)器的容量要求,但是這樣的軟件在重復(fù)使用、網(wǎng)絡(luò)支持等方面的能力相對(duì)較弱。
ARM系列內(nèi)核是目前嵌入式處理器中廣泛使用的內(nèi)核。采用ARM內(nèi)核的處理器具有體積小、功耗低、成本低和性能高的特點(diǎn)。在全球有眾多生產(chǎn)ARM內(nèi)核處理器的廠商。
Linux是一種很受歡迎的開放源碼操作系統(tǒng),原先被設(shè)計(jì)應(yīng)用于桌面系統(tǒng),后被廣泛應(yīng)用于服務(wù)器。由于其開放源碼和內(nèi)核可裁減等特性,Linux逐漸被修改用于嵌入式領(lǐng)域。目前已有多個(gè)嵌入式應(yīng)用的版本,μClinux 是其中的一個(gè)分支,最早被設(shè)計(jì)應(yīng)用于微控制領(lǐng)域。其最大特征就是沒有MMU(內(nèi)存管理單元),很適合于許多低端的、沒有MMU的嵌入式處理器。
本文設(shè)計(jì)了一種嵌入式系統(tǒng)用于多媒體實(shí)時(shí)數(shù)據(jù)的網(wǎng)絡(luò)傳輸。ARM內(nèi)核處理器與嵌入式 Linux 是目前嵌入式應(yīng)用中的一種典型組合,選用了 Samsung 公司的16/32位ARM7TDMI 內(nèi)核的網(wǎng)絡(luò)處理器 S3C4510B 為嵌入式硬件核心,μClinux 為操作系統(tǒng)。該系統(tǒng)支持完整的TCP/IP協(xié)議以及許多其它的網(wǎng)絡(luò)協(xié)議,同時(shí)它具有很低的成本。
1 嵌入式系統(tǒng)的構(gòu)成
1.1 硬件系統(tǒng)
嵌入式硬件系統(tǒng)主要由 CPU、Flash ROM、SDRAM、以太網(wǎng)物理層、FIFO以及CPLD等芯片構(gòu)成,如圖1所示。
(1) CPU
本系統(tǒng)采用了 ARM7TDMI 內(nèi)核的 RISC 處理器S3C4510B。該芯片具有如下一些主要特點(diǎn):
8/16/32位的外部總線支持 ROM、RAM、Flash 存儲(chǔ)器、DRAM 和外部I/O;
·8K 字節(jié)的 Cache;
·一個(gè)I2C 接口;
·一個(gè)帶 MII 接口的100Mbps/10Mbps 以太網(wǎng)控制器;
·兩個(gè) UART 通道;
·兩個(gè)通用 DMA 通道;
·兩個(gè) HDLC 通道;
·18個(gè)通用I/0通道;
·兩個(gè)32位定時(shí)器;
·共有21個(gè)中斷源,其中4個(gè)用于外部中斷;
·一個(gè)內(nèi)部 PLL 用于提供高頻率的系統(tǒng)時(shí)鐘,最高系統(tǒng)時(shí)鐘可達(dá)50MHz。
由此可見,S3C4510B 很適用于低端的網(wǎng)絡(luò)設(shè)備,如集線器、交換機(jī)、家庭網(wǎng)關(guān)等。
(2)Flash ROM 和 SDRAM
Flash ROM 和 SDRAM 構(gòu)成了系統(tǒng)的存儲(chǔ)空間。其中Flash ROM 作為程序存儲(chǔ)器,用于存放操作系統(tǒng)、應(yīng)用程序等;SDRAM為系統(tǒng)內(nèi)存。
(3)以太網(wǎng)物理層和串行接口芯片
CPU 內(nèi)部的以太網(wǎng)控制器只提供了MAC(媒體接入控制器),需在外部接一個(gè)物理層芯片完成編解碼和時(shí)鐘恢復(fù)等功能。串行接口芯片主要完成串行線路接口的電平轉(zhuǎn)換。
(4)CPLD 和 FIFO
為了能使系統(tǒng)支持實(shí)時(shí)數(shù)據(jù)通信,需要在外設(shè)和嵌入式系統(tǒng)的外部總線之間加上 FIFO 和CPLD。FIFO 用于數(shù)據(jù)緩沖,CPLD 用于產(chǎn)生 FIFO控制邏輯和外部總線控制邏輯。
1.2 操作系統(tǒng)
ARM7TDMI 內(nèi)核已被眾多的嵌入式操作系統(tǒng)所支持,如 VxWorks、pSOS 及 Nucleus 等。這些商業(yè)化操作系統(tǒng)在網(wǎng)絡(luò)和用戶圖形界面等方面都有很好的支持,并且在穩(wěn)定性和實(shí)時(shí)性方面都有相應(yīng)的保證,但其價(jià)格也相當(dāng)高。這里選用了開放源碼的嵌入式 Linux,它一般免費(fèi)或花較少的費(fèi)用就可得到,同時(shí)它在網(wǎng)絡(luò)和圖形界面方面也有很好的支持。另外,嵌入式 Linux 的高度模塊化使它可以根據(jù)實(shí)際應(yīng)用需要靈活配置,能有效精簡(jiǎn)內(nèi)核代碼。嵌入式 Linux 具有很高的穩(wěn)定性。在實(shí)時(shí)性方面,盡管 Linux 本身未作過多關(guān)注,但可通過打?qū)崟r(shí) Linux(RTLinux)補(bǔ)丁解決。
針對(duì)所采用的 CPU 沒有 MMU,選用了目前在嵌入式系統(tǒng)中被廣泛使用的μClinux。μClinux 是從標(biāo)準(zhǔn)的Linux 2.0 內(nèi)核發(fā)展而來的,但其源代碼針對(duì)典型的嵌入式應(yīng)用已經(jīng)作了許多精簡(jiǎn)和修改,使得其內(nèi)核比標(biāo)準(zhǔn)的 Linux 內(nèi)核要小很多,不過它仍然保留了標(biāo)準(zhǔn) Linux的主要特色。
目前最新的μClinux 版本已經(jīng)支持 S3C4510B 及典型開發(fā)板,如果所采用的 CPU 及開發(fā)板沒有被支持,應(yīng)根據(jù)實(shí)際情況移植。此外,由于在外部總線接了 CPLD和 FIFO,為了使應(yīng)用程序能訪問它,需要在μClinux 下開發(fā)相應(yīng)的驅(qū)動(dòng)程序。
2 實(shí)時(shí)數(shù)據(jù)接口的擴(kuò)展
2.1 應(yīng)用要求
將上述嵌入式系統(tǒng)應(yīng)用于實(shí)時(shí)多媒體數(shù)據(jù)的網(wǎng)絡(luò)傳輸,如圖2所示。這里的實(shí)時(shí)多媒體可以是 MPEG-4或 MPEG-2 等,其數(shù)據(jù)流一般是連續(xù)、恒定碼率的。
2.2 硬件擴(kuò)展
【嵌入式系統(tǒng)的實(shí)時(shí)數(shù)據(jù)接口擴(kuò)展】相關(guān)文章:
嵌入式實(shí)時(shí)網(wǎng)絡(luò)通信技術(shù)淺析論文(精選7篇)07-26
基于J2EE的遠(yuǎn)動(dòng)系統(tǒng)Web實(shí)時(shí)曲線的研究05-11
一個(gè)嵌入式系統(tǒng)的Petri網(wǎng)模型與CPLD實(shí)現(xiàn)05-29
飛機(jī)艙音背景聲特征實(shí)時(shí)分析系統(tǒng)開發(fā)及應(yīng)用05-05
構(gòu)件化的航天用數(shù)據(jù)傳輸處理系統(tǒng)構(gòu)建05-02
嵌入式系統(tǒng)以太網(wǎng)卡控制器LAN91C9605-30
高性能數(shù)據(jù)采集系統(tǒng)芯片LM12H458及其應(yīng)用05-28
PLC輸入/輸出點(diǎn)的合理使用及擴(kuò)展方法04-15
大數(shù)據(jù)對(duì)信息系統(tǒng)審計(jì)的影響及其關(guān)鍵技術(shù)論文(通用10篇)04-12
數(shù)字視頻接口-DVI 1.005-31