www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]AMCCS5933 在PCI板卡設(shè)計(jì)中的應(yīng)用

PCI總線是計(jì)算機(jī)主機(jī)中最常見(jiàn)的總線。它是一種高性能的32/64位地址數(shù)據(jù)復(fù)用總線,支持猝發(fā)傳輸,傳輸峰值速率可達(dá)528MB/s,而且還支持自動(dòng)配置。由于PCI總線協(xié)議的復(fù)雜性,其接口電路實(shí)現(xiàn)起來(lái)并不容易。但采用通用PCI接口芯片卻能達(dá)到事半功倍的效果。PCI通用接口芯片對(duì)于PCI協(xié)議的良好支持及其提供給板卡設(shè)計(jì)者的良好接口都大大減小了PCI板卡設(shè)計(jì)者的工作量?,F(xiàn)有的PCI接口芯片主要有AMCC公司的 AMCCS59XX系列和PLXTECH公司的PLX系列。本文將對(duì)AMCC公司的AMCCS5933芯片的原理及其在PCI板卡設(shè)計(jì)中的應(yīng)用進(jìn)行介紹。

1 工作原理

  AMCCS5933的原理框圖如圖1所示。由圖1可知AMCCS5933起到的是一個(gè)橋路的作用,即它是PCI總線與本地總線之間的一個(gè)橋路。

AMCCS5933既可以作PCI從設(shè)備,又可以作PCI主控設(shè)備。PCI配置空間可以通過(guò)一EEPROM來(lái)配置。AMCCS5933為設(shè)計(jì)者提供了三種數(shù)據(jù)傳輸方式:PASS THRU方式、FIFO方式和MAILBOX方式。通過(guò)驅(qū)動(dòng)程序?qū)偩€控制寄存器設(shè)置來(lái)控制總線操作和數(shù)據(jù)的傳輸。總線控制寄存器有兩組:PCI總線控制寄存器和本地總線控制寄存器,分別用來(lái)控制PCI總線和本地總線的操作。

2 AMCCS5933 引腳

  AMCCS5933引腳圖如圖2所示。

3 AMCCS5933在PCI板卡設(shè)計(jì)中的應(yīng)用

3.1 配置空間

  每一個(gè)PCI設(shè)備都要有相應(yīng)的配置空間,AMCCS5933通過(guò)EEPROM來(lái)設(shè)置配置空間,AMCC公司提供一個(gè)NVBUILDER的軟件,可以通過(guò)AMCCS5933對(duì)EEPROM進(jìn)行讀寫(xiě)。EEPROM可以為串行,也可以為8位并行。設(shè)計(jì)者只需使用NVBUILD就可以完成PCI配置空間的設(shè)置。[!--empirenews.page--]

3.2 總線控制寄存器的訪問(wèn)

  PCI總線控制寄存器只有主機(jī)才能訪問(wèn),主機(jī)通過(guò)PCI總線進(jìn)行I/O讀寫(xiě)操作來(lái)訪問(wèn)這些寄存器。

本地總線控制寄存器只有本地邏輯才能訪問(wèn),與其有關(guān)的引腳有ADR[6..2]、BE[3..0]#、SELECT#、WR#、RD#和數(shù)據(jù)地址總線DQ[31..0]。

  讀時(shí)序如圖3所示,寫(xiě)時(shí)序?qū)D中RD#替換為WR#即可。

ADR[6..2]提供被訪問(wèn)寄存器的地址,BE[3..0]#制定訪問(wèn)是雙字中的哪些字節(jié),WR#為寫(xiě)使能,RD#為讀使能,SELECT#為操作使能,都為低電平有效。

3.3 MAILBOX方式的使用

  AMCCS5933內(nèi)部有8個(gè)MAILBOX:4個(gè)輸出MAILBOX,四個(gè)輸入MAILBOX。PCI方的輸入MAILBOX對(duì)應(yīng)于本地的輸出MAILBOX,輸出MAILBOX則對(duì)應(yīng)于輸入MAILBOX。

  MAILBOX主要用于主機(jī)方與本地邏輯之間的通信,例如傳輸一些自定義的控制字、狀態(tài)信息等。

  主機(jī)對(duì)MAILBOX的訪問(wèn)通過(guò)I/O讀寫(xiě)來(lái)完成,本地邏輯對(duì)MAILBOX的訪問(wèn)則通過(guò)訪問(wèn)本地控制寄存器的方式來(lái)完成。

MIALBOX的空滿狀態(tài)由控制寄存器MBEF(PCI)和AMBEF(本地)來(lái)表征。

3.4 FIFO方式下的數(shù)據(jù)傳輸

3.4.1基本數(shù)據(jù)傳輸

  AMCCS5933內(nèi)部有兩個(gè)單向FIFO:輸出FIFO和輸入FIFO,主機(jī)和本地邏輯可以以訪問(wèn)控制寄存器的方式來(lái)訪問(wèn)FIFO,也可以通過(guò)WRFIFO#、RDFIFO#、WFULL、RDEMPTY、BPCLK這幾個(gè)引腳來(lái)直接讀寫(xiě)FIFO。在設(shè)計(jì)當(dāng)中一般采用后一種方法。直接讀寫(xiě)FIFO有兩種工作方式:同步方式和異步方式。在同步方式下,WRFIFO#、RDFIFO#為FIFO讀寫(xiě)使能信號(hào),在BPCLK的上跳沿寫(xiě)入和讀出數(shù)據(jù),輸出引腳BPCLK輸出33MHz信號(hào)。在異步方式下,WRFIFO#、RDFIFO#為FIFO讀寫(xiě)信號(hào)。WRFULL為輸出FIFO滿信號(hào),RDEMPTY為輸入FIFO空信號(hào)。

3.4.2 DMA的實(shí)現(xiàn)

  在FIFO方式下可以實(shí)現(xiàn)DMA傳輸。

  DMA傳輸?shù)膶?shí)現(xiàn)步驟:

  (1)通過(guò)NVBUILD軟件設(shè)置DMA傳輸?shù)目刂品綖橹鳈C(jī)或本地邏輯,以下假設(shè)為主機(jī)控制。

  (2)設(shè)置有關(guān)的PCI總線控制寄存器。

     MWAR  DMA寫(xiě)地址寄存器   填入接收數(shù)據(jù)存放的起始地址

     MWTC  DMA寫(xiě)計(jì)數(shù)器       填入接收數(shù)據(jù)的字節(jié)數(shù)

     MRAR  DMA 讀地址寄存器  填入發(fā)送數(shù)據(jù)起始地址

     MRTC  DMA  讀計(jì)數(shù)器     填入發(fā)送數(shù)據(jù)的字節(jié)數(shù)

  (3) 啟動(dòng)DMA傳輸[!--empirenews.page--]

  通過(guò)設(shè)置MCSR寄存器啟動(dòng)DMA傳輸。

  由本地邏輯控制的DMA傳輸步驟,只需將控制方式改為本地邏輯控制,然后由本地邏輯來(lái)設(shè)置相應(yīng)的寄存器。

3.5 PASS THRU方式下的數(shù)據(jù)傳輸

  配置空間中的基址寄存器為PCI系統(tǒng)資源分配(內(nèi)存和I/O空間的分配)提供了一種機(jī)制,PCI設(shè)備在基址寄存器中填入所需資源的類(lèi)型和大小,基址寄存器的0位為1表示為內(nèi)存空間,為0則表示為I/O空間,1、2位則指定內(nèi)存或I/O空間是分配在1M地址以下,還是分配在任意地址空間,3位表示能否預(yù)取,4~31位表示所需分配的內(nèi)存或I/O空間的大小。PCI BIOS啟動(dòng)后讀取各個(gè)PCI設(shè)備配置空間中的基址寄存器,獲取每個(gè)PCI設(shè)備分配所需的資源類(lèi)型和大小等信息,并且為這些PCI設(shè)備分配好所設(shè)定的資源,然后再將分配的內(nèi)存空間或地址空間的基地址回寫(xiě)到PCI設(shè)備的各個(gè)基址寄存器中。

  配置空間中有6個(gè)基址寄存器,與PASS THRU方式有關(guān)的是基址寄存器1~4,基址寄存器0被指定為AMCCS5933分配I/O資源,基址寄存器6保留不用。

  PASS THRU 方式下的數(shù)據(jù)傳輸?shù)挠嘘P(guān)引腳:PTATN#、PTRDY#、PTNUM[1:0]、PTBE[3:0]#、BE[3..0]#、PTADR#、  PTWR、PTBURST#、DQ[31..0]

  PTNUM[1:0]表示由哪個(gè)基址寄存器所分配的內(nèi)存空間或I/O空間。

  PASS THRU方式下的數(shù)據(jù)傳輸主要由AMCCS5933芯片與本地邏輯電路通過(guò)上述引腳信號(hào)的交互、握手來(lái)完成,時(shí)序如圖4所示。

PASS THRU的握手時(shí)序可以通過(guò)可編程邏輯以同步狀態(tài)機(jī)的方式實(shí)現(xiàn),用ALTERA的AHDL硬件編程語(yǔ)言可以很容易地實(shí)現(xiàn)它。

3.6 中斷的設(shè)置與產(chǎn)生

  AMCCS5933有兩個(gè)中斷引腳:INTA#和IRQ#。INTA#為PCI總線信號(hào)用于產(chǎn)生系統(tǒng)PCI中斷,IRQ#是本地總線信號(hào)用于產(chǎn)生本地邏輯的中斷。  

  MAILBOX的空滿變化、DMA讀寫(xiě)傳送的完成都可以產(chǎn)生中斷,中斷的使用方法如下:

  A PCI設(shè)備中斷INTA#

  (1)在配置空間中斷引腳寄存器填入中斷引腳,單功能設(shè)備選INTA#。

  (2)從配置空間矢量寄存器中獲取中斷矢量。

  (3)在PCI總線控制寄存器中,設(shè)置產(chǎn)生的條件,如MAILBOX變滿產(chǎn)生中斷、DMA寫(xiě)完成產(chǎn)生中斷等。

  (4)在中斷處理程序中,讀取PCI總線控制寄存器INTCSR和MBEF當(dāng)前值,確定中斷源并做相應(yīng)中斷處理。

  (5)清中斷及退出中斷處理程序,清中斷通過(guò)往INTCSR相應(yīng)的中斷標(biāo)志位寫(xiě)“1”來(lái)完成。[!--empirenews.page--]

  B 本地設(shè)備中斷 IRQ#

  (1)在本地總線控制寄存器AINT中,設(shè)置產(chǎn)生的條件,如MAILBOX變滿產(chǎn)生中斷 、DMA寫(xiě)完成產(chǎn)生中斷等。

  (2)在本地中斷處理程序中,讀取本地總線控制寄存器AINT和AMBEF當(dāng)前值,確定中斷源并做相應(yīng)中斷處理。

  (3)清中斷并退出中斷處理程序,清中斷通過(guò)往AINT相應(yīng)的中斷標(biāo)志位寫(xiě)“1”來(lái)完成。

4 PCB 板繪制要點(diǎn)

  (1)推薦采用四層板。

  (2)電源引腳加0.1μF電容濾波。

  (3)AMCCS5933 PCI數(shù)據(jù)線與插口距離小于1.5英寸。

  (4)AMCCS5933 PCI時(shí)鐘線與插口距離等于(2.5+或-0.1)英寸,且只能在PCB的同一層。

  (5)AMCCS5933 其他PCI引腳與插口距離小于2英寸。

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

經(jīng)過(guò)幾十年發(fā)展,嵌入式技術(shù)已經(jīng)用在了我們生活中的方方面面,但是嵌入式始終都帶有小眾,專(zhuān)業(yè)性強(qiáng)的屬性,讓很多非嵌入式領(lǐng)域的同學(xué)望而卻步。近十幾年的發(fā)展,物聯(lián)網(wǎng)覆蓋了越來(lái)越多領(lǐng)域,包括了家居,商業(yè),工業(yè),農(nóng)業(yè)等領(lǐng)域,不僅吸引...

關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 技術(shù)

隨著IT技術(shù)飛速發(fā)展,互聯(lián)網(wǎng)已經(jīng)進(jìn)入了“物聯(lián)網(wǎng)”時(shí)代。物聯(lián)網(wǎng)中需要的大量設(shè)備不在依賴(lài)人與人之間的交互產(chǎn)生聯(lián)系,更多通過(guò)協(xié)議、通信、程序設(shè)計(jì)等方式連接到一處。即 “物聯(lián)網(wǎng)”的目的則是讓所有的物品都具有計(jì)算機(jī)的智能但并不以通...

關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 計(jì)算機(jī)

10月7日消息,三星電子于今日公布了其2022年第三季度(7-9 月)的初步財(cái)報(bào),由于全球經(jīng)濟(jì)放緩,沖擊消費(fèi)類(lèi)電子產(chǎn)品需求,導(dǎo)致存儲(chǔ)芯片訂單銳減,使得三星電子當(dāng)季利潤(rùn)同比大幅下滑近32%,為近3年來(lái)首次出現(xiàn)下滑,凸顯市場(chǎng)...

關(guān)鍵字: 三星電子 儲(chǔ)存芯片 芯片

近日,在加利福尼亞州圣何塞舉行的三星代工論壇上,三星電子公布了其芯片制造業(yè)務(wù)的未來(lái)技術(shù)路線圖,宣布在2025年開(kāi)始大規(guī)模量產(chǎn)2nm工藝,更先進(jìn)的1.4nm工藝則預(yù)計(jì)會(huì)在2027年投產(chǎn),主要面向高性能計(jì)算和人工智能等應(yīng)用。

關(guān)鍵字: 三星 臺(tái)積電 芯片 1.4nm

在三星 Tech Day 2022 活動(dòng)上,三星電子總裁兼內(nèi)存業(yè)務(wù)負(fù)責(zé)人 Jung-bae Lee 表示,三星 40 多年來(lái)共生產(chǎn)了 1 萬(wàn)億 GB 內(nèi)存,僅在過(guò)去三年中就產(chǎn)生了大約一半。

關(guān)鍵字: 三星 內(nèi)存 儲(chǔ)存芯片

據(jù)彭博社、華爾街日?qǐng)?bào)等外媒報(bào)導(dǎo),韓國(guó)科技巨頭三星電子半導(dǎo)體部門(mén)負(fù)責(zé)人慶桂顯(Kyung Kye-hyun)在新聞發(fā)布會(huì)上表示,今年下半年半導(dǎo)體市場(chǎng)不佳,截至目前為止,尚未看到明年市場(chǎng)可能明顯復(fù)蘇的跡象。

關(guān)鍵字: 芯片 半導(dǎo)體 三星

推薦一款Win下超級(jí)簡(jiǎn)單的網(wǎng)絡(luò)嗅探工具M(jìn)iniSniffer,幫我解決了一個(gè)bug,切記最好使用管理員權(quán)限打開(kāi)。MiniSniffer軟件小巧只有48.5K,綠色的且是單文件,支持Win2000后的所有系統(tǒng);功能強(qiáng)大,支...

關(guān)鍵字: MiniSniffer 網(wǎng)絡(luò)協(xié)議 網(wǎng)絡(luò)監(jiān)聽(tīng)工具

在我仔細(xì)研究Linux內(nèi)核中的ftrace之后,發(fā)現(xiàn)ftrace中的各個(gè)tracers的作用一直被人們嚴(yán)重低估了, 比如我們會(huì)花了大量的時(shí)間去理解Linux內(nèi)核中的一塊代碼,然后猜測(cè)可能的執(zhí)行流, 但是ftrace會(huì)首先...

關(guān)鍵字: Linux內(nèi)核 ftrace tracers

在進(jìn)行socket通信開(kāi)發(fā)時(shí),一般會(huì)用到TCP或UDP這兩種傳輸層協(xié)議,UDP(User Datagram Protocol)是一種面向無(wú)連接的協(xié)議,在數(shù)據(jù)發(fā)送前,不需要提前建立連接,它可以更高效地傳輸數(shù)據(jù),但可靠性無(wú)法...

關(guān)鍵字: socket TCP UDP

SQLite是一個(gè)跨平臺(tái)的輕量級(jí)數(shù)據(jù)庫(kù),支持C/C++開(kāi)發(fā),可用于嵌入式中,關(guān)于C/C++使用SQLite的簡(jiǎn)單實(shí)例,可參考這篇:“玩轉(zhuǎn)SQLite6:使用C語(yǔ)言來(lái)讀寫(xiě)數(shù)據(jù)庫(kù)”,本篇來(lái)繼續(xù)介紹SQLite的基礎(chǔ)運(yùn)算符與表...

關(guān)鍵字: SQLite C語(yǔ)言 數(shù)據(jù)庫(kù)

嵌入式軟件

15715 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉