<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • WindowsCE.Net下CAN卡的驅動程序設計

    時間:2024-09-28 12:56:47 理工畢業論文 我要投稿
    • 相關推薦

    WindowsCE.Net下CAN卡的驅動程序設計

    摘要:主要討論在WinCE設計和開發CAN卡通信程序的方法;詳細介紹CAN卡底層驅動函數的設計和實現,同時將驅動進行封裝,用動態庫的方式提供給用戶CAN卡通信用的驅動,使用啟可以方便地在自己的程序中調用,實現WinCE下的CAN卡通信。

    引言

    近年來電力行業為了快速部署變電站,采用了建造整體變電所的方法:在生產基地將變電站的內部設備安裝、調試完成,只留下與外界的接口,整體運到變電站所在地后進行安裝和簡單調試即可投入運行。其內部設備通過CAN總線進行通信,系統原有的監控軟件基于DOS系統,維護調試比較困難,因此想要尋求更方便、友好的系統支持。經過比較,嵌入式操作系統市場上風頭正勁的Windows CE .NET成為最終選擇。微軟的最新產品Windows CE.NET提供了端對端的開發、調試手段,可以不拆卸設備的情況下通過Telnet登錄到WindowsCE上進行調試和維護,其系統本身為嵌入式市場進行重新設計,包括創建一個基于WindowsCE的定制設備所需的一切。這樣就需要將原來DOS下的程序移植到WindowsCE.NET下,但是各個硬件廠商目前還沒有提供CAN通信卡在Windows CE.NET下的驅動,所以開發Windows CE.NET下的CAN卡驅動成為項目推行中的關鍵一環。

    本文主要針對研華的雙口CAN卡PCM3680進行分析,介紹在WindowsCE.ENT系統下進行底層設備驅動開發的方法并提供CAN通信的實例。

    1 CAN總線通信協議及CAN通信卡介紹

    CAN總線是德國Bosch公司20世紀80年代初為解決現代汽車中眾多的控制與測試儀器之間的數據交換而開的一種串行數據通信協議。它是一種多主總線,廢除了傳統的站地址編碼,而代之以對通信數據塊進行編碼。這種方法使網絡內節點個數在理論上不受限制,擴展格式中的29位的標識碼便可以定義2 29個不同的數據塊。

    在本項目中使用的是研華的PCM3680,這是一塊嵌入式PC104的雙口CAN總線通信卡;CAN控制器采用Philips的獨立CAN控制器SJA1000芯片;CAN收發器采用Philips的P82C250,可以同時操作兩個CAN網絡,提供高達1Mb/s的傳輸速度。PCM3680支持很寬的中斷范圍:中斷3、4、5、6、7、9、10、11、12、15,同時1000V的光電隔離提供系統高可靠性。在CAN卡通信中,要用到CAN控制器中的很多寄存器,各個寄存器的含義和作用可以參考控制芯片的說明書。圖1列出驅動程序設計中用到最主要的寄存器結構。

    2 CAN卡驅動底層函數設計

    本方案設計CAN驅動是放在Windows CE操作系統的內核下層,位于OEM adaptation layer(OAL)層的一個真正的驅動,而不是在主程序中的串口操作。在Windows CE的設備管理器可以看到CAN1和CAN2兩個端口,并且可以查看其工作的正常與否和對其進行配置。如:中斷號和I/O地址。

    2.1 CAN卡寄存器讀寫函數

    CAN卡的通信是通過操作CAN卡上的CAN控制器進行的。在CAN控制器中有很多寄存器,如控制寄存器、命令寄存器、狀態寄存器、中斷寄存器等,通過讀寫這些寄存器中的命令狀態字可以檢測和控制CAN卡的行為。在Windows CE.NET下,通過調用DOK中的API函數HalTranslateBusAddress,將CAN卡分配的物理地址映射為邏輯地址。這樣各個寄存器對應的就是CAN卡基地址的偏移地址,因此,對寄存器的讀寫就轉化為對內存地址的讀寫。下面是CAN卡寄存器的讀寫函數:

    *在偏移量為off的地址讀取一個字節的數據inline BYTE CANR(LPCAN_HW_OPEN_INFO hCan,DWORD off)

    {

    return hCan-

    【WindowsCE.Net下CAN卡的驅動程序設計】相關文章:

    嵌入式Linux下CAN總線驅動程序設計03-07

    windowsnt環境下fddi網卡驅動程序設計(2)03-18

    windows nt環境下fddi網卡驅動程序設計03-18

    I2C總線在uClinux操作系統下的驅動程序設計11-22

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

    在Linux下驅動STN彩色LCD03-18

    μC/OS-II的多任務信息流與CAN總線驅動03-18

    基于PCI總線的雙DSP系統及WDM驅動程序設計03-19

    任務驅動下物流教學探討論文11-20

    主站蜘蛛池模板: 色偷偷888欧美精品久久久| 久久久久国产精品嫩草影院| 国产亚洲精品影视在线产品| 91麻豆国产福利精品 | 98视频精品全部国产| 国产精品色视频ⅹxxx | 久久精品国产亚洲Aⅴ香蕉 | 国产精品香蕉在线观看| 久久精品国产精品亚洲精品| 蜜臀久久99精品久久久久久小说| 久久久WWW成人免费精品| 99热成人精品国产免男男| 国产精品久久久久9999| 国产精品久久久久国产A级| 亚洲av无码国产精品色午夜字幕| 香蕉99久久国产综合精品宅男自| 精品欧美一区二区在线看片| 9191精品国产免费久久| 亚洲精品国产成人99久久| 秋霞午夜鲁丝片午夜精品久 | 久久精品无码一区二区无码| 亚洲精品视频在线观看你懂的| 国产精品自产拍在线18禁| 91麻豆精品一二三区在线 | 亚洲欧洲精品成人久久曰影片| 精品亚洲一区二区三区在线观看| Xx性欧美肥妇精品久久久久久| 国产在线精品一区二区不卡| 国产精品亚洲片在线va| 久久亚洲国产午夜精品理论片| 久久国产免费观看精品| 青青草国产精品欧美成人| 91大神精品全国在线观看| 97视频在线精品国自产拍| 国产叼嘿久久精品久久| 国产精品99久久久久久董美香| 国产va免费精品| 久久99精品国产麻豆蜜芽| 欧美精品人人做人人爱视频| 四虎国产精品永久地址入口| 中文字幕在线亚洲精品|