基于CPCI接口的SpaceWire總線通訊模塊設計

PCI9056的引腳BD_SEL#是CPCI接口中最小的插針之一,BD_SEL#連接LTC1643L的使能引腳,低電平時有效開啟LTC1643L工作并同時給板卡供電。R10是一個0.018歐姆,0.5W,精度為1%的精密電阻,用于過流保護的電壓檢測電阻。當板卡發生故障導致電流超過額定值之后,R10兩端的壓差將增大,SENSE引腳將此過流信息反饋至LTC1643L電源管理器,同時切斷電源供應,起到電源過流保護的功能。
本文引用地址:http://www.104case.com/article/247468.htm4 PCI橋接電路分析
在SpaceWire總線節點終端系統與航電計算機系統之間實現PCI通訊大致有兩個方式,其一就是采用可編程器件作為一個獨立的模塊實現PCI協議,另一種方式就是采用專用PCI協議芯片。本系統的設計出于性能穩定性和結構簡易性方面的考慮,選擇用PLX公司生產的PCI9056集成芯片,該芯片可以設置成多種傳輸模式,完成SpaceWire總線節點與航電設備之間的通信橋接功能。
在PCI9056與本地FPGA之間的通信分為直接主模式(Direct Master Mode)、直接從模式(Direct Slave Mode)和DMA模式。由于PCI通信要求達到SpaceWire總線網絡的2Mbit/s至400Mbit/s通訊速率(本板卡實現了200Mbit/s),這里采用的芯片時鐘頻率為66MHz,傳輸模式為直接從模式,工作時序如圖3所示,PCI9056為主芯片,FPGA為從芯片。
為了與PCI9056進行高效的數據通信,FPGA內部劃出了一部分內存以配置成雙口RAM的形式完成PCI9056對SpaceWire數據的收發以及相應控制寄存器的控制傳輸。
5 Windriver軟件的驅動生產
通過PLXMON軟件對PCI9056的配置芯片進行配置后,可以利用Windows操作系統中WinDriver自動生成PCI驅動程序,步驟如下:首先啟動WinDriver Wizard,從開始菜單,選擇“程序 | WinDriver | Driver Wizard”;然后在Driver Wizard 菜單, 單擊“File New Project”菜單來新建一個工程,從即插即用列表中選擇顯示卡,通過生產商的名字來選定。單擊“Memory”標簽。該顯示卡的三個內存范圍顯示出來。內存范圍中的BAR2映射的是FPGA內的RAM緩存塊和專用寄存器,根據FPGA內核對這些緩存塊和寄存器的可讀寫定義,可以在BAR2映射的區域里進行讀寫,若寫進去的數值跟讀出來的數值一致,表面CPCI接口通信正常。最后一步為生成驅動代碼:單擊“Build | Generate code”菜單, Driver Wizard 將產生操作硬件資源的函數,可以在用戶模式下在應用程序中直接使用這些函數,這個向導還會產生一個樣本程序來使用這些函數操作硬件,上層界面的開發可以直接調用這些API函數。
6 總結
本文是珠海歐比特公司為面向我國航天應用研發的一款SpaceWire總線節點終端板卡的一個實際應用設計方案,并根據此方案完成了對每個功能模塊的結構和功能分析,歐比特公司此已經對方案設計申請了專利保護。此方案對今后SpaceWire總線在其它任務中的應用具有重要的借鑒意義。
dc相關文章:dc是什么
數字通信相關文章:數字通信原理
通信相關文章:通信原理
評論