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

當前位置:首頁 > 單片機 > 單片機
[導讀] 在現(xiàn)今SOC設(shè)計中,當周邊裝置(Peripheral IP)想要和中央處理器(CPU)溝通時,最常使用的機制是透過中斷(Interrupt)。周邊裝置可觸發(fā)中斷給中央處理器,當中央處理器接收到中斷后,則可判斷是由那個周邊裝置觸發(fā)些中

 在現(xiàn)今SOC設(shè)計中,當周邊裝置(Peripheral IP)想要和中央處理器(CPU)溝通時,最常使用的機制是透過中斷(Interrupt)。周邊裝置可觸發(fā)中斷給中央處理器,當中央處理器接收到中斷后,則可判斷是由那個周邊裝置觸發(fā)些中斷,接著處理相對應的中斷處理程序(ISR,Interrupt Service Routine),藉此達到彼此溝通的目的。

而AndesCore™在中斷處理方面,共支持兩種模式:內(nèi)部中斷處理器(IVIC Mode,Internal Vector Interrupt Controller)和外部中斷處理器(EVIC Mode,External Vector Interrupt Controller)。其中最大的差異性,即是中斷控制器所存在的位置。在內(nèi)部中斷處理模式下,AndesCore™本身即設(shè)置了一個中斷控制器存在于CPU內(nèi)部,經(jīng)由此中斷控制器來處理相關(guān)中斷的工作。而在外部中斷處理模式下,用戶必須在CPU外部實做一個中斷控制器來處理相關(guān)中斷工作。

除了上述的差異性之外,在硬件方面的整合和軟件方面的應用,也存在些許差異性。本文之目的除了介紹這些差異性外,也提供一個簡單的設(shè)計平臺供使用者參考。期望能對使用者有所幫助,也希望讀者不吝指教提供您寶貴的意見。

1. 中斷處理模式介紹

AndesCore™共支持兩種中斷處理模式:內(nèi)部中斷處理器(IVIC Mode,Internal Vector Interrupt Controller)和外部中斷處理器(EVIC Mode,External Vector Interrupt Controller)。以下的介紹將架構(gòu)于AndesCore™ N968A-S這顆中央處理器。帶領(lǐng)使用者循序漸進地,了解這兩種中斷處理模式的差異。

1.1 Definition

AndesCore™ N968A-S支持兩種中斷處理模式,首先,我們先介紹關(guān)于這兩種模式的定義。

1.1.1 IVIC Mode

AndesCore™ N968A-S內(nèi)部設(shè)計了一個中斷控制器,所支持的中斷來源數(shù)目可透過配置來決定。目前最大可支持16個中斷來源,但可擴充至32個。請參考圖表 1。若使用這存在于CPU內(nèi)部的中斷控制器來處理相關(guān)中斷工作時,則為IVIC模式。假若SOC的中斷來源大于32個時,使用者還是可以使用IVIC模式,但是需要將多個中斷來源合為一個中斷訊號線(ex: OR function),且中斷處理程序(ISR)在該中斷訊號線觸發(fā)時,需要去判斷是由那個中斷來源所觸發(fā)。在N968A-S的IVIC mode之下,每個中斷來源可以選定值為0~3的優(yōu)先權(quán) (priority). 優(yōu)先權(quán)高的中斷來源可以打斷優(yōu)先權(quán)低的中斷來源。

1.1.2 EVIC Mode

假若IVIC模式不符合用戶所設(shè)計的系統(tǒng),用戶就需要選用EVIC模式。在此模式下,用戶需要額外設(shè)計一個中斷控制器,用來處理周邊裝置和中央處理器之間相關(guān)中斷的工作,作為兩者間溝通的橋梁。

 

圖表 1. AndesCore™ N968A-S 所支持中斷來源數(shù)目

1.1.1 Interruption Vector Entry Points

為了加速中斷處理的時間,AndesCore™ N968A-S內(nèi)部實做了一個Interruption Vector Table。將不同的中斷事件分別對應到不同的Vector Entry,當中斷發(fā)生時,CPU即可判斷中斷是由那個周邊裝置所觸發(fā),并跳到該中斷所對應的Vector Entry,進而執(zhí)行相關(guān)的中斷處理程序(ISR)。

在前面章節(jié)有介紹AndesCore™ N968A-S支持兩種不同的中斷處理模式。因此,在不同的中斷處理模式下,也對應了不同的Interruption Vector Table。

1.1.1.1 Interruption Vector Table of IVIC Mode

在IVIC模式下,所支持的中斷來源可由用戶來配置,支持的數(shù)目由2個到32個。Interruption Vector Table相關(guān)信息如下:

l 41 entry points (9 exceptions + 32 interrupts)

l Address = IVB.IVBASE + (entry number) * IVB.ESZ

(VEP: Vector Entry Point)

 

圖表2. Interruption Vector Table of IVIC Mode

1.1.1.1 Interruption Vector Table of EVIC Mode

在EVIC模式下,所支持的中斷來源數(shù)目可達到64個中斷。Interruption Vector Table相關(guān)信息如下:

l 73 entry points (9 exceptions + 64 interrupts)

l Address = IVB.IVBASE + (entry number) * IVB.ESZ

 

圖表3. Interruption Vector Table of EVIC Mode

1.2 Signal Descriptions

AndesCore™ N968A-S 提供相關(guān)中斷訊號線,使得CPU可與周邊裝置或是外部中斷控制器溝通。在EVIC模式下,除了中斷來源訊號線之外,還包含了和外部中斷控制器相互溝通的訊號線,詳細訊號線敘述如下:

 

其中,evic_ireqval和evic_ireqack這兩個訊號線用來和外部中斷控制器溝通。在IVIC模式下,周邊裝置的中斷訊號可和int_req[N:0]直接整合。當周邊裝置觸發(fā)中斷時,相對應的int_req訊號會拉起,告知CPU該周邊裝置觸發(fā)了中斷,CPU即會跳到所對應的Vector Entry來執(zhí)行相關(guān)的中斷處理程序。

而在EVIC模式下,外部中斷控制器會負責處理周邊裝置的中斷訊號。當周邊裝置觸發(fā)中斷時,外部中斷處理器會負責和周邊裝置溝通,并將相對應的中斷訊號(int_req)和中斷需求訊號(evic_ireqval)發(fā)給CPU,當CPU接收到中斷時,會將中斷接收訊號(evic_ireqack)拉起,告知外部中斷處理器收到中斷,并去處理相關(guān)中斷處理程序。

相關(guān)處理程序可參考圖表 5。在ARC a時,當ireqack訊號為low時,CPU可等待周邊裝置觸發(fā)中斷。當周邊裝置觸發(fā)中斷,外部中斷控制器將相對應中斷訊號int_req和ireqval拉起,告知CPU有中斷發(fā)生。在ARC b時,當CPU收到中斷,則將ireqack訊號拉起,告知外部中斷控制器已收到中斷。在ARC c時,外部中斷控制器將ireqval訊號拉下,并等待CPU將ireqack訊號拉下(在ARC d時),表示CPU可接收新的中斷觸發(fā)。

 

1.3 System Register Setting

關(guān)于上述兩種中斷模式的選擇,用戶可透過設(shè)定AndesCore™ N968A-S內(nèi)部的一個system register來達到目的。

該system register為Interruption Vector Base Register(ir3)。其中的第13個bit決定不同的中斷模式。其格式如下:

 

2. Reference Design Architecture

在介紹完中斷處理模式相關(guān)定義之后,本章節(jié)提供在實際整合與應用上的范例,讓用戶可更了解在不同中斷處理模式下的差異。

2.1 主要架構(gòu)

本次所實作的Reference Design主要是架構(gòu)在Andes mini-platform上,搭配AndesCore™ N968A-S為主要CPU來控制相關(guān)周邊裝置。其主要架構(gòu)如下圖:

 

將AndesCore™ N968A-S整合在AHB-Lite Bus上,藉由APB Bridge和APB Bus溝通,而相關(guān)的周邊裝置則整合在APB Bus上。在本次范例中,主要會用到GPIO和INTC(中斷控制器)這兩個周邊裝置,在不同的中斷模式下,利用GPIO來觸發(fā)中斷,再透過INTC與CPU溝通,觀察不同中斷模式下中斷的處理方式。

2.1.1 Design Scenario in IVIC

在IVIC模式下,由GPIO觸發(fā)中斷(gpio_int signal),直接將中斷傳遞給CPU(int_req signal)。當CPU接收到中斷時,即可去處理相關(guān)的中斷處理程序。相關(guān)裝置之間的整合如下圖所示:

 

2.1.2 Design Scenario in EVIC

在EVIC模式下,由GPIO觸發(fā)中斷(gpio_int signal),INTC收到中斷后,會將中斷訊號和相關(guān)溝通訊號傳遞給CPU(int_req signal & evic_ireqval signal)。當CPU接收到中斷時,會將響應訊號拉起(evic_ireqack signal),告知INTC收到該中斷,并去處理相關(guān)的中斷處理程序。相關(guān)裝置之間的整合如下圖所示:

 

2.2 Example Code

以下將Reference Design中,就本次中斷處理模式相關(guān)的整合程序部分和測試程序部分,摘要出來說明。

2.2.1 整合程序部分

在系統(tǒng)整合部分,包含AndesCore™ N968A-S和INTC在不同的模式下,整合相關(guān)的訊號線,其中透過EVIC_MODE參數(shù)來進行不同模式間的切換。

AndesCore™ N968A-S相關(guān)RTL片斷:

evic_ireqval訊號在EVIC模式下由INTC觸發(fā)給CPU,在IVIC下可直接給予0值。int_req由INTC或中斷來源傳遞給CPU,告知CPU中斷產(chǎn)生。evic_ireqack在EVIC模式下由CPU觸發(fā)給INTC,告知INTC收到中斷。

n9_core n9_core (

...

`ifdef EVIC_MODE

.evic_ireqval (evic_ireqval),

`else

.evic_ireqval (1'b0),

`endif

.int_req (int_req),

.evic_ireqack (evic_ireqack),

...

INTC相關(guān)RTL片斷:

此中斷控制器可透過evic_mode這個輸入訊號,來決定該裝置是處于IVIC模式或是EVIC模式,因此,在EVIC模式下,給予1值,設(shè)定為EVIC模式,在IVIC下,給予0值,設(shè)定為IVIC模式。ireqack訊號在EVIC模式下由CPU觸發(fā)給INTC,告知INTC已收到中斷,在IVIC模式下則給予0值。

ncore_intctl intctl (

.PCLK (pclk),

.PRSTn (preset_n&~wd_rst),

`ifdef EVIC_MODE

.evic_mode (1'b1),

.ireqack (evic_ireqack),

`else

.evic_mode (1'b0),

.ireqack (1'b0),

`endif

.int_req (int_req),

.ireqval (evic_ireqval),

...

2.2.2 測試程序部分

在測試驗證部分,包含AndesCore™ N968A-S在不同中斷模式下的設(shè)置、INTC相關(guān)中斷狀態(tài)的設(shè)置和GPIO觸發(fā)中斷的設(shè)置。

AndesCore™ N968A-S相關(guān)程序片斷:

AndesCore™ N968A-S支持兩種中斷處理模式,透過CPU內(nèi)部的system register來設(shè)置。主要為設(shè)置Interruption Vector Base Register,該register的第13個bit用來定義CPU處在何種中斷處理模式。在EVIC模式下,需將該bit設(shè)置為1,在IVIC模式下,則將該bit設(shè)置為0。

!---------------!

!--- Set $IVB ---!

!---------------!

! [31:16] (IVBASE) = 16'$h0

! [15:14] (ESZ) = 2'b00 (4 bytes)

! [13] (EVIC) = 1'b0 (IVIC mode)

mfsr $r0, $IVB !read $IVB

ori $r0, $r0, #0x2000 !enable EVIC

mtsr $r0, $IVB !write $IVB

INTC相關(guān)程序片斷:

INTC通常支持不同的中斷觸發(fā)方式,包含Interrupt Masking、Interrupt Trigger Mode、Interrupt Trigger Level …等。在開始使用每個中斷來源之前,這些控制選項都必須在INTC上設(shè)定正確。

3. 模擬結(jié)果

將上述的Reference Design整合完成后,搭配測試程序進行仿真,并藉由波形圖來觀察不同中斷模式下,相關(guān)中斷訊號線的變化。

3.1 IVIC模擬結(jié)果

在IVIC仿真環(huán)境中,主要測試程序如下:

l 由GPIO觸發(fā)一中斷,并將中斷傳遞給CPU

l CPU接收到中斷后,執(zhí)行相對應的中斷處理程序

仿真結(jié)果如圖表11所示,當GPIO觸發(fā)中斷后,將中斷直接傳遞給CPU,在CPU端的int_req訊號線會觸發(fā),表示有中斷發(fā)生。當CPU收到中斷訊號后,接著會處理相對應的中斷處理程序。

 

3.2 EVIC模擬結(jié)果

在EVIC仿真環(huán)境中,主要測試程序如下:

l 由GPIO觸發(fā)一中斷

l 此時INTC設(shè)罝為EVIC模式,并將中斷訊號和相關(guān)溝通訊號傳遞給CPU

l CPU接收到中斷后,會將響應訊號拉起,告知INTC收到該中斷,并執(zhí)行相對應的中斷處理程序

仿真結(jié)果如圖表12所示,當GPIO觸發(fā)中斷后,INTC將中斷和相關(guān)溝通訊號(ireqval)傳遞給CPU,在CPU端的int_req訊號線和evic_ireqval訊號線會觸發(fā),表示有中斷發(fā)生。當CPU收到中斷訊號后,會將evic_ireqack訊號線拉起,告知INTC收到中斷。仿真結(jié)果如同章節(jié)1.2和圖表5所論述。

 

結(jié)語

在AndesCore™ N968A-S 所提供的兩種中斷模式里,其中的IVIC模式使用CPU內(nèi)的中斷控制器來處理中斷,此模式對用戶來說,只要將中斷來源和CPU端的中斷訊號連接即可,相當容易整合。若用戶所設(shè)計的系統(tǒng)里,中斷來源數(shù)目超過IVIC模式所支持,或者系統(tǒng)需要更復雜的優(yōu)先權(quán)選擇時,則可選用EVIC模式。在EVIC模式下,用戶需額外設(shè)計外部中斷控制器,并整合相關(guān)溝通訊號。因此,用戶可根據(jù)本身系統(tǒng)的復雜度和整合的難易度,來選擇適合的中斷處理模式。

 

 

 

 

 

 

 

 

 

 

 

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉