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

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

2014-09-06 10:49:59孫豐祥許學芳程玉偉
關鍵詞:設置

孫豐祥,許學芳,程玉偉

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

?

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

孫豐祥,許學芳,程玉偉

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

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

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

引 言

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

1 可搶占可嵌套的中斷方法實現(xiàn)

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

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

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

圖1 軟件流程圖

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

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

圖2 低優(yōu)先級中斷不能搶占高優(yōu)先級中斷示意圖

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

圖3 高優(yōu)先級中斷可以搶占低優(yōu)先級中斷示意圖

結 語

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

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

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

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

◆ USB掛起指示。

◆ 時鐘輸出。

◆ LED變化顯示數(shù)據(jù)傳輸。

◆ 脈沖或邊沿觸發(fā)計數(shù)。

◆ 遠程喚醒。

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

表1對比了10種采用常見通信接口的Silicon Labs橋接器產(chǎn)品的特征參數(shù)。

表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
中外醫(yī)學專業(yè)與專科設置對比分析及啟示
特殊場景下列控等級轉(zhuǎn)換的設置方案
7招教你手動設置參數(shù)
動車段(所)股道有效長設置研究
我國中小學將設置人工智能相關課程
玩具世界(2017年9期)2017-11-24 05:17:29
吃紙的妖怪
本刊欄目設置說明
中俄臨床醫(yī)學專業(yè)課程設置的比較與思考
主站蜘蛛池模板: 亚洲综合狠狠| 日韩黄色精品| 99无码中文字幕视频| 亚洲AⅤ无码国产精品| 亚洲欧洲美色一区二区三区| 干中文字幕| 欧美第二区| 激情無極限的亚洲一区免费| 丝袜国产一区| 国产精品高清国产三级囯产AV| 国产人人射| 国产成人无码AV在线播放动漫| 亚洲国产亚洲综合在线尤物| 色偷偷一区二区三区| 在线中文字幕日韩| 69国产精品视频免费| 波多野结衣久久精品| 国产在线视频二区| 国产中文在线亚洲精品官网| 久久五月视频| 亚洲第一中文字幕| 九九热精品在线视频| 综合色天天| 97se亚洲综合在线天天| 久久亚洲美女精品国产精品| 香蕉视频在线观看www| 99re在线视频观看| 丝袜美女被出水视频一区| 亚洲人成色在线观看| 久久国产精品无码hdav| 亚洲无码不卡网| 啦啦啦网站在线观看a毛片| 欧美第九页| 不卡视频国产| 亚洲黄网在线| 国产毛片不卡| 亚洲欧美自拍视频| 永久天堂网Av| 亚洲日韩AV无码精品| 国产福利免费视频| 国产毛片基地| 99在线视频免费| 免费一级毛片在线播放傲雪网| 毛片手机在线看| 欧美午夜视频| 伊人色天堂| www欧美在线观看| 在线看片免费人成视久网下载| 波多野结衣中文字幕一区| 欧美中文字幕一区二区三区| 国产真实乱了在线播放| 丰满少妇αⅴ无码区| 亚洲精品在线观看91| 性69交片免费看| 亚洲综合经典在线一区二区| 怡红院美国分院一区二区| 国产麻豆福利av在线播放| 一本色道久久88| av在线手机播放| 欧美性天天| 毛片免费在线视频| 色亚洲激情综合精品无码视频| 中文字幕在线永久在线视频2020| 国产一区二区色淫影院| 秘书高跟黑色丝袜国产91在线 | 精品国产自| 91青青草视频在线观看的| 亚洲第一色网站| 性视频久久| 国产微拍一区二区三区四区| 国产精品区视频中文字幕| 色综合日本| 一级不卡毛片| 国产极品粉嫩小泬免费看| 亚洲人成网7777777国产| 欧美午夜一区| 国产欧美日韩精品第二区| 国产99视频精品免费观看9e| 国产精女同一区二区三区久| 日韩最新中文字幕| 亚洲一级毛片| 免费 国产 无码久久久|