基于PCIE/104總線(xiàn)的高速數據接口設計
摘要:PC/104作為一種工業(yè)嵌入式的總線(xiàn)標準,由于其小尺寸結構、低功耗,以及軟件通用性而被廣泛用于航空航天、工業(yè)控制等領(lǐng)域。這里主要介紹了下一代總線(xiàn)技術(shù)PCIE總線(xiàn)在PC/104標準下的應用。闡述了數據接口卡的系統組成和各單元的功能,以及驅動(dòng)在linux操作系統下的實(shí)現原理。自行設計并實(shí)現了板卡原理圖和PCB,同時(shí)簡(jiǎn)述了高速PCB仿真方面的知識,并針對PCIE差分線(xiàn)進(jìn)行了版級仿真。最后利用PLX公司提供的開(kāi)發(fā)套件在Linux操作系統下完成了板卡驅動(dòng)的開(kāi)發(fā)和調試。
關(guān)鍵詞:PCIe總線(xiàn);PC/104;嵌入式;PCB仿真
0 引言
PCIE總線(xiàn)是由Intel公司提出用來(lái)取代現行PCI總線(xiàn)的下一代總線(xiàn)技術(shù),被公認為未來(lái)總線(xiàn)的發(fā)展方向,目前已經(jīng)成功應用在了商業(yè)機上。相對于目前流行的PCI總線(xiàn),它具有如下特點(diǎn):
采用了串行點(diǎn)對點(diǎn)模式,數據總線(xiàn)從并行走回向串行無(wú)疑是一個(gè)趨勢,如現在流行的SATA總線(xiàn)、PCIE總線(xiàn)和rapidIO總線(xiàn)都是串行總線(xiàn)?,F在串行總線(xiàn)在速度上的優(yōu)勢可以說(shuō)是毋庸置疑的。PCIE總線(xiàn)在每個(gè)方向上都有X1,X2,X4,X8,X16或X32個(gè)信號對,用戶(hù)可根據不同的需求采用不同的配置。同時(shí)串行信號還具有管教更少,便于調試的優(yōu)點(diǎn)。
PCIE采用了基于數據包的協(xié)議來(lái)編碼事物,而不是PCI體系結構的總線(xiàn)周期。數據包被串行發(fā)送和接受,并被字節拆分來(lái)通過(guò)物理鏈路。鏈路上實(shí)現的通道越多,數據包發(fā)送的數據越快,鏈路的帶寬也越寬。同時(shí)PCIE還定義了各種類(lèi)型的數據包,如存儲器讀/寫(xiě)請求、I/O讀/寫(xiě)請求、配置讀/寫(xiě)請求、消息請求和完成數據包等。
PC/104標準是一種嵌入式的總線(xiàn)標準,具有功耗低,尺寸小,堆棧式結構的特點(diǎn)。隨著(zhù)目前各種應用數據傳輸量的增大,現行的PCI總線(xiàn)在帶寬方面已經(jīng)略顯疲態(tài),而新近瑞士邏輯提出的PC/104 Express標準,使得PCIE總線(xiàn)技術(shù)被成功地應用在了PC/104標準的板卡上。本文采用了PLX公司的PEX8311橋接芯片,完成了PCIE到局部總線(xiàn)接口的轉換,應用PLX公司提供的開(kāi)發(fā)工具在Linux操作系統下實(shí)現了板卡的驅動(dòng)應用。在軟硬件兩方面進(jìn)行了設計,完成了PCIE/104板卡的功能,升級了系統的總線(xiàn)。
1 PCIE/104高速信號接口卡的系統
PCIE/104高速信號接口卡的系統設計方案如圖1所示。
外部傳感器采集到的數據通過(guò)LVDS,RS 422等電平方式,以固定的不同串口波特率傳到FPGA內部集成的各自對應的雙口RAM中。當寫(xiě)入了固定字節后,設定標志位stage為1,同時(shí)發(fā)出中斷信號LINT#給PEX8311。PEX8311產(chǎn)生了assert_INT1信息,并通過(guò)PCIE接口發(fā)給上位機。上位機保存好現在的任務(wù)后,通過(guò)PCIE開(kāi)始發(fā)出存儲器讀命令給PEX8311。PEX8311獲得命令后,向FPGA發(fā)出本地總線(xiàn)申請信號,FPGA作為本地端的控制器將本地總線(xiàn)控制權交給PEX8311。PEX8311開(kāi)始讀數據,首先要進(jìn)行的是讀取標志位,在讀取了標志位后,上位機就知道是哪幾路串口信號需要讀入。然后,把標志位清掉,這樣相當于清掉了中斷信號。接著(zhù),中斷服務(wù)程序在進(jìn)入到各個(gè)串口的RAM中,來(lái)讀取相應的數據。在多路串口信號傳輸過(guò)來(lái)時(shí),針對該系統,采用的是優(yōu)先滿(mǎn)足高速串口的原則,也就是采用高速串口的標志位作為中斷信號,每次產(chǎn)生中斷后查詢(xún)其他標志位。數據到上位機后待處理。該系統目前實(shí)現的是兩路串口,而多路串口原理相同。
評論