雙口RAM在組合導(dǎo)航系統(tǒng)中的應(yīng)用
1.3 令牌判優(yōu)方式
令牌判優(yōu)方式是一種快速數(shù)據(jù)交換方式。在此方式中有信令鎖存邏輯,CY7C028內(nèi)部提供了八個(gè)相互獨(dú)立的鎖存邏輯單元,最多可將RAM空間分成八個(gè)區(qū)段。這些鎖存邏輯單元獨(dú)立于雙口RAM存儲(chǔ)區(qū),并不能控制RAM區(qū)、封鎖兩端CPU的讀/寫(xiě)操作,而是被作為信令,只提供指示邏輯,由兩端CPU按約定的規(guī)則,輪流地占用它們劃定的RAM區(qū),各區(qū)的大小及地址由軟件自由設(shè)定,且左右端操作完全一樣,只要不超過(guò)令牌的限制次數(shù)即可。當(dāng)左右端口同時(shí)申請(qǐng)同一令牌時(shí),令牌邏輯將裁定誰(shuí)先占用,從而保證只有一個(gè)端口獲取令牌。而在占用令牌期間,CPU可以按最高速無(wú)等待存取數(shù)據(jù),這對(duì)實(shí)現(xiàn)高速、多CPU數(shù)據(jù)采集與處理系統(tǒng)無(wú)疑是非常有利的。但是,為了避免令牌方式爭(zhēng)用出錯(cuò),應(yīng)盡可能使兩端CPU分時(shí)占用同一RAM區(qū)。
2 雙口RAM在組合導(dǎo)航系統(tǒng)中的應(yīng)用
2.1 系統(tǒng)總體設(shè)計(jì)
導(dǎo)航系統(tǒng)的主要任務(wù)是測(cè)量飛行載體的即時(shí)位置、速度、航向等導(dǎo)航參數(shù),具有實(shí)時(shí)性高、運(yùn)算量大等特點(diǎn)。因此在導(dǎo)航系統(tǒng)中,計(jì)算機(jī)設(shè)計(jì)是系統(tǒng)設(shè)計(jì)的關(guān)鍵之一。在INS/GPS組合導(dǎo)航系統(tǒng)中,導(dǎo)航計(jì)算機(jī)的任務(wù)主要有三類(lèi)[6]:
(1) 數(shù)據(jù)采集,包括采集慣性測(cè)量單元元件輸出信號(hào),接收外部系統(tǒng)校正信息,如GPS輸出信息、初始位置信息等。
(2) 數(shù)據(jù)處理與運(yùn)算,包括慣性測(cè)量元件的誤差補(bǔ)償、初始對(duì)準(zhǔn)、導(dǎo)航參數(shù)解算、組合導(dǎo)航算法實(shí)現(xiàn)等。
(3) 輸出導(dǎo)航數(shù)據(jù)及系統(tǒng)狀態(tài)量,包括輸出導(dǎo)航參數(shù)以及與其它設(shè)備交換信息等。
所有這些任務(wù),如果都由一個(gè)CPU來(lái)完成,那么CPU在進(jìn)行運(yùn)算的同時(shí),還要兼顧系統(tǒng)控制和數(shù)據(jù)輸入輸出,并響應(yīng)頻繁的中斷,必然降低系統(tǒng)運(yùn)行效率。所以,為了兼顧系統(tǒng)運(yùn)行效率,減輕導(dǎo)航計(jì)算機(jī)負(fù)擔(dān),設(shè)計(jì)一種以TMS320VC33為主機(jī)和以TMS320F240為接口機(jī)的雙DSP主從式系統(tǒng)。系統(tǒng)總體結(jié)構(gòu)如圖2所示。
本文引用地址:http://butianyuan.cn/article/152579.htm
主機(jī)TMS320VC33主要用來(lái)定時(shí)采樣陀螺、加速度計(jì)的數(shù)據(jù),并完成姿態(tài)陣計(jì)算、組合系統(tǒng)卡爾曼濾波器計(jì)算等導(dǎo)航解算。接口機(jī)TMS320F240主要完成系統(tǒng)相關(guān)狀態(tài)的檢測(cè)/控制,與GPS接收機(jī)、彈載計(jì)算機(jī)及其它外設(shè)的通信等任務(wù)。主機(jī)和接口機(jī)之間的通信利用雙口RAM CY7C028實(shí)現(xiàn)。量化器模塊主要是將加速度計(jì)輸出的電流信號(hào)轉(zhuǎn)換成主機(jī)可直接讀取的數(shù)字量。此外,由于TMS320VC33和TMS320F240的串口資源有限,無(wú)法滿足系統(tǒng)需要,系統(tǒng)中采用EXAR公司的ST16C554進(jìn)行相應(yīng)的串口擴(kuò)展。
2.2 DSP與雙口RAM的接口設(shè)計(jì)
在組合導(dǎo)航系統(tǒng)中,CY7C028與兩個(gè)DSP芯片TMS320VC33和TMS320F240之間的接口電路如圖3所示[2~4]。TMS320VC33的數(shù)據(jù)線寬度為32位,而CY7C028的數(shù)據(jù)位寬為16位,因此采用將TMS320VC33數(shù)據(jù)總線的低16位與雙口RAM的數(shù)據(jù)總線相連。TMS320VC33在發(fā)送32位的數(shù)據(jù)至雙口RAM時(shí),分兩次完成,先寫(xiě)低16位,再寫(xiě)高16位。從雙口RAM讀取數(shù)據(jù)操作與發(fā)送類(lèi)似。如前所述,使用雙口RAM的關(guān)鍵是解決左右端口同時(shí)操作同一RAM單元的競(jìng)爭(zhēng)問(wèn)題。圖3中采用了硬件判優(yōu)的方法,即將左右端口的BUSY信號(hào)經(jīng)相應(yīng)處理后分別引至支持插入等待時(shí)序的TMS320VC33和TMS320F240 的對(duì)應(yīng)引腳,以解決左右端口對(duì)同一單元的爭(zhēng)用問(wèn)題。
為了使整個(gè)系統(tǒng)成為完全可編程系統(tǒng),增加系統(tǒng)的靈活性,系統(tǒng)中邏輯控制選用可編程的邏輯器件GAL實(shí)現(xiàn)[5]。GAL選用Lattice公司的GAL20V8B芯片,并采用Lattice公司提供的ispDesignEXPERT集成開(kāi)發(fā)軟件對(duì)其進(jìn)行邏輯編程。ispDesignEXPERT支持多種硬件編程語(yǔ)言,系統(tǒng)中采用ABEL語(yǔ)言進(jìn)行編程。左、右兩端GAL的輸入管腳信號(hào)定義如圖3中所示。
左端譯碼電路的邏輯方程為:
評(píng)論