色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 設(shè)計(jì)應(yīng)用 > 新型INS/GPS組合導(dǎo)航系統(tǒng)

          新型INS/GPS組合導(dǎo)航系統(tǒng)

          作者: 時(shí)間:2010-09-17 來(lái)源:網(wǎng)絡(luò) 收藏

          在眾多組合導(dǎo)般系統(tǒng)中,組合更是發(fā)展迅速,在軍用和民用領(lǐng)域均已獲得廣泛應(yīng)用,而且愈來(lái)愈受到重視。就組合而言,除了要完成大量的導(dǎo)航解算工作外,還要完成控制、人機(jī)接口、與外部系統(tǒng)的通信等功能。由于對(duì)實(shí)時(shí)性要求較高,采用單片CPU來(lái)實(shí)現(xiàn)上述功能是不現(xiàn)實(shí)的。在研制某彈載 組合導(dǎo)航系統(tǒng)時(shí),針對(duì)彈載導(dǎo)航系統(tǒng)體積小、重量輕、功耗小的特點(diǎn),設(shè)計(jì)了一種嵌入式高速處理系統(tǒng)。該系統(tǒng)采用TI公司的TMS320VC33和 TMS320F240組成雙DSP系統(tǒng),即由兩個(gè)DSP構(gòu)成一個(gè)主從式系統(tǒng)完成相應(yīng)功能。主從式系統(tǒng)設(shè)計(jì)的關(guān)鍵是主機(jī)與從機(jī)之間的數(shù)據(jù)通信。主從機(jī)之間的數(shù)據(jù)通信主要有串行、并行、DMA及雙口RAM四種方式。綜合各種通信方式的優(yōu)缺點(diǎn),考慮到導(dǎo)航系統(tǒng)實(shí)時(shí)性高、數(shù)據(jù)量大的特點(diǎn),筆者以雙口 RAM器件作為共享存儲(chǔ)器,筆者以雙口RAM器件作為共享存儲(chǔ)器,通過(guò)獨(dú)特的軟件分區(qū)處理設(shè)計(jì)有效地實(shí)現(xiàn)了導(dǎo)航系統(tǒng)中的主計(jì)算機(jī)與從微型計(jì)算機(jī)之間的通信。

          本文引用地址:http://cafeforensic.com/article/260767.htm

          1 雙口的內(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所示。

          雙口CY7C028作為一種性能優(yōu)越的快速通信器件,大多CPU的高速數(shù)字系統(tǒng)中非常適用。其特點(diǎn)是:提供兩套完全獨(dú)立的數(shù)據(jù)線、地址線、讀寫控制線,允許兩個(gè)CPU對(duì)雙端口存儲(chǔ)器同時(shí)進(jìn)行操作;具有兩套完全的中斷邏輯,用于實(shí)現(xiàn)兩個(gè)CPU之間的握手信號(hào);具有完全獨(dú)立的忙邏輯,可保護(hù)兩個(gè)CPU對(duì)同一地址單元進(jìn)行正確的讀寫操作。當(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ì)同一地址單元寫入數(shù)據(jù)。

          (4)兩個(gè)CPU同時(shí)對(duì)同一地址單元操作,一個(gè)寫入數(shù)據(jù),另一個(gè)讀出數(shù)據(jù)。

          不難看出,在第一和第二種情況下,兩個(gè)端口的存取不會(huì)出現(xiàn)錯(cuò)誤,而第三種情況會(huì)出現(xiàn)寫入錯(cuò)誤,第四種情況會(huì)出現(xiàn)讀出錯(cuò)誤。為了避免兩個(gè)CPU對(duì)同一地址單元進(jìn)行訪問(wèn)時(shí)由于地址數(shù)據(jù)爭(zhēng)用而造成的數(shù)據(jù)讀寫錯(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)方式又稱郵箱判優(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)行寫操作,用以向 CPUR發(fā)出一個(gè)中斷,這樣CPUR就進(jìn)入其相應(yīng)的中斷服務(wù)子程序,將約定地址單元的數(shù)據(jù)讀出,然后對(duì)雙口RAM右端口的郵箱進(jìn)行寫操作,用以清除該中斷。

          1.3 令牌判優(yōu)方式

          令牌判優(yōu)方式是一種快速數(shù)據(jù)交換方式。在此方式中有信令鎖存邏輯,CY7C028內(nèi)部提供了八個(gè)相互獨(dú)立的鎖存邏輯單元,最多可將RAM空間分成八個(gè)區(qū)段。這些鎖存邏輯單元獨(dú)立于雙口RAM存儲(chǔ)區(qū),并不能控制 RAM區(qū)、封鎖兩端CPU的讀/寫操作,而是被作為命令,只提供指示邏輯,由兩端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ù)主要有三類:

          (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í),分兩次完成,先寫低16位,再寫高16位。從雙口RAM讀取數(shù)據(jù)操作與發(fā)送類似。如前所述,使用雙口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),GAL選用Lattice公司的 GAL20V8B芯片,并采用Lattice公司提供的ispDesignEXPERT集成開發(fā)軟件對(duì)其進(jìn)行邏輯編程。IspDesignEXPERT支持多種硬件編程語(yǔ)言,系統(tǒng)中采用ABEL語(yǔ)言進(jìn)行編程。左、右兩端GAL的輸入管腳信號(hào)定義如圖3中所示。

          左端譯碼電路的邏輯方程為:

          CE0L=DSA15#PS A15;

          R/WL=R/WSTRB;

          EL=R/W STRB;

          BUSYL=READY;

          CE0L、R/WL、OEL分別為雙口RAM左端口的片選、讀/寫及輸出使能控制信號(hào)。BUSYL為引至

          TMS320F240 READY引腳的信號(hào)。

          在右端譯碼電路中,引至TMS320VC33 RDY引腳的信號(hào)為雙口RAM右端口輸出信號(hào)BUSYR,其余邏輯控制信號(hào)編程與左端類似,不再多述。

          CY7C028具有64K字的存儲(chǔ)空間,存儲(chǔ)資源較為豐富。系統(tǒng)設(shè)計(jì)時(shí),根據(jù)實(shí)際需要將其前32K字存儲(chǔ)空間作為TMS320F240仿真程序的存儲(chǔ)空間,將其后32K字的存儲(chǔ)空間作為雙DSP的共享數(shù)據(jù)存儲(chǔ)空間。這樣設(shè)計(jì),既減小了電路板面積又簡(jiǎn)化了系統(tǒng)的構(gòu)成。在本系統(tǒng)中,CY7C028共享數(shù)據(jù)存儲(chǔ)區(qū)的數(shù)據(jù)確定如下:TMS320F240端為0x8000~0xFFFF,TMS320VC33端為0xC88000~0xC8FFFF。

          采用上述接口電路,使得導(dǎo)航計(jì)算機(jī)系統(tǒng)電路簡(jiǎn)單、可靠性高,同時(shí)使主從計(jì)算機(jī)之間具有很高的通信速度。經(jīng)實(shí)驗(yàn)測(cè)試,在傳輸4K字節(jié)的系統(tǒng)數(shù)據(jù)過(guò)程中,其傳輸速率高達(dá)6.6M字節(jié)/秒,能很好地滿足系統(tǒng)導(dǎo)航解算周期為5ms的實(shí)時(shí)性要求。

          2.3 雙口RAM的分區(qū)處理及軟件設(shè)計(jì)

          利用雙口RAM的BUSY信號(hào)線,雖然可以保證左右兩個(gè)端口能可行地完成數(shù)據(jù)的傳送,但當(dāng)兩個(gè)端口對(duì)同一地址單元同時(shí)存取數(shù)據(jù)時(shí),其中一個(gè)端口要處于等待狀態(tài)。對(duì)于導(dǎo)航系統(tǒng)來(lái)說(shuō),插入等待狀態(tài)會(huì)降低數(shù)據(jù)交換率,這在一定程度上會(huì)影響系統(tǒng)的實(shí)時(shí)性。為了盡可能地避免出現(xiàn)等待狀態(tài),結(jié)合系統(tǒng)中的數(shù)據(jù)總以幀的方式進(jìn)行數(shù)據(jù)處理的特點(diǎn),在對(duì)雙口RAM編程時(shí),采用了地址分區(qū)方式。即將共享數(shù)據(jù)區(qū)按一定的標(biāo)準(zhǔn)劃分成若干個(gè)數(shù)據(jù)并制定相應(yīng)的軟件協(xié)議,使得主、從機(jī)以適當(dāng)?shù)臅r(shí)序讀寫數(shù)據(jù),從而避免對(duì)同一單元的競(jìng)用,提高實(shí)時(shí)性。

          在本系統(tǒng)中,主、從機(jī)之間需要交換的數(shù)據(jù)主要是與GPS接收機(jī)、彈載計(jì)算機(jī)、火控系統(tǒng)、地面檢測(cè)系統(tǒng)進(jìn)行雙向通信的數(shù)據(jù)。軟件分區(qū)處理時(shí),按照交換數(shù)據(jù)的類型將雙口RAM的共享存儲(chǔ)區(qū)從起始單元開始分成四個(gè)大的數(shù)據(jù)區(qū),數(shù)據(jù)區(qū)大小由實(shí)際的數(shù)據(jù)幀長(zhǎng)度確定。每個(gè)大數(shù)據(jù)區(qū)又細(xì)分為一個(gè)數(shù)據(jù)接收緩沖區(qū)和一個(gè)數(shù)據(jù)發(fā)送緩沖區(qū),且每個(gè)緩沖區(qū)都定義有相應(yīng)的數(shù)據(jù)存取基地址和讀、寫指針。主、從機(jī)根據(jù)緩沖區(qū)數(shù)據(jù)存取基地址及讀、寫指針,對(duì)相應(yīng)單元進(jìn)行讀、寫操作,整個(gè)緩沖區(qū)等效于一個(gè)環(huán)形數(shù)據(jù)。若緩沖區(qū)大小設(shè)置合理,當(dāng)新數(shù)據(jù)覆蓋舊數(shù)據(jù)時(shí),舊數(shù)據(jù)已經(jīng)處理,既不會(huì)遺漏數(shù)據(jù)又節(jié)省了存儲(chǔ)單元。

          在本系統(tǒng)中,所有對(duì)外部系統(tǒng)的通信工作均由從機(jī)TMS320F240通過(guò)擴(kuò)展串口ST16C554來(lái)完成??紤]到整個(gè)系統(tǒng)的數(shù)據(jù)處理流程及時(shí)序要求,在TMS320F240的軟件設(shè)計(jì)中,數(shù)據(jù)接收采用中斷方式,數(shù)據(jù)發(fā)送則是在軟件的主流程內(nèi)部維持一個(gè)無(wú)限循環(huán),將發(fā)送程序駐留在此循環(huán)中,通過(guò)查詢發(fā)送緩沖區(qū)的讀、寫指針,實(shí)時(shí)發(fā)送數(shù)據(jù)。ST16C554共有四個(gè)串口,分別負(fù)責(zé)與前述四個(gè)外部系統(tǒng)的數(shù)據(jù)通信。主機(jī)TMS320VC33只需對(duì)雙口RAM中相應(yīng)的數(shù)據(jù)緩沖區(qū)寫入要發(fā)送的數(shù)據(jù)或讀取需要的數(shù)據(jù)即可。鑒于主、從機(jī)對(duì)這四種類型數(shù)據(jù)的存取操作程序類似,在此只給出TMS320F240接收火控系統(tǒng)數(shù)據(jù)和TMS320VC33讀取火控系統(tǒng)數(shù)據(jù)的程序流程圖,分別如圖4和圖5所示。其中,Base為火控系統(tǒng)數(shù)據(jù)接收緩沖區(qū)數(shù)據(jù)存取基地址。

          從圖4和圖5的流程圖可以看出,采用地址分區(qū)方式后,主從微型計(jì)算機(jī)對(duì)雙口RAM的軟件控制變得較為簡(jiǎn)單。同時(shí),為了驗(yàn)證地址分區(qū)方式避免雙口RAM地址爭(zhēng)用現(xiàn)象的有效性,在系統(tǒng)的數(shù)據(jù)傳輸過(guò)程中,用示波器監(jiān)測(cè)雙口RAM左口端口BUSY引腳的電平,發(fā)現(xiàn)無(wú)等待狀態(tài)信號(hào)出現(xiàn),這表明對(duì)雙口RAM的軟件分區(qū)處理模式的確是一種比較理想的處理方法。

          本文結(jié)合組合導(dǎo)航系統(tǒng)設(shè)計(jì),介紹了利用又口RAM實(shí)現(xiàn)導(dǎo)航計(jì)算機(jī)主從機(jī)之間通信的一種實(shí)用、高效的系統(tǒng)設(shè)計(jì)方法。該方法不僅簡(jiǎn)化了系統(tǒng)的硬件配置和軟件編程,而且使系統(tǒng)具有較高的通信速度,保證了系統(tǒng)的實(shí)時(shí)性。此外,系統(tǒng)中所設(shè)計(jì)的DSP與雙口RAM之間的接口電路,簡(jiǎn)單實(shí)用且邏輯控制可編程實(shí)現(xiàn),對(duì)其它應(yīng)用系統(tǒng)具有較好的可移植性。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉