久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 模擬技術 > 設計應用 > 基于PCI總線的CAN卡的設計與實現

基于PCI總線的CAN卡的設計與實現

作者: 時間:2009-10-23 來源:網絡 收藏

卡的電路框圖如圖1所示。

2 軟件設計

軟件設計包括驅動程序的設計和COM組件程序設計。

由于設備的中斷、I/O端口、映射內存等資源都是動態分配的,必須編寫驅動程序管理硬件,才能供用戶編程使用。為了通用性和兼容性,卡驅動程序的開發采用支持Windows XP、Windows2000和Windows98的WDM驅動程序。開發工具采用Visual C++6.0和Win2000 DDK。由于卡上沒有微控制器,因此對CAN端口的所有操作都是由驅動程序來完成的。這不僅可以由計算機來實現復雜的功能,例如,錯誤檢測、斷點續傳等,同時節省了硬件,而且有利于CAN卡的升級――只要更換驅動程序即可。驅動程序的功能主要是配置SJA1000的CAN接口、收發CAN上的數據、對CAN進行實時監測、接收用戶程序的收發命令。收發數據和CAN總線錯誤均采用中斷處理,驅動程序可以快速響應,通過事件(Event)內核對象直接通知給用戶程序。由于WDM驅動程序運行在系統的內核態,編寫非常復雜,限于篇幅,僅給出軟件的框圖(見圖2)。

為了方便用戶的使用,還應編寫相應的API函數或ActiveX控件等其它應用層的程序提供給用戶。由于ActiveX控件基于先進的COM技術,具有良好的封裝性、使用靈活性等特點,可使用戶編程簡單、方便,因此在CAN中編寫了ActiveX控件。ActiveX控件負責與驅動程序的通信,通過控件的事件把CAN卡接收的數據通知給用戶程序,利用控件的屬性設置CAN通信控制器,按照設置的方法發送用戶程序的數據。

根據以上的設計,開發了名為Can1000的CAN卡。經使用證明,該卡設計簡單明了、性能較高、成本低廉、驅動程序和ActiveX控件使用方便,達到了設計和用戶的要求。


上一頁 1 2 3 下一頁

關鍵詞: PCI CAN 總線 卡的設計

評論


相關推薦

技術專區

關閉