當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于PCIE/104總線的高速數(shù)據(jù)接口設(shè)計

摘要:PC/104作為一種工業(yè)嵌入式的總線標(biāo)準(zhǔn),由于其小尺寸結(jié)構(gòu)、低功耗,以及軟件通用性而被廣泛用于航空航天、工業(yè)控制等領(lǐng)域。這里主要介紹了下一代總線技術(shù)PCIE總線在PC/104標(biāo)準(zhǔn)下的應(yīng)用。闡述了數(shù)據(jù)接口卡的系統(tǒng)組成和各單元的功能,以及驅(qū)動在linux操作系統(tǒng)下的實現(xiàn)原理。自行設(shè)計并實現(xiàn)了板卡原理圖和PCB,同時簡述了高速PCB仿真方面的知識,并針對PCIE差分線進(jìn)行了版級仿真。最后利用PLX公司提供的開發(fā)套件在Linux操作系統(tǒng)下完成了板卡驅(qū)動的開發(fā)和調(diào)試。
關(guān)鍵詞:PCIe總線;PC/104;嵌入式;PCB仿真

0 引言
    PCIE總線是由Intel公司提出用來取代現(xiàn)行PCI總線的下一代總線技術(shù),被公認(rèn)為未來總線的發(fā)展方向,目前已經(jīng)成功應(yīng)用在了商業(yè)機(jī)上。相對于目前流行的PCI總線,它具有如下特點(diǎn):
    采用了串行點(diǎn)對點(diǎn)模式,數(shù)據(jù)總線從并行走回向串行無疑是一個趨勢,如現(xiàn)在流行的SATA總線、PCIE總線和rapidIO總線都是串行總線?,F(xiàn)在串行總線在速度上的優(yōu)勢可以說是毋庸置疑的。PCIE總線在每個方向上都有X1,X2,X4,X8,X16或X32個信號對,用戶可根據(jù)不同的需求采用不同的配置。同時串行信號還具有管教更少,便于調(diào)試的優(yōu)點(diǎn)。
    PCIE采用了基于數(shù)據(jù)包的協(xié)議來編碼事物,而不是PCI體系結(jié)構(gòu)的總線周期。數(shù)據(jù)包被串行發(fā)送和接受,并被字節(jié)拆分來通過物理鏈路。鏈路上實現(xiàn)的通道越多,數(shù)據(jù)包發(fā)送的數(shù)據(jù)越快,鏈路的帶寬也越寬。同時PCIE還定義了各種類型的數(shù)據(jù)包,如存儲器讀/寫請求、I/O讀/寫請求、配置讀/寫請求、消息請求和完成數(shù)據(jù)包等。
    PC/104標(biāo)準(zhǔn)是一種嵌入式的總線標(biāo)準(zhǔn),具有功耗低,尺寸小,堆棧式結(jié)構(gòu)的特點(diǎn)。隨著目前各種應(yīng)用數(shù)據(jù)傳輸量的增大,現(xiàn)行的PCI總線在帶寬方面已經(jīng)略顯疲態(tài),而新近瑞士邏輯提出的PC/104 Express標(biāo)準(zhǔn),使得PCIE總線技術(shù)被成功地應(yīng)用在了PC/104標(biāo)準(zhǔn)的板卡上。本文采用了PLX公司的PEX8311橋接芯片,完成了PCIE到局部總線接口的轉(zhuǎn)換,應(yīng)用PLX公司提供的開發(fā)工具在Linux操作系統(tǒng)下實現(xiàn)了板卡的驅(qū)動應(yīng)用。在軟硬件兩方面進(jìn)行了設(shè)計,完成了PCIE/104板卡的功能,升級了系統(tǒng)的總線。

1 PCIE/104高速信號接口卡的系統(tǒng)
    PCIE/104高速信號接口卡的系統(tǒng)設(shè)計方案如圖1所示。


    外部傳感器采集到的數(shù)據(jù)通過LVDS,RS 422等電平方式,以固定的不同串口波特率傳到FPGA內(nèi)部集成的各自對應(yīng)的雙口RAM中。當(dāng)寫入了固定字節(jié)后,設(shè)定標(biāo)志位stage為1,同時發(fā)出中斷信號LINT#給PEX8311。PEX8311產(chǎn)生了assert_INT1信息,并通過PCIE接口發(fā)給上位機(jī)。上位機(jī)保存好現(xiàn)在的任務(wù)后,通過PCIE開始發(fā)出存儲器讀命令給PEX8311。PEX8311獲得命令后,向FPGA發(fā)出本地總線申請信號,F(xiàn)PGA作為本地端的控制器將本地總線控制權(quán)交給PEX8311。PEX8311開始讀數(shù)據(jù),首先要進(jìn)行的是讀取標(biāo)志位,在讀取了標(biāo)志位后,上位機(jī)就知道是哪幾路串口信號需要讀入。然后,把標(biāo)志位清掉,這樣相當(dāng)于清掉了中斷信號。接著,中斷服務(wù)程序在進(jìn)入到各個串口的RAM中,來讀取相應(yīng)的數(shù)據(jù)。在多路串口信號傳輸過來時,針對該系統(tǒng),采用的是優(yōu)先滿足高速串口的原則,也就是采用高速串口的標(biāo)志位作為中斷信號,每次產(chǎn)生中斷后查詢其他標(biāo)志位。數(shù)據(jù)到上位機(jī)后待處理。該系統(tǒng)目前實現(xiàn)的是兩路串口,而多路串口原理相同。[!--empirenews.page--]
1.1 硬件總體概述
    主要包括以下幾部分,PEX8311橋接芯片負(fù)責(zé)完成本地總線和PCIE總線的相互裝換;FPGA選用了spartan-3an 1400K。這里在內(nèi)部實現(xiàn)了3個模塊,首先完成雙口RAM模塊;其次完成了多路串口數(shù)據(jù)的接受與協(xié)調(diào)模塊;最后還要實現(xiàn)PEX8311芯片本地端控制器模塊。
1.1.1 PEX8311芯片介紹
    PEX8311是PLX Technology公司推出的一款專用于將DSP,F(xiàn)PGA等處理器總線接口升級為PCIE的橋接器件。利用PEX8311靈活的局部總線可以方便地連接多種存儲器、緩存器及。FPGA,DSP等邏輯芯片,使復(fù)雜的PCI-E接口設(shè)計簡單化。PEX8311兼容PCI Express 1.0標(biāo)準(zhǔn),其本地總線和寄存器與PCI9056兼容,能夠提供完整的本地總線到PCI-E的接口,包括地址轉(zhuǎn)換、包生成與解碼、信號中斷支持及并/串轉(zhuǎn)換等。
PEX8311的特點(diǎn)如下:
    (1)集成了單通道、全雙工2.5 Gb/s傳輸?shù)腜CI Express端口;
    (2)可配置局部總線寬度,支持8位、16位和32位的總線方式;
    (3)支持單路和多路總線操作模式;
    (4)高性能的DMA數(shù)據(jù)傳輸,支持?jǐn)?shù)據(jù)塊模式、集散模式、循環(huán)隊列管理模式和命令模式;
    (5)支持端點(diǎn)和根復(fù)合體模式;
    (6)芯片小型封裝,適合緊湊的電路板設(shè)計;
    (7)芯片低功耗設(shè)計;
    (8)3.3 V的I/O并兼容5 V系統(tǒng);
    (9)啟動配置的串行E2PROM支持(SPI和Microwire接口);
    (10)有8 KB的通配共享RAM。
    PEX8311的內(nèi)部結(jié)構(gòu)如圖2所示。

[!--empirenews.page--]
1.1.2 PCIE/104總線標(biāo)準(zhǔn)介紹
    PC/104是最早由瑞士邏輯提出的一種工業(yè)總線標(biāo)準(zhǔn),它由最早的PC/104總線發(fā)展到PC/104+總線,直到目前的PC/104 Express,分別對應(yīng)ISA總線、PCI總線和PCIE總線。由于它是一種堆棧型的嵌入式總線,所以將PCIE總線應(yīng)用在這個標(biāo)準(zhǔn)上與普通的PCIE金手指有一些不同。為了滿足PC/104的嵌入式堆棧結(jié)構(gòu),使其能夠?qū)崿F(xiàn)從板子上、下都可以連接,必須采用PCIE Switch芯片,這里使用的是PERICOM公司
制造的PI2PCIE2412款Switch芯片。電路原理圖如圖3所示。


    圖3中接受、發(fā)送和差分時鐘這3對差分信號線通過轉(zhuǎn)接芯片變成了6對差分信號線。由主機(jī)板卡發(fā)出選擇信號(cpu_dir),分別控制設(shè)備板卡是在主機(jī)板卡的上面還是下面。同時采用MAX6306芯片來鏈接PEX8311的復(fù)位端和PCIE接插件的復(fù)位端,同時實現(xiàn)了手動復(fù)位和LOCAL端的復(fù)位。
1.1.3 PEX8311的外圍電路配置與LOCAL端接口的控制
    PEX8311有幾個類別的模式選擇,分別是根聯(lián)合體模式(Rootcomplex)與終端模式(Endpoint),根據(jù)需要這里選擇了終端模式。此外PEX 8311還區(qū)分C模式,J模式,M模式。這三種模式解釋如下:C模式的地址線與數(shù)據(jù)線是分開的,J模式下地址線與數(shù)據(jù)線是復(fù)用的,而M模式是針對了Motor的本地端CPU設(shè)置的。三種模式通過模式選擇管腳選擇,這里選擇C模式作為工作模式。PEX8311有1.5 V,2.5 V,3.3 V三種電源供電以及一個模擬電源1.5VPLL。在配置寄存器方面,PEX8311有兩個配置寄存器,分別是采用Spi-Compatible接口的PCIE配置寄存器和采用了Micro-Wire-Compatibel接口的本地配置寄存器。采用了Spartan-3an 1400 k來提供控制接口與高速緩存,選擇這款FPGA主要因為它是有內(nèi)部FLASH,不用再加外部的E2PROM。
    由于PC/104是一種嵌入式的板卡,體積比較小,所以用這款FPGA是可以節(jié)省板上的空間。FPGA內(nèi)部程序的編寫是關(guān)鍵之一。這里采用Verilog,實現(xiàn)對PEX8311的控制,當(dāng)上位機(jī)響應(yīng)了中斷后,對PEX8311發(fā)出讀數(shù)信號。PEX8311通過LHOLD申請控制本地總線,待收到FPGA發(fā)出的LHOLDA響應(yīng)信號后獲得本地總線的控制權(quán),并立即啟動4 B突發(fā)模式。FPGA在收到有效的LW/R讀信號和ADS地址選通信號后,發(fā)出Ready本地準(zhǔn)備好應(yīng)答信號。PEX8311開始從雙口中讀取數(shù)據(jù),傳輸最后一個數(shù)據(jù)時,PEX8311發(fā)出BLAST信號,雙口RAM使得讀使能和輸出使能無效。
1.2 系統(tǒng)軟件部分的實現(xiàn)
    該系統(tǒng)的軟件部分是在Linux下實現(xiàn)的,在Linux中所有的設(shè)備都被看成文件來對待。在Linux內(nèi)核中,設(shè)備驅(qū)動作為文件系統(tǒng)的一個模塊存在。它向下負(fù)責(zé)與硬件系統(tǒng)的交互,向上通過一個通用的接口掛接到文件系統(tǒng)上面。從而和系統(tǒng)的內(nèi)核鏈接起來。設(shè)備驅(qū)動為應(yīng)用程序屏蔽了很多細(xì)節(jié)。使得應(yīng)用程序?qū)ν庠O(shè)的操作就和操作普通的文件是一個樣子的。利用PLX公司提供的開發(fā)工具,驅(qū)動的開發(fā)是比較方便的,本文系統(tǒng)中主要用到的是要編寫一個中斷服務(wù)程序:系統(tǒng)在收到中斷,保存現(xiàn)場。進(jìn)入中斷服務(wù)程序。首選讀取標(biāo)志位,再馬上清中斷,之后讀取響應(yīng)RAM中的數(shù)據(jù)。最后恢復(fù)現(xiàn)場,完成操作。

2 系統(tǒng)PCB設(shè)計和高速信號的完整性分析
    由于PCIE的傳輸速率較高,單向速率達(dá)到2.5 Gb/s。所以對板子的布線有嚴(yán)格的要求。疊層這里選用了8層PUCB板,有4個電源層,使得每個信號都能夠屏蔽在電源層與地層中間。從而減少了信號的電磁輻射。對于PCIE的差分線部分:微帶線要求差分線寬5 mil,間距小于12 mil,差分線間距離大于20 mil,同時與地層間距為3.5~5.5 mil。帶狀線要求線寬4 mil,間距小于11 mil,間距大于20 mil。且對于收發(fā)差分線,差分線長差距不能大于5 mil。這些都是為了能達(dá)到PCIE規(guī)范的要求,即單端阻抗55 Ω,差分阻抗100 Ω(偏差10%)而設(shè)置的。[!--empirenews.page--]
    經(jīng)過ploar軟件計算,將以上的數(shù)據(jù)輸入進(jìn)去,再加入PCB廠家提供的介電常數(shù)等參數(shù),最后得出的阻抗完全滿足設(shè)計需求。多層板的高速信號設(shè)計很有必要進(jìn)行信號完整性仿真,應(yīng)用廠家提供的IBIS模型,采用Hyperlynx對板子進(jìn)行了本地端和時鐘端的信號完整性仿真。并根據(jù)仿真對布線提供了約束條件。而針對PCIE的高速差分端總線,因為在高速信號仿真方面IBIS模型還不夠精確,所以,PLX公司對其兩對收發(fā)端口提供SPice模型,如圖4所示。


    將上訴模型導(dǎo)入HSpice中,同時引入PCIESwitch芯片給出的IBIS模型與板子上面的差分線trace的rglc模型。輸出端的仿真效果圖如下,可以看出差分信號的幅值是可以滿足PCIE規(guī)范的電氣要求的。


3 結(jié)語
    PC/104作為一種嵌入式總線標(biāo)準(zhǔn)已經(jīng)被很多控制系統(tǒng)所采用,而PCIE/104接口的提出將未來最為流行的串行差分總線結(jié)構(gòu),引入到了這種嵌入式總線標(biāo)準(zhǔn),從而為各種高速、高帶寬的嵌入式系統(tǒng)提供了選擇。目前該系統(tǒng)由于采用了PCIE總線,相比采用PLX9054實現(xiàn)的PCI接口具有明顯的優(yōu)勢。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉