資料介紹
摘要:主要討論在WinCE設計和開發CAN卡通信程序的方法;詳細介紹CAN卡底層驅動函數的設計和實現,同時將驅動進行封裝,用動態庫的方式提供給用戶CAN卡通信用的驅動,使用啟可以方便地在自己的程序中調用,實現WinCE下的CAN卡通信。
關鍵詞:WinCE.NET 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卡基地址的偏移地址,因此,對寄存器的讀寫就轉化為對內存地址的讀寫。
關鍵詞:WinCE.NET 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卡基地址的偏移地址,因此,對寄存器的讀寫就轉化為對內存地址的讀寫。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于WindowsCE.Net的CAN卡的驅動程序設計解析 0次下載
- 嵌入式Linux下的LCD驅動程序設計方案解析 0次下載
- WinCE流驅動程序設計概述 7次下載
- 基于Windows CE.NET的設備驅動程序開發 0次下載
- 基于Windows CENET嵌入式數據采集卡的驅動程序設計 0次下載
- 基于WINDOWS CE的開放式數控系統設備驅動程序開發 0次下載
- 基于WinCE環境的CAN適配卡驅動程序的設計與實現 3次下載
- 嵌入式Linux下CAN總線驅動程序設計.rar 51次下載
- PCI總線高速數據采集卡及其驅動程序設計
- 嵌入式uClinux下的CAN總線設備驅動程序設計
- 基于WindowsCE.NET的車載導航的LED驅動開發
- uClinux 下CAN 通信卡驅動程序的實現
- windowsCE.Net 下CAN卡的驅動程序設計
- WindowsCE.Net 下CAN 卡的驅動程序設計
- VxWorks下PC/104-CAN驅動程序設計
- CAN分析儀的驅動程序如何正確安裝 964次閱讀
- 怎么編寫Framebuffer驅動程序 402次閱讀
- 解析PLC梯形圖程序設計 1402次閱讀
- ProfiNet輸入/輸出端的驅動程序解析 3409次閱讀
- 基于SJA1000和P82C250芯片實現PCM3680雙口CAN總線通信卡的設計 2537次閱讀
- 基于TMS320VC5410 DSP的PCI語音卡和WDM設備驅動程序設計 2807次閱讀
- 米爾科技LINUX設備驅動程序教程 1965次閱讀
- CAN通信軟件設計 4123次閱讀
- 淺談電腦驅動程序的工作原理 詳解電腦驅動程序意義 2.9w次閱讀
- 關于驅動程序設計的5個竅門 4378次閱讀
- 8255A驅動程序 3192次閱讀
- 8155驅動程序 3057次閱讀
- max7219點陣驅動程序分享 1.8w次閱讀
- Xilinx設備的驅動程序 7967次閱讀
- PCI驅動程序開發實例 6701次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多