摘要:在某虛擬仿真實(shí)驗(yàn)平臺(tái)系統(tǒng)中,,需要收發(fā)批量GJB289A總線數(shù)據(jù),,并且按不同算法對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)處理。為此,,設(shè)計(jì)了PCI總線智能 GJB289A仿真卡,。采用FPGA實(shí)現(xiàn)GJB289A接口邏輯,設(shè)計(jì)了GJB289A總線模擬收發(fā)器,,替換了國(guó)外芯片,,降低了系統(tǒng)成本。采用DSP的 PCI接口在線加栽程序的方式,,在線更新數(shù)據(jù)處理算法,,并按照相應(yīng)算法對(duì)GJB289A總線數(shù)據(jù)進(jìn)行快速處理,提高了仿真系統(tǒng)的靈活性和實(shí)時(shí)性,。目前,,該仿真卡在虛擬仿真實(shí)驗(yàn)平臺(tái)系統(tǒng)中成功使用,工作穩(wěn)定,。
關(guān)鍵詞:DSP,;PCI;GJB289A,;在線加載
虛擬仿真系統(tǒng)模擬GJB289A總線設(shè)備,,需要收發(fā)大量的GJB289A總線數(shù)據(jù)。傳統(tǒng)的處理方式是通過(guò)GJB289A總線PCI通訊卡將接收到的數(shù)據(jù)傳輸?shù)缴衔粰C(jī),,由上位機(jī)程序?qū)?shù)據(jù)進(jìn)行處理,,然后上位機(jī)再將處理結(jié)果通過(guò)PCI卡傳輸?shù)紾JB289A總線上,這種方式影響虛擬仿真系統(tǒng)仿真效率,,系統(tǒng)實(shí)時(shí)性不好,。此外,傳統(tǒng)的GJB289A總線仿真卡處理器程序固定,,不能滿足不同處理算法的需要,。PCI總線智能GJB289A仿真卡實(shí)時(shí)處理GJB289A 總線數(shù)據(jù),無(wú)需將數(shù)據(jù)轉(zhuǎn)移到上位機(jī),,提高數(shù)據(jù)處理速度,,增強(qiáng)了系統(tǒng)實(shí)時(shí)性。用戶能夠根據(jù)需要,,在線加載DSP程序,,更新數(shù)據(jù)處理算法,以適應(yīng)不同處理算法的需要,。增強(qiáng)了仿真卡的靈活性,。
1 主要功能及指標(biāo)
PCI總線智能GJB289A仿真卡主要具備以下功能及指標(biāo):
CPU主頻:600 MHz,,處理速度為9 600 MIPS;
緩存空間:SDRAM空間為16 MB,;
PCI接口:總線寬度32 b,、速率33 MHz;
GJB289A接口:雙冗余模擬收發(fā),,具備RT/BC/MT,,傳輸速率為1 Mb/s;
在線加載DSP程序,。
2 硬件設(shè)計(jì)
由分析設(shè)計(jì)要求,,在此提出基于TMS320DM642為核心的硬件結(jié)構(gòu)設(shè)計(jì):包括DSP及外圍電路設(shè)計(jì)、GJB289A接口邏輯設(shè)計(jì),、GJB289A總線模擬收發(fā)器設(shè)計(jì),。
2.1 DSP及外圍電路設(shè)計(jì)
TI公司的TMS320DM642是一款主頻為600 MHz,32位定點(diǎn)的高性能DSP,,片內(nèi)集成PCI2.2協(xié)議模塊,,支持主/從模式的DMA數(shù)據(jù)傳輸。相較于采用專用PCI接口芯片或者FPGA等方式實(shí)現(xiàn),,開(kāi)發(fā)方式簡(jiǎn)單,,成本低。
DM642通過(guò)EMIFA與SDRAM和FLASH芯片相連,,其中2片64 Mb的SDRAM,,作為仿真卡的數(shù)據(jù)緩存空間,F(xiàn)LASH作為程序空間,。通過(guò)設(shè)置Boot模
式選擇程序從PCI接口還是EMIFA接口加載,。當(dāng)從PCI接口加載時(shí),用戶可以動(dòng)態(tài)加載DSP程序,,當(dāng)從EMIFA接口加載時(shí),,用戶可以將固化好的程序?qū)懭隖LASH中,由Bootloader引導(dǎo)程序的自啟動(dòng),。
2.2 GJB289A接口設(shè)計(jì)
GJB289A-97總線是國(guó)內(nèi)在研究為人熟知的MILSTD-1553B總線的基礎(chǔ)上制定出來(lái)的國(guó)家軍用標(biāo)準(zhǔn),,全稱“數(shù)字式時(shí)分制指令/響應(yīng)型多路傳輸數(shù)據(jù)總線”,由于其具有極高的可靠性,,因而在航空、航天,、軍事等領(lǐng)域的電子聯(lián)網(wǎng)系統(tǒng)中得到廣泛應(yīng)用,。目前GJB289A協(xié)議模塊較多由國(guó)外的高級(jí) 1553B協(xié)議處理芯片BU61580實(shí)現(xiàn)。在此GJB289A接口協(xié)議模塊由FPGA邏輯實(shí)現(xiàn),,代替原有的協(xié)議芯片,,節(jié)約了系統(tǒng)成本,,增加了設(shè)計(jì)的靈活性。
FPGA邏輯包括曼徹斯特編解碼單元,、協(xié)議處理模塊,、數(shù)據(jù)緩沖FIFO、寄存器控制等,。邏輯框圖如圖1所示,。發(fā)送數(shù)據(jù)時(shí)將已有的并行數(shù)據(jù)在系統(tǒng)的控制下,經(jīng)過(guò)并/串轉(zhuǎn)換,,轉(zhuǎn)換為并行的曼徹斯特編碼,,依次以符合1553B協(xié)議的消息的方式發(fā)出。在BC或者RT模式下接收數(shù)據(jù)時(shí),,模擬收發(fā)器接收曼徹斯特Ⅱ編碼的串行數(shù)據(jù),,通過(guò)曼徹斯特解碼器實(shí)現(xiàn)同步時(shí)鐘的提取,同步頭檢出,,數(shù)據(jù)檢出,,曼徹斯特Ⅱ碼錯(cuò)誤檢出,奇偶校驗(yàn),,位/字計(jì)數(shù)以及數(shù)據(jù)的串/并轉(zhuǎn)換功能,。
2.3 模擬收發(fā)器設(shè)計(jì)
模擬發(fā)送器是將FPGA輸出的TTL電平信號(hào)轉(zhuǎn)換為滿足協(xié)議要求電氣特性的信號(hào)傳輸?shù)诫娎|上,并提供一定的功率使發(fā)送信號(hào)順利被接受方正確接收,。模擬接收器是將在總線電纜上雙極性電平的信號(hào)轉(zhuǎn)換為可以直接接入FPGA的TTL電平信號(hào),,且信號(hào)的失真應(yīng)控制在一定的范圍之內(nèi)以使得通信過(guò)程正確。目前GJB289A總線模擬收發(fā)器較多由國(guó)外的HI-1573總線驅(qū)動(dòng)芯片實(shí)現(xiàn),,在此設(shè)計(jì)了模擬收發(fā)器電路,,可以代替1573芯片。模擬發(fā)送部分電路如圖2所示,,由FPGA直接生成的TTL電平信號(hào)從電路的左端輸入,,輸入的信號(hào)為單極性的曼徹斯特Ⅱ型編碼,信號(hào)差分輸出,。圖中的兩個(gè)PNP型三極管工作在開(kāi)關(guān)狀態(tài),,R1為基極偏置電阻,R2為集電極負(fù)載,,二極管起保護(hù)作用,。右端的隔離變壓器將信號(hào)放大輸入到總線電纜??偩€驅(qū)動(dòng)器的接收部分電路如圖3所示,,總線電纜上的信號(hào)從右端的隔離變壓器輸入,通過(guò)隔離變壓器電平轉(zhuǎn)換后到達(dá)高速比較器,,信號(hào)高于門(mén)檻電壓時(shí)比較器輸出高電平,;信號(hào)低于門(mén)檻電壓時(shí)比較器輸出低電平,。最終變?yōu)閮陕稵TL電平的差分信號(hào)輸入FPGA中做進(jìn)一步處理。
TI公司TMS320C6000系列DSP程序主要的加載方式:一種是由EMIF接口引導(dǎo)程序加載,,程序代碼,、數(shù)據(jù)存放在外擴(kuò)的FLASH中,這種方式加載的DSP程序是固定的,,不能支持在線更新,;另一種是由PCI接口引導(dǎo),主機(jī)通過(guò)PCI接口可以訪問(wèn)DSP片內(nèi)片外存儲(chǔ)單元,,將程序代碼寫(xiě)入DSP片內(nèi) RAM區(qū),,復(fù)位DSP時(shí),程序即開(kāi)始從地址O執(zhí)行,。這種方式可以在線加載DSP程序,,更新處理算法,滿足系統(tǒng)設(shè)計(jì)要求,,所以本系統(tǒng)采用PCI接口加載方式,。
3 DSP程序在線加載方法
用戶在主程序框架內(nèi)添加算法函數(shù),再通過(guò)上位機(jī)軟件,,自動(dòng)調(diào)用TI公司C編譯器c16x.exe,、匯編器asm6x.exe和連接器link6x.exe 殼程序,將C代碼編譯連接生成可執(zhí)行的out文件,。主機(jī)PCI接口的加載方式,,需要將可執(zhí)行的目標(biāo)代碼.out文件轉(zhuǎn)換為十六進(jìn)制.hex文件,再寫(xiě)入到 DSP的內(nèi)部RAM空間,。具體加載流程如圖4所示,。
在調(diào)用16進(jìn)制轉(zhuǎn)換工具時(shí),需要指定調(diào)用16進(jìn)制轉(zhuǎn)換工具的命令行選項(xiàng)和文件名,,為此創(chuàng)建一個(gè)批處理文件,,內(nèi)容如下:
通過(guò)上述方法將out文件轉(zhuǎn)換成hex文件,上位機(jī)程序讀取hex文件內(nèi)容為文本形式的ASCII,,每8個(gè)字符為一組存入數(shù)組中,。TIC6000系列DSP的PCI加載引導(dǎo)操作順序:首先通過(guò)地址總線的A21、A22引腳配置選擇PCI Boot模式,。上位機(jī)通過(guò)驅(qū)動(dòng)程序設(shè)置要訪問(wèn)的存儲(chǔ)器,、I/O空間和DSPP寄存器。將存有hex內(nèi)容的數(shù)組寫(xiě)入到DSP的內(nèi)部RAM區(qū),。然后向HDCR寄存器的DSPINT位寫(xiě)1,,DSP開(kāi)始從地址O開(kāi)始。如圖5所示,。
下面為演示實(shí)例,,運(yùn)行上位機(jī)軟件,調(diào)用驅(qū)動(dòng)程序函數(shù)庫(kù),,對(duì)PCI仿真卡進(jìn)行初始化設(shè)置,,初始化完成后將hex內(nèi)容寫(xiě)入DSP存儲(chǔ)空間,加載前,,DSP內(nèi)部RAM內(nèi)容,,通過(guò)調(diào)用16進(jìn)制轉(zhuǎn)換工具,將DSP程序可執(zhí)行目標(biāo)文件out轉(zhuǎn)換為hex文件,,其內(nèi)容為:
加載前后DSP內(nèi)部RAM內(nèi)容如圖6,、圖7所示。
從實(shí)例可以看出,,經(jīng)過(guò)上述加載方式,,完成了DSP程序的在線加載,更新了DSP程序,,滿足了不同數(shù)據(jù)處理算法的需要,。
4 結(jié)語(yǔ)
介紹了一種基于DM642的PCI總線GJB289A智能仿真卡的設(shè)計(jì)方法,采用高速DSP DM642作為主控制器,,實(shí)現(xiàn)了對(duì)GJB289A總線數(shù)據(jù)的快速處理,;在FPGA中實(shí)現(xiàn)GIB289A總線協(xié)議,設(shè)計(jì)了模擬收發(fā)器電路,,替換國(guó)外芯片,,減少了對(duì)國(guó)外芯片的依賴性,并節(jié)約了成本,。在軟件方面,,采用PCI總線在線加載技術(shù),實(shí)時(shí)更新DSP數(shù)據(jù)處理算法,,能夠適應(yīng)不同處理算法的需要,。目前在虛擬仿真實(shí)驗(yàn)平臺(tái)系統(tǒng)的應(yīng)用,表明該仿真卡設(shè)計(jì)正確,,工作穩(wěn)定可靠,。