
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第第頁(yè)基于pci總線(xiàn)的數(shù)據(jù)采集卡設(shè)計(jì)隨著計(jì)算機(jī)軟硬件技術(shù)和控制、測(cè)量技術(shù)的不斷進(jìn)展,許多工程技術(shù)人員都將pc機(jī)作為控制、測(cè)量開(kāi)發(fā)的首選平臺(tái)。而pci(peripheralcomponentinterconnect,即外圍部件互連)作為一種高性能、通用的局部總線(xiàn),是目前計(jì)算機(jī)插卡式外設(shè)總線(xiàn)的事實(shí)標(biāo)準(zhǔn)。pci總線(xiàn)具有32/64位總線(xiàn)寬度。地址線(xiàn)和數(shù)據(jù)線(xiàn)復(fù)用,支持猝發(fā)傳輸,傳輸速率高達(dá)132mb/s;系統(tǒng)占用率低,具有較好的兼容性;有完備的即插即用(pnp)管理體制,可同時(shí)支持多組外圍設(shè)備。雖然pci總線(xiàn)也經(jīng)受了從pci、pci-x到pciexpress的進(jìn)展,但pci總線(xiàn)因?yàn)榇嬖跁r(shí)光長(zhǎng),開(kāi)發(fā)工具、開(kāi)發(fā)資料眾多,在對(duì)數(shù)據(jù)吞吐量要求不是很高的工業(yè)控制、測(cè)量領(lǐng)域仍有著堅(jiān)韌的生命力。筆者在學(xué)習(xí)了相關(guān)設(shè)計(jì)資料的基礎(chǔ)上,設(shè)計(jì)了基于pci總線(xiàn)的數(shù)據(jù)采集卡,可以完成8路數(shù)字量i/o及4路差分14位a/d采集功能。本文將按照筆者的實(shí)際閱歷,介紹pci接口擴(kuò)展卡的軟硬件設(shè)計(jì)流程。
1pci總線(xiàn)工作方式簡(jiǎn)介
pci總線(xiàn)標(biāo)準(zhǔn)由intel于1991年提出,后由pci-sig(pcispecialinterestgroup)接替了pci規(guī)范的進(jìn)展。pci總線(xiàn)是一種時(shí)分復(fù)用的雙向應(yīng)答總線(xiàn),傳輸發(fā)起方稱(chēng)為主設(shè)備,接收方稱(chēng)為從設(shè)備。其主要信號(hào)定義如下:
rfame:由主設(shè)備驅(qū)動(dòng),為低,指示一次傳輸?shù)拈_(kāi)頭。
devsel:由從設(shè)備驅(qū)動(dòng),為低,指示響應(yīng)傳輸哀求。
ado~ad31:地址、數(shù)據(jù)復(fù)用信號(hào)。pci總線(xiàn)的數(shù)據(jù)傳輸以幀為單位,每次傳輸由一個(gè)地址周期和多個(gè)數(shù)據(jù)周期組成。首先給出本次傳輸?shù)氖椎刂?,后面緊跟一個(gè)或多個(gè)4字節(jié)寬的數(shù)據(jù),延續(xù)傳輸多個(gè)數(shù)據(jù)時(shí),其地址自動(dòng)遞增。
c/be0~c/be3:這4根線(xiàn)在地址傳送周期,傳輸?shù)氖强偩€(xiàn)指令,c/be0~c/be3的不同組合指示在ad0~ad31上將要舉行何種類(lèi)型的操作,其代表的總線(xiàn)指令見(jiàn)表1;在數(shù)據(jù)傳送周期,傳輸?shù)氖亲止?jié)始能信號(hào),用來(lái)表示在囫圇數(shù)據(jù)期間,ad31~ad0上的哪些字節(jié)為有效數(shù)據(jù)。
irdy、trdy:分離表示主設(shè)備預(yù)備好和從設(shè)備預(yù)備好。在傳輸過(guò)程中,惟獨(dú)irdy和trdy同時(shí)有效,傳輸才干繼續(xù);否則插入等待周期,用于在不同速度的設(shè)備之間協(xié)調(diào)工作。
表1地址傳送周期時(shí)。c/be0~c/be3所代表的總線(xiàn)指令prsnt1、prsnt2:pci板對(duì)電源的哀求信息,詳細(xì)含義見(jiàn)表2。
將pci接口卡插入計(jì)算機(jī)插座,加電后,bios會(huì)按照pci接口卡上的配置信息,為其分配相應(yīng)的i/o端口、存儲(chǔ)器空間、中斷及dma等計(jì)算機(jī)資源。
2pci接口卡的硬件設(shè)計(jì)
筆者設(shè)計(jì)的pci數(shù)據(jù)采集卡用法的pci接口芯片是ch365,ch365可將32位高速pci總線(xiàn)轉(zhuǎn)換為簡(jiǎn)便易用的類(lèi)似于isa總線(xiàn)的8位主動(dòng)并行接口,支持240字節(jié)的i/o端口映射、32k字節(jié)的存儲(chǔ)器映射、擴(kuò)展rom以及中斷。本數(shù)據(jù)采集卡僅用法了i/o端口映射及中斷功能。本pci數(shù)據(jù)采集卡用法maxim公司的4通道14位、差分、同時(shí)采樣:max1338,實(shí)現(xiàn)a/d轉(zhuǎn)換功能,并將max1338的/eolc引腳與ch365的int_req引腳相連,以便在adc轉(zhuǎn)換完成后,向pc機(jī)發(fā)出中斷申請(qǐng)。用法兩片74hc273作為輸出,一片用作8路i/o輸出,另一片用作對(duì)max1338控制指令的輸出。用法兩片74hc373作為輸入,一片用作8路i/o輸入,另一片采集max1338的狀態(tài)指示信號(hào)。用法tlp521-4對(duì)8路i/o輸入、輸出舉行光電隔離。用法74ls138作為地址譯碼。
在制作印制板時(shí),ch365的vcc與gnd間應(yīng)就近放置容量為0.1μf高頻、低esr的多層瓷片,銜接pci總線(xiàn)的電源線(xiàn)引腳可以自由挑選,但數(shù)量不宜少于4對(duì)。ch365屬于高頻數(shù)字,應(yīng)當(dāng)考慮信號(hào)阻抗匹配,在設(shè)計(jì)板時(shí)需要參考pci總線(xiàn)規(guī)范。建議ch365的pci信號(hào)線(xiàn)的長(zhǎng)度都小于35mm,盡量走弧線(xiàn)或者45度線(xiàn),避開(kāi)直角或者銳角走線(xiàn),并且盡量將信號(hào)走線(xiàn)布在元件面;ch365的pci時(shí)鐘線(xiàn)clk的長(zhǎng)度盡量保持在50mm~65mm之間,并且不宜逼近其它信號(hào)線(xiàn);在pcb背面保留大面積的接地覆銅,以削減周邊信號(hào)線(xiàn)的干擾。雖然pci總線(xiàn)規(guī)范推舉用法四層板,但考慮成本等因素,可用法雙面板,雙面覆銅接地。筆者做的pci數(shù)據(jù)采集卡即為雙面板,經(jīng)試驗(yàn)驗(yàn)證在工業(yè)現(xiàn)場(chǎng)環(huán)境下,該卡能夠穩(wěn)定工作。
3pci接口卡驅(qū)動(dòng)程序及軟件設(shè)計(jì)
在windows系統(tǒng)中,為避開(kāi)因不當(dāng)?shù)挠布僮鞫鴮?dǎo)致系統(tǒng)崩潰,應(yīng)用程序不再具有挺直的硬件拜訪(fǎng)權(quán),假如要操作硬件,必需借助設(shè)備驅(qū)動(dòng)程序。驅(qū)動(dòng)程序主要功能是完成對(duì)硬件板卡的內(nèi)存映像地址、i/o地址的存取,并正確處理來(lái)自板卡的硬件中斷。
microsoft為設(shè)備驅(qū)動(dòng)程序的編寫(xiě)提供了“windowsde-vicedriverskit”(簡(jiǎn)稱(chēng)ddk)工具,它包含了驅(qū)動(dòng)開(kāi)發(fā)所需的各種類(lèi)型的定義和內(nèi)核函數(shù)庫(kù)。用ddk編制的驅(qū)動(dòng)程序有很高的運(yùn)行效率,但是開(kāi)發(fā)難度大,測(cè)試流程繁瑣。為減輕驅(qū)動(dòng)開(kāi)發(fā)者的負(fù)擔(dān),無(wú)數(shù)第三方廠(chǎng)商提供了簡(jiǎn)化驅(qū)動(dòng)開(kāi)發(fā)的軟件。如numega公司的driverstudio軟件,jungo公司的windriver/kerneldriver軟件等。尤其是windriver/kerneldriver不要求開(kāi)發(fā)者十分認(rèn)識(shí)操作系統(tǒng)平臺(tái),把握核心開(kāi)發(fā)、調(diào)試學(xué)問(wèn),即可在幾分鐘之內(nèi)開(kāi)發(fā)出相應(yīng)的驅(qū)動(dòng)程序。但windriver的運(yùn)行效率較低,因此,在對(duì)運(yùn)行效率較高的場(chǎng)合,可用法kerneldriver舉行開(kāi)發(fā),以提高運(yùn)行效率。
因?yàn)楸静杉ǖ臄?shù)據(jù)吞吐量不高,因此采納windri-ver6.21舉行驅(qū)動(dòng)程序的開(kāi)發(fā),其開(kāi)發(fā)過(guò)程如下:
(1)運(yùn)行windriver程序,挑選"createanewdriverpro-ject”;
(2)在彈出的“selectyourdevice”窗口中,從列表中挑選自己的硬件設(shè)備。因?yàn)閏h365的默認(rèn)廠(chǎng)商標(biāo)識(shí)(vendor-id)為4348h,設(shè)備標(biāo)識(shí)(deviceid)為5049h,因此選中“pci:vendorid4348deviceid5049”的pci設(shè)備(1)。
(3)單擊“generate.inffile”按鈕,產(chǎn)生采集卡的驅(qū)動(dòng)安裝信息文件。注重:需選中“automaticallyinstalltheinffile”復(fù)選框,以便可以在(4)步中測(cè)試采集卡(2)。
(4)在“defineandtestresourcesforyourdevice”窗口中,設(shè)置采集卡的i/o地址及變量名,對(duì)于即插即用(plug-and-play)設(shè)備,windriver會(huì)自動(dòng)發(fā)覺(jué)其所用到的硬件資源(如:i/o范圍,存儲(chǔ)器范圍及中斷號(hào)等)(3)。在此可對(duì)采集卡的i/o地址舉行讀寫(xiě)測(cè)試,以便驗(yàn)證硬件設(shè)計(jì)是否正確。
(5)在“selectcodegenerationoptions”窗口中,選中合適的開(kāi)發(fā)語(yǔ)言及開(kāi)發(fā)平臺(tái)。在此挑選“msdeveloperstudic6,5”(即microsoftvisualc++6/5),以便windriver生成合適的驅(qū)動(dòng)程序框架及相應(yīng)的api函數(shù)(4)。
(6)保存windriver產(chǎn)生的驅(qū)動(dòng)開(kāi)發(fā)工程后,windriver會(huì)自動(dòng)打開(kāi)相應(yīng)的開(kāi)發(fā)環(huán)境(此處為:microsoftvisualc++6),以便開(kāi)發(fā)人員舉行后續(xù)開(kāi)發(fā)。
通過(guò)以上步驟,windriver生成一個(gè)基于visualc++語(yǔ)言的程序框架,開(kāi)發(fā)人員可以在此框架的基礎(chǔ)上舉行修改,加入自己的程序,實(shí)現(xiàn)對(duì)硬件的操作?,F(xiàn)以筆者編制的程序(工程文件名為adc)為例舉行介紹。
在程序初始化階段,先調(diào)用pci_get_wd_handle(),推斷驅(qū)動(dòng)程序windrvr6.sys是否已被加載,假如驅(qū)動(dòng)程序已被加載,則調(diào)用adc_locateandopenboard()函數(shù),打開(kāi)數(shù)據(jù)采集卡。在退出應(yīng)用程序前,需先調(diào)用adc_close()函數(shù),關(guān)閉數(shù)據(jù)采集卡。
對(duì)max1338和8路i/o的寄存器操作可通過(guò)adc_readbyte()、adc_writebyte()兩個(gè)函數(shù)完成。對(duì)ch365內(nèi)部配置寄存器的讀寫(xiě)可通過(guò)adc_read-pcireg()、adc_writepcireg()兩個(gè)函數(shù)完成。完成應(yīng)用程序的開(kāi)發(fā)后,數(shù)據(jù)采集卡在其他的pc機(jī)上工作時(shí),需提供windrvr6.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 5 animal friends Lesson 2 教學(xué)設(shè)計(jì) -2024-2025學(xué)年冀教版英語(yǔ)七年級(jí)上冊(cè)
- 2025年城鎮(zhèn)化并購(gòu)重組基金資金監(jiān)管協(xié)議
- 《總復(fù)習(xí)解決問(wèn)題練習(xí)課》(教案)2024-2025學(xué)年數(shù)學(xué)二年級(jí)上冊(cè)
- Unit 3 Sports Lesson 2 Let's practice(教學(xué)設(shè)計(jì))-2024-2025學(xué)年北師大版(三起)英語(yǔ)六年級(jí)上冊(cè)
- 2025年學(xué)習(xí)雷鋒精神六十二周年主題活動(dòng)方案 (合計(jì)3份)
- 北師大版數(shù)學(xué)三年級(jí)上冊(cè)單元測(cè)試卷-第六單元-乘法含答案
- 8-數(shù)學(xué)廣角-搭配(二)-人教版三年級(jí)下冊(cè)數(shù)學(xué)單元測(cè)試卷含答案和解析
- 2025年度東莞市入學(xué)積分制教育培訓(xùn)機(jī)構(gòu)招生合作協(xié)議
- 2025年度咖啡連鎖店轉(zhuǎn)讓與區(qū)域管理合同
- 2025年度應(yīng)屆畢業(yè)生就業(yè)安置與跟蹤服務(wù)協(xié)議
- 人音版音樂(lè)一年級(jí)上冊(cè)第3課《國(guó)旗國(guó)旗真美麗》說(shuō)課稿
- 腸系膜上動(dòng)脈栓塞護(hù)理查房課件
- GB/T 44255-2024土方機(jī)械純電動(dòng)液壓挖掘機(jī)能量消耗量試驗(yàn)方法
- DL∕T 1785-2017 電力設(shè)備X射線(xiàn)數(shù)字成像檢測(cè)技術(shù)導(dǎo)則
- 山東財(cái)經(jīng)大學(xué)《大學(xué)英語(yǔ)》2022-2023學(xué)年期末試卷
- 融合教育完整版本
- 產(chǎn)品研發(fā)指導(dǎo)專(zhuān)家聘用協(xié)議書(shū)
- JT-T-1210.1-2018公路瀝青混合料用融冰雪材料第1部分:相變材料
- 2024年晉中職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)完整參考答案
- DL-T5493-2014電力工程基樁檢測(cè)技術(shù)規(guī)程
- 2024年03月廣東佛山市禪城區(qū)教育系統(tǒng)招考聘用中小學(xué)教師120人筆試歷年典型題及考點(diǎn)剖析附帶答案含詳解
評(píng)論
0/150
提交評(píng)論