999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Spartan6芯片μC/OS-II的可搶占式嵌套中斷控制方法

2014-09-06 10:49:59孫豐祥許學芳程玉偉
單片機與嵌入式系統應用 2014年6期
關鍵詞:設置

孫豐祥,許學芳,程玉偉

( 國電南京自動化股份有限公司, 南京 210061)

?

Spartan6芯片μC/OS-II的可搶占式嵌套中斷控制方法

孫豐祥,許學芳,程玉偉

( 國電南京自動化股份有限公司, 南京 210061)

介紹了Spartan6芯片搭載MicroBlaze軟核的硬件平臺,以及集成了μC/OS-II操作系統的軟件平臺;給出了在此軟硬件平臺上的可搶占、可嵌套的中斷機制的實現方法;靈活地運用面向底層硬件代碼與操作系統代碼之間的參數傳遞,協調了中斷處理與任務調度之間的關系。闡述了方案的原理,給出了程序流程圖;通過試驗,驗證了可搶占、可嵌套的中斷機制的正確性與可行性。

Spartan6;μC/OS-II;中斷搶占;中斷嵌套

引 言

Xilinx公司推出了32位軟核MicroBlaze,用來替代片上的微控制器,可以有效地縮小PCB板的面積和器件數量,降低整個系統的成本。MicroBlaze采用 32位哈佛RISC架構,32位獨立的地址總線和數據總線。Spartan6 FPGA為Xilinx公司的低成本、低功耗FPGA。第6代Spartan系列含最多150 000個邏輯單元、高級儲存器支持、250 MHz DSP Slice和3.125 Gbps低功耗收發器。本設計中首次采用Spartan6芯片搭載MicroBlaze軟核作為硬件平臺應用于保護裝置中,在此硬件平臺上開發適用于對穩定性要求苛刻的電力自動化技術產品。

1 可搶占可嵌套的中斷方法實現

Spartan6芯片搭載MicroBlaze軟核的保護裝置的硬件平臺開發中[1],需求分析中明確要求,硬件平臺需要提供定時器中斷、串口中斷、CAN總線中斷、以太網接口中斷以及A/D采樣中斷等多個中斷信號。基于Spartan6芯片開發的平臺首次在保護裝置中應用;Spartan6芯片是Xilinx公司的一款FPGA芯片,此款芯片資源豐富,性能可靠,具有PFGA所特有的可靈活配置的特性,各項指標滿足在非電量保護裝置中應用。但是芯片原有的中斷控制器資源與所選用μC/OS-II操作系統配合,不支持中斷間的搶占與嵌套[2];如果不同優先級的中斷同時被觸發,原有的中斷機制無法區分中斷優先級的高低。雖然原有中斷控制器上面可以設置多中斷的優先級,但是匯編代碼中卻缺乏相應的處理機制,使之前設置的中斷優先級失去意義;應用過程中只能盡量地縮短中斷服務程序代碼,力爭把中斷服務程序時間縮到最短;但是實際運用中仍然無法避免多個中斷被同時觸發的情況發生,嚴重時可能會導致系統死機。因此有必要開發一種可搶占的并且可嵌套的中斷處理機制,解決上述問題。

對于本硬件平臺在多中斷同時響應時不能區分中斷優先級高低的問題,通過硬件工程修改設置、改變參數等常規方法都無法解決。由于本硬件平臺移植了μC/OS-II操作系統,因此只能在μC/OS-II操作系統關于中斷處理的相關底層代碼中加入我們自主研發的中斷控制方法,來解決上述問題。根據μC/OS-II操作系統的特點,μC/OS-II操作系統每次是在中斷退出時通過調用中斷級的任務調度函數,從而實現多任務的切換。因此需要在中斷嵌套時禁止任務切換,保證系統運行穩定。Spartan6芯片的軟核Microblaze中的中斷控制器提供了硬件上的中斷優先級設置,但是驅動程序以及μC/OS-II中并沒有區分優先級,使硬件設置的優先級失去作用[3]。因此本方案中通過查表獲得當前運行任務最高的優先級后,屏蔽所有低優先級任務。每次清除上述最高優先級中斷后立刻開放此中斷,保證中斷可以嵌套。

在主函數中首先初始化中斷向量表;當中斷被觸發后跳入匯編代碼,跳入匯編程序后首先進行壓棧處理進行保護現場操作;同時考慮到μC/OS-II中的任務調度是在中斷退出時執行的,因此在中斷嵌套的過程中不進行任務調度;所以此處采用計數器統計進入中斷次數;如果進入中斷,計數器加1,如退出中斷計數器減1;通過計數器的值作為判斷條件,判斷是否允許任務調度,從而確保中斷嵌套時禁止任務調度。隨后讀取中斷使能寄存器與中斷向量寄存器的值,獲取當前被觸發的中斷中的最高的優先級。通過查表處理屏蔽比當前中斷優先級低的所有中斷,并開放比當前中斷優先級高的所有中斷,從而實現在多中斷同時被觸發時,優先級高的首先得到執行,并且可搶占其他正在運行的低優先級的中斷;同時,允許比當前中斷優先級高的中斷對當前中斷的搶占。然后清除當前中斷的標志位,使其重新開放,實現中斷的可嵌套;然后跳轉出匯編程序,將當前最高優先級的中斷參數傳遞到C代碼中的中斷處理函數以及操作系統中的任務調度函數,C代碼獲得此最高優先級中斷參數后,會進入相應的中斷處理函數;同時μC/OS-II操作系統進行任務切換并重新調用匯編程序,恢復中斷現場;C代碼會清除中斷為下一次進入中斷做好準備。 軟件流程框圖如圖1所示。

圖1 軟件流程圖

2 可搶占可嵌套的中斷方法試驗驗證

在硬件平臺中設置定時器每1 ms發生一次中斷,定時器的中斷優先級較高。串口不定時地接收到數據,接收到一次數據發生一次串口接收中斷,定時器中斷優先級高于串口接收中斷優先級。當中斷被觸發后相應的中斷信號的電平由低變高,中斷處理函數完成中斷相關處理后,中斷信號由高電平回復為低電平。將定時器中斷信號與串口接收中斷信號分別引出,并接示波器觀察。圖2中,示波器通道1是定時器中斷波形,通道2是串口接收中斷波形。如圖1所示,定時器中斷先被觸發,串口中斷后被觸發,CPU處理完定時器中斷后才去處理串口中斷的處理程序。圖3中,示波器通道1是定時器中斷波形,通道2是串口接收中斷波形。如圖2所示,串口接收中斷先被觸發,定時器中斷后被觸發,CPU中止串口中斷處理程序而轉入定時器中斷的處理程序,定時器中斷處理程序執行結束后,繼續執行串口中斷的處理程序。

圖2 低優先級中斷不能搶占高優先級中斷示意圖

由圖2和圖3可以明確得出結論,低優先級中斷不能打斷高優先級中斷,需要高優先級中斷處理結束后,才處理低優先級中斷;反之高優先級中斷可以打斷低優先級中斷。也就是說中斷的可搶占功能得到了充分的驗證。由于示波器無法明確捕捉到中斷嵌套的實現,因此在中斷程序代碼中加標志位計數,進入中斷時,標志位加1,退出時標志位減1;并將標志位的數值打印出來,以檢測進入同一中斷的的次數。打印信息證明,中斷嵌套可以正確穩定地實現,實際運用中結合工程實際情況,兼顧系統穩定與運行效率,把嵌套次數設置為3,既能滿足現場運行的需要又能防止中斷嵌套占用過多的資源。

圖3 高優先級中斷可以搶占低優先級中斷示意圖

結 語

[1] 何賓, 王瑜. 基于Xilinx MicroBlaze多核嵌入式系統的設計[J]. 電子設計工程,2011,19(13):141-144.

[2] 劉艷軍. 嵌人式操作系統μC/OS-II面向數控系統的改進[J].現代電子技術,2011,34(12):83-86.

[3] 劉釗,杜永鋒,許知博. 基于Xilinx-Spartan6 FPGA的MultiBoot設計的實現[J].電子科技,2012,25(3):28-32.

孫豐祥(工程師),從事繼電保護平臺研究。

◆ USB掛起指示。

◆ 時鐘輸出。

◆ LED變化顯示數據傳輸。

◆ 脈沖或邊沿觸發計數。

◆ 遠程喚醒。

在評估你的USB橋接器芯片設置時,要選擇可以提供完整橋接器產品組合解決方案的半導體供應商,他們支持幾乎所有主流的通信接口。確保選擇的固定功能的通信橋接器具有免晶振USB操作、片內調壓器、片內可編程存儲器和小尺寸封裝選項。為下一個嵌入式應用選擇合適的橋接芯片最終能夠為你節省大量的開發工作和費用,并且有助于縮短產品設計上市時間。

表1對比了10種采用常見通信接口的Silicon Labs橋接器產品的特征參數。

表1 常見通信橋接器

關于Evan Schulz

(責任編輯:楊迪娜 收稿日期:2014-04-18)

Interrupt Preemption and Nesting Method Based on Spartan6 and μC/OS-II

Sun Fengxiang, Xu Xuefang, Cheng Yuwei

(Guodian Nanjing Automation Co., Ltd., Nanjing 210061,China)

The hardware Platform based on MicroBlaze was introduced, and the software Platform of the μC/OS-II was integrated in the hardware platform .The method of designing the interrupt which can be preempted and nested was provided;parameters were transferred between the underlying code and the operating system code flexibly. The relationship of interrupt processing and task scheduling was coordinated; the theory of the scheme was recounted, and the software program flow chart was provideding, validating the rightness and feasibility of the theory.

Spartan6;μC/OS-II;interrupt preemption;interrupt nesting

TP399

A

2013-12-17)

猜你喜歡
設置
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
船舶防火結構及設置的缺陷與整改
水上消防(2020年5期)2020-12-14 07:16:18
中外醫學專業與??圃O置對比分析及啟示
特殊場景下列控等級轉換的設置方案
7招教你手動設置參數
動車段(所)股道有效長設置研究
我國中小學將設置人工智能相關課程
玩具世界(2017年9期)2017-11-24 05:17:29
吃紙的妖怪
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
主站蜘蛛池模板: 原味小视频在线www国产| 欧美综合区自拍亚洲综合天堂| 国产高清自拍视频| 91色在线观看| 亚洲精品在线影院| 久久精品人人做人人综合试看| 国产精品无码作爱| 91视频精品| a级毛片免费网站| 99在线小视频| 欧美亚洲欧美| 免费高清a毛片| 青青草国产精品久久久久| 91网在线| 色综合中文字幕| 国产亚洲欧美日本一二三本道| 57pao国产成视频免费播放| 国产主播在线一区| 99热这里只有精品免费国产| 久久国产精品电影| 亚洲电影天堂在线国语对白| 青青草a国产免费观看| 亚洲第一天堂无码专区| 亚洲国产AV无码综合原创| 久久中文电影| 国产欧美精品专区一区二区| 鲁鲁鲁爽爽爽在线视频观看| 欧美成在线视频| 午夜福利视频一区| 亚洲精品无码不卡在线播放| 99国产在线视频| 秋霞国产在线| 找国产毛片看| 动漫精品中文字幕无码| 国产一级二级在线观看| 久久香蕉国产线看观看亚洲片| 日本影院一区| 波多野衣结在线精品二区| 91激情视频| 一本一道波多野结衣av黑人在线| 青草视频免费在线观看| 亚洲丝袜中文字幕| 久青草国产高清在线视频| 国产原创自拍不卡第一页| 小说 亚洲 无码 精品| 性欧美久久| 成人亚洲视频| 久无码久无码av无码| 永久免费精品视频| 久久久久人妻一区精品色奶水| 亚洲国产精品无码久久一线| 91区国产福利在线观看午夜| 亚洲精品无码日韩国产不卡| 国产成人禁片在线观看| 国产成人亚洲欧美激情| 凹凸国产熟女精品视频| 日韩在线观看网站| 精品偷拍一区二区| 免费A级毛片无码免费视频| 久久99热这里只有精品免费看 | 国产欧美精品一区二区| 久久a毛片| 成人亚洲国产| 成人久久精品一区二区三区| 九色在线观看视频| 成年女人a毛片免费视频| 爱色欧美亚洲综合图区| 国产精品久久自在自2021| 亚洲福利片无码最新在线播放| 久久精品人妻中文视频| 中国一级毛片免费观看| 亚洲欧洲免费视频| 无码日韩人妻精品久久蜜桃| 亚洲一区二区日韩欧美gif| 國產尤物AV尤物在線觀看| 精品久久777| 性欧美在线| 老司机aⅴ在线精品导航| 亚洲愉拍一区二区精品| 香蕉综合在线视频91| 午夜视频www| 久久不卡国产精品无码|