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
中外醫學專業與專科設置對比分析及啟示
特殊場景下列控等級轉換的設置方案
7招教你手動設置參數
動車段(所)股道有效長設置研究
我國中小學將設置人工智能相關課程
玩具世界(2017年9期)2017-11-24 05:17:29
吃紙的妖怪
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
主站蜘蛛池模板: 国产又黄又硬又粗| 欧美色丁香| 自慰高潮喷白浆在线观看| 国产福利在线免费| 四虎国产精品永久一区| 国产人免费人成免费视频| 18禁不卡免费网站| 国产手机在线观看| 精品国产毛片| 在线免费看片a| 91在线免费公开视频| 亚洲第一视频免费在线| 国产成人成人一区二区| 日本午夜三级| 亚洲最黄视频| 日韩福利视频导航| 深爱婷婷激情网| 亚洲无码一区在线观看| 国内99精品激情视频精品| 99久久精品国产自免费| 一级看片免费视频| 中文字幕中文字字幕码一二区| 婷婷六月综合| 日韩经典精品无码一区二区| 精品福利网| JIZZ亚洲国产| 97视频免费看| 九色91在线视频| 亚洲国产日韩视频观看| 久久精品亚洲中文字幕乱码| 国产第一福利影院| 国产免费自拍视频| 婷婷五月在线| 91在线国内在线播放老师| 午夜人性色福利无码视频在线观看| 欧洲成人免费视频| 四虎影视无码永久免费观看| 精品无码人妻一区二区| 国产精品视频白浆免费视频| 狠狠操夜夜爽| 美女被操91视频| 毛片网站免费在线观看| 2020久久国产综合精品swag| 日韩国产黄色网站| 国产日韩av在线播放| 国产区在线观看视频| 日韩国产综合精选| 色135综合网| 亚洲,国产,日韩,综合一区| 国产精品中文免费福利| 亚洲免费播放| 亚洲日韩国产精品无码专区| 国产综合日韩另类一区二区| 456亚洲人成高清在线| 五月激激激综合网色播免费| 三级视频中文字幕| www.亚洲天堂| aⅴ免费在线观看| 欧美不卡视频一区发布| yjizz视频最新网站在线| 亚洲黄色视频在线观看一区| 国产手机在线ΑⅤ片无码观看| 国产精品网曝门免费视频| 成人福利在线免费观看| 国产精品3p视频| 精品国产Ⅴ无码大片在线观看81| 国产亚洲成AⅤ人片在线观看| 欧美高清视频一区二区三区| 午夜视频免费试看| 国产夜色视频| 亚洲无码精品在线播放| 一本久道久久综合多人| 九色视频一区| 综合色在线| 激情六月丁香婷婷| 91久久精品日日躁夜夜躁欧美| 欧美在线网| 国产av剧情无码精品色午夜| 欧美国产中文| 欧美色视频在线| 综合色区亚洲熟妇在线| 91免费片|