国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

高性能DSP芯片TMS320F240的中斷機(jī)制及其編程

2014-04-29 20:09:02何立軍高楊高毅
電腦知識與技術(shù) 2014年21期
關(guān)鍵詞:嵌入式系統(tǒng)中斷

何立軍 高楊 高毅

摘要:中斷是指某一外設(shè)在數(shù)據(jù)準(zhǔn)備就緒后,向CPU發(fā)出請求中斷信號,請求CPU暫時中斷目前的工作而進(jìn)行數(shù)據(jù)交換。中斷是嵌入式系統(tǒng)必不可少的重要組成部分,是嵌入式系統(tǒng)中外設(shè)功能實現(xiàn)的一種重要方法。該文介紹了TI公司常用DSP芯片TMS320F240的中斷機(jī)制及其編程,文章從中斷源,中斷內(nèi)部結(jié)構(gòu)和中斷流程這三個方面對TMS320F240的中斷機(jī)制進(jìn)行了詳細(xì)說明,同時給出了具體的在工程中得到驗證的中斷編程實例。

關(guān)鍵詞:DSP;TMS320F240;中斷;嵌入式系統(tǒng);中斷服務(wù)程序

中圖分類號:TP332 文獻(xiàn)標(biāo)識碼:B 文章編號:1009-3044(2014)21-5095-04

中斷是指某一外設(shè)在數(shù)據(jù)準(zhǔn)備就緒后,向CPU發(fā)出請求中斷信號,請求CPU暫時中斷目前的工作而進(jìn)行數(shù)據(jù)交換。當(dāng)CPU響應(yīng)這個中斷時,便暫停運行主程序,并自動轉(zhuǎn)移到該設(shè)備的中斷服務(wù)程序。直到中斷服務(wù)程序結(jié)束后,CPU又回到原來的主程序。中斷是嵌入式系統(tǒng)必不可少的重要組成部分,是嵌入式系統(tǒng)中外設(shè)功能實現(xiàn)的一種重要方法。中斷對輸入輸出處理、多道程序和分時操作、實時處理和人機(jī)聯(lián)系等方面都起著重要的作用。

1 TMS320F240芯片簡介

TMS320F240芯片是TI公司生產(chǎn)的用于數(shù)字發(fā)動機(jī)控制和嵌入式系統(tǒng)研發(fā)的DSP芯片,采用TMS320系列特有的專為實時信號處理所設(shè)計的體系結(jié)構(gòu),是DSP C2000平臺的成員之一,并針對控制功能應(yīng)用進(jìn)行了優(yōu)化。TMS320F240在擁有強(qiáng)大的實時處理能力的同時,將控制器的各種外設(shè)功能集成于一身,在控制系統(tǒng)領(lǐng)域得到了很好的應(yīng)用。TMS320F240的主要技術(shù)指標(biāo)為:32位中央算術(shù)邏輯單元、32位累加器、16位*16位并行硬件乘法器,并帶有32位結(jié)果寄存器、3個定標(biāo)移位寄存器和8個輔助寄存器;片上544W的數(shù)據(jù)RAM和16KW的程序FLASH;帶有軟件等待狀態(tài)產(chǎn)生器的外部存儲器接口;4級流水線,8級硬件堆棧,6個外部中斷;單指令周期為62.5ns,絕大多數(shù)指令可在單周期內(nèi)完成;片上集成事件管理器、鎖相環(huán)時鐘發(fā)生器;具有在線調(diào)試功能,使用JTAG接口來調(diào)試DSP。

2 TMS320F240芯片的中斷機(jī)制

2.1 中斷源

F240內(nèi)部可以處理三種類型的中斷源,分別是:

1)復(fù)位:復(fù)位操作確保設(shè)備按照確定的序列來運行,設(shè)備不會進(jìn)入非法狀態(tài)。復(fù)位源有5種,它們分別是看門狗定時器復(fù)位,軟復(fù)位,非法地址復(fù)位,外部硬件引腳RS復(fù)位和外部硬件引腳PORESET復(fù)位。其中,看門狗定時器復(fù)位:當(dāng)看門狗定時器溢出或者看門狗寄存器寫入非法值時,F(xiàn)240產(chǎn)生看門狗定時器復(fù)位;軟復(fù)位:清除系統(tǒng)控制寄存器(SYSCR)中RESET0位和RESET1位將產(chǎn)生系統(tǒng)復(fù)位;非法地址復(fù)位:F240的存儲器空間中有一部分存儲器空間標(biāo)注為非法空間(即未實現(xiàn)的地址空間),對非法空間的任何訪問都會產(chǎn)生非法地址復(fù)位;外部硬件引腳RS復(fù)位:在RS引腳上輸入外部復(fù)位脈沖即可;外部硬件引腳PORESET復(fù)位:在RS引腳上產(chǎn)生上電復(fù)位脈沖。其中前3種復(fù)位源由F240內(nèi)部產(chǎn)生,最后兩種復(fù)位源由外部控制的。復(fù)位發(fā)生后,F(xiàn)240停止運行程序。在復(fù)位期間,RAM的數(shù)據(jù)保持不變,所有受復(fù)位控制的寄存器被復(fù)位。復(fù)位后,程序可以檢查上電復(fù)位標(biāo)志、非法地址標(biāo)志、軟復(fù)位標(biāo)志和看門狗復(fù)位標(biāo)志以確定復(fù)位原因;

2)硬件中斷:硬件中斷有兩種類型,一是F240硬件中斷信號,二是片內(nèi)硬件產(chǎn)生中斷。其中,硬件中斷信號:F240有5個外部硬件中斷信號,它們分別是XINT1,XINT2,XINT3,PDPINT和NMI。其中XINT1,XINT2,XINT3和NMI這四個中斷都具有各自的中斷控制寄存器和中斷狀態(tài)寄存器,可以通過設(shè)置它們各自的中斷控制寄存器來觸發(fā)一個上升沿的中斷或者下降沿的中斷。硬件產(chǎn)生的中斷:F240片內(nèi)外圍設(shè)備模塊(包括事件管理器,SPI,SCI,看門狗和ADC)通過內(nèi)核產(chǎn)生中斷;

3)軟件中斷:F240可以通過INTR指令,NMI指令和TRAP指令產(chǎn)生。其中,INTR指令:這條指令允許軟件對F240中斷的任何初始化。這條指令的操作碼是CPU 程序分支中斷向量的位置,同時,這條指令禁止了可屏蔽中斷。NMI指令:這條指令將強(qiáng)制程序跳轉(zhuǎn)到中斷向量24h的中斷復(fù)位程序處。TRAP指令:這條指令將強(qiáng)制程序跳轉(zhuǎn)到中斷向量22h的中斷復(fù)位程序處。TRAP指令不禁止其他的可屏蔽中斷,因此,非屏蔽中斷可中斷TRAP指令的中斷服務(wù)程序。

2.2 TMS320F240芯片的中斷結(jié)構(gòu)

F240提供了32個中斷向量位置(0000-003E),這些向量包括硬件中斷向量和軟件中斷向量。F240 內(nèi)核對所有硬件中斷線指定了從1到10(1是最高優(yōu)先級)的優(yōu)先級。當(dāng)F240識別到中斷時,首先處理高優(yōu)先級的中斷,然后按照順序處理其它中斷。

F240提供6個可屏蔽中斷級(INT1,INT2,INT3,INT4,INT5和INT6) ,因為F240有超過6個的可屏蔽中斷源,因此每個中斷級可被多個中斷源共享。圖1說明了CPU的INT1中斷及接收和識別可屏蔽中斷的結(jié)構(gòu)過程,圖中表示出了7個中斷源(XINT1, XINT2, XINT3, SPI, SCIRX, SCITX和RTI)共享INT1中斷級的結(jié)構(gòu)。INT2-INT6與INT1的結(jié)構(gòu)控制相似。

每個中斷源都有自己的控制寄存器,控制寄存器中包括1個中斷標(biāo)志位和一個可屏蔽位。當(dāng)F240內(nèi)核接收到中斷信號后,將相應(yīng)控制寄存器的標(biāo)志位置為‘1以表示有中斷請求。如果可屏蔽位被置‘1,中斷信號會被送到中斷仲裁邏輯處。仲裁邏輯對發(fā)出請求的中斷的優(yōu)先級進(jìn)行比較,將發(fā)出請求的最高優(yōu)先級的中斷傳遞到CPU處,CPU便對該中斷進(jìn)行處理。

2.3 TMS320F240芯片的中斷流程

當(dāng)F240識別到可屏蔽中斷,將按照如下的序列進(jìn)行操作:

1) 設(shè)置相應(yīng)中斷控制寄存器的標(biāo)志位,如果同時設(shè)置了掩碼,那么相應(yīng)的IFR位也會被設(shè)置;

2) 一旦IFR位被設(shè)置,就會判斷確認(rèn)條件(INTM位=0且IMR位=1) 。如果條件成立,CPU就會處理中斷,并產(chǎn)生一個中斷應(yīng)答信號;否則即忽略中斷并繼續(xù)處理現(xiàn)行的代碼序列;

3) 中斷被處理之后,IFR位就會被清零且INTM位被置為1(用以過濾其它可屏蔽中斷)。但相應(yīng)的控制寄存器的標(biāo)志位不會被清除;

4) 返回地址(增加的PC值)被存儲在堆棧內(nèi);

5) CPU會轉(zhuǎn)向并執(zhí)行中斷服務(wù)程序(ISR)。當(dāng)遇到一個返回指令時,ISR即告結(jié)束,同時將返回地址從堆棧中彈出。CPU會繼續(xù)處理中斷代碼序列。

當(dāng)F240識別到非屏蔽中斷,F(xiàn)240將按照如下的序列進(jìn)行操作:

1) CPU立刻響應(yīng)中斷,并產(chǎn)生一個中斷應(yīng)答信號;

2) 如果是由RS管腳、NMI管腳、NMI指令或者INTR指令產(chǎn)生的中斷,INTM位會被設(shè)置為1以阻止可屏蔽的硬件中斷。如果是由TRAP指令產(chǎn)生的中斷,則INTM位不會被設(shè)為1;

3) 返回地址(增加的PC值)被存儲在堆棧內(nèi);

4) CPU會轉(zhuǎn)向并執(zhí)行中斷服務(wù)程序(ISR)。當(dāng)遇到一個返回指令時,ISR即告結(jié)束,同時將返回地址從堆棧中彈出。CPU會繼續(xù)處理中斷代碼序列。

3 TMS320F240芯片的中斷編程

TMS320F240芯片的中斷編程主要包括中斷服務(wù)程序的連接,中斷寄存器的初始化和中斷服務(wù)程序的編寫。其中,中斷服務(wù)程序的連接是在中斷和中斷服務(wù)程序上建立對應(yīng)關(guān)系;中斷寄存器的初始化包括對事件管理控制寄存器,中斷控制寄存器和中斷屏蔽寄存器的控制;中斷服務(wù)程序是中斷的核心,是用戶功能的實現(xiàn)。下面通過某型號課題已經(jīng)通過驗證的實例對F240的中斷編程進(jìn)行說明。

改實例中包括三個主要的中斷復(fù)位程序Timer_isr(), Host_isr()和Watchdog_isr(),它們的占用的中斷分別是INT3, INT6 和NMI,它們的中斷源分別是定時器,XINT3和外部NMI中斷信號。

下面中斷服務(wù)程序的連接,也是程序的最開始部分,對中斷的初始化也可以寫在程序段START段內(nèi)。這里的START是F240復(fù)位后程序運行的起始點。

4 結(jié)束語

本文闡述了TMS320F240的中斷機(jī)制,并從工程應(yīng)用的角度闡述F240中斷編程的實現(xiàn)方法,該應(yīng)用已經(jīng)在某型號機(jī)載計算機(jī)上得到了驗證,因此,文中所介紹的方法可以為不同情況下的TMS320F240中斷編程提供參考。

參考文獻(xiàn):

[1] TMS320F/C240 DSP Controllers Reference Guide.pdf[EB/OL].TI公司官方網(wǎng)站 www.ti.com.

[2] 文全剛,苗雨.S3C2410芯片的中斷機(jī)制及編程[J].計算機(jī)技術(shù)與發(fā)展,2006(16):36-38.

[3] 徐佩.高性能DSP芯片TMS320F2812應(yīng)用技術(shù)研究[J].航空計算技術(shù),2007,37(5):86-88.

猜你喜歡
嵌入式系統(tǒng)中斷
基于FPGA的中斷控制器設(shè)計*
跟蹤導(dǎo)練(二)(5)
千里移防,衛(wèi)勤保障不中斷
解放軍健康(2017年5期)2017-08-01 06:27:44
辦公自動化系統(tǒng)的設(shè)計
嵌入式系統(tǒng)在醫(yī)療器械中的應(yīng)用分析
基于物聯(lián)網(wǎng)項目驅(qū)動的嵌入式系統(tǒng)教學(xué)改革的研究與實踐
嵌入式系統(tǒng)課程“中斷、異常與事件”教學(xué)實踐及啟示
面向?qū)嵺`創(chuàng)新人才培養(yǎng)的嵌入式系統(tǒng)教學(xué)研究
在DiskOnChip上構(gòu)建VxWorks系統(tǒng)開發(fā)環(huán)境
AT89C51與中斷有關(guān)的寄存器功能表解
安徽省| 大理市| 商河县| 鄂州市| 汶上县| 夏津县| 丹阳市| 锦屏县| 长治市| 万宁市| 庆阳市| 乌拉特前旗| 都匀市| 平陆县| 焦作市| 改则县| 贵德县| 大兴区| 方山县| 大同市| 福海县| 洪洞县| 凉城县| 托克逊县| 库车县| 深圳市| 五台县| 修文县| 三门县| 台东市| 浠水县| 寿阳县| 绵阳市| 霍州市| 旺苍县| 伊金霍洛旗| 元谋县| 顺义区| 本溪| 元朗区| 吴堡县|