www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀] 0 引言 基于SoPC 技術(shù)開發(fā)的嵌入式Nios Ⅱ軟核多處理器系統(tǒng)具有可自主設(shè)計,重構(gòu)性好,軟硬件裁剪容易,系統(tǒng)擴(kuò)充升級方便,能兼顧性能、體積、功耗、成本、可靠性等方面的要求。研發(fā)嵌入式Nios Ⅱ軟核多處理器系統(tǒng),

 0 引言

 

基于SoPC 技術(shù)開發(fā)的嵌入式Nios Ⅱ軟核多處理器系統(tǒng)具有可自主設(shè)計,重構(gòu)性好,軟硬件裁剪容易,系統(tǒng)擴(kuò)充升級方便,能兼顧性能、體積、功耗、成本、可靠性等方面的要求。研發(fā)嵌入式Nios Ⅱ軟核多處理器系統(tǒng),是提高嵌入式系統(tǒng)性價比和實用性一種有效途徑。

 

1 片上Nios Ⅱ嵌入式軟核多處理器系統(tǒng)

 

嵌入式系統(tǒng)的核心是RISC 處理器,具有代表性的RISC軟核處理器是Nios Ⅱ處理器。軟核處理器是指用編程的方法生成的處理器。是一種將硬件邏輯、智能算法、硬件描述語言和編程有機(jī)的結(jié)合出來,設(shè)計處理器硬件電路的新技術(shù)。

 

片上Nios Ⅱ嵌入式多處理器系統(tǒng)優(yōu)勢在于設(shè)計者可根據(jù)的實際的需要,自主選擇Nios Ⅱ處理器的類型和數(shù)目并進(jìn)行設(shè)置,對存儲器和外圍設(shè)備進(jìn)行優(yōu)化配置,最大限度提高片內(nèi)資源和系統(tǒng)資源的利用率。

 

1.1 Nios Ⅱ處理器

 

由Nios Ⅱ軟核處理器構(gòu)建的系統(tǒng),對系統(tǒng)軟硬件容易進(jìn)行裁剪,并可集成在一個FPGA 芯片上,構(gòu)建系統(tǒng)和實時評估非常迅速、方便,可大大地縮短設(shè)計周期,降低設(shè)計風(fēng)險。

 

1.2 多處理器系統(tǒng)類型

 

按共享資源分為非共享資源多處理器系統(tǒng)和共享資源多處理器系統(tǒng)兩種。非共享資源多個處理器系統(tǒng)中的多個Nios Ⅱ處理器完全是獨立的,不共享系統(tǒng)資源,處理器相互之間無干擾,系統(tǒng)結(jié)構(gòu)不太復(fù)雜。共享資源多處理器系統(tǒng)在共享資源的情況下,要確保多個Nios Ⅱ處理器安全、可靠的工作,它對提高每個處理器的性能、減小體積,降低成本和功耗有利,但系統(tǒng)軟件的設(shè)計較為復(fù)雜。

 

按處理器拓?fù)浣Y(jié)構(gòu)分為2 種,一種是非層次結(jié)構(gòu),處理器與系統(tǒng)組件的連接容易;另一種是層次結(jié)構(gòu),它可根據(jù)實際需要來確定Nios Ⅱ處理器的數(shù)目,優(yōu)化系統(tǒng)的內(nèi)部結(jié)構(gòu),有效利用FPGA芯片的資源。但存在平衡多處理器的負(fù)載和任務(wù)協(xié)調(diào)的問題。

 

2 共享資源多處理器系統(tǒng)

 

由多個Nios Ⅱ軟核處理器,一套片上外設(shè)接口,片上存儲器,片外存儲器接口等并集成在一個FPGA芯片上,構(gòu)成片上嵌入式Nios Ⅱ軟核多處理器系統(tǒng)的基本架構(gòu)。

 

2.1 共享系統(tǒng)資源

 

Nios Ⅱ多處理器系統(tǒng)可共享存儲器、外圍設(shè)備系統(tǒng)資源。為了確保每個處理器共享資源,防止由于處理器之間的干擾,引起程序或數(shù)據(jù)的錯誤,導(dǎo)致整個系統(tǒng)的崩潰。Nios Ⅱ多處理器系統(tǒng)中使用硬件互斥核組件對共享資源進(jìn)行保護(hù)處理,以協(xié)調(diào)各個處理器的正常工作,確保處理器之間不受干擾,從而提高多處理器系統(tǒng)的性能。

 

2.2 硬件互斥核

 

用硬件互斥核來協(xié)調(diào)各個處理器對共享資源的訪問。硬件互斥核是沒有內(nèi)部功能的,是一個簡單的QSYS組件。它提供了一個協(xié)議來保證對共享資源的所有權(quán)的互斥,互斥協(xié)議是在任何時刻只有一個處理器允許訪問共享硬件資源,這樣才能有效保護(hù)多個處理器訪問使用硬件資源,防止數(shù)據(jù)的損壞或系統(tǒng)的崩潰?;コ夂薽utex提供一個原子的測試和設(shè)置操作,它允許處理器測試,如果互斥是可用的話,獲得互斥鎖處理器進(jìn)行單一的操作。當(dāng)處理器完成使用共享外設(shè)與互斥鎖,會釋放互斥鎖。此后,另一個處理器可以獲取該互斥鎖和共享外設(shè)的使用權(quán)。

 

需要注意,互斥核并沒有外設(shè)系統(tǒng)被多個處理器同時訪問的物理保護(hù),運(yùn)行在處理器上的軟件負(fù)責(zé)遵守互斥協(xié)議,軟件通過寫獲取互斥鎖后,處理器訪問其相關(guān)聯(lián)的共享外圍設(shè)備。多個處理器訪問一個mutex核,則每個處理器有一個唯一的標(biāo)識符ID(cpuid)。Altera提供了Nios Ⅱ處理器訪問硬件的子程序,這些函數(shù)是針對mutex 核的,直接對底層硬件進(jìn)行操作,每個處理器通過寫它的cpuid 控制寄存器的值到mutex 寄存器的owner 域?qū)utex 加鎖,而mutex 不能對HAL API 或ANSI C標(biāo)準(zhǔn)庫進(jìn)行訪問。

 

 

 

3 片上嵌入式Nios Ⅱ軟核六處理器系統(tǒng)實例

 

片上嵌入式Nios Ⅱ六處理器硬件系統(tǒng)結(jié)構(gòu)示意圖如圖1所示。

 

3.1 硬件系統(tǒng)結(jié)構(gòu)

 

由六個Nios Ⅱ處理器、硬件互斥核、片上存儲器、JTAG UART、定時器、FLASH 控制器、FLASH 存儲器、System ID、Avalon Switch Fabric總線組成系統(tǒng)硬件的基本結(jié)構(gòu)。該系統(tǒng)采用層次結(jié)構(gòu),其中第六個Nios Ⅱ處理器、片上存儲器、JTAG UART、System ID、定時器、FLASH 控制和存儲器處在結(jié)構(gòu)的頂層。處在底層的5 個子系統(tǒng)共享存儲器資源,每個子系統(tǒng)包含一個NiosⅡ處理器、JTAG UART、定時器和硬件互斥核,用Ava-lon-MM、Pipeline Bridges將邏輯相鄰的子系統(tǒng)處理器和互斥核之間連接成一個環(huán),連接子系統(tǒng)與系統(tǒng)頂層組件之間的通信通道。

 

 

 

3.2 Nios Ⅱ處理器選擇和參數(shù)設(shè)置

 

Nios Ⅱ處理器有快速型、標(biāo)準(zhǔn)型和經(jīng)濟(jì)型三種類型[3],快速型配置性能最高,經(jīng)濟(jì)型配置占用片內(nèi)資源最少,標(biāo)準(zhǔn)型配置的性能和占用片上資源介于快速型和經(jīng)濟(jì)型之間。根據(jù)實際應(yīng)用需要對系統(tǒng)性價比及功耗的要求,合理選擇和配置Nios Ⅱ處理器。

 

多處理器系統(tǒng)中對每一個處理器都要進(jìn)行正確的設(shè)置,否則即使創(chuàng)建的硬件系統(tǒng)已通過編譯并生成,也會造成多處理器系統(tǒng)不能正常運(yùn)行的問題。如果多個處理器使用片上存儲器為共享程序存儲器,則必須正確設(shè)計異常地址。如果使用CFI FLASH存儲器區(qū)域作為多個處理器的引導(dǎo)區(qū),則必須要正確設(shè)計復(fù)位地址。使用不同類型的存儲器要正確的進(jìn)行設(shè)置。

 

3.3 共享程序存儲器

 

為了降低成本、功耗,簡化多處理器系統(tǒng)結(jié)構(gòu),實例中利用FPGA的芯片資源共享程序存儲器,六個Nios Ⅱ處理器的運(yùn)行軟件共同使用片上存儲器,每個處理器的軟件位于片上存儲器所屬特有的存儲器區(qū)域。如果六個處理器的軟件在片上存儲器運(yùn)行,假設(shè)每個處理器的軟件需要有8 KB的內(nèi)存空間用于程序代碼和數(shù)據(jù)。這樣第一個處理器使用片上存儲器0×0~0x1FFF之間的作為其程序空間,第二個處理器使用片上存儲器0×2000~0x3FFF 之間的區(qū)域,第三個處理器使用片上存儲器0×4000~0x5FFF之間的區(qū)域;其他各個處理器所需的存儲器區(qū)域采用同樣的方法對片上存儲器進(jìn)行分區(qū)。

 

Nios Ⅱ SBT 提供了一個簡單的存儲器分區(qū)模式,允許多個處理器的軟件運(yùn)行于同一存儲器的不同區(qū)域,確保位于存儲器中的主要代碼段的鏈接和固定地址。

 

圖2所示六個處理器在片上儲存器的分區(qū)及代碼段的鏈接。

 

 

 

3.4 設(shè)置啟動地址

 

在多處理器系統(tǒng)中,每個處理器在存儲器中必須擁有自己的啟動區(qū)域,多個處理器不能從同一非易失性存儲器的同一地址啟動。啟動存儲器類似程序存儲器一樣也可以進(jìn)行分區(qū),但段和鏈接的概念不同,因為通常引導(dǎo)代碼只是復(fù)制到它實際的程序代碼被鏈接在RAM中,然后跳轉(zhuǎn)到該程序代碼處。為了從同一非易失性存儲器的不同區(qū)域啟動多個處理器,設(shè)置每個處理器復(fù)位地址,這個地址就是啟動該處理器的位置,啟動區(qū)域要留出足夠的空間存放啟動代碼。由于沒有支持機(jī)制多個處理器無法直接訪問CFI FLASH存儲器,需要使用一個CFI FLASH控制器,Nios Ⅱ處理器通過CFI FLASH控制器讀取或?qū)懭氲紺FI FLASH存儲器。如果多個Nios Ⅱ處理器啟動在同一個CFI FLASH存儲器。為確保安全訪問,必須刪除一個主控處理器之外的CFI FLASH 存儲器alt_main()函數(shù)所有初始化的驅(qū)動程序,并確認(rèn)啟動前完成所有其他處理器在CFIFLASH存儲器的程序初始化。圖3所示六個處理器從一個FLASH存儲器啟動的映射。

 

 

 

 

 

3.5 共享外設(shè)資源

 

多個處理器共享外設(shè)存在嚴(yán)重的問題。共享外設(shè)的最大的問題是中斷,如果允許一個外設(shè)中斷且所有處理器共享它,沒有可靠的方法保證哪一個處理器首先響應(yīng)中斷且為哪個外設(shè)服務(wù)。此外,如果外設(shè)是用來作為多處理器的輸入設(shè)備,很難確定哪個處理器應(yīng)該從設(shè)備中接受輸入信息。Nios Ⅱ多處理器系統(tǒng)共享外設(shè)資源的方式,是系統(tǒng)中的外設(shè)僅被一個處理器訪問,如果其他處理器需要使用外設(shè),最好是使用硬件先進(jìn)先出(FIFO)或消息緩沖區(qū)互斥保護(hù)。創(chuàng)建多處理器系統(tǒng)時,僅對需要通信的處理器和外設(shè)之間進(jìn)行連接。例如,如果一個處理器運(yùn)行僅使用一個片上存儲器,該處理器沒有必要與系統(tǒng)中任何其他存儲器連接。處理器與存儲器的分離,不使用物理斷開連接,這樣可節(jié)約FPGA資源,保證處理器不會破壞存儲器的數(shù)據(jù)。

 

共享資源多處理器與各種組件連接是設(shè)計中的關(guān)鍵環(huán)節(jié),要驗證每個處理器及所需組件的連接是否正確。多數(shù)組件最好是由單一的處理器管理。例如處理器A要求一個外設(shè)的服務(wù),而該外設(shè)與處理器B連接并由處理器B 管理,處理器A 要求對該外設(shè)進(jìn)行操作,處理器A 必須請求處理器B.這樣可以使用處理器互斥保護(hù)的共享片上存儲器,用于個兩處理器之間的通信,達(dá)到多處理器共享外設(shè)的目的。

 

在多處理器系統(tǒng)中,每個從外設(shè)可以占據(jù)相同的基地址不會發(fā)生沖突,只要每個外設(shè)是被不同的處理器控制。因為每個從外設(shè)不必一定被每個處理器控制。如果處理器A被連接到映射地址為0x00008a00的一個從外設(shè),處理器B也可以被連接到映射地址0x00008a00另一個從外設(shè),只要處理器A是沒有連接到處理器B的從外設(shè),處理器B 沒有連接到處理器A 的從外設(shè),不會因為從外設(shè)占據(jù)相同的基地址而發(fā)生沖突。圖4方框圖顯示多處理器系統(tǒng)中不同的從外設(shè)組件映射到同一個基地址的示例。

 

 

 

4 系統(tǒng)調(diào)試及軟件設(shè)計

 

Nios Ⅱ SBT for Eclipse 工具包括了許多功能,它可以進(jìn)行Nios Ⅱ多處理器系統(tǒng)的軟件開發(fā)。能同時對多個Nios Ⅱ處理器進(jìn)行調(diào)試會話,也可單獨暫停和恢復(fù)每個處理器的運(yùn)行,單獨設(shè)置每處理器的斷點。如果一個處理器遇到一個斷點,它不會停止或影響其他處理器的操作。Nios Ⅱ SBT for Eclips對多個處理器系統(tǒng)具有可同時進(jìn)行在片調(diào)試的能力。

 

系統(tǒng)軟件設(shè)計應(yīng)注意的問題,在設(shè)計Nios Ⅱ多處理器系統(tǒng)的軟件時,必須要考慮系統(tǒng)硬件結(jié)構(gòu)的特點以及啟動地址和異常地址的設(shè)置。設(shè)計調(diào)試運(yùn)行多處理器系統(tǒng)軟件與單處理器系統(tǒng)相似,一定要清楚每個處理器的復(fù)位地址、異常地址,CPUID寄存器的值以及存儲器的類型。多個處理器使用同一個程序存儲器,而每個處理器的程序必須存放在不同的區(qū)域,用異常地址為每個處理器存放程序確定內(nèi)存區(qū)域,使用QSYS為每個處理器設(shè)置異常地址。

 

5 結(jié)語

 

SoPC技術(shù)的出現(xiàn)帶來全新的嵌入式處理器硬件的設(shè)計理念,使得設(shè)計嵌入多處理系統(tǒng)硬件電路的有了多種方法和途徑。實例Nios Ⅱ嵌入式軟核六處理器系統(tǒng)的方案具有一定可行性和實用性。如何提高嵌入式多個處理器系統(tǒng)的效率,實現(xiàn)資源的最佳配置,簡化系統(tǒng)結(jié)構(gòu)、降低成本和功耗,怎樣合理選擇時鐘、I/O、其他外設(shè)等問題有待進(jìn)一步研究解決。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉