摘要:介紹如何在Altera開發(fā)平臺(tái)上,使用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)物。簡(jiǎ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)勢(shì)。該處理器的軟件支持可擴(kuò)展到對(duì)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)簡(jiǎn)單、可靠性高、可擴(kuò)展性強(qiáng)等特點(diǎn)。 通過對(duì)以太網(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í)對(duì)FPGA進(jìn)行配置; *Flash,主要用來存放軟件代碼以及一些需要保存的參數(shù); *SRAM,用來在系統(tǒng)運(yùn)行時(shí)的代碼和數(shù)據(jù)存儲(chǔ); *8位A/D,用來采集輸入信號(hào); *網(wǎng)絡(luò)接口芯片; *LED(3個(gè)),用來指示系統(tǒng)運(yùn)行狀態(tài)。 整個(gè)系統(tǒng)的結(jié)構(gòu)如圖1所示。 對(duì)于一個(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的接口,所以只需要對(duì)CPU同A/D的接口進(jìn)行設(shè)計(jì)。 為了實(shí)現(xiàn)數(shù)據(jù)采集頻率的動(dòng)態(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í)鐘信號(hào)頻率范圍是1MHz~1Hz。雙RAM緩沖有兩個(gè)輸入時(shí)鐘:讀時(shí)鐘和寫時(shí)鐘。讀時(shí)鐘信號(hào)為50MHz,遠(yuǎn)高于寫時(shí)鐘信號(hào)。這種緩存RAM讀寫頻率不同的設(shè)計(jì),可以顯著減小低速外圍設(shè)備對(duì)CPU的占用時(shí)間。CPU通過對(duì)狀態(tài)和控制寄存器的讀寫,實(shí)現(xiàn)對(duì)本部分的控制??紤]到系統(tǒng)的可擴(kuò)展性,同A/D相連的數(shù)據(jù)線寬度為32位,方便今后擴(kuò)展,最多可以4個(gè)8位A/D并行工作。另外,本部分在單個(gè)RAM緩存存滿時(shí),是以中斷的方式通知CPU。 這部分設(shè)計(jì)使用到的開發(fā)工具是Altera公司的SOPC Builder,該工具會(huì)自動(dòng)進(jìn)行系統(tǒng)定義,完成SOPC開發(fā)的集成過程。設(shè)計(jì)者采用SOPC Builder能夠在圖形化界面內(nèi)定餐一個(gè)從硬件到軟件的完整系統(tǒng)。 首先,根據(jù)設(shè)計(jì)需要使用SOPC Builder來對(duì)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)來。對(duì)于本設(shè)計(jì)來說,就是將在前面提到的A/D接口以用戶自定義接口的方式添加進(jìn)來,其余器件同CPU的接口只需在SOPC Builder中將對(duì)應(yīng)的接口模塊添加進(jìn)來即可。 然后,用SOPC Builder將定制轉(zhuǎn)換為VHDL等具體的設(shè)計(jì)文件。除此之外,SOPC Builder還根據(jù)定制的結(jié)果,自動(dòng)的生成針對(duì)特定硬件環(huán)境的C語(yǔ)言和匯編語(yǔ)言的頭文件以及函數(shù)庫(kù),這在軟件設(shè)計(jì)中會(huì)極大的減少軟件開發(fā)人員的工作量。 1.2 軟件設(shè)計(jì) 軟件設(shè)計(jì)包括嵌入式操作系統(tǒng)的移植、網(wǎng)絡(luò)協(xié)議棧設(shè)計(jì)、應(yīng)用級(jí)代碼編寫等部分,其中操作系統(tǒng)的移植、網(wǎng)絡(luò)協(xié)議棧設(shè)計(jì)的關(guān)鍵是軟件設(shè)計(jì)。下面就對(duì)這兩部分作簡(jiǎn)單介紹。 (1)μC/OS操作系統(tǒng)移植 μC/OS操作系統(tǒng)是美國(guó)人Jean Labrosse于1992年開始編寫的,它是一種適合于小型、微控制器的可剝奪實(shí)時(shí)操作系統(tǒng)。ΜC/OS的內(nèi)核除了沒有網(wǎng)絡(luò)協(xié)議棧之外,也沒有文件系統(tǒng),但是本設(shè)計(jì)中的設(shè)備本身并不需要對(duì)采集數(shù)據(jù)按文件方式保存,因而使用μC/OS可以滿足需要。 ΜC/OS設(shè)計(jì)時(shí)就充分考慮到在不同平臺(tái)上移值的需求,將同平臺(tái)相關(guān)的部分局限在一個(gè)很小范圍內(nèi),對(duì)于不同的平臺(tái)只需對(duì)下面一些函數(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)中斷級(jí)任務(wù)切換,用純匯編實(shí)現(xiàn)。 *OSCtxSw:實(shí)現(xiàn)用戶級(jí)上下文切換,用純匯編實(shí)現(xiàn)。 *OSTickISR:為系統(tǒng)定時(shí)器中斷的處理函數(shù),用純匯編實(shí)現(xiàn)。 *OSTaskStkInit:用來創(chuàng)建任務(wù)時(shí),對(duì)任務(wù)堆棧進(jìn)行初始化。 (2)網(wǎng)絡(luò)協(xié)議棧 本系統(tǒng)采用的是SOPC Builder中包含針對(duì)Nios的網(wǎng)絡(luò)協(xié)議棧,該棧以名為Plugs的函數(shù)庫(kù)的形式提供給設(shè)計(jì)者,該庫(kù)向軟件編寫都隱藏了低層硬件細(xì)節(jié),以類似于unix套接字的方式實(shí)現(xiàn)了一個(gè)精簡(jiǎn)的網(wǎng)絡(luò)協(xié)議棧。它支持以下一些網(wǎng)絡(luò)協(xié)議:IP、ARP、ICMP、UDP、TCP。 使用該庫(kù)在硬件上有四個(gè)要求:必須使用Nios CPU,需要20KB的代碼存儲(chǔ)空間,需要4KB的數(shù)據(jù)存儲(chǔ)空間,系統(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í)可行的。 | |
- 系統(tǒng)設(shè)計(jì)(22755)
基于Nios軟核的嵌入式Internet系統(tǒng)設(shè)計(jì)
1306基于Nios II和uClinux實(shí)現(xiàn)遠(yuǎn)程測(cè)控服務(wù)器的設(shè)計(jì)
1100
20個(gè)Nios Ⅱ的經(jīng)典設(shè)計(jì),提供軟硬件架構(gòu)、流程、算法
嵌入式Internet的接入方式比較
嵌入式Internet通信的安全怎么保障?
嵌入式系統(tǒng)中的軟外設(shè)是什么?
嵌入式系統(tǒng)的定義
嵌入式系統(tǒng)的定義和組成是什么
嵌入式軟核Nios Ⅱ串口直接讀寫寄存器有哪些編程方法?
嵌入式軟核NiosⅡ中串口模塊怎么編程?
嵌入式軟PLC技術(shù)具有哪些優(yōu)點(diǎn)呢
嵌入式操作系統(tǒng)怎么選擇?
Altera SOPC 嵌入式系統(tǒng)設(shè)計(jì)(一)
Altera SOPC嵌入式系統(tǒng)設(shè)計(jì)教程
Cyclone II FPGA和Nios II嵌入式處理器的優(yōu)勢(shì)
利用NIOS II系統(tǒng)點(diǎn)亮LCD1602屏及5.7寸LCD
單片機(jī)嵌入式Internet技術(shù)的Web應(yīng)用實(shí)現(xiàn)
基于NIOS II 軟核處理器的SOPC 技術(shù)
基于Nios軟核的嵌入式Internet系統(tǒng)該怎么設(shè)計(jì)?
基于嵌入式系統(tǒng)硬件平臺(tái)的軟件PLC實(shí)現(xiàn)設(shè)計(jì)
如何利用單片機(jī)嵌入式Internet技術(shù)實(shí)現(xiàn)Web應(yīng)用?
如何去實(shí)現(xiàn)基于GPRS的嵌入式Internet設(shè)備?
如何去設(shè)計(jì)并實(shí)現(xiàn)嵌入式軟PLC系統(tǒng)?
怎么實(shí)現(xiàn)基于Nios軟核的嵌入式Internet系統(tǒng)設(shè)計(jì)?
怎么設(shè)計(jì)集軟核處理器的嵌入式設(shè)計(jì)平臺(tái)?
怎樣去設(shè)計(jì)一種基于AVR單片機(jī)多任務(wù)嵌入式Internet系統(tǒng)
新人求助,軟考的嵌入式系統(tǒng)設(shè)計(jì)師這個(gè)證怎么樣
有關(guān)嵌入式系統(tǒng)的基礎(chǔ)知識(shí)
請(qǐng)問一下遠(yuǎn)程測(cè)控中嵌入式Web服務(wù)器的FPGA的實(shí)現(xiàn)方法
請(qǐng)問如何實(shí)現(xiàn)片上嵌入式Nios Ⅱ軟核六處理器系統(tǒng)的設(shè)計(jì)?
采用nios和μClinux實(shí)現(xiàn)嵌入式系統(tǒng)設(shè)計(jì)
嵌入式Internet互聯(lián)技術(shù)的應(yīng)用研究
9嵌入式Internet技術(shù)應(yīng)用
9基于Nios 軟核的嵌入式Internet系統(tǒng)設(shè)計(jì)
16采用Nios定制指令的嵌入式系統(tǒng)優(yōu)化設(shè)計(jì)
11基于Nios 軟核的嵌入式Internet系統(tǒng)設(shè)計(jì)
27用GPRSmodem 實(shí)現(xiàn)嵌入式Internet 接入系統(tǒng)
11基于GPRS的嵌入式Internet設(shè)計(jì)研究
28嵌入式Internet技術(shù)及其實(shí)現(xiàn)方案
17嵌入式Internet安全通信系統(tǒng)的設(shè)計(jì)研究
9嵌入式系統(tǒng)撥號(hào)接入Internet的設(shè)計(jì)與實(shí)現(xiàn)
9嵌入式Internet的實(shí)現(xiàn)技術(shù)與安全問題分析
31基于FPGA 的嵌入式ASIP 軟核設(shè)計(jì)與實(shí)現(xiàn)
30嵌入式GPS由GPRS接入Internet的實(shí)現(xiàn)
23嵌入式軟PLC系統(tǒng)的研究和實(shí)現(xiàn)
37基于FPGA的嵌入式ASIP軟核設(shè)計(jì)與實(shí)現(xiàn)
17基于NIOS II軟核的安全文件傳輸系統(tǒng)設(shè)計(jì)
26基于NiosⅡ軟核的車輛牌照識(shí)別系統(tǒng)研制
978
基于NiosⅡ軟核處理器的SOPC技術(shù)來實(shí)現(xiàn)數(shù)碼相框的設(shè)計(jì)
1600
嵌入式軟核NiosⅡ串口直接讀寫寄存器的編程方法
1535
Nios II入門起步-創(chuàng)建一個(gè)嵌入式處理器系統(tǒng)
87嵌入式CPU軟核綜述
53基于Chirp函數(shù)的Nios Ⅱ嵌入式實(shí)現(xiàn)
1560
基于NiosⅡ的彩色夜視系統(tǒng)的設(shè)計(jì)
37Nios II嵌入式設(shè)計(jì)包詳解
9722
基于軟核Nios_Ⅱ的SOPC數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
41基于Nios Ⅱ和GigE Vision的圖像采集系統(tǒng)
7基于NIOSⅡ嵌入式軟核處理器的LCD控制方法研究
6基于ARM嵌入式系統(tǒng)軟PLC的研究
18基于Nios II的嵌入式開發(fā)模式的搭建方案
0嵌入式軟核處理器液晶顯示屏的設(shè)計(jì)方案解析
0MCS-51嵌入式Internet接入技術(shù)解析
0嵌入式Internet設(shè)計(jì)
2嵌入式PLC軟核的通用保護(hù)平臺(tái)設(shè)計(jì)
0在Nios II平臺(tái)下搭建RTEMS嵌入式開發(fā)簡(jiǎn)析
1843
基于SoPC 技術(shù)的片上嵌入式Nios Ⅱ軟核六處理器系統(tǒng)
1444
液晶顯示屏設(shè)計(jì)方案:基于Nios嵌入式軟核處理器
1450
介紹如何用Nios II 軟核處理器來開發(fā)FPGA嵌入式系統(tǒng)軟件
5267以嵌入式處理器為核心的IP復(fù)用技術(shù)應(yīng)用
2143
Altera第二代Nios II嵌入式評(píng)估套件,主要應(yīng)用在最新的MAX 10 FPGA套件
1557采用NIOSⅡ嵌入式處理器的液晶顯示屏滾屏設(shè)計(jì)方案
3058
基于Nios軟核的SoPC系統(tǒng)硬件設(shè)計(jì)
1698
FPGA Nios嵌入式處理器的軟件開發(fā)
1FPGA Nios嵌入式處理器的軟件開發(fā)
17基于nios ii嵌入式軟核處理器的嵌入式系統(tǒng)設(shè)計(jì)解決方案
3988
嵌入式軟PLC系統(tǒng)的研究與實(shí)現(xiàn)
13基于CoDeSys的嵌入式軟PLC系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
44嵌入式軟PLC系統(tǒng)的研究和實(shí)現(xiàn)
4Internet網(wǎng)的嵌入式系統(tǒng)設(shè)計(jì)
0
電子發(fā)燒友App






評(píng)論