新聞中心

        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 總線 卡的設計

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 微博| 崇信县| 唐河县| 讷河市| 宁城县| 霍城县| 庐江县| 河池市| 宁河县| 上饶市| 沙洋县| 大渡口区| 仲巴县| 奎屯市| 咸阳市| 昌江| 东乡族自治县| 曲阜市| 常山县| 温州市| 安徽省| 西安市| 高州市| 苍梧县| 阜新市| 延庆县| 双流县| 深州市| 湾仔区| 峡江县| 新源县| 姜堰市| 资源县| 城固县| 和田市| 克什克腾旗| 临夏县| 织金县| 舟曲县| 德钦县| 游戏|