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