TMS320C31和80C196雙CPU構(gòu)成的高速實(shí)時(shí)控制
介紹了采用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)中。
本文引用地址:http://butianyuan.cn/article/151089.htm關(guān)鍵詞:DSP 雙口RAM 高速實(shí)時(shí) 中斷
DSP也稱(chēng)數(shù)字信號(hào)處理器。TMS320C31是TI公司的第三DSP芯片,它的基本結(jié)構(gòu)包括:(1)程序文憑間與數(shù)據(jù)空間分開(kāi)的總線(xiàn)結(jié)構(gòu),可以對(duì)程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器這兩個(gè)獨(dú)立的存儲(chǔ)器進(jìn)行獨(dú)立編址、獨(dú)立訪(fǎng)問(wèn);(2)流水線(xiàn)結(jié)構(gòu),以三級(jí)流水線(xiàn)操作為例,在每個(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)的地址線(xiàn)數(shù)據(jù)線(xiàn)和控制線(xiàn),TMS320C31與左邊這組線(xiàn)相連,80C196與右邊的那組線(xiàn)相連。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的外部中斷。
評(píng)論