日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于Nios軟核的嵌入式Internet系統(tǒng)設計

          基于Nios軟核的嵌入式Internet系統(tǒng)設計

          作者: 時間:2004-12-11 來源:網(wǎng)絡 收藏
          摘要:介紹如何在Altera開發(fā)平臺上,使用CPU來構建;并結合以太網(wǎng)遠程數(shù)據(jù)采集的實例,介紹此類硬件,軟件的方法。

          關鍵詞: μCOS

          引言

          自上個世紀末開始的網(wǎng)絡化浪潮,在很多領域都引發(fā)了技術進步和革新,便是嵌入式技術與網(wǎng)絡技術結合的產(chǎn)物。簡單來說,嵌入式Internet是指在一個嵌入式設備上配備網(wǎng)絡接口,通過網(wǎng)絡可以與遠程設備進行信息的交互。從管理的角度上來講,嵌入式Internet經(jīng)歷了三個發(fā)展階段:集中管理階段、分散管理階段、智能管理階段。前兩個階段主要是致力于解決如何把一個具體的設備真實地嵌入到Internet中,第三階段人們考慮更多的是如何利用現(xiàn)有的技術來更好地進行遠程控制,更加豐富控制功能。

          Altera公司的嵌入式處理器是一種可特許的通用RISC CPU,也就是說,Altera公司以IP核的方式將它提供給者。它可以與各種各樣的外設、定制指令和硬件加速單元相結合,構成一個定制的SOPC。該處理順具有可由用戶配置的L1(第一層)指令與數(shù)據(jù)超高速緩存。Nios處理器還具有一種JTAG的OCI(片上儀器)芯核,使軟件開發(fā)人員在實時調(diào)試方面具有更明顯的優(yōu)勢。該處理器的軟件支持可擴展到對APR、IP、ICMP、TCP、UDP和以太網(wǎng)的網(wǎng)絡協(xié)議支持。

          本文介紹的以太網(wǎng)遠程數(shù)據(jù)采集模塊的,充分利用了前述兩種技術。主要功能是進行數(shù)據(jù)采集、數(shù)據(jù)遠程傳輸以及可接受遠程控制。該模塊具有成本低廉、結構簡單、可靠性高、可擴展性強等特點。

          1 設計實例分析

          通過對以太網(wǎng)遠程數(shù)據(jù)采集模塊設計實例,介紹如何利用前面提到的技術來實現(xiàn)一個嵌入式Internet系統(tǒng)。

          1.1 硬件設計

          (1)系統(tǒng)整體結構

          根據(jù)以太網(wǎng)遠程數(shù)據(jù)采集模塊的功能要求,考慮到系統(tǒng)的穩(wěn)定性和可擴展性,本系統(tǒng)主要包括以下部分:

          *Cyclone FPGA,包括NiosCPU、操作系統(tǒng)使用的定時器、網(wǎng)絡協(xié)議棧使用的定時器、CPU同外圍設備的接口;

          *EPCS4,用來在上電時對FPGA進行配置;

          *Flash,主要用來存放軟件代碼以及一些需要保存的參數(shù);

          *SRAM,用來在系統(tǒng)運行時的代碼和數(shù)據(jù)存儲;

          *8位A/D,用來采集輸入信號;

          *網(wǎng)絡接口芯片;

          *LED(3個),用來指示系統(tǒng)運行狀態(tài)。

          整個系統(tǒng)的結構如圖1所示。

          對于一個嵌入式Internet系統(tǒng)來說,網(wǎng)絡接口是硬件設計的關鍵,本系統(tǒng)中采用Smsc公司的LAN91C111芯片作為網(wǎng)絡接口。該器件是一個以太網(wǎng)控制器,實現(xiàn)了網(wǎng)絡七層協(xié)議棧中的傳輸層和MAC層的功能。另外,它具有10/100M自適應、雙工/半工自適應等功能,有很好的網(wǎng)絡兼容性。

          (2)CPU同A/D接口的設計

          CPU同A/D接口設計使用的是QuartusII軟件。它是Altera公司的第4代可編程邏輯器件集成開發(fā)環(huán)境,提供從設計輸入到器件編程的全部功能。

          需要指出的是,從開發(fā)的周期和系統(tǒng)的穩(wěn)定性考慮,在本設計中除了A/D之外的其余器件均采用Altera公司推薦使用的器件。在SOPC Builder中包含了這些器件間Nios CPU的接口,所以只需要對CPU同A/D的接口進行設計。

          為了實現(xiàn)數(shù)據(jù)采集頻率的動態(tài)控制,以及使網(wǎng)絡部分有更多的CPU使用時間,在CPU同A/D的接口部分,除了必要的與CPU進行交互的部分外,還包括用可控制計數(shù)器實現(xiàn)的整數(shù)倍分頻電路兩個輪換使用的數(shù)據(jù)緩存RAM。

          該部分的結構如圖2所示,分頻電路的輸出時鐘信號頻率范圍是1MHz~1Hz。雙RAM緩沖有兩個輸入時鐘:讀時鐘和寫時鐘。讀時鐘信號為50MHz,遠高于寫時鐘信號。這種緩存RAM讀寫頻率不同的設計,可以顯著減小低速外圍設備對CPU的占用時間。CPU通過對狀態(tài)和控制寄存器的讀寫,實現(xiàn)對本部分的控制。考慮到系統(tǒng)的可擴展性,同A/D相連的數(shù)據(jù)線寬度為32位,方便今后擴展,最多可以4個8位A/D并行工作。另外,本部分在單個RAM緩存存滿時,是以中斷的方式通知CPU。

          (3)定制CPU和接口

          這部分設計使用到的開發(fā)工具是Altera公司的SOPC Builder,該工具會自動進行系統(tǒng)定義,完成SOPC開發(fā)的集成過程。設計者采用SOPC Builder能夠在圖形化界面內(nèi)定餐一個從硬件到軟件的完整系統(tǒng)。

          首先,根據(jù)設計需要使用SOPC Builder來對Nios CPU進行定制,包括CPU是不吸數(shù)據(jù)和代碼緩沖、CPU寄存器數(shù)量(Nios CPU最多可以有512個寄存器)等。本設計中的Nios CPU有256個寄存器,未使用數(shù)據(jù)和代碼緩沖。除了Nios CPU之外,還需要用SOPC Builder將CPU同外圍設備的接口添加進來。對于本設計來說,就是將在前面提到的A/D接口以用戶自定義接口的方式添加進來,其余器件同CPU的接口只需在SOPC Builder中將對應的接口模塊添加進來即可。

          然后,用SOPC Builder將定制轉換為VHDL等具體的設計文件。除此之外,SOPC Builder還根據(jù)定制的結果,自動的生成針對特定硬件環(huán)境的C語言和匯編語言的頭文件以及函數(shù)庫,這在軟件設計中會極大的減少軟件開發(fā)人員的工作量。

          1.2 軟件設計

          軟件設計包括嵌入式操作系統(tǒng)的移植、網(wǎng)絡協(xié)議棧設計、應用級代碼編寫等部分,其中操作系統(tǒng)的移植、網(wǎng)絡協(xié)議棧設計的關鍵是軟件設計。下面就對這兩部分作簡單介紹。

          (1)μC/OS操作系統(tǒng)移植

          μC/OS操作系統(tǒng)是美國人Jean Labrosse于1992年開始編寫的,它是一種適合于小型、微控制器的可剝奪實時操作系統(tǒng)。ΜC/OS的內(nèi)核除了沒有網(wǎng)絡協(xié)議棧之外,也沒有文件系統(tǒng),但是本設計中的設備本身并不需要對采集數(shù)據(jù)按文件方式保存,因而使用μC/OS可以滿足需要。

          ΜC/OS設計時就充分考慮到在不同平臺上移值的需求,將同平臺相關的部分局限在一個很小范圍內(nèi),對于不同的平臺只需對下面一些函數(shù)和宏進行重寫。

          *OS_ENTER_CRITICAL和OS_ENTER_CRITICAL:這是兩個宏,用來進行臨界段保護。在本設計中使用匯編代碼關中斷來實現(xiàn)。

          *OS_TASK_SW:這是一個用于進行任務切換的宏。本設計中利用CPU的軟件中斷方式實現(xiàn)。也就是說調(diào)用此宏產(chǎn)生軟件中斷,然后由相應的中斷處理程序來具體實現(xiàn)任務上下文保護和任務切換。

          *OSIntCtxSw:實現(xiàn)中斷級任務切換,用純匯編實現(xiàn)。

          *OSCtxSw:實現(xiàn)用戶級上下文切換,用純匯編實現(xiàn)。

          *OSTickISR:為系統(tǒng)定時器中斷的處理函數(shù),用純匯編實現(xiàn)。

          *OSTaskStkInit:用來創(chuàng)建任務時,對任務堆棧進行初始化。

          (2)網(wǎng)絡協(xié)議棧

          本系統(tǒng)采用的是SOPC Builder中包含針對Nios的網(wǎng)絡協(xié)議棧,該棧以名為Plugs的函數(shù)庫的形式提供給設計者,該庫向軟件編寫都隱藏了低層硬件細節(jié),以類似于unix套接字的方式實現(xiàn)了一個精簡的網(wǎng)絡協(xié)議棧。它支持以下一些網(wǎng)絡協(xié)議:IP、ARP、ICMP、UDP、TCP。

          使用該庫在硬件上有四個要求:必須使用Nios CPU,需要20KB的代碼存儲空間,需要4KB的數(shù)據(jù)存儲空間,系統(tǒng)中需要有一個專供其使用的定時器。

          2 結論

          可以看出,采用Nios軟核CPU進行嵌入式Intenet系統(tǒng)硬件設計相當快速。由于SOPC Builder開發(fā)環(huán)境的完備功能,可以把注意力集中在系統(tǒng)整體構架和功能上來,而無需過多的考慮細節(jié)性的電路設計,同時還可以得到比較好的系統(tǒng)穩(wěn)定性和可靠性。

          Nios進行嵌入式Internet系統(tǒng)設計者兩個突出優(yōu)點。首先,硬件設計的難度,縮短了硬件開發(fā)周期,提出了設計的可靠性。CPU本身是以軟核的方式實現(xiàn),其功能可根據(jù)需要進行定制。其次,軟件開發(fā)容易。SOPC Builder不但在硬件設計上提供了支持,在軟件上也為設計者提供了較好的支持,提供了現(xiàn)成的網(wǎng)絡協(xié)議棧。

          本文中的以太網(wǎng)遠程數(shù)據(jù)采集系統(tǒng)已經(jīng)進行了初步的仿真試驗,能夠達到預期的效果,被證實是切實可行的。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評論


          相關推薦

          技術專區(qū)

          關閉