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

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]引 言PCI(Peripheral Component Interconnect)總線(xiàn),即外圍部件互連總線(xiàn),是一種先進(jìn)的高性能32/64位地址數(shù)據(jù)復(fù)用局部總線(xiàn)。PCI總線(xiàn)與處理器和時(shí)鐘頻率無(wú)關(guān),可以提供高達(dá)132MB/s的數(shù)據(jù)傳送速率;它具有嚴(yán)格的規(guī)

引 言

PCI(Peripheral Component Interconnect)總線(xiàn),即外圍部件互連總線(xiàn),是一種先進(jìn)的高性能32/64位地址數(shù)據(jù)復(fù)用局部總線(xiàn)。PCI總線(xiàn)與處理器和時(shí)鐘頻率無(wú)關(guān),可以提供高達(dá)132MB/s的數(shù)據(jù)傳送速率;它具有嚴(yán)格的規(guī)范,只要符合PCI規(guī)范的擴(kuò)展卡插入任何PCI系統(tǒng)就能可靠地工作。但由于PCI總線(xiàn)協(xié)議的復(fù)雜性,其接口的實(shí)現(xiàn)比VESA、ISA和MCA等總線(xiàn)要困難得多。

目前,開(kāi)發(fā)PCI接口設(shè)備有兩種方法:一種方法是采用可編程邏輯芯片,它的最大好處是比較靈活,用戶(hù)可以根據(jù)自己的需要開(kāi)發(fā)出適合于特定功能的芯片,而不必實(shí)現(xiàn)PCI的全部功能。現(xiàn)在有許多生產(chǎn)可編程邏輯器件的廠(chǎng)商,如Xilinx的LogiCore和Altera的AMPP都提供經(jīng)過(guò)嚴(yán)格測(cè)試的PCI接口功能模塊,用戶(hù)只要進(jìn)行組合設(shè)計(jì)即可。另一種常用的方法是使用專(zhuān)用接口器件,通過(guò)專(zhuān)

用芯片可以實(shí)現(xiàn)完整的PCI主控模塊和目標(biāo)模塊的功能,將復(fù)雜的PCI總線(xiàn)接口轉(zhuǎn)換為相對(duì)簡(jiǎn)單的用戶(hù)接口,用戶(hù)只要設(shè)計(jì)轉(zhuǎn)換后的總線(xiàn)接口即可。

專(zhuān)用接口芯片具有較低的成本和通用性,能夠有效降低接口設(shè)計(jì)的難度,縮短開(kāi)發(fā)時(shí)間。現(xiàn)有的PCI接口芯片主要有AMCC公司的AMCCS59xx系列和PLX公司的PCI90xx系列。在PLX系列產(chǎn)品中,PCI9052是一款常用的PCI總線(xiàn)目標(biāo)接口芯片,該芯片最大的特色是帶有一個(gè)ISA接口,通過(guò)它可以實(shí)現(xiàn)ISA總線(xiàn)到PCI總線(xiàn)的無(wú)縫連接,這為目前仍存在的ISA插件移植到PCI提供了極大的方便。

利用PCI9052的ISA模式進(jìn)行PCI的開(kāi)發(fā)可以簡(jiǎn)化設(shè)備開(kāi)發(fā)過(guò)程,但難度還是較大。設(shè)計(jì)者不僅要理解掌握手冊(cè)中的要點(diǎn),還要學(xué)習(xí)硬件設(shè)計(jì)和軟件設(shè)計(jì)的方法和過(guò)程。為了讓大家能夠系統(tǒng)地了解利用PCI9052的ISA模式進(jìn)行PCI板卡開(kāi)發(fā)的過(guò)程和方法,本文從硬件設(shè)計(jì)、配置寄存器的編寫(xiě)、板卡調(diào)試和驅(qū)動(dòng)程序的編寫(xiě)等方面介紹了PCI9052的開(kāi)發(fā)過(guò)程。

2 PCI9052的ISA接口模式

2.1 基本特點(diǎn)

PCI9052是PLX公司繼PCI9050之后推出的低成本PCI總線(xiàn)接口芯片,它符合PCI2.1規(guī)范,可作為PCI總線(xiàn)目標(biāo)設(shè)備實(shí)現(xiàn)基本的傳送要求;它有5個(gè)局部地址空間和4個(gè)局部設(shè)備片選信號(hào),局部總線(xiàn)與PCI總線(xiàn)時(shí)鐘相互獨(dú)立運(yùn)行。通過(guò)配置EEPROM的內(nèi)容可以將PCI9052設(shè)定為ISA接口模式,通過(guò)8位或16位內(nèi)存或I/O映射可直接使PCI總線(xiàn)與ISA總線(xiàn)相連,從而將ISA總線(xiàn)快速地轉(zhuǎn)換到PCI總線(xiàn)上。

在我們的數(shù)控測(cè)井系統(tǒng)中,原來(lái)的通信控制模塊是基于ISA總線(xiàn)的插件,端口地址為0X100~0X10F,總線(xiàn)寬度是16位,可以實(shí)現(xiàn)輸入輸出,有中斷功能?,F(xiàn)在,我們利用PCI9052芯片的ISA模式對(duì)原來(lái)的板卡進(jìn)行升級(jí)改造,使原來(lái)的板卡在做少量改動(dòng)的情況下可以插在PCI總線(xiàn)插槽中正常工作。

2.2 引腳介紹及連接

在不同的模式下,PCI9052的部分引腳有不同的定義和功能。工作在ISA模式下,其主要引腳如圖1所示。

PCI9052硬件連接正確與否直接關(guān)系到芯片能否正常工作,某些引腳處理不當(dāng)往往會(huì)引起芯片工作不正常或死機(jī)。在圖1中,9052左上方的信號(hào)和PCI信號(hào)相連,左下方信號(hào)和串行EEPROM相連,右邊的信號(hào)和局部總線(xiàn)信號(hào)相連,也就是和ISA總線(xiàn)信號(hào)相連。

PCI端主要信號(hào)完全符合PCI規(guī)范要求,直接和PCI總線(xiàn)上對(duì)應(yīng)的引腳相連即可。 ISA端連接如下:在我們的板卡中由于只涉及到I/O,且為16位寬的數(shù)據(jù),因此,MEMWR#、MEMRD#、SBHE#和BALE信號(hào)可以不用。

LAD〔15:0〕是16位的數(shù)據(jù)總線(xiàn)。LA〔23:2〕和ISAA〔1:0〕共同組成ISA的地址總線(xiàn),對(duì)于8位的數(shù)據(jù)總線(xiàn),ISAA〔1:0〕相當(dāng)于LA〔1:0〕,它們一起進(jìn)行地址譯碼。而對(duì)于16位的數(shù)據(jù)線(xiàn),每次讀寫(xiě)兩個(gè)字節(jié),這時(shí)ISAA〔0〕不用,ISAA〔1〕和LA〔23:2〕一起進(jìn)行地址譯碼。需要注意的是,并不是所有的地址線(xiàn)都要進(jìn)行地址譯碼,這里要根據(jù)板卡上實(shí)際I/O口空間的大小選擇譯碼地址線(xiàn)的數(shù)目。對(duì)于我們的板卡,LA〔3:2〕和ISAA〔1〕地址譯碼是必需的(ISAA〔1〕為低位),當(dāng)然,所有的地址線(xiàn)都參加地址譯碼也是可以的。

IOWR#和IOWD#是局部端口讀寫(xiě)信號(hào)。LCLK是ISA端時(shí)鐘信號(hào),按芯片要求外接8MHz的時(shí)鐘。LRESET#是9052芯片上電時(shí)PCI端復(fù)位后所發(fā)出的對(duì)ISA端進(jìn)行復(fù)位的信號(hào)。在ISA模式下,該信號(hào)輸出高有效。

LINTi1和LINTi2是局部總線(xiàn)中斷輸入信號(hào),這里,我們只

用到LINTi1信號(hào),由于9052內(nèi)部沒(méi)有對(duì)這兩個(gè)信號(hào)進(jìn)行上拉或下拉處理,因此,在外部將LINTi2上拉或下拉到一個(gè)確定的狀態(tài)。

NOWS#是無(wú)等待標(biāo)志信號(hào),此引腳上拉或接地可以減少等待的時(shí)鐘數(shù)。LRDY#是局部準(zhǔn)備就緒信號(hào),如果局部芯片沒(méi)有提供該信號(hào),一般對(duì)它進(jìn)行下拉或接地處理。CHRDY是局部通道準(zhǔn)備好信號(hào),一般要進(jìn)行上拉處理。LHOLD是局部總線(xiàn)請(qǐng)求信號(hào),應(yīng)該進(jìn)行下拉或接地處理。MODE是模式選擇信號(hào),由于我們使用的是ISA非復(fù)用模式,因此該引腳接地。

在設(shè)計(jì)電路板時(shí),要嚴(yán)格遵循PCI規(guī)范。電源和地線(xiàn)要盡可能寬且電源濾波要良好,在芯片的每個(gè)電源引腳最好接0.1μF的濾波電容。由于PCI時(shí)鐘信號(hào)的一半要靠反射波來(lái)提升,因此,時(shí)鐘信號(hào)CLK走線(xiàn)長(zhǎng)度近似為2500 mil。prstn1和prstn2兩者必須有一個(gè)接地,主板就是靠這兩個(gè)信號(hào)來(lái)判斷這個(gè)插槽上是否有卡的。用作上拉或下拉的電阻一般取值2.2 k歐姆即可。一般來(lái)說(shuō),PCI板卡推薦做4層板,其實(shí)只要布線(xiàn)合理做兩層板也是可以的。

串行EEPROM端信號(hào)有以下幾種:時(shí)鐘信號(hào)(EECK)、讀數(shù)據(jù)信號(hào)(EEDO)、寫(xiě)數(shù)據(jù)信號(hào)(EEDI)和片選信號(hào)(EESC),分別和EEPROM相應(yīng)管腳相連即可。

2.3 串行EEPROM的配置

與ISA總線(xiàn)相比,PCI總線(xiàn)支持三個(gè)物理空間:存儲(chǔ)器地址空間、I/O地址空間和配置空間。配置空間是PCI所特有的一個(gè)空間,所有的PCI設(shè)備必須提供配置空間。串行EEPROM存儲(chǔ)了PCI9052重要的配置信息,如設(shè)備號(hào)DID、制造商號(hào)VID、子設(shè)備號(hào)SDID、子制造商號(hào)SVID、中斷號(hào)、設(shè)備類(lèi)型號(hào)、局部空間基地址、局部空間描述符、片選響應(yīng)以及局部響應(yīng)控制CNTRL等信號(hào)。EEPROM的內(nèi)容非常重要,它直接關(guān)系到整個(gè)板卡能否正常工作,在設(shè)計(jì)時(shí)要非常注意。

系統(tǒng)加電時(shí),通過(guò)PCI的RST復(fù)位以后,PCI9052首先檢測(cè)EEPROM是否存在。如果檢測(cè)到EEPROM首字不是FFFFH,PCI9052將依次讀取EEPROM的內(nèi)容來(lái)初始化內(nèi)部寄存器。PCIBIOS根據(jù)配置寄存器的內(nèi)容進(jìn)行系統(tǒng)資源分配,這樣,整個(gè)PCI設(shè)備的資源才不會(huì)發(fā)生沖突,從而實(shí)現(xiàn)了PCI總線(xiàn)的即插即用的特性。

PCI9052的內(nèi)部寄存器為總線(xiàn)接口的設(shè)計(jì)與實(shí)現(xiàn)提供了最大的靈活性,這些寄存器可以分為兩類(lèi):PCI配置寄存器和局部配置寄存器。PCI配置寄存器有6個(gè)基地址寄存器,這些基地址是在系統(tǒng)中的物理地址。其中,基地址0和基地址1分別是以?xún)?nèi)存方式和I/O方式訪(fǎng)問(wèn)局部配置寄存器的基地址,基地址2和基地址3分別映射到局部基地址0和局部基地址1。局部總線(xiàn)配置寄存器用于設(shè)定局部總線(xiàn)的工作方式,如基地址和地址范圍等。實(shí)際上,9052在PCI和ISA總線(xiàn)之間起到一個(gè)翻譯作用,要訪(fǎng)問(wèn)ISA端地址只需對(duì)PCI端基地址進(jìn)行操作就可以了。對(duì)于我們的設(shè)計(jì),EEPROM的值及裝入順序如表1所示。

表1中,DID和VID是PLX公司的標(biāo)志,一般不能更改。操作系統(tǒng)就是通過(guò)DID、VID、SDID、SVID及設(shè)備類(lèi)型碼來(lái)識(shí)別不同廠(chǎng)家的設(shè)備的。

在ISA模式下,局部空間1必須映射為I/O空間,局部空間0必須映射為內(nèi)存空間。另外要注意:在ISA模式下雖然不存在片選信號(hào),但我們必須設(shè)置它,使它的值和局部空間1的基地址和范圍相匹配,否則,局部地址空間無(wú)法響應(yīng)PCI的控制指令。同樣,如果用到局部地址空間0,也要設(shè)置它的值。

對(duì)于PCI9052芯片,它的配置寄存器的內(nèi)容是在芯片復(fù)位時(shí)通過(guò)串行EEPROM加載的。在ISA模式下,串行EEPROM一定不能省略,我們一般使用松下公司的NM93CS46或與之兼容的存儲(chǔ)器。配置寄存器的內(nèi)容編寫(xiě)完以后,可以用編程器寫(xiě)入EEPROM中。另外,也可以通過(guò)主機(jī)在線(xiàn)燒寫(xiě),但由于各種原因,成功率很低。

3 板卡調(diào)試         

板卡做好以后,就可以插入主機(jī)板的PCI插槽中進(jìn)行調(diào)試。在調(diào)試的過(guò)程中,為了跟蹤信號(hào)的變化通常要用到數(shù)字示波器,另外,還需要一個(gè)軟件調(diào)試工具。PLX公司提供了一個(gè)905X的專(zhuān)用調(diào)試軟件PLXmon,我們可以從它的網(wǎng)站免費(fèi)下載。PLXmon包括以下功能:PCI總線(xiàn)的探測(cè)與選擇;配置寄存器的檢查和修改;內(nèi)存空間的顯示、修改和填充;EEPROM內(nèi)容的讀寫(xiě)等。利用這個(gè)工具,我們可以很清楚地看到EEPROM的內(nèi)容以及PCI配置寄存器和局部端配置寄存器的內(nèi)容,另外,用戶(hù)還可以進(jìn)行內(nèi)存和I/O端口的讀寫(xiě)。

此外,我們也可以用WinDriver或SoftICE軟件進(jìn)行板卡調(diào)試,但總的來(lái)說(shuō),使用起來(lái)都不如PLXmon方便。有了開(kāi)發(fā)工具,設(shè)計(jì)者就可以根據(jù)板卡的具體要求進(jìn)行調(diào)試了。

4 驅(qū)動(dòng)程序的編寫(xiě)

板卡調(diào)試成功以后就可以編寫(xiě)驅(qū)動(dòng)程序了。目前,編寫(xiě)驅(qū)動(dòng)程序最常用的工具是VtoolsD和WinDriver,它們都是專(zhuān)門(mén)的驅(qū)動(dòng)開(kāi)發(fā)工具。尤其是WinDriver,開(kāi)發(fā)人員不需要掌握WINDOWS驅(qū)動(dòng)編程的知識(shí),利用它的向?qū)Чぞ?,能很快地開(kāi)發(fā)出高質(zhì)量的驅(qū)動(dòng)程序。

在Windows9x環(huán)境下,操作系統(tǒng)統(tǒng)一管理硬件資源,出于安全性考慮,ring3層應(yīng)用程序不能直接訪(fǎng)問(wèn)硬件(I/O端口訪(fǎng)問(wèn)除外),因此,必須編寫(xiě)運(yùn)行在ring0層的虛擬設(shè)備驅(qū)動(dòng)程序(VxD)來(lái)響應(yīng)系統(tǒng)底層的中斷。如果板卡只有I/O操作,而沒(méi)有用到中斷和內(nèi)存操作,可以不用編寫(xiě)驅(qū)動(dòng)程序,直接在應(yīng)用程序里實(shí)現(xiàn)輸入輸出就可以了。編程的方法是先找到板卡,再找到卡中與我們用到的局部空間相對(duì)應(yīng)的PCI基地址,然后就可以根據(jù)要求對(duì)這個(gè)基地址進(jìn)行操作了。如果在WINDOWS98以上版本的操作系統(tǒng)下,就要編寫(xiě)WDM設(shè)備驅(qū)動(dòng)程序了。

5 結(jié)束語(yǔ)

由于PCI總線(xiàn)數(shù)據(jù)吞吐量大,傳輸速率高,在微機(jī)接口設(shè)計(jì)中,基于PCI總線(xiàn)的設(shè)計(jì)成為主流。PCI9052是一款優(yōu)秀的PCI接口芯片,設(shè)計(jì)者用它可避免直接面對(duì)復(fù)雜的PCI總線(xiàn)協(xié)議,降低了設(shè)計(jì)難度,從而使用戶(hù)可以集中精力解決具體的應(yīng)用問(wèn)題,縮短了開(kāi)發(fā)周期。實(shí)踐證明,PCI9052為開(kāi)發(fā)作為總線(xiàn)接口目標(biāo)設(shè)備的產(chǎn)品,特別是對(duì)基于ISA總線(xiàn)的接口板向PCI的轉(zhuǎn)換提供了極大的方便。
 

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

8位單片機(jī)在嵌入式設(shè)計(jì)領(lǐng)域已經(jīng)成為半個(gè)多世紀(jì)以來(lái)的主流選擇。盡管嵌入式系統(tǒng)市場(chǎng)日益復(fù)雜,8位單片機(jī)依然不斷發(fā)展,積極應(yīng)對(duì)新的挑戰(zhàn)和系統(tǒng)需求。如今,Microchip推出的8位PIC?和AVR?單片機(jī)系列,配備了先進(jìn)的獨(dú)立...

關(guān)鍵字: 單片機(jī) 嵌入式 CPU

在嵌入式系統(tǒng)開(kāi)發(fā)中,程序燒錄是連接軟件設(shè)計(jì)與硬件實(shí)現(xiàn)的關(guān)鍵環(huán)節(jié)。當(dāng)前主流的單片機(jī)燒錄技術(shù)已形成ICP(在電路編程)、ISP(在系統(tǒng)編程)、IAP(在應(yīng)用編程)三大技術(shù)體系,分別對(duì)應(yīng)開(kāi)發(fā)調(diào)試、量產(chǎn)燒錄、遠(yuǎn)程升級(jí)等不同場(chǎng)景。...

關(guān)鍵字: 單片機(jī) ISP ICP IAP 嵌入式系統(tǒng)開(kāi)發(fā)

在嵌入式系統(tǒng)開(kāi)發(fā)中,看門(mén)狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時(shí)機(jī)的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構(gòu)、軟件流程、安全規(guī)范三個(gè)維度,系統(tǒng)分析看門(mén)狗初始化的最佳實(shí)踐...

關(guān)鍵字: 單片機(jī) 看門(mén)狗 嵌入式系統(tǒng)

本文中,小編將對(duì)單片機(jī)予以介紹,如果你想對(duì)它的詳細(xì)情況有所認(rèn)識(shí),或者想要增進(jìn)對(duì)它的了解程度,不妨請(qǐng)看以下內(nèi)容哦。

關(guān)鍵字: 單片機(jī) 開(kāi)發(fā)板 Keil

隨著單片機(jī)系統(tǒng)越來(lái)越廣泛地應(yīng)用于消費(fèi)類(lèi)電子、醫(yī)療、工業(yè)自動(dòng)化、智能化儀器儀表、航空航天等各領(lǐng)域,單片機(jī)系統(tǒng)面臨著電磁干擾(EMI)日益嚴(yán)重的威脅。電磁兼容性(EMC)包含系統(tǒng)的發(fā)射和敏感度兩方面的問(wèn)題。

關(guān)鍵字: 單片機(jī) 電磁兼容

以下內(nèi)容中,小編將對(duì)單片機(jī)的相關(guān)內(nèi)容進(jìn)行著重介紹和闡述,希望本文能幫您增進(jìn)對(duì)單片機(jī)的了解,和小編一起來(lái)看看吧。

關(guān)鍵字: 單片機(jī) 復(fù)位電路

在這篇文章中,小編將為大家?guī)?lái)單片機(jī)的相關(guān)報(bào)道。如果你對(duì)本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: 單片機(jī) 異常復(fù)位

今天,小編將在這篇文章中為大家?guī)?lái)單片機(jī)的有關(guān)報(bào)道,通過(guò)閱讀這篇文章,大家可以對(duì)它具備清晰的認(rèn)識(shí),主要內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 仿真器

單片機(jī)將是下述內(nèi)容的主要介紹對(duì)象,通過(guò)這篇文章,小編希望大家可以對(duì)它的相關(guān)情況以及信息有所認(rèn)識(shí)和了解,詳細(xì)內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 中斷 boot

一直以來(lái),單片機(jī)都是大家的關(guān)注焦點(diǎn)之一。因此針對(duì)大家的興趣點(diǎn)所在,小編將為大家?guī)?lái)單片機(jī)的相關(guān)介紹,詳細(xì)內(nèi)容請(qǐng)看下文。

關(guān)鍵字: 單片機(jī) 數(shù)字信號(hào) 模擬信號(hào)
關(guān)閉