楊鵬 杭棟棟
摘 要:在兼容維修早期生產的一款基于PC/104總線的近紅外光譜儀,在設計新的工控板時,增加了PCI Express總線轉PC/104總線的設計。重點介紹了架構設計、PEX8311橋接芯片的直從工作模式和FPGA的控制時序,當PEX8311本地時鐘頻率為16.5 MHz時,測試的實際傳輸速率達到6.5 MB/s,能夠滿足儀器的需求。
關鍵詞:PCI Express;PC/104;PEX8311;FPGA
中圖分類號:TN79+2 文獻標識碼:A DOI:10.15913/j.cnki.kjycx.2015.11.010
PC/104是尺寸縮小為96 mm×90 mm的ISA總線板卡,但是,PC/104與ISA的電氣和機械規范不同,前者為自堆棧總線,省掉了昂貴的底板,而采用針孔總線連接器,不僅提高了其可靠性,還減小了總線驅動電流,降低了功耗和電路的驅動要求。
雖然ISA總線在1999年后就逐步停產了,但是,PC/104總線以其優異的結構和穩定的電氣特性又使用了較長時間。早期生產的多種光譜儀器是基于PC/104接口設計的。隨著第三代工業總線PCI Express(又簡稱PCIE)的普及,原生態支持PC/104總線的工控機退出市場,已銷售的儀器在維修時出現了無零件替換的局面。為了實現新一代光譜儀工控板可兼容模塊的維修,添加基于PCIE的PC/104總線設計是一種有效的解決方法。
1 硬件設計
1.1 架構設計
實現PCIE與PC/104總線轉換的基本思路是先將PCIE總線轉換為局部總線,然后通過FPGA編程實現PC/104總線的工作。PCIE與PC/104轉換設計架構如圖1所示。
1.2 PEX8311的工作模式
PEX8311作為PCIE與本地總線的橋接芯片,數據傳輸有3種工作方式,即DMA、直主和直從。本地端接口方式有數據線與地址線獨立的C模式、數據線與地址線復用的J模式和專用的M模式。本地傳輸模式包括單周期模式、四周器模式和連續突發模式。
在設計過程中,考慮到頻繁讀寫單個字節、少改動原光譜儀上位機軟件和PC/104總線的工作方式等要求,選擇PEX8311芯片在直從、單周期C模式下工作。在這種模式下,PEX8311將PCIE接口的IO地址和Memory地址映射到本地總線上,而上位機作為傳輸過程中的主設備,會發起對PCIE接口IO地址或Memory地址的讀寫操作,并在局部總線上實施。使用WinDrive軟件生成PEX8311的驅動程序后,上位機程序只需簡單更改設備接口函數即可實現對原近紅外光譜儀數據采集卡的驅動。
圖1 PCIE與PC/104轉換設計架構圖
1.3 FPGA邏輯設計
FPGA作為本地端的邏輯控制器,負責協調好本地端和PEX8311之間的時序關系,配置 PEX8311的工作模式,并將PC/104接口的24位地址、16位數據以及若干中斷和控制信號映射到本地總線上。
PEX8311的控制信號主要包括握手信號LHOLD和LHOLDA,總線訪問周期的開始和當前地址有效信號ADS#,總線的讀寫狀態信號LW/R#,本地總線數據準備好信號Ready#,末尾數據信號BLAST#。PC104接口主要控制的信號包括存儲器讀信號MEMR#、存儲器寫信號MEMW#和存儲器16位片選信號MEMCS16#。直從單周期模式讀取時序仿真如圖2所示,其中,LCLK為本地時鐘。
圖2 直從單周期模式讀取時序圖
2 分析與測試
PCIE與PC/104總線轉換設計的數據傳輸速率是由圖1所
示串聯結構中最慢的部分決定的。PCIE×1在雙工時的理論傳輸速率可達500 MB/s,PEX8311的本地總線傳輸速率受最高可達66 MHz的本地時鐘頻率限制,兩者均遠大于PC/104總線的16 MB/s,因此,該設計最終的數據傳輸速率受限于PC/104總線。通過改變PEX8311本地總線的時鐘頻率,可以調節該設計的傳輸速率。
PLXMon是PLX公司提供的專用調試軟件,其中,Memory Access功能可以對指定起始地址系統內存批量填入指定數量的規律變化的數字,從而驗證讀寫映射地址空間是否正確;Performance Measure功能可用來測量PCIE總線的讀寫速度。當PEX8311本地時鐘頻率為16.5 MHz時,測量的實際讀取速率可以達到6.5 MB/s。轉換后的PC/104總線讀取速率測試如圖3所示。
圖3 轉換后的 PC/104總線讀取速率測試
3 結束語
使用基于PCIE的PC/104總線的轉換設計,成功地在最新的工控板上實現對原有PC/104數據采集卡的支持,為早期基于PC/104接口的近紅外光譜儀或其他設備提供模塊化的兼容維修方案,并延長了此類設備的使用壽命。該設計方案同樣適用于PCIE對其他總線的擴展,具有一定的應用市場。
參考文獻
[1]姚亮,王宏志.基于CPLD的PC/104總線接口實現[J].長春工業大學學報(自然科學版),2008,29(4):384-390.
[2]黃小紅,李峰,倪衛芳.PEX8311 數據傳輸研究[J].電子工程師,2007,33(10):64-65.
[3]陳志列,龐觀士,劉志永,等.基于FPGA的LPC-ISA總線橋接設計與實現[J].工業控制計算機,2011,24(5):3-5.
〔編輯:白潔〕