色综合小说,久久精品中文字幕免费,男人插曲女人身体视频,综合天堂av久久久久久久,亚洲 欧美 自拍 动漫 免费

技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > PCI總線目標(biāo)控制器的設(shè)計

PCI總線目標(biāo)控制器的設(shè)計

時間:2008-10-30 11:13:00來源:ronggang

導(dǎo)語:?在PCI2.2總線規(guī)范的基礎(chǔ)上,給出了一種PCI總線目標(biāo)控制器的設(shè)計方案。重點從控制邏輯和數(shù)據(jù)通路的建立上闡述了目標(biāo)控制器的設(shè)計

摘 要:本文在PCI2.2總線規(guī)范的基礎(chǔ)上,給出了一種PCI總線目標(biāo)控制器的設(shè)計方案。重點從控制邏輯和數(shù)據(jù)通路的建立上闡述了目標(biāo)控制器的設(shè)計:用狀態(tài)機實現(xiàn)總線訪問操作的復(fù)雜時序,通過FIFO型目標(biāo)接口和寄存器型目標(biāo)接口的建立實現(xiàn)了數(shù)據(jù)通路。目前本設(shè)計已應(yīng)用到光電器件CMOS圖象傳感器的數(shù)據(jù)傳輸并通過了FPGA原型驗證。

關(guān)鍵詞:PCI;目標(biāo)控制器;狀態(tài)機

Abstract: This paper developed a PCI target controller based on the PCI2.2 bus specification, which focused on controlling logic and data path: the realization of the complication of the access sequence to the bus interface controller is expressed by state machine, the data path is set up through the FIFO target interface and register target interface. The design has been used in the data transmission of CMOS image sensor and has passed the FPGA prototype verification correctly.

Keywords: PCI; target controller; state machine

0 引言

PCI(Peripheral Component Interconnect)總線是微型計算機中處理器/存儲器與外圍控制部件、擴展卡之間的互聯(lián)接口。PCI總線規(guī)范是互聯(lián)機構(gòu)的協(xié)議,以及電氣和機械配置的規(guī)范,是當(dāng)今高性能微型計算機事實上的總線標(biāo)準(zhǔn)。[1]

PCI總線控制器為PCI總線和用戶設(shè)備提供操作接口,協(xié)調(diào)PCI總線信號和用戶設(shè)備接口信號,使用戶設(shè)備能夠按照PCI總線的規(guī)范進行數(shù)據(jù)的傳輸。本文設(shè)計了一個適用于CMOS圖象處理的PCI目標(biāo)控制器,具有較強的通用性。

1 控制器的頂層設(shè)計

PCI總線目標(biāo)設(shè)備在總線傳輸中處于被動地位,它不會申請對總線的使用權(quán)。當(dāng)PCI總線上的某一主設(shè)備發(fā)起對本地資源的訪問時,整個控制邏輯的建立和數(shù)據(jù)傳輸?shù)倪^程都是通過目標(biāo)控制器實現(xiàn)的。

目標(biāo)控制器頂層結(jié)構(gòu)

圖1 目標(biāo)控制器頂層結(jié)構(gòu)

PCI系統(tǒng)中,目標(biāo)設(shè)備在地址周期內(nèi)響應(yīng)總線主設(shè)備的傳輸要求,并配合主設(shè)備完成整個數(shù)據(jù)傳輸。圖1為目標(biāo)控制器的詳細(xì)結(jié)構(gòu)圖。

本設(shè)計將目標(biāo)控制器按照功能分為幾個功能模塊實現(xiàn),即命令解碼器、狀態(tài)機、FIFO類型目標(biāo)接口和寄存器型目標(biāo)接口。命令解碼模塊和狀態(tài)機構(gòu)成目標(biāo)控制器的控制部分,PCI主設(shè)備發(fā)起某類型的操作,目標(biāo)控制器在地址周期內(nèi)解析相應(yīng)的地址和命令信息。在解析地址確定為本次操作的目標(biāo)設(shè)備后,目標(biāo)控制器會啟動目標(biāo)設(shè)備狀態(tài)機根據(jù)當(dāng)前解碼的信息進行一系列的控制操作。FIFO類型通道用于大批量的數(shù)據(jù)傳輸,可將本地存儲器塊掛接在該類型的數(shù)據(jù)通道上;寄存器類型接口用于數(shù)據(jù)量小的數(shù)據(jù)傳輸,該接口的后面可以掛接配置寄存器和一些本地功能設(shè)備的控制/狀態(tài)寄存器塊。這樣,PCI總線上的主設(shè)備既可以訪問到本地的存儲器設(shè)備也可以訪問本地的寄存器。下面從目標(biāo)控制器的數(shù)據(jù)路徑和控制路徑分別進行論述。

2 控制模塊實現(xiàn)

目標(biāo)控制器的控制由兩部分完成,命令解碼器和目標(biāo)狀態(tài)機。命令解碼器解碼來自PCI總線上的地址命令信息作為目標(biāo)狀態(tài)機的輸入,狀態(tài)機鑒于此輸入執(zhí)行相應(yīng)的操作。

(1)命令解碼器:PCI總線主設(shè)備在地址周期內(nèi)通過命令數(shù)據(jù)線(C/BE#)設(shè)置不同的編碼可以發(fā)起以下的操作,I/O讀寫、存儲器讀寫、配置讀寫、存儲器行讀/多行讀和存儲器寫及使無效。

(2)目標(biāo)狀態(tài)機[3]:對于PCI總線上傳來的信號,狀態(tài)機根據(jù)命令解碼器的解碼信息來控制總線控制器進行相應(yīng)的操作。如果地址信息不正確或者本地的設(shè)備正忙于存取數(shù)據(jù),狀態(tài)機會向PCI總線上發(fā)起本次操作的主設(shè)備回應(yīng)目標(biāo)丟棄或目標(biāo)重試。目標(biāo)狀態(tài)機的具體設(shè)計,如圖2所示。

目標(biāo)設(shè)備接口狀態(tài)機

圖2 目標(biāo)設(shè)備接口狀態(tài)機

狀態(tài)機共分為10個狀態(tài),下面對每個狀態(tài)的意義及狀態(tài)跳轉(zhuǎn)條件的詳細(xì)說明:

目標(biāo)空閑(idle):當(dāng)PCI總線有新的命令但控制器正忙于未完成的數(shù)據(jù)傳輸或寄存器配置時,狀態(tài)機跳轉(zhuǎn)到check_abort;控制器空閑但寄存器內(nèi)有記錄的未完成的讀操作,狀態(tài)機跳轉(zhuǎn)到check_addr;PCI總線上有數(shù)據(jù)傳輸要求而又未出現(xiàn)上面的兩種情況,狀態(tài)機跳轉(zhuǎn)至cmd_start。

啟動命令解碼(cmd_start):滿足放棄條件如奇偶校驗錯誤、強制放棄等條件時,狀態(tài)機跳轉(zhuǎn)至start_abort;不滿足放棄條件,若目標(biāo)設(shè)備沒有突發(fā)傳輸能力,狀態(tài)機跳轉(zhuǎn)至start_single,若目標(biāo)設(shè)備有突發(fā)傳輸能力且主設(shè)備發(fā)起的是寫命令,狀態(tài)機跳轉(zhuǎn)至start_multiple,如果目標(biāo)設(shè)備有突發(fā)傳輸能力且主設(shè)備發(fā)起的是延遲讀命令,狀態(tài)機跳至start_retry;上述情況均未發(fā)生,狀態(tài)機跳轉(zhuǎn)至start_wait_rd1。

檢查地址匹配(check_addr):滿足放棄條件如奇偶校驗錯誤、強制放棄等條件時,狀態(tài)機跳轉(zhuǎn)至start_abort;如果地址與之前的請求地址一致,對目標(biāo)設(shè)備進行延遲讀,狀態(tài)機跳轉(zhuǎn)至start_multiple;如果地址不一致狀態(tài)機跳轉(zhuǎn)至start_retry。

放棄條件檢測(check_abort):滿足放棄條件如奇偶校驗錯誤、強制放棄等條件時,狀態(tài)機跳轉(zhuǎn)至start_abort;不滿足條件,狀態(tài)機轉(zhuǎn)至start_retry。

讀等待狀態(tài)1(start_wait_rd1):如果FIFO中有了待傳輸?shù)臄?shù)據(jù),狀態(tài)機跳轉(zhuǎn)至start_wait_rd2;否則一直等待在狀態(tài)start_wait_rd1。

讀等待狀態(tài)2(start_wait_rd2):FIFO中已經(jīng)有了所要讀取的數(shù)據(jù),狀態(tài)機跳轉(zhuǎn)至start_multiple。

目標(biāo)設(shè)備放棄(start_abort):一直維持該狀態(tài)直到主設(shè)備聲明傳輸結(jié)束,狀態(tài)機轉(zhuǎn)至idle。

單數(shù)據(jù)傳輸(start_single):如果主設(shè)備聲明最后一個數(shù)據(jù)傳輸,狀態(tài)機跳轉(zhuǎn)至idle;如果主設(shè)備繼續(xù)對該目標(biāo)設(shè)備進行讀寫操作,狀態(tài)機跳轉(zhuǎn)至start_retry。

數(shù)據(jù)突發(fā)傳輸(start_multiple):如果剩下最后一個字節(jié)傳輸,狀態(tài)機跳轉(zhuǎn)到idle;如果地址信息無效或地址越界,狀態(tài)機跳轉(zhuǎn)到start_retry;如果接收FIFO幾乎滿了而PCI主設(shè)備繼續(xù)往其中寫入數(shù)據(jù),狀態(tài)機跳轉(zhuǎn)到start_retry;其它情況狀態(tài)機保持start_multiple狀態(tài)不變。

重試(start_retry):一直維持該狀態(tài)直到主設(shè)備聲明傳輸結(jié)束,狀態(tài)機轉(zhuǎn)至idle。

3 數(shù)據(jù)通路實現(xiàn)

目標(biāo)控制器的數(shù)據(jù)通路具體可通過兩種類型的目標(biāo)接口實現(xiàn):寄存器型目標(biāo)接口和FIFO型目標(biāo)接口。

3.1 寄存器型目標(biāo)接口

每個PCI功能擁有64個配置雙字的單元[1](前16個雙字的格式和用法由PCI規(guī)范預(yù)定),保留用于實現(xiàn)配置寄存器。本地可以有一些功能設(shè)備,這些設(shè)備都有相應(yīng)的控制/狀態(tài)寄存器,PCI總線上的主設(shè)備要對這些控制寄存器進行編程,進而控制相應(yīng)的功能設(shè)備完成特定功能。兩類寄存器可以歸為一個數(shù)據(jù)通道實現(xiàn),寄存器型目標(biāo)接口就為本地的功能設(shè)備提供了這樣一種接口,使得PCI總線上的主設(shè)備可以通過它來訪問功能設(shè)備的寄存器。由于PCI總線主設(shè)備的訪問目標(biāo)是一些寄存器,所以該接口無需支持突發(fā)傳輸,主設(shè)備每一次訪問最多只涉及到32位的數(shù)據(jù)傳輸。

3.2 FIFO型目標(biāo)接口

FIFO型的目標(biāo)通道主要用于大量的數(shù)據(jù)傳輸,可以將本地的存儲器掛接在該接口上,這樣PCI總線主設(shè)備可以通過FIFO型目標(biāo)通道訪問到本地的存儲器,針對PCI主設(shè)備對本地存儲器的讀和寫操作,設(shè)置了兩個異步FIFO,讀FIFO和寫FIFO。其結(jié)構(gòu)如圖3

命令解碼器和目標(biāo)狀態(tài)機組成了該接口的控制單元。FIFO型目標(biāo)接口由地址解碼器、讀寫控制單元和讀/寫異步FIFO四部分組成,在控制部件的協(xié)調(diào)控制下,共同完成PCI總線上的其它主設(shè)備對本地存儲器的數(shù)據(jù)存儲或讀取。

讀寫控制單元:主要用于目標(biāo)延遲讀的控制,存儲并比照前后數(shù)據(jù)傳輸請求的地址和命令信息,聲明本次傳輸請求是否為有效的延遲讀請求。   讀/寫FIFO:異步FIFO,用于緩存PCI主設(shè)備到本地存儲器的讀寫數(shù)據(jù)。

地址解碼器:解碼PCI總線上的地址信息,識別對FIFO型目標(biāo)接口的訪問。對于地址解碼器的實現(xiàn),在最初PCI系統(tǒng)分配地址時,F(xiàn)IFO型的目標(biāo)接口被分配到某一段地址區(qū)內(nèi),通過地址翻譯將其映射到本地的系統(tǒng)中[4]。

FIFO型目標(biāo)接口邏輯結(jié)構(gòu)

圖3 FIFO型目標(biāo)接口邏輯結(jié)構(gòu)

對PCI主設(shè)備發(fā)起的寫操作,數(shù)據(jù)會先以PCI時鐘寫入接口內(nèi)的寫FIFO,同時PCI控制器會通知本地存儲器控制器有數(shù)據(jù)寫入。本地存儲器控制器待FIFO中達到一定數(shù)據(jù)量時以自己的時鐘讀取FIFO中的數(shù)據(jù)存入本地存儲器,如果FIFO讀空,存儲器會暫停等待直到FIFO中有新的數(shù)據(jù)寫入,才進行讀取。

對PCI主設(shè)備發(fā)起的讀本地存儲器的操作,為了提高讀數(shù)據(jù)的效率,設(shè)計中根據(jù)不同數(shù)據(jù)傳輸?shù)奶攸c,把讀操作劃分為兩個類型,即立即讀和延遲讀。

(1)立即讀:在PCI總線主設(shè)備發(fā)起讀操作后,一直占用PCI總線等待,PCI總線控制器向本地存儲器請求對應(yīng)的數(shù)據(jù),直到本地存儲器將數(shù)據(jù)寫入讀FIFO中,PCI控制器讀取FIFO中數(shù)據(jù)開始PCI總線上的數(shù)據(jù)傳輸。這種讀類型一般適用于進行數(shù)據(jù)量小的傳輸且本地存儲器可以在較短的時間內(nèi)將要求的數(shù)據(jù)送到PCI總線。

(2)延遲讀:PCI總線主設(shè)備的讀請求到達PCI目標(biāo)總線控制器時,控制器鎖存地址和命令信息,并回應(yīng)主設(shè)備讓它重試。同時PCI目標(biāo)總線控制器向本地存儲器請求數(shù)據(jù),本地存儲器將數(shù)據(jù)寫入總線控制器中的FIFO中。此時如果PCI總線上的主設(shè)備重試先前的數(shù)據(jù)傳輸請求,PCI目標(biāo)控制器就可以響應(yīng)請求將數(shù)據(jù)發(fā)送到PCI總線上。這個過程中,PCI總線主設(shè)備在收到重試回應(yīng)后就會釋放PCI總線,允許其它的主設(shè)備占用總線進行數(shù)據(jù)傳輸,這樣從而提高了總線的利用率。圖4給出了PCI主設(shè)備突發(fā)讀時采用延遲讀的仿真結(jié)果圖

突發(fā)讀時仿真波形

圖4 突發(fā)讀時仿真波形

4 結(jié)束語

本文基于PCI2.2總線規(guī)范完成了通用PCI目標(biāo)控制器的RTL級設(shè)計。經(jīng)驗證設(shè)計完全實現(xiàn)了目標(biāo)控制器的功能,目前已通過了FPGA原型驗證并應(yīng)用到CMOS圖象傳感器的數(shù)據(jù)傳輸中。在后續(xù)的開發(fā)中,可以考慮在控制器內(nèi)部加入電源管理模塊,進一步降低PCI目標(biāo)控制器的功耗。

本文的創(chuàng)新點:該設(shè)計方案將目標(biāo)控制器整體分為控制邏輯和數(shù)據(jù)通道兩部分,并根據(jù)目標(biāo)設(shè)備的不同類型,在數(shù)據(jù)通道內(nèi)實現(xiàn)不同的目標(biāo)接口,并引入了立即讀和延遲讀機制實現(xiàn)數(shù)據(jù)傳輸,使整個設(shè)計取得了較高的效率。

參考文獻

[1] Tom Shanley, Don Anderson 著. 林輝等譯. PCI 系統(tǒng)結(jié)構(gòu). 電子工業(yè)出版社, 2000.

[2] 沈涵飛, 甘萌. PCI總線目標(biāo)控制器的設(shè)計與實現(xiàn)[J]. 計算機工程與設(shè)計. 2004, 25 (11):2101~2104

[3] 施少敏,馬彥恒. 基于接口芯片PCI9030的PCI總線接口卡的設(shè)計[J]. 微計算機信息. 2006,11-2: 295~297

[4] Tinoosh Mohsenin. Design and Evaluation of FPGA-Based Gigabit-Ethernet/PCI Netword Interface Card. Master Degree Dissertation of Rice University. 2004:71~74

[5] Janick Bergeron, Writing Testbenches-Functional Verification of HDL Models. Boston, Kluwer Academic Publisher, 2000.

標(biāo)簽:

點贊

分享到:

上一篇:數(shù)控技術(shù)崛起中的反遏制和技...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(m.y3602.cn)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號