国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于PCI總線的數據采集卡設計

發布時間:2010-8-18 11:01    發布者:lavida
關鍵詞: PCI , 數據采集 , 總線
隨著計算機軟硬件技術和控制、測量技術的不斷發展,許多工程技術人員都將PC機作為控制、測量開發的首選平臺。而PCI(Peripheral Component Interconnect,即外圍部件互連)總線作為一種高性能、通用的局部總線,是目前計算機插卡式外設總線的事實標準。PCI總線具有32/64位總線寬度。地址線和數據線復用,支持猝發傳輸,傳輸速率高達132MB/s;系統占用率低,具有較好的兼容性;有完備的即插即用(PnP)管理體制,可同時支持多組外圍設備。雖然PCI總線也經歷了從PCI、PCI-X到PCI Express的發展,但PCI總線由于存在時間長,開發工具、開發資料眾多,在對數據吞吐量要求不是很高的工業控制、測量領域仍有著頑強的生命力。筆者在學習了相關設計資料的基礎上,設計了基于PCI總線的數據采集卡,可以完成8路數字量I/O及4路差分14位A/D采集功能。本文將根據筆者的實際經驗,介紹PCI接口擴展卡的軟硬件設計流程。  

1 PCI總線工作方式簡介  

PCI總線標準由intel于1991年提出,后由PCI-SIG(PCI Special Interest Group)接替了PCI規范的發展。PCI總線是一種時分復用的雙向應答總線,傳輸發起方稱為主設備,接收方稱為從設備。其主要信號定義如下:  

RFAME:由主設備驅動,為低,指示一次傳輸的開始。  

DEVSEL:由從設備驅動,為低,指示響應傳輸請求。  

ADO~AD31:地址、數據復用信號。PCI總線的數據傳輸以幀為單位,每次傳輸由一個地址周期和多個數據周期組成。首先給出本次傳輸的首地址,后面緊跟一個或多個4字節寬的數據,連續傳輸多個數據時,其地址自動遞增。  

C/BE0~C/BE3:這4根線在地址傳送周期,傳輸的是總線命令,C/BE0~C/BE3的不同組合指示在AD0~AD31上將要進行何種類型的操作,其代表的總線命令見表1;在數據傳送周期,傳輸的是字節始能信號,用來表示在整個數據期間,AD31~AD0上的哪些字節為有效數據。  

IRDY、TRDY:分別表示主設備準備好和從設備準備好。在傳輸過程中,只有IRDY和TRDY同時有效,傳輸才能繼續;否則插入等待周期,用于在不同速度的設備之間協調工作。  


  
表1地址傳送周期時。C/BE0~C/BE3所代表的總線命令PRSNT1、PRSNT2:PCI板對電源的請求信息,具體含義見表2。  


  
將PCI接口卡插入計算機插座,加電后,BIOS會根據PCI接口卡上的配置信息,為其分配相應的I/O端口、存儲器空間、中斷及DMA等計算機資源。  

2 PCI接口卡的硬件設計  

筆者設計的PCI數據采集卡使用的PCI接口芯片是CH365,CH365可將32位高速PCI總線轉換為簡便易用的類似于ISA總線的8位主動并行接口,支持240字節的I/O端口映射、32 K字節的存儲器映射、擴展ROM以及中斷。本數據采集卡僅使用了I/O端口映射及中斷功能。本PCI數據采集卡使用MAXIM公司的4通道14位、差分、同時采樣ADC:MAX1338,實現A/D轉換功能,并將MAX1338的/EOLC引腳與CH365的INT_REQ引腳相連,以便在ADC轉換完成后,向PC機發出中斷申請。使用兩片74HC273作為輸出,一片用作8路I/O輸出,另一片用作對MAX1338控制命令的輸出。使用兩片74HC373作為輸入,一片用作8路I/O輸入,另一片采集MAX1338的狀態指示信號。使用TLP521-4對8路I/O輸入、輸出進行光電隔離。使用74LS138作為地址譯碼。  

在制作印制板時,CH365的VCC與GND間應就近放置容量為0.1 μF高頻、低ESR的多層瓷片電容,連接PCI總線的電源線引腳可以自由選擇,但數量不宜少于4對。CH365屬于高頻數字電路,應該考慮信號阻抗匹配,在設計PCB板時需要參考PCI總線規范。建議CH365的PCI信號線的長度都小于35 mm,盡量走弧線或者45度線,避免直角或者銳角走線,并且盡量將信號走線布在元件面;CH365的PCI時鐘線CLK的長度盡量保持在50 mm~65 mm之間,并且不宜靠近其它信號線;在PCB背面保留大面積的接地覆銅,以減少周邊信號線的干擾。雖然PCI總線規范推薦使用四層板,但考慮成本等因素,可使用雙面板,雙面覆銅接地。筆者做的PCI數據采集卡即為雙面板,經實驗驗證在工業現場環境下,該卡能夠穩定工作。  

3 PCI接口卡驅動程序及軟件設計  

在Windows系統中,為避免因不當的硬件操作而導致系統崩潰,應用程序不再具有直接的硬件訪問權,如果要操作硬件,必須借助設備驅動程序。驅動程序主要功能是完成對硬件板卡的內存映像地址、I/O地址的存取,并正確處理來自板卡的硬件中斷。  

Microsoft為設備驅動程序的編寫提供了“Windows De-vice Drivers Kit”(簡稱DDK)工具,它包含了驅動開發所需的各種類型的定義和內核函數庫。用DDK編制的驅動程序有很高的運行效率,但是開發難度大,測試流程繁瑣。為減輕驅動開發者的負擔,很多第三方廠商提供了簡化驅動開發的軟件。如Numega公司的DriverStudio軟件,J ungo公司的WinDriver/KernelDriver軟件等。尤其是WinDriver/KernelDriver不要求開發者非常熟悉操作系統平臺,掌握核心開發、調試知識,即可在幾分鐘之內開發出相應的驅動程序。但WinDriver的運行效率較低,因此,在對運行效率較高的場合,可使用KernelDriver進行開發,以提高運行效率。  

由于本采集卡的數據吞吐量不高,因此采用WinDri-ver6.21進行驅動程序的開發,其開發過程如下:  

(1)運行Windriver程序,選擇"Create a new driver pro-ject”;  

(2)在彈出的“Select YourDevice”窗口中,從列表中選擇自己的硬件設備。由于CH365的默認廠商標識(Vendor-ID)為4348H,設備標識(DeviceID)為5049H,因此選中“PCI:VendorID 4348DeviceID5049”的PCI設備(如圖1)。  


  
(3)單擊“Generate.INF file”按鈕,產生采集卡的驅動安裝信息文件。注意:需選中“Automatically Install theINFfile”復選框,以便可以在(4)步中測試采集卡(如圖2)。  


  
(4)在“Define and Test Resources for Your Device”窗口中,設置采集卡的I/O地址及變量名,對于即插即用(Plug-and-play)設備,Windriver會自動發現其所用到的硬件資源(如:I/O范圍,存儲器范圍及中斷號等)(如圖3)。在此可對采集卡的I/O地址進行讀寫測試,以便驗證硬件設計是否正確。  


  
(5)在“SelectCode Generation Options”窗口中,選中合適的開發語言及開發平臺。在此選擇“Ms DeveloperStudic6,5”(即Microsoft VisualC++6/5),以便Windriver生成合適的驅動程序框架及相應的API函數(如圖4)。  


  
(6)保存Windriver產生的驅動開發工程后,Windriver會自動打開相應的開發環境(此處為:Microsoft VisualC++6),以便開發人員進行后續開發。  

通過以上步驟,Windriver生成一個基于Visual C++語言的程序框架,開發人員可以在此框架的基礎上進行修改,加入自己的程序,實現對硬件的操作。現以筆者編制的程序(工程文件名為ADC)為例進行介紹。  

在程序初始化階段,先調用PCI_Get_WD_handle(),判斷驅動程序windrvr6.sys是否已被加載,如果驅動程序已被加載,則調用ADC_LocateAndOpenBoard()函數,打開數據采集卡。在退出應用程序前,需先調用ADC_Close()函數,關閉數據采集卡。  

對MAX1338和8路I/O的寄存器操作可通過ADC_ReadByte()、ADC_WriteByte()兩個函數完成。對CH365內部配置寄存器的讀寫可通過ADC_Read-PCIReg()、ADC_WritePCIReg()兩個函數完成。完成應用程序的開發后,數據采集卡在其他的PC機上工作時,需提供windrvr6.sys、windrvr6.inf、wd_utils.dll、數據采集卡的,inf文件以及自己開發的應用程序或DLL。以便于PC機安裝相應的驅動程序,對板卡進行配置、操作。本文根據筆者的實踐經驗,簡要介紹了PCI擴展卡的開發流程,給出了一套快速可行的解決方案。該方案簡單易行、調試方便,可使工程技術人員迅速掌握PCI總線的開發技術,從而設計出符合工程需求的PCI擴展卡。
本文地址:http://www.qingdxww.cn/thread-22133-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 想要避免發生災難,就用MPLAB SiC電源仿真器!
  • Cortex-M4外設 —— TC&TCC結合事件系統&DMA優化任務培訓教程
  • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
  • 我們是Microchip
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 自拍毛片| 好吊妞这里只有精品 | 国产成人精品一区二区不卡 | 四虎影院在线网址 | 亚洲视频在线免费观看 | 黄色片视频免费观看 | 成人伊人亚洲人综合网站222 | 可以免费观看一级毛片黄a 可以免费观看的黄色网址 可以看的黑人性较视频 | 天堂网在线.www天堂在线视频 | 欧美成人全部免费观看1314色 | 久草青青 | 亚洲欧美日本在线 | 欧洲亚洲一区 | 久久精品国产99国产精品小说 | 2022国产麻豆剧传媒剧情 | 黄网址大全免费观看免费 | 免费看国产一级片 | 日本一区二区三区视频在线观看 | 国产网站在线看 | 国产高清区 | 九一国产在线观看免费 | 色综合久久88色综合天天小说 | 亚洲毛片免费在线观看 | 神马我不卡影视 | 一级毛片免费视频 | 国产成人精品亚洲 | 男人的天堂欧美精品色偷偷 | 国产成人精品一区二区视频 | 国产又黄又刺激又爽视频黄 | 亚洲国产三级在线观看 | 99久久久国产精品免费牛牛四川 | 日韩在线播放全免费 | 日本高清视频免费在线观看 | 国产日韩欧美精品一区 | 亚洲一区二区三区免费在线观看 | 日本一区二区三区免费看 | 欧美亚洲综合另类成人 | 亚洲综合成人在线 | 欧美日韩国产一区二区三区 | 欧美videos另类精品 | 91天堂最新在线观看 |