熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > PCI總線目標控制器的設計

PCI總線目標控制器的設計

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

導語:?在PCI2.2總線規范的基礎上,給出了一種PCI總線目標控制器的設計方案。重點從控制邏輯和數據通路的建立上闡述了目標控制器的設計

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

關鍵詞:PCI;目標控制器;狀態機

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)總線是微型計算機中處理器/存儲器與外圍控制部件、擴展卡之間的互聯接口。PCI總線規范是互聯機構的協議,以及電氣和機械配置的規范,是當今高性能微型計算機事實上的總線標準。[1]

PCI總線控制器為PCI總線和用戶設備提供操作接口,協調PCI總線信號和用戶設備接口信號,使用戶設備能夠按照PCI總線的規范進行數據的傳輸。本文設計了一個適用于CMOS圖象處理的PCI目標控制器,具有較強的通用性。

1 控制器的頂層設計

PCI總線目標設備在總線傳輸中處于被動地位,它不會申請對總線的使用權。當PCI總線上的某一主設備發起對本地資源的訪問時,整個控制邏輯的建立和數據傳輸的過程都是通過目標控制器實現的。

目標控制器頂層結構

圖1 目標控制器頂層結構

PCI系統中,目標設備在地址周期內響應總線主設備的傳輸要求,并配合主設備完成整個數據傳輸。圖1為目標控制器的詳細結構圖。

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

2 控制模塊實現

目標控制器的控制由兩部分完成,命令解碼器和目標狀態機。命令解碼器解碼來自PCI總線上的地址命令信息作為目標狀態機的輸入,狀態機鑒于此輸入執行相應的操作。

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

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

目標設備接口狀態機

圖2 目標設備接口狀態機

狀態機共分為10個狀態,下面對每個狀態的意義及狀態跳轉條件的詳細說明:

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

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

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

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

讀等待狀態1(start_wait_rd1):如果FIFO中有了待傳輸的數據,狀態機跳轉至start_wait_rd2;否則一直等待在狀態start_wait_rd1。

讀等待狀態2(start_wait_rd2):FIFO中已經有了所要讀取的數據,狀態機跳轉至start_multiple。

目標設備放棄(start_abort):一直維持該狀態直到主設備聲明傳輸結束,狀態機轉至idle。

單數據傳輸(start_single):如果主設備聲明最后一個數據傳輸,狀態機跳轉至idle;如果主設備繼續對該目標設備進行讀寫操作,狀態機跳轉至start_retry。

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

重試(start_retry):一直維持該狀態直到主設備聲明傳輸結束,狀態機轉至idle。

3 數據通路實現

目標控制器的數據通路具體可通過兩種類型的目標接口實現:寄存器型目標接口和FIFO型目標接口。

3.1 寄存器型目標接口

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

3.2 FIFO型目標接口

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

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

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

地址解碼器:解碼PCI總線上的地址信息,識別對FIFO型目標接口的訪問。對于地址解碼器的實現,在最初PCI系統分配地址時,FIFO型的目標接口被分配到某一段地址區內,通過地址翻譯將其映射到本地的系統中[4]。

FIFO型目標接口邏輯結構

圖3 FIFO型目標接口邏輯結構

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

對PCI主設備發起的讀本地存儲器的操作,為了提高讀數據的效率,設計中根據不同數據傳輸的特點,把讀操作劃分為兩個類型,即立即讀和延遲讀。

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

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

突發讀時仿真波形

圖4 突發讀時仿真波形

4 結束語

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

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

參考文獻

[1] Tom Shanley, Don Anderson 著. 林輝等譯. PCI 系統結構. 電子工業出版社, 2000.

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

[3] 施少敏,馬彥恒. 基于接口芯片PCI9030的PCI總線接口卡的設計[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.

標簽:

點贊

分享到:

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

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

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

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

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

主站蜘蛛池模板: 霍山县| 芒康县| 商城县| 文山县| 石嘴山市| 黔东| 博客| 长沙市| 柳州市| 杭锦旗| 齐河县| 乌拉特中旗| 黄平县| 连山| 涞水县| 安吉县| 缙云县| 罗田县| 武冈市| 海安县| 长岭县| 南召县| 肇州县| 孟州市| 兴隆县| 班戈县| 白山市| 稻城县| 分宜县| 龙州县| 喀喇| 齐齐哈尔市| 铁力市| 罗源县| 郁南县| 建始县| 定远县| 锡林郭勒盟| 沭阳县| 应用必备| 花莲县|