摘要:介紹如何在Altera開發(fā)平臺上,使用Nios軟核CPU來構(gòu)建嵌入式Internet系統(tǒng);并結(jié)合以太網(wǎng)遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)的實(shí)例,介紹此類系統(tǒng)硬件,軟件的設(shè)計(jì)方法。 關(guān)鍵詞:嵌入式Internet Nios μCOS 引言 自上個(gè)世紀(jì)末開始的網(wǎng)絡(luò)化浪潮,在很多領(lǐng)域都引發(fā)了技術(shù)進(jìn)步和革新,嵌入式Internet便是嵌入式技術(shù)與網(wǎng)絡(luò)技術(shù)結(jié)合的產(chǎn)物。簡單來說,嵌入式Internet是指在一個(gè)嵌入式設(shè)備上配備網(wǎng)絡(luò)接口,通過網(wǎng)絡(luò)可以與遠(yuǎn)程設(shè)備進(jìn)行信息的交互。從管理的角度上來講,嵌入式Internet經(jīng)歷了三個(gè)發(fā)展階段:集中管理階段、分散管理階段、智能管理階段。前兩個(gè)階段主要是致力于解決如何把一個(gè)具體的設(shè)備真實(shí)地嵌入到Internet中,第三階段人們考慮更多的是如何利用現(xiàn)有的技術(shù)來更好地進(jìn)行遠(yuǎn)程控制,更加豐富控制功能。 Altera公司的Nios軟核嵌入式處理器是一種可特許的通用RISC CPU,也就是說,Altera公司以IP核的方式將它提供給設(shè)計(jì)者。它可以與各種各樣的外設(shè)、定制指令和硬件加速單元相結(jié)合,構(gòu)成一個(gè)定制的SOPC。該處理順具有可由用戶配置的L1(第一層)指令與數(shù)據(jù)超高速緩存。Nios處理器還具有一種基于JTAG的OCI(片上儀器)芯核,使軟件開發(fā)人員在實(shí)時(shí)調(diào)試方面具有更明顯的優(yōu)勢。該處理器的軟件支持可擴(kuò)展到對APR、IP、ICMP、TCP、UDP和以太網(wǎng)的網(wǎng)絡(luò)協(xié)議支持。 本文介紹的以太網(wǎng)遠(yuǎn)程數(shù)據(jù)采集模塊的設(shè)計(jì),充分利用了前述兩種技術(shù)。主要功能是進(jìn)行數(shù)據(jù)采集、數(shù)據(jù)遠(yuǎn)程傳輸以及可接受遠(yuǎn)程控制。該模塊具有成本低廉、結(jié)構(gòu)簡單、可靠性高、可擴(kuò)展性強(qiáng)等特點(diǎn)。 通過對以太網(wǎng)遠(yuǎn)程數(shù)據(jù)采集模塊設(shè)計(jì)實(shí)例,介紹如何利用前面提到的技術(shù)來實(shí)現(xiàn)一個(gè)嵌入式Internet系統(tǒng)。 1.1 硬件設(shè)計(jì) (1)系統(tǒng)整體結(jié)構(gòu) 根據(jù)以太網(wǎng)遠(yuǎn)程數(shù)據(jù)采集模塊的功能要求,考慮到系統(tǒng)的穩(wěn)定性和可擴(kuò)展性,本系統(tǒng)主要包括以下部分: *Cyclone FPGA,包括Nios軟核CPU、操作系統(tǒng)使用的定時(shí)器、網(wǎng)絡(luò)協(xié)議棧使用的定時(shí)器、CPU同外圍設(shè)備的接口; *EPCS4,用來在上電時(shí)對FPGA進(jìn)行配置; *Flash,主要用來存放軟件代碼以及一些需要保存的參數(shù); *SRAM,用來在系統(tǒng)運(yùn)行時(shí)的代碼和數(shù)據(jù)存儲; *8位A/D,用來采集輸入信號; *網(wǎng)絡(luò)接口芯片; *LED(3個(gè)),用來指示系統(tǒng)運(yùn)行狀態(tài)。 整個(gè)系統(tǒng)的結(jié)構(gòu)如圖1所示。 對于一個(gè)嵌入式Internet系統(tǒng)來說,網(wǎng)絡(luò)接口是硬件設(shè)計(jì)的關(guān)鍵,本系統(tǒng)中采用Smsc公司的LAN91C111芯片作為網(wǎng)絡(luò)接口。該器件是一個(gè)以太網(wǎng)控制器,實(shí)現(xiàn)了網(wǎng)絡(luò)七層協(xié)議棧中的傳輸層和MAC層的功能。另外,它具有10/100M自適應(yīng)、雙工/半工自適應(yīng)等功能,有很好的網(wǎng)絡(luò)兼容性。 (2)CPU同A/D接口的設(shè)計(jì) CPU同A/D接口設(shè)計(jì)使用的是QuartusII軟件。它是Altera公司的第4代可編程邏輯器件集成開發(fā)環(huán)境,提供從設(shè)計(jì)輸入到器件編程的全部功能。 需要指出的是,從開發(fā)的周期和系統(tǒng)的穩(wěn)定性考慮,在本設(shè)計(jì)中除了A/D之外的其余器件均采用Altera公司推薦使用的器件。在SOPC Builder中包含了這些器件間Nios CPU的接口,所以只需要對CPU同A/D的接口進(jìn)行設(shè)計(jì)。 為了實(shí)現(xiàn)數(shù)據(jù)采集頻率的動態(tài)控制,以及使網(wǎng)絡(luò)部分有更多的CPU使用時(shí)間,在CPU同A/D的接口部分,除了必要的與CPU進(jìn)行交互的部分外,還包括用可控制計(jì)數(shù)器實(shí)現(xiàn)的整數(shù)倍分頻電路兩個(gè)輪換使用的數(shù)據(jù)緩存RAM。 該部分的結(jié)構(gòu)如圖2所示,分頻電路的輸出時(shí)鐘信號頻率范圍是1MHz~1Hz。雙RAM緩沖有兩個(gè)輸入時(shí)鐘:讀時(shí)鐘和寫時(shí)鐘。讀時(shí)鐘信號為50MHz,遠(yuǎn)高于寫時(shí)鐘信號。這種緩存RAM讀寫頻率不同的設(shè)計(jì),可以顯著減小低速外圍設(shè)備對CPU的占用時(shí)間。CPU通過對狀態(tài)和控制寄存器的讀寫,實(shí)現(xiàn)對本部分的控制。考慮到系統(tǒng)的可擴(kuò)展性,同A/D相連的數(shù)據(jù)線寬度為32位,方便今后擴(kuò)展,最多可以4個(gè)8位A/D并行工作。另外,本部分在單個(gè)RAM緩存存滿時(shí),是以中斷的方式通知CPU。 這部分設(shè)計(jì)使用到的開發(fā)工具是Altera公司的SOPC Builder,該工具會自動進(jìn)行系統(tǒng)定義,完成SOPC開發(fā)的集成過程。設(shè)計(jì)者采用SOPC Builder能夠在圖形化界面內(nèi)定餐一個(gè)從硬件到軟件的完整系統(tǒng)。 首先,根據(jù)設(shè)計(jì)需要使用SOPC Builder來對Nios CPU進(jìn)行定制,包括CPU是不吸數(shù)據(jù)和代碼緩沖、CPU寄存器數(shù)量(Nios CPU最多可以有512個(gè)寄存器)等。本設(shè)計(jì)中的Nios CPU有256個(gè)寄存器,未使用數(shù)據(jù)和代碼緩沖。除了Nios CPU之外,還需要用SOPC Builder將CPU同外圍設(shè)備的接口添加進(jìn)來。對于本設(shè)計(jì)來說,就是將在前面提到的A/D接口以用戶自定義接口的方式添加進(jìn)來,其余器件同CPU的接口只需在SOPC Builder中將對應(yīng)的接口模塊添加進(jìn)來即可。 然后,用SOPC Builder將定制轉(zhuǎn)換為VHDL等具體的設(shè)計(jì)文件。除此之外,SOPC Builder還根據(jù)定制的結(jié)果,自動的生成針對特定硬件環(huán)境的C語言和匯編語言的頭文件以及函數(shù)庫,這在軟件設(shè)計(jì)中會極大的減少軟件開發(fā)人員的工作量。 1.2 軟件設(shè)計(jì) 軟件設(shè)計(jì)包括嵌入式操作系統(tǒng)的移植、網(wǎng)絡(luò)協(xié)議棧設(shè)計(jì)、應(yīng)用級代碼編寫等部分,其中操作系統(tǒng)的移植、網(wǎng)絡(luò)協(xié)議棧設(shè)計(jì)的關(guān)鍵是軟件設(shè)計(jì)。下面就對這兩部分作簡單介紹。 (1)μC/OS操作系統(tǒng)移植 μC/OS操作系統(tǒng)是美國人Jean Labrosse于1992年開始編寫的,它是一種適合于小型、微控制器的可剝奪實(shí)時(shí)操作系統(tǒng)。ΜC/OS的內(nèi)核除了沒有網(wǎng)絡(luò)協(xié)議棧之外,也沒有文件系統(tǒng),但是本設(shè)計(jì)中的設(shè)備本身并不需要對采集數(shù)據(jù)按文件方式保存,因而使用μC/OS可以滿足需要。 ΜC/OS設(shè)計(jì)時(shí)就充分考慮到在不同平臺上移值的需求,將同平臺相關(guān)的部分局限在一個(gè)很小范圍內(nèi),對于不同的平臺只需對下面一些函數(shù)和宏進(jìn)行重寫。 *OS_ENTER_CRITICAL和OS_ENTER_CRITICAL:這是兩個(gè)宏,用來進(jìn)行臨界段保護(hù)。在本設(shè)計(jì)中使用匯編代碼關(guān)中斷來實(shí)現(xiàn)。 *OS_TASK_SW:這是一個(gè)用于進(jìn)行任務(wù)切換的宏。本設(shè)計(jì)中利用CPU的軟件中斷方式實(shí)現(xiàn)。也就是說調(diào)用此宏產(chǎn)生軟件中斷,然后由相應(yīng)的中斷處理程序來具體實(shí)現(xiàn)任務(wù)上下文保護(hù)和任務(wù)切換。 *OSIntCtxSw:實(shí)現(xiàn)中斷級任務(wù)切換,用純匯編實(shí)現(xiàn)。 *OSCtxSw:實(shí)現(xiàn)用戶級上下文切換,用純匯編實(shí)現(xiàn)。 *OSTickISR:為系統(tǒng)定時(shí)器中斷的處理函數(shù),用純匯編實(shí)現(xiàn)。 *OSTaskStkInit:用來創(chuàng)建任務(wù)時(shí),對任務(wù)堆棧進(jìn)行初始化。 (2)網(wǎng)絡(luò)協(xié)議棧 本系統(tǒng)采用的是SOPC Builder中包含針對Nios的網(wǎng)絡(luò)協(xié)議棧,該棧以名為Plugs的函數(shù)庫的形式提供給設(shè)計(jì)者,該庫向軟件編寫都隱藏了低層硬件細(xì)節(jié),以類似于unix套接字的方式實(shí)現(xiàn)了一個(gè)精簡的網(wǎng)絡(luò)協(xié)議棧。它支持以下一些網(wǎng)絡(luò)協(xié)議:IP、ARP、ICMP、UDP、TCP。 使用該庫在硬件上有四個(gè)要求:必須使用Nios CPU,需要20KB的代碼存儲空間,需要4KB的數(shù)據(jù)存儲空間,系統(tǒng)中需要有一個(gè)專供其使用的定時(shí)器。 2 結(jié)論 可以看出,采用Nios軟核CPU進(jìn)行嵌入式Intenet系統(tǒng)硬件設(shè)計(jì)相當(dāng)快速。由于SOPC Builder開發(fā)環(huán)境的完備功能,可以把注意力集中在系統(tǒng)整體構(gòu)架和功能上來,而無需過多的考慮細(xì)節(jié)性的電路設(shè)計(jì),同時(shí)還可以得到比較好的系統(tǒng)穩(wěn)定性和可靠性。 基于Nios進(jìn)行嵌入式Internet系統(tǒng)設(shè)計(jì)者兩個(gè)突出優(yōu)點(diǎn)。首先,硬件設(shè)計(jì)的難度,縮短了硬件開發(fā)周期,提出了設(shè)計(jì)的可靠性。CPU本身是以軟核的方式實(shí)現(xiàn),其功能可根據(jù)需要進(jìn)行定制。其次,軟件開發(fā)容易。SOPC Builder不但在硬件設(shè)計(jì)上提供了支持,在軟件上也為設(shè)計(jì)者提供了較好的支持,提供了現(xiàn)成的網(wǎng)絡(luò)協(xié)議棧。 本文中的以太網(wǎng)遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)已經(jīng)進(jìn)行了初步的仿真試驗(yàn),能夠達(dá)到預(yù)期的效果,被證實(shí)是切實(shí)可行的。 | |
基于Nios軟核的嵌入式Internet系統(tǒng)設(shè)計(jì)
- 系統(tǒng)設(shè)計(jì)(21466)
相關(guān)推薦
基于Nios軟核的嵌入式Internet系統(tǒng)設(shè)計(jì)
介紹如何在Altera開發(fā)平臺上,使用Nios軟核CPU來構(gòu)建嵌入式Internet系統(tǒng);并結(jié)合以太網(wǎng)遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)的實(shí)例,介紹此類系統(tǒng)硬件,軟件的設(shè)計(jì)方法。
2014-08-23 15:29:17
937

2019備考[嵌入式系統(tǒng)設(shè)計(jì)師]之基礎(chǔ)知識 精選資料推薦
1、嵌入式系統(tǒng)的定義(1)定義以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。(2)嵌入式系統(tǒng)發(fā)展的4個(gè)階段:無操作系統(tǒng)階段
2021-07-28 06:00:04
20個(gè)Nios Ⅱ的經(jīng)典設(shè)計(jì),提供軟硬件架構(gòu)、流程、算法
本文 介紹一種基于NiosⅡ軟核的直流電動機(jī)預(yù)測控制調(diào)速系統(tǒng)。采用SOPC技術(shù)通過在FPGA芯片中植入嵌入式軟核NiosⅡ作為中央處理器,借助預(yù)測函數(shù)控制算法(PFC)實(shí)現(xiàn)對整個(gè)直流電動機(jī)外圍電路
2015-01-16 22:10:42
Internet時(shí)代新的嵌入式操作系統(tǒng)
存在的大多數(shù)嵌入式操作系統(tǒng)。 Internet時(shí)代新的應(yīng)用模型與操作系統(tǒng) 在Internet時(shí)代,一個(gè)應(yīng)用程序可以包括文字、圖表、音頻、連續(xù)圖像播放等功能,各部分功能的軟件模塊可以來自不同的軟件開發(fā)
2019-06-28 06:47:02
NIOS II 軟核性能標(biāo)準(zhǔn)
表1 Nios II處理器系統(tǒng)的最大時(shí)鐘頻率(tMAX)(MHz)表2 Nios II處理器系統(tǒng)的MIPS(每秒鐘一百萬個(gè)指令) 表3 在不同設(shè)備家族上的Nios II處理器系統(tǒng)的MIPS/MHz比
2018-07-03 02:30:47
嵌入式Internet的接入方式比較
,將來在Internet上傳輸?shù)男畔⒅校瑢⒂?0%的信息來自小型嵌入式系統(tǒng)[2]。嵌入式Internet將有很好的發(fā)展前景和廣闊的市場,未來的Internet技術(shù)將是嵌入式Internet占主導(dǎo)地位,因此嵌入式系統(tǒng)與Internet的接入方式已成為人們研究的熱點(diǎn)。
2019-06-25 06:10:44
嵌入式Internet通信的安全怎么保障?
Internet已經(jīng)成為人們獲取信息、相互交流的重要渠道。嵌入式系統(tǒng)與Internet相結(jié)合,將嵌入式設(shè)備接入Internet是當(dāng)今嵌入式應(yīng)用的發(fā)展趨勢。Internet和Web服務(wù)與嵌入式系統(tǒng)都
2019-08-28 08:31:59
嵌入式系統(tǒng)
我是電子專業(yè)學(xué)生,最近剛剛接觸了嵌入式系統(tǒng),很有興趣學(xué)習(xí),但對其不太了解,有哪位有很好的適合初學(xué)者的嵌入式教程或書籍可以分享一下,謝謝了。
2013-09-26 13:25:32
嵌入式系統(tǒng)中的軟外設(shè)是什么?
隨著CPU的性能的不斷提升,處理速度越來越快,運(yùn)算能力不斷增強(qiáng),在許多嵌入式系統(tǒng)的開發(fā)中逐漸出現(xiàn)了軟外設(shè)(SoftwarePeripherals)。所謂軟外設(shè)是指以軟件編程為手段,模擬CPU
2019-09-17 06:59:10
嵌入式系統(tǒng)原理與應(yīng)用的相關(guān)資料分享
.3.可裁剪性好.4.可靠性高.5.功耗低.2.簡述嵌入式系統(tǒng)的發(fā)展歷程.第一階段在20世紀(jì)70年代前后,是嵌入式系統(tǒng)的萌芽階段.第二階段是以嵌入式微處理器為基礎(chǔ),以簡單操作系統(tǒng)為核心的嵌入式系統(tǒng).第三階段是以嵌入式操作系統(tǒng)為標(biāo)志的嵌入式系統(tǒng).第四階段是基于Internet
2021-10-27 06:59:43
嵌入式系統(tǒng)和嵌入式電腦有什么區(qū)別?
、設(shè)備驅(qū)動接口、通信協(xié)議、圖形界面、標(biāo)準(zhǔn)化瀏覽器等。嵌入式操作系統(tǒng)負(fù)責(zé)嵌入式系統(tǒng)的全部軟、硬件資源的分配、任務(wù)調(diào)度,控制、協(xié)調(diào)并發(fā)活動。它必須體現(xiàn)其所在系統(tǒng)的特征,能夠通過裝卸某些模塊來達(dá)到系統(tǒng)所要
2020-06-23 11:02:33
嵌入式系統(tǒng)是什么?嵌入式計(jì)算機(jī)系統(tǒng)有哪些特點(diǎn)?
什么是嵌入式系統(tǒng)?嵌入式微處理器有哪些特點(diǎn)?與通用型計(jì)算機(jī)系統(tǒng)相比,嵌入式計(jì)算機(jī)系統(tǒng)具有哪些特點(diǎn)?
2021-04-26 07:21:48
評論