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