版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、PCI9052在多功能CAN適配卡中的應用研究摘要:介紹了pi橋接口芯片pi9052的特點,根據(jù)實際需求給出了pi9052的an總線多功能適配卡硬件的設計思路、過程及實現(xiàn)方法,利用in2000ddk和driverstudi來實現(xiàn)d驅(qū)動程序開發(fā)設計并解決第三方驅(qū)動不理想的問題。關鍵詞:pi9052;驅(qū)動設計;in2000ddk;driverstudi中圖法分類號:tp13文獻標識碼:aappliatinandresearhfpi9052inultifuntinalan-adapterangxin1,jiangjian-huan21.shlfehanialengineeringandautatin
2、fxihuauniversity,hengdusihuan610039;2.shlfautatinfhngqinguniversityfpstsandteleuniatinshngqinghina400065abstrat:intrduesthepibridge-interfaehipharaterfpi9052,ffersdesignpredural,pressandrealizingethdsfulti-funtinaladapterfanbusbasednpratialdeands,andarriesuttheddriverprgrabyakingusefin2000ddkanddriv
3、erstudi,andslvethebugfthird-partydriver.keyrds:pi9052;driver-design;in2000ddk;driverstudi0引言pi總線是一種獨立于pu的局部總線,實現(xiàn)pi接口的方案一般有兩種:采用可編程邏輯器件和專用總線接口器件。采用可編程邏輯器件實現(xiàn)pi接口的好處是比較靈敏,但其設計難度很高,因為pi總線對負載要求、傳輸數(shù)據(jù)的建立時間的要求都比較苛刻,同時還需要器件內(nèi)部實現(xiàn)用于配置的各類存放器,以及完成邏輯校驗、地址譯碼等工作的存放器。此外,還需參加fif、用戶存放器組和后端設備接口等局部。設計這種pi總線接口會導致將大量的人力、物力
4、投入到復雜的邏輯驗證和時序分析的工作上,開發(fā)周期較長。采用專用接口器件雖然沒有采用可編程邏輯器件那么靈敏,但可以有效地降低接口設計的難度,縮短開發(fā)時間。專用接口器件具有較低的本錢和很高的通用性,可以優(yōu)化數(shù)據(jù)傳輸,提供配置空間,具備用于突發(fā)傳輸功能的片內(nèi)fif,提供擴展局部總線等優(yōu)點,并且許多公司還提供配套的開發(fā)工具,使用很方便,開發(fā)周期短。pi9052是plx公司開發(fā)的低價格pi總線從形式接口芯片,低功耗,符合pi2.1標準,提供的局部總線(lalbus)可通過編程設置為8/16/32位的(非)復用總線。pi9052提供的局部總線不但可編程,而且與pi總線的時鐘互相獨立運行,可實現(xiàn)異步操作,總
5、線操作自動實現(xiàn)時序同步。兩總線的異步運行方便了高、低速設備的兼容。論文網(wǎng)在線1硬件設計為了充分利用硬件的有用資源,該多功能適配卡不僅要實現(xiàn)與an總線進展通信,還具有a/d、d/a及i/功能,實現(xiàn)對an通信和數(shù)據(jù)采集等功能。pi9052有5個地址映射空間,要實現(xiàn)這些功能,通過pi9052來連接是可以滿足要求的。i/采用i映射空間,an、a/d和d/a采用ery地址映射空間,也可都采用ery方式,這些地址空間的配置是在eepr中進展配置的。根據(jù)采樣精度要求,a/d芯片采用的是16位單通道并行通信的ad976芯片,轉(zhuǎn)換時間10us,為了實現(xiàn)多通道輸入,須在模擬輸入端加一多路開關ax308ese。d/
6、a芯片采用的是16位8通道芯片da7644e,轉(zhuǎn)換時間10us。an控制芯片采用phlips的sja1000,同時須接一an驅(qū)動芯片82250。另外,pi9052需要一片eepr芯片用來存儲pi9052的初始化配置參數(shù)??膳cpi9052匹配的芯片有irhiptehnlgy1k93aa46、9346b、93l46b,還有其他廠商的。在選擇eepr時一定可參考pi9052的推薦說明,這里采用的是1k的93l46b。其原理構造如圖1:圖1pi多功能an適配卡構造示意圖2軟件設計軟件設計包括d驅(qū)動程序、api接口函數(shù)和應用程序設計,這里主要介紹驅(qū)動程序設計。對于d驅(qū)動程序,要獲得正確的地址分配值,必須
7、正確地設置配置參數(shù),9052內(nèi)部的配置存放器是通過外部串行e2pr上電加載的。9052會自動根據(jù)該e2pr的狀態(tài)來決定其內(nèi)部存放器的值。假設e2pr不存在此時e2pr和9052連接的數(shù)據(jù)引腳應加上拉電阻或其內(nèi)部無有效值,9052會將其內(nèi)部存放器配置為缺省值。值得一提的是,假設e2pr內(nèi)部沒有燒寫為有效值時,應保證其開始48位為全“1;否那么,系統(tǒng)上電時可能會產(chǎn)生錯誤。9052有5個本地空間,用戶可根據(jù)實際需要進展相應的配置。當將本地空間配置成i/時,對該空間的讀/寫操作只能單次進展。配置成存儲器空間,用戶會有多種接入形式,可大大進步接入速度。該多功能設配卡驅(qū)動程序的開發(fā)采用支持inds2000
8、的d驅(qū)動程序。開發(fā)工具采用visual+6.0、in2000ddk及driverstudi2.7。采用driverstudi向?qū)Чぞ呱沈?qū)動程序框架和調(diào)試程序,在利用向?qū)r需正確填寫pivendrid和pidevieid,否那么,在安裝驅(qū)動程序時查找不到正確的硬件設備,導致無法安裝驅(qū)動。由于d驅(qū)動程序運行在系統(tǒng)的內(nèi)核態(tài),編寫非常復雜,在應用程序和硬件進展數(shù)據(jù)交換中,可以采用幾種方式進展通信:i/控制方式、直接讀寫方式、中斷方式和da方式。由于an總線的最高速率是1bps,所以我們采用i控制操作實現(xiàn)數(shù)據(jù)的傳送,在驅(qū)動程序派遣例程中實現(xiàn)這些操作,在api函數(shù)中提供這些操作的接口,應用程序可使用標準
9、in32api函數(shù)devieintrl來數(shù)據(jù)讀寫,也可以采用driverstudi向?qū)Чぞ弋a(chǎn)生的devientrl來操作,在這里我們將它集成到對應的api函數(shù)里,生成相應的靜態(tài)庫或者動態(tài)連接庫的形式提供給應用程序。定義了7個i控制代碼:itl_hil100_read_i_data用于讀i/口數(shù)據(jù)itl_hil100_read_ad_data用于讀ad數(shù)據(jù)itl_hil100_read_da_data用于讀da數(shù)據(jù)itl_hil100_read_an_data用于讀an數(shù)據(jù)itl_hil100_rite_i_data用于寫i/口數(shù)據(jù)itl_hil100_rite_da_data用于寫da數(shù)據(jù)it
10、l_hil100_rite_an_data用于寫an數(shù)據(jù)這些控制代碼在驅(qū)動程序的devientrl(kirpi)函數(shù)中調(diào)用,如下程序所示:ntstatuspidriverdevie:devientrl(kirpi)ntstatusstatus;sith(i.itlde()aseitl_hil100_read_i_data:status=itl_hil100_read_i_data_handler(i);aseitl_hil100_rite_i_data:status=itl_hil100_rite_i_data_handler(i);aseitl_hil100_rite_da_data:sta
11、tus=itl_hil100_rite_da_data_handler(i);aseitl_hil100_read_ad_data:status=itl_hil100_read_ad_data_handler(i);default:status=status_invalid_paraeter;break;.論文網(wǎng)在線在該函數(shù)進展驅(qū)動中相應的數(shù)據(jù)處理與傳遞,包括從內(nèi)存中讀上層應用程序發(fā)送下來的數(shù)據(jù)或?qū)d、an等外設傳遞上來的數(shù)據(jù)送到上層應用程序。api函數(shù)主要提供了pi卡的開關,a/d、d/a、i/的讀寫函數(shù),an的設置、讀寫,中斷事件消息函數(shù)等。api函數(shù)與以上控制代碼相關聯(lián),傳遞數(shù)據(jù)和控制
12、參數(shù)。如下程序所示:blritedatati(unsignedhardata)/寫數(shù)據(jù)到i口ulngbytesreturned;if(!devieintrl(hhil100,itl_hil100_rite_i_data,data,1,null,0,bytesreturned,null)blreaddatafri(unsignedhar*data)/從i口讀數(shù)據(jù)ulngbytesreturned;if(!devieintrl(hhil100,itl_hil100_read_i_data,data,1,data,1,bytesreturned,null)blritedatatda(unsigned
13、shrtntrl,unsignedshrtfreq4)/寫數(shù)據(jù)到adulngbytesreturned;unsignedshrtpdata16;pdata0=ntrl;pdata1=freq0;pdata2=freq1;pdata3=freq2;pdata4=freq3;if(!devieintrl(hhil100,itl_hil100_rite_da_data,pdata,10,null,0,bytesreturned,null)blreaddatafrad(unsignedshrtaddress8,unsignedshrtdata8)/從ad讀數(shù)據(jù)ulngbytesreturned;if(
14、!devieintrl(hhil100,itl_hil100_read_ad_data,address,16,data,16,bytesreturned,null)blreaddatafrda(unsignedharaddress,unsignedshrt*data)/從da讀數(shù)據(jù)ulngbytesreturned;if(!devieintrl(hhil100,itl_hil100_read_da1_data,address,1,data,2,bytesreturned,null)論文網(wǎng)在線將這些接口函數(shù)生成動態(tài)鏈接庫的形式,供上層應用程序調(diào)用。3完畢語由于pi總線的高速特性,使其被廣泛應用于高速數(shù)據(jù)采集系統(tǒng)和數(shù)據(jù)傳輸通信系統(tǒng)中,有效地解決了實時采集、實時傳輸和實時存儲等問題。而pi總線控制器專用芯片的出現(xiàn)那么縮短了pi總線硬件設備的開發(fā)周期,使得硬件設備的可靠性和穩(wěn)定性都有了較大的進步。在開發(fā)過程中,尤其對于高速采樣及實時嚴格的系統(tǒng),我們實現(xiàn)了對該系統(tǒng)高效率的操作特性,該研究有效的解決了高速實時采集、實時傳輸和實時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院消防培訓責任制度
- 服務站感染管理培訓制度
- 企業(yè)培訓主播室制度
- 某公司營銷人員培訓制度
- 學院培訓日常管理制度
- 隔離點相關培訓制度
- 易制毒使用培訓制度
- 糧庫作業(yè)前培訓制度
- 票務公司培訓管理制度
- 如何給員工培訓車輛管理制度
- 2023年版測量結果的計量溯源性要求
- 建筑能耗與碳排放研究報告
- GB 29415-2013耐火電纜槽盒
- 中國古代經(jīng)濟試題
- 真空采血管的分類及應用及采血順序課件
- 軟件定義汽車:產(chǎn)業(yè)生態(tài)創(chuàng)新白皮書
- 安裝工程實體質(zhì)量情況評價表
- 動力觸探試驗課件
- 城市軌道交通安全管理課件(完整版)
- 八大浪費培訓(整理)
- 幼兒園機器人課件.ppt
評論
0/150
提交評論