魏艷艷 蔡葉芳 牛少平 郝沖 航空工業西安航空計算技術研究所 集成電路與微系統設計航空科技重點實驗室
在航空飛機管理系統總線網絡中,有很多的成品用戶,它們使用的處理器主機接口都不盡相同,因此設計上會有支持各主機接口的不同邏輯版本,這樣開發成本高,設計驗證工作量大,管理維護不方便。為了解決該問題,本文以成熟邏輯為基礎,通過產品需求統型,擴展部分技術需求,結合項目實際,進行了高集成主機接口電路的設計。該設計為連入飛機管理系統總線網絡中的成品提供了一套統一、完整、高集成度的總線網絡接口解決方案。
主機接口是處理器和芯片之間數據交互、寄存器控制狀態信息傳遞的橋梁。主機接口主要實現處理器將發送數據、控制寄存器信息寫到芯片中,從芯片中讀取接收數據、相關寄存器狀態信息等功能。圖1 所示為主機接口電路設計圖,其內部包括主機接口復用模塊、PCI 總線接口模塊、16 位異步總線接口模塊、32 位異步總線接口模塊和后端邏輯模塊,外部與處理器、芯片連接。
圖1 主機接口電路設計圖
該模塊主要實現主機接口管腳復用的處理。硬件上有1 套主機接口管腳,設計上按照管腳的I/O 屬性相同或包含的原則進行復用,這樣可以減少芯片的對外引腳。
硬件一上電通過鎖存外部給的2 個離散量開關信號,從3 種主機接口中選擇出1 種,接著按照這種主機接口進行工作,其他2 種主機接口不工作,這樣功耗低。
該模塊內部集成MENTOR 公司的商用PCI32 核,兼容PCIv2.2 協議,其時鐘頻率為33MHz/66MHz,支持32 位地址數據線、32 位訪問方式、單數據段傳輸和突發傳輸兩種方式,支持PCI 標準配置空間,用戶可以根據需要配置。其結構框圖如圖2 所示。
圖2 PCI 接口模塊結構框圖
設計上支持PCI 從接口,使用目標通道T0、T1 和T2,對應BAR0、BAR1、BAR2 三個地址空間,其中T0 被配置為寄存器型的目標設備,T1和T2 被配置為FIFO 類型的目標設備。BAR0 空間保留,BAR1空間為16KB大小,BAR2空間為256KB大小,其基地址可配置。芯片的寄存器通過PCI 轉換接口(pcit_if)連接在T1上,數據緩沖連接在T2上。PCI 轉換接口用于PCI 接口與后端邏輯的時序轉換。
16 位異步總線接口可作為DSP6713、DSP6414、DSP2812 等處理器的外部存儲器接口,主要包括17 個地址線、16 個數據線、3 個片選線、1 個中斷線。
該接口支持32 位訪問方式(需要軟件將一次32 位主機訪問分為兩次16 位總線訪問),讀操作必須先讀低16 數據,后讀高16 位數據,寫操作必須先寫低16 位數據,后寫高16 位數據。
32 位異步總線接口可作為32 位異步總線處理器的外部存儲器接口,主要包括16 個地址線、32 個數據線、3 個片選線、1 個中斷線。該接口支持32 位訪問方式。
設計上16 位和32 位異步總線接口的地址空間相同,地址線寬度可根據實際使用的地址空間大小進行分配。文獻[2]是22位地址線,16 位數據線的異步總線接口設計。
該模塊主要完成對各主機接口與后端芯片連接的寄存器和數據緩沖存儲資源進行選擇及控制處理功能。
設計中寄存器包括整個系統芯片內部的控制狀態信息寄存器和系統要求實現的寄存器。數據緩沖用于存儲芯片收發消息的數據內容,數據線32 位,地址線16 位。
本文采用硬件描述語言Verilog HDL 實現RTL 設計,基于主機接口模型搭建虛擬仿真平臺,編寫測試用例和運行腳本,通過QuestaSim 軟件進行虛擬仿真驗證。使用Xilinx XC5VLX330T 進行FPGA 邏輯綜合,外接PCI 接口的MPC8245 處理器[3-4]或者具有異步總線接口的處理器,開發配套的驅動程序和測試軟件,模擬主機運行測試程序在FPGA 原型驗證平臺上進行FPGA 功能驗證。
本文針對航空飛機管理系統總線網絡多種處理器主機接口應用的需求,以ASIC 芯片設計技術為技術手段,集成了3 種主機接口,并進行了該電路的設計實現,虛擬仿真驗證和FPGA 原型驗證。結果表明,該設計的各項功能都正確,滿足系統設計要求。該電路具有集成度高、通用性好、低功耗、對外管腳數目少等多種優勢,并且具有高安全、高可靠的特性,已經在型號產品的廣泛應用中得到認可,具有重要的推廣意義。