基于PXI技術(shù)的1553B總線通訊模塊的設(shè)計
引言
1553B軍用總線標(biāo)準(zhǔn),在軍事裝備,特別是飛機(jī)系統(tǒng), 得到了廣泛的應(yīng)用。為了測試帶有1553B總線接口的電子設(shè)備 與系統(tǒng),通常需要在測試系統(tǒng)配備1553B接口模塊。PXI總線 是一種體積小、數(shù)據(jù)傳輸速度高的儀器總線,在航空航天等 測控領(lǐng)域得到了廣泛的應(yīng)用。PXI-1553B模塊可用于PXI總線 測試系統(tǒng)與1553B設(shè)備的通訊,完成對帶有1553B接口設(shè)備 的測試,因此設(shè)計PXI-1553B模塊具有重要的應(yīng)用意義。
1基于PXI技術(shù)的1553B總線通訊模塊性能指標(biāo)
32 b,33 MHz PXI總 線 接口,標(biāo) 準(zhǔn)PXI 3U尺寸 (160 mmX 100 mm);
符合1553B規(guī)范,總線傳輸速率1 Mbps ;
單通道、多功能、雙冗余通道數(shù)據(jù)發(fā)送和接收;
通道包括1個BC (總線控制器),0?31個RT (遠(yuǎn)程終 端),1個MT(總線監(jiān)視器);
軟件可設(shè)置幀間隔時間、消息間隔時間、消息的數(shù)量、 RT狀態(tài)字響應(yīng)時間和應(yīng)答超時時間;
提供Windows XP操作系統(tǒng)程序支持,包括驅(qū)動和動態(tài) 鏈接庫等。
2基于PXI技術(shù)的1553B總線通訊模塊原理框圖
基于PXI技術(shù)的1553B總線通訊模塊結(jié)構(gòu)組成如圖1所 示,主要包括隔離變壓器、收發(fā)器、FPGA可編程邏輯控制 器、PXI總線控制器、SDRAM存儲器、時鐘電路等。隔離 變壓器與收發(fā)器為接口電路;FPGA可編程邏輯控制器用來實 現(xiàn)1553B接口通信,包括信號發(fā)送與接收的編解碼及串并轉(zhuǎn)換、 總線協(xié)議與消息處理和傳輸邏輯控制與時鐘控制等模塊;PXI 總線控制器完成PXI總線與本地總線之間的轉(zhuǎn)換;SDRAM存儲器用來存儲和緩沖命令和信息(數(shù)據(jù));時鐘用來提供 FPGA和PXI總線控制器所需的時鐘。
3基于PXI技術(shù)的1553B總線通訊的實現(xiàn)
3.1 PXI總線通信的實現(xiàn)
應(yīng)用芯片PCI9054實現(xiàn)PXI總線接口,選擇PCI9054本地總線工作在C模式下,PCI9054芯片通過片內(nèi)邏輯控制,將 PXI的地址線和數(shù)據(jù)線分開,從而為本地總線的各種操作提 供良好的工作時序。
系統(tǒng)上電復(fù)位后,PCI9054讀取其外部存儲器的數(shù)據(jù)對 寄存器進(jìn)行配置,完成PCI9O54的初始化。PXI的初始化 數(shù)據(jù)由E2PROM來加載。E2PROM的配置采用在線燒錄的方 式,運行PLXMON軟件,可以識別到PXI總線通訊模塊的設(shè) 備號為9054,設(shè)備標(biāo)志號為10B5,類碼為AA。PCI9054的 Local端寄存器包括Local端地址空間范圍寄存器(LASORR、 LAS1RR、EROMRR)與Local端地址空間基地址寄存器 (LAS0BA、LASlBA、EROMBA) ; PXI地址空間基地址寄存 器(PCIBAR2、PCIBAR3、PCIERBAR)。Local 端的這三個地 址空間若要被PXI總線訪問,則首先需完成PXI空間到Local 空間的地址映射。其次,當(dāng)系統(tǒng)上電時,系統(tǒng)對PXI基地址寄 存器寫入全1,然后回讀,返回設(shè)備申請的映射資源的類型和 大小。
在C模式下,采用從操作模式向通訊模塊發(fā)送控制命令,
是由PXI總線上的主設(shè)備訪問本地總線的操作,PCI9O54通 過一個16字長PXI從模式讀FIFO和一個32字長PXI從模 式寫FIFO,來實現(xiàn)從PXI總線到本地總線的突發(fā)存儲器映射 訪問和IO映射訪問。
3.2驅(qū)動程序的開發(fā)
驅(qū)動程序用WinDriver軟件開發(fā),運行Driverwizard程 序,創(chuàng)建新的驅(qū)動程序,進(jìn)入設(shè)備選擇界面,選定PCI9054 PCIAccelerator, 創(chuàng)建 PXI 設(shè)備 安裝文件.INF (Device information File),其提供了全面描述設(shè)備硬件參數(shù)和相應(yīng)驅(qū) 動文件的信息,操作系統(tǒng)通過INF文件就可以找到設(shè)備的驅(qū) 動程序叫
進(jìn)入PXI通訊模塊的資源對話框,可以查看并修改PXI 通訊模塊的存儲器空間、I。空間、寄存器等內(nèi)容,并可以 監(jiān)聽中斷,在Visual C++開發(fā)環(huán)境中生成驅(qū)動程序框架代 碼,包括M1553_diag.dsw、M1553_diag.dsp兩個工程文件與 M1553_lib.c、M1553_lib.h、M1553_diag.c 三個文件,M1553_ lib.c是設(shè)備的應(yīng)用程序級API函數(shù)文件,定義了訪問所有PXI 設(shè)備資源(包括存儲器讀寫、IO讀寫、寄存器操作、中斷處理等) 所需的庫函數(shù),可以直接調(diào)用這些標(biāo)準(zhǔn)API函數(shù)實現(xiàn)對硬件 的操作和訪問,M1553_lib.h文件是上述庫函數(shù)所需的頭文件, M1553_diag.c是基于控制臺的設(shè)備診斷程序,在程序中使用 了文件M1553_lib.c中的庫函數(shù),對設(shè)備進(jìn)行實際操作。根據(jù) 應(yīng)用情況對上述三個文件代碼進(jìn)行修改,編寫具體的功能代碼, 建立用戶模式的驅(qū)動程序,主要包含設(shè)備的初始化、設(shè)備的 讀寫操作與設(shè)備的關(guān)閉[4, 5]。
3.3 SDRAM存儲器的控制
SDRAM作為緩存芯片,選用單周期讀寫的 MT48LC16M16A,數(shù)據(jù)位寬16位,塊地址選擇線為BA0和 BA1,用來尋址4個塊的地址空間。每塊內(nèi)部又是一個存儲 陣列,分為8 192行和512列,行地址線和列地址線進(jìn)行復(fù) 用,行地址線為A0~A12,列地址線為A0~A8。由于特殊的 存儲結(jié)構(gòu),SDRAM操作指令比較多,SDRAM的操作是通 過RAS, CAS及WE給出的總線命令來控制的[6]。
SDRAM在上電后須對其進(jìn)行初始化操作配置SDRAM 的工作模式,之后SDRAM進(jìn)入正常工作狀態(tài),等待控制 器對其進(jìn)行讀、寫和刷新等操作。SDRAM行列地址采用復(fù) 用方式,在每次讀寫操作時,行列地址要鎖存,由ACTIVE 命令激活要讀寫的BANK,并鎖存行地址,然后在讀寫指 令有效時鎖存列地址。為了保證信息完整,必須按要求定期 發(fā)出刷新命令,保證在規(guī)定的時間內(nèi)對每一個單元都進(jìn)行刷 新。刷新命令一次只對一行進(jìn)行充電,需要每隔7.812 5 us (64 ms/8 192)執(zhí)行一次刷新命令。
3.4 1553B總線通信的實現(xiàn)
1553B總線協(xié)議的處理與邏輯控制功能框圖如圖2所示, 主要包括命令字、狀態(tài)字以及方式命令譯碼,進(jìn)行RT地址比 較,子地址比較,進(jìn)行命令字、狀態(tài)字和方式命令譯碼,進(jìn) 行錯誤檢測及發(fā)送中斷信號等,并要為其余模塊發(fā)送相應(yīng)控 制量,實現(xiàn)對總線接口的控制,包括命令字/狀態(tài)字譯碼及數(shù) 據(jù)控制,存儲管理單元控制,檢錯控制,命令字發(fā)送及狀態(tài) 字設(shè)置,發(fā)送器控制與時鐘產(chǎn)生等幾部分。
命令字/狀態(tài)字譯碼及命令字發(fā)送控制模塊是在BC 工作方式下發(fā)送命令字,且在BC/RT/MT三種工作模式下對 命令字或狀態(tài)字進(jìn)行譯碼,產(chǎn)生相應(yīng)的控制信號實現(xiàn)對其它 模塊的控制,如對數(shù)據(jù)控制部分,存儲管理控制部分,檢錯 控制部分,狀態(tài)字設(shè)置部分,以及發(fā)送器控制部分等,這是 模塊的核心部分吐
存儲管理單元包括消息隊列數(shù)據(jù)結(jié)構(gòu)的設(shè)計、存儲 空間的規(guī)劃(包括總線控制器BC,多個遠(yuǎn)程終端RT,總線 監(jiān)視器MT)和讀寫控制邏輯(控制過程)設(shè)計三方面,對 SDRAM進(jìn)行存儲資源分配并對讀寫控制邏輯進(jìn)行處理,以 滿足各工作方式下多消息傳輸?shù)倪B續(xù)性要求叫
檢錯控制模塊用于檢測消息傳輸過程中發(fā)生的錯誤, 包括字計數(shù)檢測及RT響應(yīng)超時檢測,并根據(jù)其它模塊檢測 到的RT地址錯誤、奇偶校驗錯誤和位計數(shù)錯誤等產(chǎn)生中斷信 號。
狀態(tài)字設(shè)置模塊實現(xiàn)RT工作方式下返回狀態(tài)字的 設(shè)置,并對狀態(tài)字和當(dāng)前命令字和上一命令字進(jìn)行存儲,以 備方式命令的消息方式的實現(xiàn)。
發(fā)送器控制模塊針對不同的工作方式選擇需要發(fā)送 的信息。
時鐘產(chǎn)生對外部輸入時鐘進(jìn)行處理產(chǎn)生不同頻率的 時鐘,實質(zhì)上是一個計數(shù)器,對外部輸入時鐘進(jìn)行分頻處理。
1553B總線協(xié)議的處理與邏輯控制要完成BC、多個RT 與MT各自功能的實現(xiàn),并要對BC、RT和MT進(jìn)行協(xié)調(diào)處 理與綜合管理,執(zhí)行控制流圖見圖3。
4 結(jié) 語
基于 PXI 技術(shù)的 1553B 總線通訊模塊的成功開發(fā),掌握了 PXI 總線通訊的核心技術(shù)與實現(xiàn)方法,解決了 PXI 總線接口設(shè)計、SDRAM 存儲器的控制和 1553B 總線通信協(xié)議實現(xiàn)等關(guān)鍵技術(shù),為航空領(lǐng)域測控系統(tǒng)開發(fā)和搭建 PXI 測控平臺提供了技術(shù)借鑒,在簡化產(chǎn)品設(shè)計的同時節(jié)約了成本。
20211223_61c4589abcc99__基于PXI技術(shù)的1553B總線通訊模塊的設(shè)計