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

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]TMS320F240是TI公司定點(diǎn)DSP芯片F(xiàn)24x系列中具有代表性的一種。

摘要:TMS320F240是TI公司定點(diǎn)DSP芯片F(xiàn)24x系列中具有代表性的一種。在分析其多中斷源共享DSP內(nèi)核同一中斷級原理的基礎(chǔ)上,探討該系列芯片在實(shí)時多中斷任務(wù)處理的軟件編程過程中的實(shí)現(xiàn)方法,并給出具體的應(yīng)用實(shí)例。

    關(guān)鍵詞:TMS320F240 實(shí)時多中斷任務(wù) ISR GISR SISR

引言

TMS320F240內(nèi)部集成了完善的外圍設(shè)備,包括2個10位的A/D轉(zhuǎn)換器和1個串口通信接口模塊(SCI),以及其獨(dú)有的、可提供3個16位的定時器,3個單比較單元和3個全比較單元的事件管理器(event manager)單元。F240芯片采用多個中斷源共享DSP內(nèi)核同一中斷級的中斷結(jié)構(gòu),與常用的數(shù)學(xué)控制芯片相比,它提供了更多的中斷源,可以滿足對復(fù)雜控制對象的實(shí)時多中斷任務(wù)處理要求,使得用戶能更加方便、靈活地編寫中斷處理程序。

1 TMS320F240中斷系統(tǒng)的特點(diǎn)及中斷響應(yīng)過程

1.1 TMS320F240的中斷系統(tǒng)的特點(diǎn)

TMS320F240芯片中斷系統(tǒng)的基本特點(diǎn)是:通過賦予每個中斷源以不同的優(yōu)先級,使多個中斷源可以共享DSP內(nèi)核中同一中斷級,從而提供更多的中斷源和更靈活的中斷處理方法。具體而言,在F240器件中,所有的中斷請求都是送至DSP內(nèi)核進(jìn)行處理的。對可屏蔽中斷,DSP內(nèi)核只提供了6個可屏蔽的中斷級(INT1~I(xiàn)NT6)。而F240的可屏蔽中斷源大大超過了6個(例如:僅F240器件的3個通用定時器就有12個可屏蔽中斷源,用戶可使用的中斷源則多達(dá)36個)。所以,在F240中,這6個中斷級中的每一個都會被多個中斷源共享,即F240在實(shí)現(xiàn)多中斷任務(wù)時,基本上都會出現(xiàn)多中斷源共享DSP內(nèi)核同一中斷的情況。當(dāng)多于一個的硬件中斷被觸發(fā)掛起時,F(xiàn)240將根據(jù)優(yōu)先級別的高低順序執(zhí)行相應(yīng)的中斷服務(wù)子程序。F240器件可以識別下列4種類型的中斷源:

①復(fù)位中斷;

②由6個外部引腳(XINT1、XINT2、XINT3、PDPINT、RS以及NMI引腳)產(chǎn)生的外部中斷;

③由片內(nèi)外設(shè)模塊,包括事件管理模塊(EV)、A/D轉(zhuǎn)換模塊(ADC)、串行通信模塊(SCI)等產(chǎn)生的外設(shè)中斷;

④由INTR指令、NMI指令或TRAP指令等引起的軟件中斷等。

    其中,除了軟件中斷、兩個外部硬件中斷RS和NMI是不可屏蔽中斷之外,其余的都是可屏蔽中斷。相對于可屏蔽中斷而言,不可屏蔽中斷涉及的寄存器較少,處理方法較為簡便。文中主要對可屏蔽中斷的多中斷任務(wù)處理進(jìn)行詳細(xì)分析。

1.2 TMS320F240多級中斷寄存器的結(jié)構(gòu)

在TMS320F240的程序空間中,中斷向量占據(jù)了0000h~0003fh的地址空間。中斷向量地址被分為兩個地址單元,從而雙字的轉(zhuǎn)移指令可存放在這些單元中。為了處理多中斷源共享DSP內(nèi)核同一中斷級的問題,DSP內(nèi)部提供了多級中斷控制寄存器以滿足需要。

(1)CPU總中斷級寄存器

①中斷屏蔽寄存器(IMR)。它包含用于使能或禁止每一中斷級(INT1~I(xiàn)NT6)的屏蔽位,地址為0004h,各位情況如圖1所示。它用來屏蔽外部和內(nèi)部硬件中斷(NMI和RS除外)。當(dāng)要屏蔽某硬件中斷時,就把相應(yīng)位清0;當(dāng)要開放某硬件中斷時,就把相應(yīng)位置1,并且它的每一位不受硬件復(fù)位的影響。在圖1中,0表示一般情況下讀的數(shù)為0,R表示讀,W表示寫,-0表示復(fù)位后這位為0。

    ②中斷標(biāo)志寄存器(IFR)。它包含用以指示INT1~I(xiàn)NT6中斷級中,已經(jīng)發(fā)送至CPU的可屏蔽中斷請求的標(biāo)志位,地址為0006h,各位情況如圖2所示。當(dāng)有一個可屏蔽中斷到達(dá)CPU時,IFR的相應(yīng)標(biāo)志位就置1,表明相應(yīng)中斷(INT1~I(xiàn)NT6)正在被掛起或正在等待響應(yīng)。將1寫入到相應(yīng)的標(biāo)志位,可清除相應(yīng)位,并清除其中斷請求。在圖2中,0表示一般情況下讀的數(shù)為0,R表示讀,W1C表示寫1時把這位清為0,-0表示復(fù)位后這位為0。

(2)外設(shè)備中斷源分級控制寄存器

由外設(shè)產(chǎn)生的每一個特定中斷源,DSP都提供兩個相應(yīng)的分級控制寄存器,包括一個子標(biāo)志位中斷控制寄存器和一個子屏蔽位中斷控制寄存器。

對于由事件管理器產(chǎn)生的中斷事件,每個中斷源都有相應(yīng)的中斷控制寄存器,如圖3所示。

①三組事件中斷子屏蔽寄存器(EVIMRA/EVIMRB/EVIMRC),用以屏蔽對應(yīng)的事件管理器中斷。EVIMRi(i=A,B,C)各位的意義基本與IMR一致。

②三組事件中斷子標(biāo)志寄存器(EVIFRA/EVIFRB/EVIFRC),用以指示對應(yīng)的事件管理器中斷。EVIFRi(i=A,B,C)各位的意義基本與IFR一致。

對于系統(tǒng)模塊中斷,其各個中斷事件的中斷屏蔽位和中斷標(biāo)志位由各個專用的分級模塊寄存器提供。如SCI中斷,其掃收中斷RXINT的屏蔽與使能由SCI模塊內(nèi)的控制寄存器SCICLT2的中斷位RX/BKEN設(shè)置。當(dāng)接收中斷產(chǎn)生后,SCI的接收狀態(tài)寄存器SCIRXST的RXRDY位置1,以表示接收中斷產(chǎn)生。

圖4 可屏蔽中斷的多中斷任務(wù)響應(yīng)處理示意圖

    另外,值得注意的是,DSP內(nèi)核的ST0狀態(tài)寄存器中還有一個中斷總屏蔽位-INTM。INTM為0時,開中斷,允許沒有被屏蔽的中斷使能;INTM為1時,則禁止所有可屏蔽中斷。

1.3 TMS320F240的中斷響應(yīng)過程

(1)TMS320F240中斷響應(yīng)過程

當(dāng)有中斷事件發(fā)生時,F(xiàn)240器件分三個階段進(jìn)行中斷處理。

①接收中斷請求。由軟件中斷(來自程序代碼)或硬件中斷(來自引腳或片內(nèi)外設(shè))提出中斷請求,將主程序掛起。

②響應(yīng)中斷。如果中斷是可屏蔽的,當(dāng)這些可屏蔽中斷的應(yīng)用條件滿足時,F(xiàn)240器件響應(yīng)中斷;對于不可屏蔽的硬件中斷和軟件中斷,F(xiàn)240器件將立即作出響應(yīng)。

③執(zhí)行中斷服務(wù)子程序。一時中斷被響應(yīng),F(xiàn)240器件便轉(zhuǎn)移到其相應(yīng)的中斷子程序ISR(Interrupt Service Routine)。F240按用戶放置在預(yù)定地址(向量存儲單元)處的轉(zhuǎn)移指令,執(zhí)行用戶寫好的中斷服務(wù)程序。

在完成對多中斷任務(wù)的實(shí)時處理時,對不同級別的中斷源響應(yīng),直接進(jìn)入相應(yīng)的ISR進(jìn)行處理即可。對共享DSP內(nèi)核中同一中斷優(yōu)先級的多中斷源,DSP則利用內(nèi)部的多級中斷控制寄存器,對每一個中斷源發(fā)出的中斷請求都用多個中斷標(biāo)志進(jìn)行標(biāo)識。圖4是一個多中斷源共享INT3級中斷的多中斷任務(wù)請求響應(yīng)處理過程示意圖。當(dāng)接收到一個中斷信號(TPINT2/TOFINT3)時,相應(yīng)的中斷源子標(biāo)志寄存器(EVIFRB)中的標(biāo)志位被置位,用以指示中斷已被請求。如果中斷源子屏蔽寄存器(EVIMRB)中的屏蔽位也被設(shè)置為開中斷,則該信號被送至仲裁邏輯器,仲裁邏輯可能同時從一個或多個中斷控制寄存器接收到類似的多中斷任務(wù)信號。仲裁邏輯通過比較這些競爭中斷請求的優(yōu)先級,將具有最高優(yōu)先級的中斷送至CPU。CPU的總中斷級標(biāo)志寄存器IFR中與所接收的中斷優(yōu)先級相對應(yīng)的中斷標(biāo)志位將被置位,指示中斷被掛起。如果總中斷級屏蔽寄存器IMR中相應(yīng)的屏蔽位為1,并且DSP中斷總屏蔽位INTM為0,則CPU響應(yīng)該中斷并執(zhí)行相應(yīng)的中斷服務(wù)子程序。

(2)中斷向量偏移地址

為了更好地處理多中斷源復(fù)用的問題,DSP采用了向量偏移地址的方法。因?yàn)椴捎弥袛鄻?biāo)志分辨的方法需要進(jìn)行多次條件判斷才能把涉及到的具體中斷源分辨出來;而采用中斷向量偏移地址的方法,只需兩條指令即可完成分辨任務(wù),減少了程序存儲器的存儲開銷,節(jié)約了CPU的時鐘開銷。

DSP控制器為事件管理模塊的每一個中斷都分配了一個不同的中斷向量偏移地址。當(dāng)某個事件管理模塊發(fā)出了請求信號,分自動地將該中斷的向量偏地址寫入到對應(yīng)的事件管理中斷向量寄存器(EVIVRA/EVIVRB/EVIVRC)中。而對于由系統(tǒng)外設(shè)模塊產(chǎn)生的中斷,DSP控制器將分配的中斷向量偏移地址寫入到系統(tǒng)中斷向量寄存器(SYSIVR)中。用戶可以通過讀取該寄存器來取得外設(shè)中斷的中斷向量偏移地址。所以在編程開發(fā)時,先要編好一個中斷向量表,對于沒有用到的中斷也應(yīng)該編上,并讓它返回到一個空位置,以免發(fā)生意外情況。這里,給出事件管理器B組的INT3級中斷向量寄存器的結(jié)構(gòu)示意圖,如表1所列。關(guān)于每一個中斷級的中斷向量寄存器(IVR)單元和每一中斷事件的偏移量的詳細(xì)信息,見F240的數(shù)據(jù)手冊。

表1 TMS320F240 INT3級中斷控制向量表

中斷源名稱 DSP內(nèi)核中斷級向量地址 外設(shè)向量寄存器地址 外設(shè)向量偏移地址 是否可屏蔽 控制器模塊 中斷功能
TPINT2 INT3(0006H)

事件管理器中斷組B
EVIVRB(7433H) 002AH EV.GPT2 定時器2周期中斷
TCINT2 002CH EV.GPT2 定時器2比較中斷
TUFINT2 002DH EV.GPT2 定時器2下溢中斷
TOFINT2 002EH EV.GPT2 定時器2上溢中斷
TPINT3 002FH EV.GPT3 定時器3周期中斷
TCINT3 0030H EV.GPT3 定時器3比較中斷
TUFINT3 0031H EV.GPT3 定時器3下溢中斷
TOFINT3 0032H EV.GPT3 定時器3上溢中斷

2 TMS320F240實(shí)時多中斷任務(wù)處理的軟件實(shí)現(xiàn)

由于F240器件采用了多個中斷源共享內(nèi)核同一中斷級的中斷方式,不僅提供了更多的中斷源,而且使得用戶能方便地處理各種中斷源的中斷請求。

如圖5所示,當(dāng)系統(tǒng)有多中斷任務(wù)產(chǎn)生時,一旦有中斷任務(wù)被響應(yīng),則CPU終止當(dāng)前正在執(zhí)行的程序代碼,轉(zhuǎn)移至中斷服務(wù)子程序并執(zhí)行。中斷服務(wù)子程序主要分兩個步驟完成。

①轉(zhuǎn)移至通用中斷服務(wù)子程序(GISR-G功Interrupt Service Routine)。當(dāng)中斷級中的某一個中斷被響應(yīng)時,CPU將轉(zhuǎn)移至相應(yīng)的向量地址,并根據(jù)該地址轉(zhuǎn)移至GISR。例如,若INT3中的一個中斷被響應(yīng),則程序計數(shù)器(PC)值被存入棧頂,然后PC機(jī)中裝入程序寄存器地址0006h。地址0006h和0007h中包含一條轉(zhuǎn)移指令。該指令使CPU轉(zhuǎn)移至GISR。

②轉(zhuǎn)移至特定中斷服務(wù)子程序(SISR-Special Interrupt Service Routine)。當(dāng)一個外設(shè)中斷請求被響應(yīng)時,外設(shè)產(chǎn)生一個相應(yīng)于該特定中斷事件的向量地址偏移量。該偏移量通常被鎖存在系統(tǒng)中斷向量寄存器(SYSIVR)或事件管理中斷向量寄存器(EVIVRA/EVIVRB/EVIVRC)中。GISR必須讀取存儲在IVR中的值,確定具體的子中斷源,并據(jù)此產(chǎn)生轉(zhuǎn)移至SISR的轉(zhuǎn)移目標(biāo)地址,然后進(jìn)行特定的中斷處理。

在對SISR進(jìn)行處理完畢之后,ISR以一條返回指令RET結(jié)束。該指令將把返回地址從堆棧彈出。然后,CPU繼續(xù)執(zhí)行被中斷的代碼序列。

如果對于某一中斷級,并沒有多中斷源共享的情況,則直接在GISR中進(jìn)行中斷處理即可。此時,沒有必要進(jìn)入SISR進(jìn)行子中斷源的判斷。另外,進(jìn)入中斷后,INTM位自動置1,以防止其它的可屏蔽中斷。若想允許中斷嵌套,則要在ISR中清除INTM位(CLRC INTM),在全局上重新使能可屏蔽中斷,使得新的ISR得以嵌套。

圖6 中斷服務(wù)程序結(jié)構(gòu)框圖

    下面結(jié)合一個具體的機(jī)器人DSP控制程序,給出DSP實(shí)時多中斷任務(wù)處理的實(shí)例。在本機(jī)器人DSP控制程序中,一共要完成四個中斷實(shí)時處理任務(wù),并且涉及到了多個中斷源共享DSP內(nèi)核同一中斷級的中斷方式。中斷服務(wù)程序結(jié)構(gòu)框圖如圖6所示。串行中斷SCI占用了INT1第一級中斷,完成DSP與上位機(jī)的通信任務(wù)。定時器T1中斷占用了INT2第二級中斷,完成傳感器的位置信息采集和PID控制任務(wù)。而定時器T2中斷和定時器T3中斷則共用了INT3第三級中斷,完成產(chǎn)生兩路PWM波形的任務(wù)。定時器T2和定時器T3各自周期中斷的向量偏移地址分別為002BH和002FH。當(dāng)有INT3級中斷申請時,在對應(yīng)的中斷服務(wù)程序(ISR)中判斷中斷的向量偏移地址,以此來確定具體是產(chǎn)生了定時器T2中斷還是定時器T3中斷,再轉(zhuǎn)入定時器T2/T3相應(yīng)的子中斷服務(wù)程序。在中斷服務(wù)程序中,需要根據(jù)在中斷程序中對各種寄存器的使用情況,編寫中斷保護(hù)和中斷恢復(fù)代碼,即在進(jìn)入ISR時,要對這些寄存器變量進(jìn)行堆棧保護(hù);在ISR完成時,要對這些寄存器變量進(jìn)行堆棧恢復(fù)。另外,在編寫中斷服務(wù)程序時,要注意對各寄存器的中斷標(biāo)志位和中斷屏蔽位進(jìn)行適當(dāng)?shù)奶幚?,為進(jìn)入下一次中斷做準(zhǔn)備。以下即為給出的機(jī)器人中斷服務(wù)程序的核心代碼,主要對兩個定時器中斷源共享INT3中斷級的中斷處理進(jìn)行詳盡地闡述。對于INT1和INT2這兩個中斷任務(wù),由于無多中斷源共享的問題,在進(jìn)行中斷處理時比較簡單,直接進(jìn)入相應(yīng)的ISR即可。相應(yīng)的中斷處理程序請見網(wǎng)絡(luò)補(bǔ)充版。

結(jié)語

在利用DSP進(jìn)行數(shù)字化控制的過程中,必然要使用到較多的中斷才能圓滿完成對復(fù)雜控制系統(tǒng)的控制任務(wù)。F240作為DSP TMS320F24x系列的典型代表,掌握F240的中斷處理方法,對TMS320F24x系列的TMS320F241/F243/C242以及TMS320LF2406/LF2407等芯片同樣具有參考意義。因此,這種處理方法還具有一定的通用性。筆者將該處理方法應(yīng)用到基于TMS320F240的主從遙控作業(yè)機(jī)器人控制系統(tǒng)的軟件開發(fā)中。經(jīng)實(shí)踐證明,這能夠滿足機(jī)器人的實(shí)時多中斷任務(wù)處理的要求,并取得了良好的實(shí)際效果。

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

上海2025年9月5日 /美通社/ -- 由上海市經(jīng)濟(jì)和信息化委員會、上海市發(fā)展和改革委員會、上海市商務(wù)委員會、上海市教育委員會、上海市科學(xué)技術(shù)委員會指導(dǎo),東浩蘭生(集團(tuán))有限公司主辦,東浩蘭生會展集團(tuán)上海工業(yè)商務(wù)展覽有...

關(guān)鍵字: 電子 BSP 芯片 自動駕駛

推進(jìn)卓越制造,擴(kuò)大產(chǎn)能并優(yōu)化布局 蘇州2025年9月5日 /美通社/ --?耐世特汽車系統(tǒng)與蘇州工業(yè)園區(qū)管委會正式簽署備忘錄,以設(shè)立耐世特亞太總部蘇州智能制造項目。...

關(guān)鍵字: 智能制造 BSP 汽車系統(tǒng) 線控

慕尼黑和北京2025年9月4日 /美通社/ -- 寶馬集團(tuán)宣布,新世代首款量產(chǎn)車型BMW iX3將于9月5日全球首發(fā),9月8日震撼亮相慕尼黑車展。中國專屬版車型也將在年內(nèi)與大家見面,2026年在國內(nèi)投產(chǎn)。 寶馬集團(tuán)董事...

關(guān)鍵字: 寶馬 慕尼黑 BSP 數(shù)字化

北京2025年9月4日 /美通社/ --?在全球新一輪科技革命與產(chǎn)業(yè)變革的澎湃浪潮中,人工智能作為引領(lǐng)創(chuàng)新的核心驅(qū)動力,正以前所未有的深度與廣度重塑各行業(yè)發(fā)展格局。體育領(lǐng)域深度融入科技變革浪潮,駛?cè)霐?shù)字化、智能化轉(zhuǎn)型快車...

關(guān)鍵字: 人工智能 智能體 AI BSP

上海2025年9月2日 /美通社/ -- 近日,由 ABB、Moxa(摩莎科技)等八家企業(yè)在上海聯(lián)合發(fā)起并成功舉辦"2025 Ethernet-APL 技術(shù)應(yīng)用發(fā)展大會"。會議以"破界?融合...

關(guān)鍵字: ETHERNET 智能未來 BSP 工業(yè)通信

傳感器模塊能實(shí)現(xiàn)便捷無接觸的后備箱或側(cè)滑門開啟,適配各種車輛架構(gòu) 該24 GHz雷達(dá)傳感器可集成于保險杠或底盤上,并通過特定的手勢或腳部動作觸發(fā)響應(yīng) 已為多家歐洲主流車企啟動量產(chǎn)交付 德國布爾2025...

關(guān)鍵字: 傳感器 BSP 觸發(fā) 保險杠

以高效節(jié)能方案繪制AI算力綠色未來 上海2025年8月29日 /美通社/ -- 8月28日,臺達(dá)受邀出席"2025中國智算產(chǎn)業(yè)綠色科技大會",全方位分享臺達(dá)在智算領(lǐng)域的前沿洞見與綠色解決方...

關(guān)鍵字: AI 可持續(xù)發(fā)展 數(shù)據(jù)中心 BSP

淄博2025年8月29日 /美通社/ -- 8月26日至27日,TÜV南德意志集團(tuán)(以下簡稱"TÜV南德")受邀參加由淄博市...

關(guān)鍵字: BSP 人工智能 信息安全 新加坡

北京2025年8月28日 /美通社/ -- 近日,北京亦莊創(chuàng)新發(fā)布消息,北京經(jīng)濟(jì)技術(shù)開發(fā)區(qū)(簡稱北京經(jīng)開區(qū),又稱北京亦莊)以"高效辦成一件事"為抓手,圍繞企業(yè)信用修復(fù)的全流程全環(huán)節(jié),打造經(jīng)開區(qū)特色的&...

關(guān)鍵字: 數(shù)字化 集成 BSP 數(shù)據(jù)共享

深圳2025年8月27日 /美通社/ -- 2025年8月27日,華測檢測認(rèn)證集團(tuán)股份有限公司(簡稱CTI華測檢測,股票代碼300012)與北京戴納實(shí)驗(yàn)科技股份有限公司(簡稱戴納科技)在華測集團(tuán)上海基地完成戰(zhàn)略簽約,雙方...

關(guān)鍵字: TI AI BSP 智能化
關(guān)閉