雙口RAM在組合導航系統(tǒng)中的應用
分別為雙口RAM左端口的片選、讀/寫及輸出使能控制信號。為引至TMS320F240 READY引腳的信號。
在右端譯碼電路中,引至TMS320VC33 引腳的信號為雙口RAM右端口輸出信號,其余邏輯控制信號編程與左端類似,不再贅述。
CY7C028具有64K字的存儲空間,存儲資源較為豐富。系統(tǒng)設計時,根據(jù)實際需要將其前32K字存儲空間作為TMS320F240仿真程序的存儲空間,將其后32K字的存儲空間作為雙DSP的共享數(shù)據(jù)存儲空間。這樣設計,既減小了電路板面積又簡化了系統(tǒng)的構(gòu)成。在本系統(tǒng)中,CY7C028共享數(shù)據(jù)存儲區(qū)的地址確定如下:TMS320F240端為0x8000~0xFFFF,TMS320VC33端為0xC88000~0xC8FFFF。
采用上述接口電路,使得導航計算機系統(tǒng)電路簡單、可靠性高,同時使主從計算機之間具有很高的通信速度。經(jīng)實驗測試,在傳輸4K字節(jié)的系統(tǒng)數(shù)據(jù)過程中,其傳輸速率高達6.6M字節(jié)/秒,能很好地滿足系統(tǒng)導航解算周期為5ms的實時性要求。
2.3 雙口RAM的分區(qū)處理及軟件設計
利用雙口RAM的BUSY信號線,雖然可以保證左右兩個端口能可靠地完成數(shù)據(jù)的傳送,但當兩個端口對同一地址單元同時存取數(shù)據(jù)時,其中一個端口要處于等待狀態(tài)。對于導航系統(tǒng)來說,插入等待狀態(tài)會降低數(shù)據(jù)交換率,這在一定程度上會影響系統(tǒng)的實時性。為了盡可能地避免出現(xiàn)等待狀態(tài),結(jié)合系統(tǒng)中的數(shù)據(jù)總以幀的方式進行數(shù)據(jù)處理的特點,在對雙口RAM編程時,采用了地址分區(qū)方式。即將共享數(shù)據(jù)區(qū)按一定的標準劃分成若干個數(shù)據(jù)塊并制定相應的軟件協(xié)議,使得主、從機以適當?shù)臅r序讀寫數(shù)據(jù),從而避免對同一單元的競用,提高實時性。
在本系統(tǒng)中,主、從機之間需要交換的數(shù)據(jù)主要是與GPS接收機、彈載計算機、火控系統(tǒng)、地面檢測系統(tǒng)進行雙向通信的數(shù)據(jù)。軟件分區(qū)處理時,按照交換數(shù)據(jù)的類型將雙口RAM的共享存儲區(qū)從起始單元開始分成四個大的數(shù)據(jù)區(qū),數(shù)據(jù)區(qū)大小由實際的數(shù)據(jù)幀長度確定。每個大數(shù)據(jù)區(qū)又細分為一個數(shù)據(jù)接收緩沖區(qū)和一個數(shù)據(jù)發(fā)送緩沖區(qū),且每個緩沖區(qū)都定義有相應的數(shù)據(jù)存取基地址和讀、寫指針。主、從機根據(jù)緩沖區(qū)數(shù)據(jù)存取基地址及讀、寫指針,對相應單元進行讀、寫操作,整個緩沖區(qū)等效于一個環(huán)形數(shù)組。若緩沖區(qū)大小設置合理,當新數(shù)據(jù)覆蓋舊數(shù)據(jù)時,舊數(shù)據(jù)已經(jīng)處理,既不會遺漏數(shù)據(jù)又節(jié)省了存儲單元。
在本系統(tǒng)中,所有對外部系統(tǒng)的通信工作均由從機TMS320F240通過擴展串口ST16C554來完成??紤]到整個系統(tǒng)的數(shù)據(jù)處理流程及時序要求,在TMS320F240的軟件設計中,數(shù)據(jù)接收采用中斷方式,數(shù)據(jù)發(fā)送則是在軟件的主流程內(nèi)部維持一個無限循環(huán),將發(fā)送程序駐留在此循環(huán)中,通過查詢發(fā)送緩沖區(qū)的讀、寫指針,實時發(fā)送數(shù)據(jù)。ST16C554共有四個串口,分別負責與前述四個外部系統(tǒng)的數(shù)據(jù)通信。主機TMS320VC33只需對雙口RAM中相應的數(shù)據(jù)緩沖區(qū)寫入要發(fā)送的數(shù)據(jù)或讀取需要的數(shù)據(jù)即可。鑒于主、從機對這四種類型數(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ū)方式后,主從計算機對雙口RAM的軟件控制變得較為簡單。同時,為了驗證地址分區(qū)方式避免雙口RAM地址爭用現(xiàn)象的有效性,在系統(tǒng)的數(shù)據(jù)傳輸過程中,用示波器監(jiān)測雙口RAM左右端口BUSY引腳的電平,發(fā)現(xiàn)無等待狀態(tài)信號出現(xiàn),這表明對雙口RAM的軟件分區(qū)處理模式的確是一種比較理想的處理方法。
本文結(jié)合組合導航系統(tǒng)設計,介紹了利用雙口RAM實現(xiàn)導航計算機主從機之間通信的一種實用、高效的系統(tǒng)設計方法。該方法不僅簡化了系統(tǒng)的硬件配置和軟件編程,而且使系統(tǒng)具有較高的通信速度,保證了系統(tǒng)的實時性。此外,系統(tǒng)中所設計的DSP與雙口RAM之間的接口電路,簡單實用且邏輯控制可編程實現(xiàn),對其它應用系統(tǒng)具有較好的可移植性。
評論