掃描二維碼
隨時(shí)隨地手機(jī)看文章
介紹了采用TMS320C31和80C196雙CPU構(gòu)成的高速實(shí)時(shí)控制系統(tǒng)的基本構(gòu)成,給出了TMS320C31、80C196與雙口RAM IDT7140之間的接口電路,IDT公司雙口RAM系列的中斷邏輯設(shè)計(jì)以及DPS與80C196之間采用雙口RAM進(jìn)行高速數(shù)據(jù)通信的軟件實(shí)現(xiàn)。該控制系統(tǒng)可應(yīng)用于對(duì)實(shí)時(shí)性要求很高的系統(tǒng)中。
關(guān)鍵詞:DSP 雙口RAM 高速實(shí)時(shí) 中斷
DSP也稱(chēng)數(shù)字信號(hào)處理器。TMS320C31是TI公司的第三DSP芯片,它的基本結(jié)構(gòu)包括:(1)程序文憑間與數(shù)據(jù)空間分開(kāi)的總線結(jié)構(gòu),可以對(duì)程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器這兩個(gè)獨(dú)立的存儲(chǔ)器進(jìn)行獨(dú)立編址、獨(dú)立訪問(wèn);(2)流水線結(jié)構(gòu),以三級(jí)流水線操作為例,在每個(gè)指令周期內(nèi),三條不同的指令都處于激活狀態(tài),但處于不同的階段,分別為取指、譯碼和執(zhí)行;(3)專(zhuān)用的硬件乘法器,使乘法可以在單周期內(nèi)完成;(4)特殊的DSP指令;(5)快速的指令周期,可以達(dá)到33.3ns,即每秒能執(zhí)行60M條指令。
由一片TMS320C31加上存儲(chǔ)器、模/數(shù)轉(zhuǎn)換單元和外設(shè)接口就可以構(gòu)成一個(gè)完整的控制系統(tǒng),但這種方案若要達(dá)到高速實(shí)時(shí)控制則是不可行的。因?yàn)門(mén)MS320C31除要完成復(fù)雜的算法,還要采集處理數(shù)據(jù)、控制外部系統(tǒng)中的執(zhí)行機(jī)構(gòu)和實(shí)現(xiàn)人機(jī)接口等功能,而這些工作勢(shì)必會(huì)大大延長(zhǎng)系統(tǒng)對(duì)控制對(duì)象進(jìn)行控制的周期。所以我們采用TMS320C31和一個(gè)通用微處理器80C196一起來(lái)作為這個(gè)高速實(shí)時(shí)控制系統(tǒng)的CPU。其中80C196作為主機(jī),負(fù)責(zé)數(shù)據(jù)的采集處理、外部系統(tǒng)中執(zhí)行機(jī)構(gòu)的控制和驅(qū)動(dòng)以及人機(jī)接口等功能;TMS320C31作為從機(jī),負(fù)責(zé)復(fù)雜算法的實(shí)現(xiàn)。這樣可以使TMS320C31專(zhuān)注于算法的計(jì)算,充分利用它高速數(shù)據(jù)處理的能力。TMS320C31與80C196之間通過(guò)雙口RAM進(jìn)行高速數(shù)據(jù)通信,之所以采用雙口RAM是因?yàn)檫@種通信方式數(shù)據(jù)傳輸?shù)乃俾屎芨?并且抗干擾性能較好。
1 系統(tǒng)構(gòu)成
系統(tǒng)主要由兩大模塊組成:算法模塊和輸入輸出控制模塊。算法模塊以TMS320C31為核心構(gòu)成,是整個(gè)系統(tǒng)的計(jì)算中心,負(fù)責(zé)復(fù)雜算法的實(shí)現(xiàn);輸入輸出控制模塊以80196為中心構(gòu)成,負(fù)責(zé)數(shù)據(jù)的采集處理、外部系統(tǒng)中執(zhí)行機(jī)構(gòu)的控制和驅(qū)動(dòng)以及人機(jī)接口等功能。算法模塊與輸入輸出控制模塊之間通過(guò)雙口RAM IDT7140進(jìn)行高速數(shù)據(jù)通信。算法通過(guò)從輸入輸出控制模塊處獲得算法所需的輸入數(shù)據(jù)(即實(shí)時(shí)采樣到的數(shù)據(jù)),然后將計(jì)算結(jié)果送給輸入輸出控制模塊,最后再由輸入輸出控制模塊控制各執(zhí)行機(jī)構(gòu)。
2 TMS320C31、80C196與雙口RAM IDT7140之間的接口電路
如圖1所示,IDT7140有兩組完全對(duì)稱(chēng)的地址線數(shù)據(jù)線和控制線,TMS320C31與左邊這組線相連,80C196與右邊的那組線相連。TMS320C31給IDT7140分配的地址空間為0x20000H~0x1003ffH。通過(guò)GAL16V8對(duì)A[20,23]和外部存取選通信號(hào)/STRB進(jìn)行譯碼,給出IDT7140的片選信號(hào)/CEL。IDT7140通過(guò)/BUSYL和/BUSYR引腳接高電平,工作在中斷方式。IDT7140的中斷信號(hào)/INTL可以與TMS320C31的某個(gè)外部中斷引腳直接相連(這里將外部中斷1即INT1分配給雙口RAM IDT7140),具體原因?qū)⒃诘?部分進(jìn)行說(shuō)明。80C196給IDT7140分配地地址空間為0xA000H~0xA3ffH。通過(guò)GAL16V8對(duì)AD[12,15]和外部存儲(chǔ)器讀信號(hào)/RD進(jìn)行譯碼,給出IDT7140的片選信號(hào)/CER。80C196的/WE在寫(xiě)周期為低電平,讀周期為高電平,與IDT7140的R/WR定義一致,所以/WE可直接與R/WE可直接與R/WR相連,作為IDT7140右邊的讀之所以控制信號(hào)。IDT7140的中斷引腳/INTR接到80C196的外部中斷。 [!--empirenews.page--]
3 雙口RAM IDT7130/40的中斷邏輯設(shè)計(jì)
雙口RAM必須采用一定的機(jī)制來(lái)協(xié)調(diào)左右兩邊CPU對(duì)它的讀寫(xiě)操作。IDT公司的雙口RAM系列用口斷、硬件、令牌和軟件這四種方式來(lái)協(xié)調(diào)雙方。在TMS320C31和80C196雙CPU構(gòu)成的高速實(shí)時(shí)控制系統(tǒng)中,IDT7140采用的是中斷方式。下面介紹IDT雙口RAM系列的中斷邏輯設(shè)計(jì)。
如圖2所示,IDT雙口RAM的中斷邏輯實(shí)際上是由與非門(mén)組成的兩個(gè)基本RS觸發(fā)器所構(gòu)成。在所有的IDT雙口RAM芯片中,內(nèi)存的最高兩個(gè)單元被用作為左右兩邊CPU的中斷信箱。以1K雙口RAM為例,這兩個(gè)單元為3FEH和3FFH。其中3FEH為左邊CPU的中斷信箱,3FFH為右邊CPU的中斷信箱。各CPU只能讀自己的中斷信箱,寫(xiě)對(duì)方的中斷信箱;而不能寫(xiě)自己的中斷信箱,讀對(duì)方的斷信箱。當(dāng)左邊CPU中右邊CPU的中斷信箱3FFH單元寫(xiě)入數(shù)據(jù)時(shí),圖2中/WR置0,IRn+1置1,指向右邊CPU的中斷信號(hào)有效;當(dāng)右邊CPU從自己中斷信箱3FFH單元讀數(shù)據(jù)時(shí),圖2中/RR置0,則IRn+1置0,指向右邊CPU的中斷信號(hào)被清除。同樣地,右邊CPU對(duì)左邊CPU中斷信號(hào)的設(shè)置和清除也是如此,只不過(guò)把上面的3FFH單元換為3FFH單元。其真值表如表1所示。
表1 雙口RAM中斷邏輯真值表
/WR | /RR | IRn | IRn+1 |
0 0 1 1 0 0 1 1 |
0 0 0 0 1 1 1 1 |
0 1 0 1 0 1 0 1 |
1* 1* 0 0 1 1 0 1 |
從圖2和表1不難看出,指向右邊CPU的中斷信號(hào)從被置為低電平那一刻起一直有效至右邊CPU來(lái)讀3FFH單元。TMS320C31要求一個(gè)外部中斷必須至少持續(xù)一個(gè)H1周期保持為低電平,以便讓TMS320C31來(lái)確認(rèn)。如果外部中斷信號(hào)在一到三個(gè)H1周期之內(nèi)保持為低,那么只有一個(gè)中斷被確認(rèn);如果在三個(gè)或更多個(gè)周期內(nèi)保持為低,則可以確認(rèn)多于一個(gè)中斷。所以IDT7140提供的中斷信號(hào)的有效時(shí)間可以滿足TMS320C31的要求,這樣IDT7140的/INTL引腳就可以和TMS320C31的INT1直接相連。但與此同時(shí)也要求TMS320C31盡快地服務(wù)IDT7140的中斷申請(qǐng),以免一個(gè)中斷申請(qǐng)被誤認(rèn)為多個(gè)中斷申請(qǐng)。
4 TMS320C31與80C196之間采用雙口RAM進(jìn)行高速數(shù)據(jù)通信的軟件實(shí)現(xiàn)
從圖2中我們得知,左邊CPU寫(xiě)右邊CPU的中斷信箱3FFH單元時(shí),雙口RAM會(huì)給右邊CPU發(fā)一中斷信號(hào);同樣,右邊CPU在寫(xiě)左邊CPU的中斷信箱3FFH單元時(shí),雙口RAM也會(huì)給左邊CPU發(fā)一中斷信號(hào)。以左邊的TMS320C31為例,在它獲得外部中斷信號(hào)INT1后,它并不知道右邊的80C196是剛開(kāi)始占用雙口RAM還是用完了要釋放使用權(quán),或者是其它別的意思。所以雙方事先應(yīng)有一個(gè)簡(jiǎn)單的協(xié)議,例如右邊CPU在3FEH單元中(或右邊CPU在3FFH單元中)寫(xiě)“FFH”代表右(左)邊正占用雙口RAM,定“11H”代表要釋放使用權(quán),或者還可以有更多的數(shù)據(jù)含義的定義,視兩邊CPU通信內(nèi)容的復(fù)雜程度而定。例如在這個(gè)高速實(shí)時(shí)控制系統(tǒng)中,還定義了“88H”和“55H”來(lái)表示其它的含義。這樣,在中斷服務(wù)程序里,就可以做相應(yīng)的操作。下面以TMS320C31為例來(lái)說(shuō)明數(shù)據(jù)通信的軟件實(shí)現(xiàn),程序流程如圖3和圖4所示。
隨著各種復(fù)雜算法的應(yīng)用越來(lái)越廣泛,DSP的應(yīng)用也會(huì)越來(lái)越普及,各種不同的多CPU系統(tǒng)不斷涌現(xiàn)。在這些系統(tǒng)中,雙口RAM以它方便、快速的特點(diǎn)將成為很多多CPU系統(tǒng)中的通信途徑。
摘 要 :當(dāng)前的物流系統(tǒng)只關(guān)注物流智能化而忽略了環(huán)境監(jiān)測(cè),對(duì)物品的安全檢測(cè)存在不足。為了對(duì)智能倉(cāng)儲(chǔ)系統(tǒng)進(jìn)行實(shí)時(shí)監(jiān)測(cè),提高物品的安全性,設(shè)計(jì)了基于云平臺(tái)的智能物流倉(cāng)儲(chǔ)系統(tǒng),對(duì)底層數(shù)據(jù)進(jìn)行采集與處理,對(duì)云平臺(tái)數(shù)據(jù)進(jìn)行接收與轉(zhuǎn)...
關(guān)鍵字: STM32 智能倉(cāng)儲(chǔ) 實(shí)時(shí)控制 云平臺(tái) Web 前端 個(gè)性化點(diǎn)擊上方藍(lán)字關(guān)注我們!C2000??是實(shí)時(shí)控制應(yīng)用的理想平臺(tái),它的開(kāi)發(fā)您掌握了嗎?9月14日(周二)10:00-11:30TI在線直播將從信號(hào)鏈評(píng)測(cè)數(shù)據(jù)分析出發(fā),為您講解C2000?的價(jià)值優(yōu)勢(shì),帶您快速入門(mén)!查看下方圖片...
關(guān)鍵字: 實(shí)時(shí)控制 控制應(yīng)用點(diǎn)擊上方藍(lán)字關(guān)注我們!去年,一項(xiàng)探討已久的議題在上海付諸實(shí)踐:電動(dòng)汽車(chē)(EV)是否可以成為城市電網(wǎng)的一種靈活能源?電動(dòng)汽車(chē)駕駛員從公用事業(yè)公司獲得充電時(shí)間信號(hào),從而在可再生能源最充足時(shí)加以利用,并充分利用資源,避免浪費(fèi)。...
關(guān)鍵字: 太陽(yáng)能 實(shí)時(shí)控制點(diǎn)擊上方藍(lán)字關(guān)注我們!眾所周知,無(wú)論是自動(dòng)化工廠還是自動(dòng)駕駛車(chē)輛領(lǐng)域,人們對(duì)自動(dòng)化的需求已經(jīng)在全球產(chǎn)生了深遠(yuǎn)的影響。鑒于工業(yè)4.0和工業(yè)自動(dòng)化的大規(guī)模發(fā)展,現(xiàn)代智能工廠已經(jīng)呈現(xiàn)出更快的分布式計(jì)算、更快的靈活聯(lián)網(wǎng)以及邊緣更...
關(guān)鍵字: 網(wǎng)絡(luò) 實(shí)時(shí)控制 Sitara點(diǎn)擊上方藍(lán)字關(guān)注我們!眾所周知,無(wú)論是自動(dòng)化工廠還是自動(dòng)駕駛車(chē)輛領(lǐng)域,人們對(duì)自動(dòng)化的需求已經(jīng)在全球產(chǎn)生了深遠(yuǎn)的影響。鑒于工業(yè)4.0和工業(yè)自動(dòng)化的大規(guī)模發(fā)展,現(xiàn)代智能工廠已經(jīng)呈現(xiàn)出更快的分布式計(jì)算、更快的靈活聯(lián)網(wǎng)以及邊緣更...
關(guān)鍵字: 網(wǎng)絡(luò) 實(shí)時(shí)控制 Sitara本系列博文的第1部分介紹了用于C2000?微控制器(MCU)的EtherCAT從站堆棧解決方案的市場(chǎng)機(jī)遇,并介紹了從站堆棧開(kāi)發(fā)快速入門(mén)的三個(gè)階段指南。 除了這三方面的開(kāi)發(fā)流程之外,TI還
關(guān)鍵字: MCU 實(shí)時(shí)控制 工業(yè)通信 工業(yè)驅(qū)動(dòng)器您無(wú)需使用EtherCAT從站堆棧來(lái)執(zhí)行此驗(yàn)證。將此應(yīng)用程序下載到設(shè)備上后,EtherCAT主站便可識(shí)別出網(wǎng)絡(luò)上的EtherCAT從站控制器,從而確認(rèn)物理接口是否正常工作。之后,您可以對(duì)EtherCAT從站的EEPROM...
關(guān)鍵字: 實(shí)時(shí)控制 工業(yè)通信 電源資訊第二種軟件解決方案讓您從基于TI controlCARD工具,轉(zhuǎn)變?yōu)閹椭孕虚_(kāi)發(fā)硬件。EtherCAT社區(qū)將可編程控制器的接口稱(chēng)為處理器數(shù)據(jù)接口(PDI)。您可在適用于高性能MCU的EtherCAT接口參考設(shè)計(jì)找到并行...
關(guān)鍵字: 實(shí)時(shí)控制 工業(yè)通信 電源資訊?本系列博文的第1部分介紹了用于C2000?微控制器(MCU)的EtherCAT從站堆棧解決方案的市場(chǎng)機(jī)遇,并介紹了從站堆棧開(kāi)發(fā)快速入門(mén)的三個(gè)階段指南。
關(guān)鍵字: MCU 實(shí)時(shí)控制 工業(yè)通信通過(guò)納入Echoback應(yīng)用程序,TI展示了堆棧軟件基本使用的示例,并為您提供了一個(gè)占位符,供您自行創(chuàng)建應(yīng)用程序。遵循Echoback示例將更容易利用TI針對(duì)堆棧和HAL軟件模塊進(jìn)行的許多優(yōu)化,并提供EtherCAT從站...
關(guān)鍵字: 實(shí)時(shí)控制 工業(yè)通信 電源資訊