摘要:介紹如何在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和以太網的網絡協議支持。 本文介紹的以太網遠程數據采集模塊的設計,充分利用了前述兩種技術。主要功能是進行數據采集、數據遠程傳輸以及可接受遠程控制。該模塊具有成本低廉、結構簡單、可靠性高、可擴展性強等特點。 通過對以太網遠程數據采集模塊設計實例,介紹如何利用前面提到的技術來實現一個嵌入式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。 這部分設計使用到的開發工具是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不但在硬件設計上提供了支持,在軟件上也為設計者提供了較好的支持,提供了現成的網絡協議棧。 本文中的以太網遠程數據采集系統已經進行了初步的仿真試驗,能夠達到預期的效果,被證實是切實可行的。 | |
- 系統設計(22755)
基于Nios軟核的嵌入式Internet系統設計
1306基于Nios II和uClinux實現遠程測控服務器的設計
1100
20個Nios Ⅱ的經典設計,提供軟硬件架構、流程、算法
嵌入式Internet的接入方式比較
嵌入式Internet通信的安全怎么保障?
嵌入式系統中的軟外設是什么?
嵌入式系統的定義
嵌入式系統的定義和組成是什么
嵌入式軟核Nios Ⅱ串口直接讀寫寄存器有哪些編程方法?
嵌入式軟核NiosⅡ中串口模塊怎么編程?
嵌入式操作系統怎么選擇?
Altera SOPC 嵌入式系統設計(一)
Altera SOPC嵌入式系統設計教程
Cyclone II FPGA和Nios II嵌入式處理器的優勢
利用NIOS II系統點亮LCD1602屏及5.7寸LCD
單片機嵌入式Internet技術的Web應用實現
基于NIOS II 軟核處理器的SOPC 技術
基于Nios軟核的嵌入式Internet系統該怎么設計?
基于嵌入式系統硬件平臺的軟件PLC實現設計
如何利用單片機嵌入式Internet技術實現Web應用?
怎么實現基于Nios軟核的嵌入式Internet系統設計?
怎么設計集軟核處理器的嵌入式設計平臺?
怎樣去設計一種基于AVR單片機多任務嵌入式Internet系統
新人求助,軟考的嵌入式系統設計師這個證怎么樣
有關嵌入式系統的基礎知識
請問一下遠程測控中嵌入式Web服務器的FPGA的實現方法
請問如何實現片上嵌入式Nios Ⅱ軟核六處理器系統的設計?
采用nios和μClinux實現嵌入式系統設計
嵌入式Internet互聯技術的應用研究
9基于Nios 軟核的嵌入式Internet系統設計
16采用Nios定制指令的嵌入式系統優化設計
11基于Nios 軟核的嵌入式Internet系統設計
27用GPRSmodem 實現嵌入式Internet 接入系統
11基于GPRS的嵌入式Internet設計研究
28嵌入式Internet技術及其實現方案
17嵌入式Internet安全通信系統的設計研究
9嵌入式系統撥號接入Internet的設計與實現
9嵌入式Internet的實現技術與安全問題分析
31基于FPGA 的嵌入式ASIP 軟核設計與實現
30嵌入式GPS由GPRS接入Internet的實現
23嵌入式軟PLC系統的研究和實現
37基于FPGA的嵌入式ASIP軟核設計與實現
17基于NIOS II軟核的安全文件傳輸系統設計
26基于NiosⅡ軟核的車輛牌照識別系統研制
978
基于NiosⅡ軟核處理器的SOPC技術來實現數碼相框的設計
1600
嵌入式軟核NiosⅡ串口直接讀寫寄存器的編程方法
1535
Nios II入門起步-創建一個嵌入式處理器系統
87嵌入式CPU軟核綜述
53基于Chirp函數的Nios Ⅱ嵌入式實現
1560
基于NiosⅡ的彩色夜視系統的設計
37Nios II嵌入式設計包詳解
9722
基于Nios Ⅱ和GigE Vision的圖像采集系統
7基于ARM嵌入式系統軟PLC的研究
18基于Nios II的嵌入式開發模式的搭建方案
0嵌入式軟核處理器液晶顯示屏的設計方案解析
0MCS-51嵌入式Internet接入技術解析
0嵌入式Internet設計
2嵌入式PLC軟核的通用保護平臺設計
0在Nios II平臺下搭建RTEMS嵌入式開發簡析
1843
基于SoPC 技術的片上嵌入式Nios Ⅱ軟核六處理器系統
1444
液晶顯示屏設計方案:基于Nios嵌入式軟核處理器
1450
介紹如何用Nios II 軟核處理器來開發FPGA嵌入式系統軟件
5267以嵌入式處理器為核心的IP復用技術應用
2143
Altera第二代Nios II嵌入式評估套件,主要應用在最新的MAX 10 FPGA套件
1557采用NIOSⅡ嵌入式處理器的液晶顯示屏滾屏設計方案
3058
基于Nios軟核的SoPC系統硬件設計
1698
FPGA Nios嵌入式處理器的軟件開發
1FPGA Nios嵌入式處理器的軟件開發
17基于nios ii嵌入式軟核處理器的嵌入式系統設計解決方案
3988
嵌入式軟PLC系統的研究與實現
13基于CoDeSys的嵌入式軟PLC系統設計與實現
44嵌入式軟PLC系統的研究和實現
4
電子發燒友App






評論