版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于Nios軟核的嵌入式Internet系統(tǒng)設(shè)計(jì)
摘要:介紹如何在Altera開(kāi)發(fā)平臺(tái)上,使用Nios軟核CPU來(lái)構(gòu)建嵌入式Internet系統(tǒng);并結(jié)合以太網(wǎng)遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)的實(shí)例,介紹此類(lèi)系統(tǒng)硬件,軟件的設(shè)計(jì)方法。
關(guān)鍵詞:嵌入式InternetNiosμCOS
引言
自上個(gè)世紀(jì)末開(kāi)始的網(wǎng)絡(luò)化浪潮,在很多領(lǐng)域都引發(fā)了技術(shù)進(jìn)步和革新,嵌入式Internet便是嵌入式技術(shù)與網(wǎng)絡(luò)技術(shù)結(jié)合的產(chǎn)物。簡(jiǎn)單來(lái)說(shuō),嵌入式Internet是指在一個(gè)嵌入式設(shè)備上配備網(wǎng)絡(luò)接口,通過(guò)網(wǎng)絡(luò)可以與遠(yuǎn)程設(shè)備進(jìn)行信息的交互。從管理的角度上來(lái)講,嵌入式Internet經(jīng)歷了三個(gè)發(fā)展階段:集中管理階段、分散管理階段、智能管理階段。前兩個(gè)階段主要是致力于解決如何把一個(gè)具體的設(shè)備真實(shí)地嵌入到Internet中,第三階段人們考慮更多的是如何利用現(xiàn)有的技術(shù)來(lái)更好地進(jìn)行遠(yuǎn)程控制,更加豐富控制功能。
Altera公司的Nios軟核嵌入式處理器是一種可特許的通用RISCCPU,也就是說(shuō),Altera公司以IP核的方式將它提供給設(shè)計(jì)者。它可以與各種各樣的外設(shè)、定制指令和硬件加速單元相結(jié)合,構(gòu)成一個(gè)定制的SOPC。該處理順具有可由用戶配置的L1指令與數(shù)據(jù)超高速緩存。Nios處理器還具有一種基于JTAG的OCI芯核,使軟件開(kāi)發(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)。
1設(shè)計(jì)實(shí)例分析
通過(guò)對(duì)以太網(wǎng)遠(yuǎn)程數(shù)據(jù)采集模塊設(shè)計(jì)實(shí)例,介紹如何利用前面提到的技術(shù)來(lái)實(shí)現(xiàn)一個(gè)嵌入式Internet系統(tǒng)。
硬件設(shè)計(jì)
系統(tǒng)整體結(jié)構(gòu)
根據(jù)以太網(wǎng)遠(yuǎn)程數(shù)據(jù)采集模塊的功能要求,考慮到系統(tǒng)的穩(wěn)定性和可擴(kuò)展性,本系統(tǒng)主要包括以下部分
*CycloneFPGA,包括Nios軟核CPU、操作系統(tǒng)使用的定時(shí)器、網(wǎng)絡(luò)協(xié)議棧使用的定時(shí)器、CPU同外圍設(shè)備的接口;
*EPCS4,用來(lái)在上電時(shí)對(duì)FPGA進(jìn)行配置;
*Flash,主要用來(lái)存放軟件代碼以及一些需要保存的參數(shù);
*SRAM,用來(lái)在系統(tǒng)運(yùn)行時(shí)的代碼和數(shù)據(jù)存儲(chǔ);
*8位A/D,用來(lái)采集輸入信號(hào);
*網(wǎng)絡(luò)接口芯片;
*LED,用來(lái)指示系統(tǒng)運(yùn)行狀態(tài)。
整個(gè)系統(tǒng)的結(jié)構(gòu)如圖1所示。
對(duì)于一個(gè)嵌入式Internet系統(tǒng)來(lái)說(shuō),網(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ò)兼容性。
CPU同A/D接口的設(shè)計(jì)
CPU同A/D接口設(shè)計(jì)使用的是QuartusII軟件。它是Altera公司的第4代可編程邏輯器件集成開(kāi)發(fā)環(huán)境,提供從設(shè)計(jì)輸入到器件編程的全部功能。
需要指出的是,從開(kāi)發(fā)的周期和系統(tǒng)的穩(wěn)定性考慮,在本設(shè)計(jì)中除了A/D之外的其余器件均采用Altera公司推薦使用的器件。在SOPCBuilder中包含了這些器件間NiosCPU的接口,所以只需要對(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í)鐘和寫(xiě)時(shí)鐘。讀時(shí)鐘信號(hào)為50MHz,遠(yuǎn)高于寫(xiě)時(shí)鐘信號(hào)。這種緩存RAM讀寫(xiě)頻率不同的設(shè)計(jì),可以顯著減小低速外圍設(shè)備對(duì)CPU的占用時(shí)間。CPU通過(guò)對(duì)狀態(tài)和控制寄存器的讀寫(xiě),實(shí)現(xiàn)對(duì)本部分的控制??紤]到系統(tǒng)的可擴(kuò)展性,同A/D相連的數(shù)據(jù)線寬度為32位,方便今后擴(kuò)展,最多可以4個(gè)8位A/D并行工作。另外,本部分在單個(gè)RAM緩存存滿時(shí),是以中斷的方式通知CPU。
定制CPU和接口
這部分設(shè)計(jì)使用到的開(kāi)發(fā)工具是Altera公司的SOPCBuilder,該工具會(huì)自動(dòng)進(jìn)行系統(tǒng)定義,完成SOPC開(kāi)發(fā)的集成過(guò)程。設(shè)計(jì)者采用SOPCBuilder能夠在圖形化界面內(nèi)定餐一個(gè)從硬件到軟件的完整系統(tǒng)。
首先,根據(jù)設(shè)計(jì)需要使用SOPCBuilder來(lái)對(duì)NiosCPU進(jìn)行定制,包括CPU是不吸數(shù)據(jù)和代碼緩沖、CPU寄存器數(shù)量等。本設(shè)計(jì)中的NiosCPU有256個(gè)寄存器,未使用數(shù)據(jù)和代碼緩沖。除了NiosCPU之外,還需要用SOPCBuilder將CPU同外圍設(shè)備的接口添加進(jìn)來(lái)。對(duì)于本設(shè)計(jì)來(lái)說(shuō),就是將在前面提到的A/D接口以用戶自定義接口的方式添加進(jìn)來(lái),其余器件同CPU的接口只需在SOPCBuilder中將對(duì)應(yīng)的接口模塊添加進(jìn)來(lái)即可。
然后,用SOPCBuilder將定制轉(zhuǎn)換為VHDL等具體的設(shè)計(jì)文件。除此之外,SOPCBuilder還根據(jù)定制的結(jié)果,自動(dòng)的生成針對(duì)特定硬件環(huán)境的C語(yǔ)言和匯編語(yǔ)言的頭文件以及函數(shù)庫(kù),這在軟件設(shè)計(jì)中會(huì)極大的減少軟件開(kāi)發(fā)人員的工作量。
軟件設(shè)計(jì)
軟件設(shè)計(jì)包括嵌入式操作系統(tǒng)的移植、網(wǎng)絡(luò)協(xié)議棧設(shè)計(jì)、應(yīng)用級(jí)代碼編寫(xiě)等部分,其中操作系統(tǒng)的移植、網(wǎng)絡(luò)協(xié)議棧設(shè)計(jì)的關(guān)鍵是軟件設(shè)計(jì)。下面就對(duì)這兩部分作簡(jiǎn)單介紹。
μC/OS操作系
統(tǒng)移植
μC/OS操作系統(tǒng)是美國(guó)人JeanLabrosse于1992年開(kāi)始編寫(xiě)的,它是一種適合于小型、微控制器的可剝奪實(shí)時(shí)操作系統(tǒng)。ΜC/OS的內(nèi)核除了沒(méi)有網(wǎng)絡(luò)協(xié)議棧之外,也沒(méi)有文件系統(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)行重寫(xiě)。
*OS_ENTER_CRITICAL和OS_ENTER_CRITICAL:這是兩個(gè)宏,用來(lái)進(jìn)行臨界段保護(hù)。在本設(shè)計(jì)中使用匯編代碼關(guān)中斷來(lái)實(shí)現(xiàn)。
*OS_TASK_SW:這是一個(gè)用于進(jìn)行任務(wù)切換的宏。本設(shè)計(jì)中利用CPU的軟件中斷方式實(shí)現(xiàn)。也就是說(shuō)調(diào)用此宏產(chǎn)生軟件中斷,然后由相應(yīng)的中斷處理程序來(lái)具體實(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:用來(lái)創(chuàng)建任務(wù)時(shí),對(duì)任務(wù)堆棧進(jìn)行初始化。
網(wǎng)絡(luò)協(xié)議棧
本系統(tǒng)采用的是SOPCBuilder中包含針對(duì)Nios的網(wǎng)絡(luò)協(xié)議棧,該棧以名為Plugs的函數(shù)庫(kù)的形式提供給設(shè)計(jì)者,該庫(kù)向軟件編寫(xiě)都隱藏了低層硬件細(xì)節(jié),以類(lèi)似于unix套接字的方式實(shí)現(xiàn)了一個(gè)精簡(jiǎn)的網(wǎng)絡(luò)協(xié)議棧。它支持以下一些網(wǎng)絡(luò)協(xié)議:IP、ARP、ICMP、UDP、TCP。
使用該庫(kù)在硬件上有四個(gè)要求:必須使用NiosCPU,需要20KB的代碼存儲(chǔ)空間,需要4KB的數(shù)據(jù)存儲(chǔ)空間,系統(tǒng)中需要有一個(gè)專(zhuān)供其使用的定時(shí)器。
2結(jié)論
可以看出,采用Nios軟核CPU進(jìn)行嵌入式Intenet系統(tǒng)硬件設(shè)計(jì)相當(dāng)快速。由于SOPCBuilder開(kāi)發(fā)環(huán)境的完備功能,可以把注意力集中在系統(tǒng)整體構(gòu)架和功能上來(lái),而無(wú)需過(guò)多的考慮細(xì)節(jié)性的電路設(shè)計(jì),同時(shí)還可以得到比較好的系統(tǒng)穩(wěn)定性和可靠性。
基于Nios進(jìn)行嵌入式Internet系統(tǒng)設(shè)計(jì)者兩個(gè)突出優(yōu)點(diǎn)。首先,硬件設(shè)計(jì)的難
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 孕婦用品售后服務(wù)模式創(chuàng)新-洞察分析
- 網(wǎng)絡(luò)廣告?zhèn)惱韱?wèn)題-洞察分析
- 醫(yī)療信息化應(yīng)用分析-洞察分析
- 移動(dòng)學(xué)習(xí)行為分析-洞察分析
- 藥品質(zhì)量控制方法-洞察分析
- 特色農(nóng)產(chǎn)品冷鏈技術(shù)-洞察分析
- 移動(dòng)醫(yī)療與遠(yuǎn)程教育-洞察分析
- 虛擬現(xiàn)實(shí)在網(wǎng)頁(yè)設(shè)計(jì)中的優(yōu)勢(shì)-洞察分析
- 循環(huán)利用產(chǎn)業(yè)鏈構(gòu)建-洞察分析
- 云端網(wǎng)絡(luò)功能虛擬化-洞察分析
- 2025蛇年元旦晚會(huì)
- 【MOOC】中國(guó)近現(xiàn)代史綱要-武漢理工大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 綜合管廊知識(shí)
- 四川省南充市2023-2024學(xué)年高一上學(xué)期期末考試 歷史 含解析
- 餐飲業(yè)食品安全管理操作手冊(cè)
- 2024-2025學(xué)年湖北省武漢市華中師大一附中高三上學(xué)期期中英語(yǔ)試題及答案
- 2025年公司半年工作總結(jié)及下半年工作計(jì)劃
- 2024年光伏電站運(yùn)行專(zhuān)業(yè)知識(shí)題庫(kù)
- 國(guó)開(kāi)(內(nèi)蒙古)2024年《漢語(yǔ)中的中國(guó)文化》形成性考核1-3終結(jié)性考核答案
- 《PDCA培訓(xùn)資料》課件
- 2024年區(qū)域代理經(jīng)營(yíng)協(xié)議
評(píng)論
0/150
提交評(píng)論