1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>電子通信論文>基于Nios軟核的嵌入式Internet系統設計

    基于Nios軟核的嵌入式Internet系統設計

    時間:2023-02-21 00:09:19 電子通信論文 我要投稿
    • 相關推薦

    基于Nios軟核的嵌入式Internet系統設計

    摘要:介紹如何在Altera開發平臺上,使用Nios軟核CPU來構建嵌入式Internet系統;并結合以太網遠程數據采集系統的實例,介紹此類系統硬件,軟件的設計方法。

        關鍵詞:嵌入式Internet Nios μCOS

    引言

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

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

    本文介紹的以太網遠程數據采集模塊的設計,充分利用了前述兩種技術。主要功能是進行數據采集、數據遠程傳輸以及可接受遠程控制。該模塊具有成本低廉、結構簡單、可靠性高、可擴展性強等特點。
    (范文先生網www.baimashangsha.com收集整理)
    1 設計實例分析

    通過對以太網遠程數據采集模塊設計實例,介紹如何利用前面提到的技術來實現一個嵌入式Internet系統。

    1.1 硬件設計

    (1)系統整體結構

    根據以太網遠程數據采集模塊的功能要求,考慮到系統的穩定性和可擴展性,本系統主要包括以下部分:

    *Cyclone FPGA,包括Nios軟核CPU、操作系統使用的定時器、網絡協議棧使用的定時器、CPU同外圍設備的接口;

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

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

    *SRAM,用來在系統運行時的代碼和數據存儲;

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

    *網絡接口芯片;

    *LED(3個),用來指示系統運行狀態。

    整個系統的結構如圖1所示。

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

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

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

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

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

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


         (3)定制CPU和接口

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

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

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

    1.2 軟件設計

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

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

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

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

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

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

    *OSIntCtxSw:實現中斷級任務切換,用純匯編實現。

    *OSCtxSw:實現用戶級上下文切換,用純匯編實現。

    *OSTickISR:為系統定時器中斷的處理函數,用純匯編實現。

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

    (2)網絡協議棧

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

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

    2 結論

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

    基于Nios進行嵌入式Internet系統設計者兩個突出優點。首先,硬件設計的難度,縮短了硬件開發周期,提出了設計的可靠性。CPU本身是以軟核的方式實現,其功能可根據需要進行定制。其次,軟件開發容易。SOPC Builder不但在硬件設計上提供了支持,在軟件上也為設計者提供了較好的支持,提供了現成的網絡協議棧。

    本文中的以太網遠程數據采集系統已經進行了初步的仿真試驗,能夠達到預期的效果,被證實是切實可行的。


    【基于Nios軟核的嵌入式Internet系統設計】相關文章:

    基于MicroBlaze軟核的FPGA片上系統設計08-06

    采用Nios定制指令的嵌入式系統優化設計08-06

    基于Nios平臺的光信號采集片上系統設計08-06

    NIOS軟核處理器的Linux引導程序U-boot設計08-06

    基于PLD的嵌入式系統外存模塊設計08-06

    基于Geode TMGX1的嵌入式系統設計04-12

    基于IIS總線的嵌入式音頻系統設計08-06

    基于ARM體系的嵌入式系統BSP的程序設計08-06

    基于Winodws CE的嵌入式網絡監控系統的設計與實現08-06

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      亚洲精品影院在线网页 | 亚洲国产中文一卡二卡三卡免费 | 亚洲一区二区三区97 | 中文字幕亚洲欧美色 | 熟女少妇精品一区二区 | 亚洲—本道中文字幕 |