基于PCI總線的數(shù)據(jù)采集卡設(shè)計
0 引言 隨著計算機軟硬件技術(shù)和控制、測量技術(shù)的不斷發(fā)展,許多工程技術(shù)人員都將PC機作為控制、測量開發(fā)的首選平臺。而PCI(Peripheral Component Interconnect,即外圍部件互連)總線作為一種高性能、通用的局部總線,是目前計算機插卡式外設(shè)總線的事實標(biāo)準(zhǔn)。PCI總線具有32/64位總線寬度。地址線和數(shù)據(jù)線復(fù)用,支持猝發(fā)傳輸,傳輸速率高達(dá)132MB/s;系統(tǒng)占用率低,具有較好的兼容性;有完備的即插即用(PnP)管理體制,可同時支持多組外圍設(shè)備。雖然PCI總線也經(jīng)歷了從PCI、PCI-X到PCI Express的發(fā)展,但PCI總線由于存在時間長,開發(fā)工具、開發(fā)資料眾多,在對數(shù)據(jù)吞吐量要求不是很高的工業(yè)控制、測量領(lǐng)域仍有著頑強的生命力。筆者在學(xué)習(xí)了相關(guān)設(shè)計資料的基礎(chǔ)上,設(shè)計了基于PCI總線的數(shù)據(jù)采集卡,可以完成8路數(shù)字量I/O及4路差分14位A/D采集功能。本文將根據(jù)筆者的實際經(jīng)驗,介紹PCI接口擴展卡的軟硬件設(shè)計流程。
1 PCI總線工作方式簡介 PCI總線標(biāo)準(zhǔn)由intel于1991年提出,后由PCI-SIG(PCI Special Interest Group)接替了PCI規(guī)范的發(fā)展。PCI總線是一種時分復(fù)用的雙向應(yīng)答總線,傳輸發(fā)起方稱為主設(shè)備,接收方稱為從設(shè)備。其主要信號定義如下: RFAME:由主設(shè)備驅(qū)動,為低,指示一次傳輸?shù)拈_始。 DEVSEL:由從設(shè)備驅(qū)動,為低,指示響應(yīng)傳輸請求。 ADO~AD31:地址、數(shù)據(jù)復(fù)用信號。PCI總線的數(shù)據(jù)傳輸以幀為單位,每次傳輸由一個地址周期和多個數(shù)據(jù)周期組成。首先給出本次傳輸?shù)氖椎刂?,后面緊跟一個或多個4字節(jié)寬的數(shù)據(jù),連續(xù)傳輸多個數(shù)據(jù)時,其地址自動遞增。 C/BE0~C/BE3:這4根線在地址傳送周期,傳輸?shù)氖强偩€命令,C/BE0~C/BE3的不同組合指示在AD0~AD31上將要進(jìn)行何種類型的操作,其代表的總線命令見表1;在數(shù)據(jù)傳送周期,傳輸?shù)氖亲止?jié)始能信號,用來表示在整個數(shù)據(jù)期間,AD31~AD0上的哪些字節(jié)為有效數(shù)據(jù)。 IRDY、TRDY:分別表示主設(shè)備準(zhǔn)備好和從設(shè)備準(zhǔn)備好。在傳輸過程中,只有IRDY和TRDY同時有效,傳輸才能繼續(xù);否則插入等待周期,用于在不同速度的設(shè)備之間協(xié)調(diào)工作。 表1地址傳送周期時。C/BE0~C/BE3所代表的總線命令PRSNT1、PRSNT2:PCI板對電源的請求信息,具體含義見表2。
將PCI接口卡插入計算機插座,加電后,BIOS會根據(jù)PCI接口卡上的配置信息,為其分配相應(yīng)的I/O端口、存儲器空間、中斷及DMA等計算機資源。
2 PCI接口卡的硬件設(shè)計 筆者設(shè)計的PCI數(shù)據(jù)采集卡使用的PCI接口芯片是CH365,CH365可將32位高速PCI總線轉(zhuǎn)換為簡便易用的類似于ISA總線的8位主動并行接口,支持240字節(jié)的I/O端口映射、32 K字節(jié)的存儲器映射、擴展ROM以及中斷。本數(shù)據(jù)采集卡僅使用了I/O端口映射及中斷功能。本PCI數(shù)據(jù)采集卡使用MAXIM公司的4通道14位、差分、同時采樣ADC:MAX1338,實現(xiàn)A/D轉(zhuǎn)換功能,并將MAX1338的/EOLC引腳與CH365的INT_REQ引腳相連,以便在ADC轉(zhuǎn)換完成后,向PC機發(fā)出中斷申請。使用兩片74HC273作為輸出,一片用作8路I/O輸出,另一片用作對MAX1338控制命令的輸出。使用兩片74HC373作為輸入,一片用作8路I/O輸入,另一片采集MAX1338的狀態(tài)指示信號。使用TLP521-4對8路I/O輸入、輸出進(jìn)行光電隔離。使用74LS138作為地址譯碼。
標(biāo)簽: PCI 總線 數(shù)據(jù)采集卡