色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于PCI總線的CAN卡的設(shè)計與實現(xiàn)

          基于PCI總線的CAN卡的設(shè)計與實現(xiàn)

          作者: 時間:2009-10-23 來源:網(wǎng)絡(luò) 收藏

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

          2 軟件設(shè)計

          軟件設(shè)計包括驅(qū)動程序的設(shè)計和COM組件程序設(shè)計。

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

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

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


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: PCI CAN 總線 卡的設(shè)計

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉