新型INS/GPS組合導(dǎo)航系統(tǒng)設(shè)計(jì)
1 雙口RAM芯片CY7C028的內(nèi)部結(jié)構(gòu)及工作原理
CY7C028是CYPRESS公司研制的64K×16低功耗CMOS型靜態(tài)雙口RAM,最大訪問(wèn)時(shí)間為12/15/20ns,可與大多數(shù)高速處理器配合使用,無(wú)需插入等待狀態(tài)。采用主從模式可以方便地將數(shù)據(jù)總線擴(kuò)展成32位或更寬。其內(nèi)部功能框圖如圖1所示。
雙口RAM芯片CY7C028作為一種性能優(yōu)越的快速通信器件,大多CPU的高速數(shù)字系統(tǒng)中非常適用。其特點(diǎn)是:提供兩套完全獨(dú)立的數(shù)據(jù)線、地址線、讀寫(xiě)控制線,允許兩個(gè)CPU對(duì)雙端口存儲(chǔ)器同時(shí)進(jìn)行操作;具有兩套完全的中斷邏輯,用于實(shí)現(xiàn)兩個(gè)CPU之間的握手信號(hào);具有完全獨(dú)立的忙邏輯,可保護(hù)兩個(gè)CPU對(duì)同一地址單元進(jìn)行正確的讀寫(xiě)操作。當(dāng)兩個(gè)CPU對(duì)雙口RAM存取時(shí),存在以下四種情況。
(1)兩個(gè)CPU不同時(shí)對(duì)同一地址單元存取數(shù)據(jù)。
(2)兩個(gè)CPU同時(shí)對(duì)同一地址單元讀出數(shù)據(jù)。
(3)兩個(gè)CPU同時(shí)對(duì)同一地址單元寫(xiě)入數(shù)據(jù)。
(4)兩個(gè)CPU同時(shí)對(duì)同一地址單元操作,一個(gè)寫(xiě)入數(shù)據(jù),另一個(gè)讀出數(shù)據(jù)。
不難看出,在第一和第二種情況下,兩個(gè)端口的存取不會(huì)出現(xiàn)錯(cuò)誤,而第三種情況會(huì)出現(xiàn)寫(xiě)入錯(cuò)誤,第四種情況會(huì)出現(xiàn)讀出錯(cuò)誤。為了避免兩個(gè)CPU對(duì)同一地址單元進(jìn)行訪問(wèn)時(shí)由于地址數(shù)據(jù)爭(zhēng)用而造成的數(shù)據(jù)讀寫(xiě)錯(cuò)誤,CY7C028主要提供了以下幾種工作方式,下面逐一介紹。
1.1 硬件判優(yōu)方式
雙口RAM CY7C028具有解決兩個(gè)處理器同時(shí)訪問(wèn)同一地址單元的硬件仲裁邏輯。在雙口RAM的兩套控制線中,各有一個(gè)BUSY引腳。當(dāng)兩端的CPU不對(duì)雙口 RAM的同一地址單元存取時(shí),BUSYL=H、BUSYR=H,可正常存儲(chǔ);當(dāng)兩端的CPU對(duì)雙口RAM同一地址單元存取時(shí),哪個(gè)端口的存取請(qǐng)求信號(hào)出現(xiàn)后,則其對(duì)應(yīng)的BUSY=L,禁止其存取數(shù)據(jù);在無(wú)法判定兩個(gè)端口存取請(qǐng)求信號(hào)出現(xiàn)的先后順序時(shí),控制線BUSYL、BUSYR只有一個(gè)為低電平。這樣,就能夠保證對(duì)應(yīng)于BUSY=H的端口能進(jìn)行正常存取,對(duì)應(yīng)于BUSY=L的端口不能存取,從而避免了兩個(gè)CPU同時(shí)競(jìng)爭(zhēng)地址資源而引發(fā)錯(cuò)誤的可能。
1.2 中斷判優(yōu)方式
中斷判優(yōu)方式又稱(chēng)郵箱判優(yōu)方式。CY7C028具有兩套中斷邏輯,通過(guò)兩個(gè)INT引腳分別接收到兩個(gè)CPU的中斷引腳上,以實(shí)現(xiàn)CPU的握手。在雙口RAM的數(shù)據(jù)傳送中,兩端的CPU都把雙口RAM作為自己存儲(chǔ)器的一部分。當(dāng)兩個(gè)CPU需要數(shù)據(jù)傳送時(shí),假設(shè)左端CPUL向右端CPUR傳送,首先 CPUL將需要傳送的數(shù)據(jù)存放到雙口RAM某段約定的地址單元中,然后向雙口RAM的最高奇地址單元0xFFFF即右端口的郵箱進(jìn)行寫(xiě)操作,用以向 CPUR發(fā)出一個(gè)中斷,這樣CPUR就進(jìn)入其相應(yīng)的中斷服務(wù)子程序,將約定地址單元的數(shù)據(jù)讀出,然后對(duì)雙口RAM右端口的郵箱進(jìn)行寫(xiě)操作,用以清除該中斷。
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):
(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所示。
主機(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所示。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)題。
評(píng)論