資料介紹
摘要:主要討論在WinCE設(shè)計和開發(fā)CAN卡通信程序的方法;詳細介紹CAN卡底層驅(qū)動函數(shù)的設(shè)計和實現(xiàn),同時將驅(qū)動進行封裝,用動態(tài)庫的方式提供給用戶CAN卡通信用的驅(qū)動,使用啟可以方便地在自己的程序中調(diào)用,實現(xiàn)WinCE下的CAN卡通信。
關(guān)鍵詞:WinCE.NET CAN 驅(qū)動
引言
近年來電力行業(yè)為了快速部署變電站,采用了建造整體變電所的方法:在生產(chǎn)基地將變電站的內(nèi)部設(shè)備安裝、調(diào)試完成,只留下與外界的接口,整體運到變電站所在地后進行安裝和簡單調(diào)試即可投入運行。其內(nèi)部設(shè)備通過CAN總線進行通信,系統(tǒng)原有的監(jiān)控軟件基于DOS系統(tǒng),維護調(diào)試比較困難,因此想要尋求更方便、友好的系統(tǒng)支持。經(jīng)過比較,嵌入式操作系統(tǒng)市場上風(fēng)頭正勁的Windows CE .NET成為最終選擇。微軟的最新產(chǎn)品Windows CE.NET提供了端對端的開發(fā)、調(diào)試手段,可以不拆卸設(shè)備的情況下通過Telnet登錄到WindowsCE上進行調(diào)試和維護,其系統(tǒng)本身為嵌入式市場進行重新設(shè)計,包括創(chuàng)建一個基于WindowsCE的定制設(shè)備所需的一切。這樣就需要將原來DOS下的程序移植到WindowsCE.NET下,但是各個硬件廠商目前還沒有提供CAN通信卡在Windows CE.NET下的驅(qū)動,所以開發(fā)Windows CE.NET下的CAN卡驅(qū)動成為項目推行中的關(guān)鍵一環(huán)。
本文主要針對研華的雙口CAN卡PCM3680進行分析,介紹在WindowsCE.ENT系統(tǒng)下進行底層設(shè)備驅(qū)動開發(fā)的方法并提供CAN通信的實例。
1 CAN總線通信協(xié)議及CAN通信卡介紹
CAN總線是德國Bosch公司20世紀(jì)80年代初為解決現(xiàn)代汽車中眾多的控制與測試儀器之間的數(shù)據(jù)交換而開的一種串行數(shù)據(jù)通信協(xié)議。它是一種多主總線,廢除了傳統(tǒng)的站地址編碼,而代之以對通信數(shù)據(jù)塊進行編碼。這種方法使網(wǎng)絡(luò)內(nèi)節(jié)點個數(shù)在理論上不受限制,擴展格式中的29位的標(biāo)識碼便可以定義2 29個不同的數(shù)據(jù)塊。
在本項目中使用的是研華的PCM3680,這是一塊嵌入式PC104的雙口CAN總線通信卡;CAN控制器采用Philips的獨立CAN控制器SJA1000芯片;CAN收發(fā)器采用Philips的P82C250,可以同時操作兩個CAN網(wǎng)絡(luò),提供高達1Mb/s的傳輸速度。PCM3680支持很寬的中斷范圍:中斷3、4、5、6、7、9、10、11、12、15,同時1000V的光電隔離提供系統(tǒng)高可靠性。在CAN卡通信中,要用到CAN控制器中的很多寄存器,各個寄存器的含義和作用可以參考控制芯片的說明書。圖1列出驅(qū)動程序設(shè)計中用到最主要的寄存器結(jié)構(gòu)。
2 CAN卡驅(qū)動底層函數(shù)設(shè)計
本方案設(shè)計CAN驅(qū)動是放在Windows CE操作系統(tǒng)的內(nèi)核下層,位于OEM adaptation layer(OAL)層的一個真正的驅(qū)動,而不是在主程序中的串口操作。在Windows CE的設(shè)備管理器可以看到CAN1和CAN2兩個端口,并且可以查看其工作的正常與否和對其進行配置。如:中斷號和I/O地址。
2.1 CAN卡寄存器讀寫函數(shù)
CAN卡的通信是通過操作CAN卡上的CAN控制器進行的。在CAN控制器中有很多寄存器,如控制寄存器、命令寄存器、狀態(tài)寄存器、中斷寄存器等,通過讀寫這些寄存器中的命令狀態(tài)字可以檢測和控制CAN卡的行為。在Windows CE.NET下,通過調(diào)用DOK中的API函數(shù)HalTranslateBusAddress,將CAN卡分配的物理地址映射為邏輯地址。這樣各個寄存器對應(yīng)的就是CAN卡基地址的偏移地址,因此,對寄存器的讀寫就轉(zhuǎn)化為對內(nèi)存地址的讀寫。
關(guān)鍵詞:WinCE.NET CAN 驅(qū)動
引言
近年來電力行業(yè)為了快速部署變電站,采用了建造整體變電所的方法:在生產(chǎn)基地將變電站的內(nèi)部設(shè)備安裝、調(diào)試完成,只留下與外界的接口,整體運到變電站所在地后進行安裝和簡單調(diào)試即可投入運行。其內(nèi)部設(shè)備通過CAN總線進行通信,系統(tǒng)原有的監(jiān)控軟件基于DOS系統(tǒng),維護調(diào)試比較困難,因此想要尋求更方便、友好的系統(tǒng)支持。經(jīng)過比較,嵌入式操作系統(tǒng)市場上風(fēng)頭正勁的Windows CE .NET成為最終選擇。微軟的最新產(chǎn)品Windows CE.NET提供了端對端的開發(fā)、調(diào)試手段,可以不拆卸設(shè)備的情況下通過Telnet登錄到WindowsCE上進行調(diào)試和維護,其系統(tǒng)本身為嵌入式市場進行重新設(shè)計,包括創(chuàng)建一個基于WindowsCE的定制設(shè)備所需的一切。這樣就需要將原來DOS下的程序移植到WindowsCE.NET下,但是各個硬件廠商目前還沒有提供CAN通信卡在Windows CE.NET下的驅(qū)動,所以開發(fā)Windows CE.NET下的CAN卡驅(qū)動成為項目推行中的關(guān)鍵一環(huán)。
本文主要針對研華的雙口CAN卡PCM3680進行分析,介紹在WindowsCE.ENT系統(tǒng)下進行底層設(shè)備驅(qū)動開發(fā)的方法并提供CAN通信的實例。
1 CAN總線通信協(xié)議及CAN通信卡介紹
CAN總線是德國Bosch公司20世紀(jì)80年代初為解決現(xiàn)代汽車中眾多的控制與測試儀器之間的數(shù)據(jù)交換而開的一種串行數(shù)據(jù)通信協(xié)議。它是一種多主總線,廢除了傳統(tǒng)的站地址編碼,而代之以對通信數(shù)據(jù)塊進行編碼。這種方法使網(wǎng)絡(luò)內(nèi)節(jié)點個數(shù)在理論上不受限制,擴展格式中的29位的標(biāo)識碼便可以定義2 29個不同的數(shù)據(jù)塊。
在本項目中使用的是研華的PCM3680,這是一塊嵌入式PC104的雙口CAN總線通信卡;CAN控制器采用Philips的獨立CAN控制器SJA1000芯片;CAN收發(fā)器采用Philips的P82C250,可以同時操作兩個CAN網(wǎng)絡(luò),提供高達1Mb/s的傳輸速度。PCM3680支持很寬的中斷范圍:中斷3、4、5、6、7、9、10、11、12、15,同時1000V的光電隔離提供系統(tǒng)高可靠性。在CAN卡通信中,要用到CAN控制器中的很多寄存器,各個寄存器的含義和作用可以參考控制芯片的說明書。圖1列出驅(qū)動程序設(shè)計中用到最主要的寄存器結(jié)構(gòu)。
2 CAN卡驅(qū)動底層函數(shù)設(shè)計
本方案設(shè)計CAN驅(qū)動是放在Windows CE操作系統(tǒng)的內(nèi)核下層,位于OEM adaptation layer(OAL)層的一個真正的驅(qū)動,而不是在主程序中的串口操作。在Windows CE的設(shè)備管理器可以看到CAN1和CAN2兩個端口,并且可以查看其工作的正常與否和對其進行配置。如:中斷號和I/O地址。
2.1 CAN卡寄存器讀寫函數(shù)
CAN卡的通信是通過操作CAN卡上的CAN控制器進行的。在CAN控制器中有很多寄存器,如控制寄存器、命令寄存器、狀態(tài)寄存器、中斷寄存器等,通過讀寫這些寄存器中的命令狀態(tài)字可以檢測和控制CAN卡的行為。在Windows CE.NET下,通過調(diào)用DOK中的API函數(shù)HalTranslateBusAddress,將CAN卡分配的物理地址映射為邏輯地址。這樣各個寄存器對應(yīng)的就是CAN卡基地址的偏移地址,因此,對寄存器的讀寫就轉(zhuǎn)化為對內(nèi)存地址的讀寫。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于WindowsCE.Net的CAN卡的驅(qū)動程序設(shè)計解析 0次下載
- 嵌入式Linux下的LCD驅(qū)動程序設(shè)計方案解析 0次下載
- WinCE流驅(qū)動程序設(shè)計概述 7次下載
- 基于Windows CE.NET的設(shè)備驅(qū)動程序開發(fā) 0次下載
- 基于Windows CENET嵌入式數(shù)據(jù)采集卡的驅(qū)動程序設(shè)計 0次下載
- 基于WINDOWS CE的開放式數(shù)控系統(tǒng)設(shè)備驅(qū)動程序開發(fā) 0次下載
- 基于WinCE環(huán)境的CAN適配卡驅(qū)動程序的設(shè)計與實現(xiàn) 3次下載
- 嵌入式Linux下CAN總線驅(qū)動程序設(shè)計.rar 51次下載
- PCI總線高速數(shù)據(jù)采集卡及其驅(qū)動程序設(shè)計
- 嵌入式uClinux下的CAN總線設(shè)備驅(qū)動程序設(shè)計
- 基于WindowsCE.NET的車載導(dǎo)航的LED驅(qū)動開發(fā)
- uClinux 下CAN 通信卡驅(qū)動程序的實現(xiàn)
- windowsCE.Net 下CAN卡的驅(qū)動程序設(shè)計
- WindowsCE.Net 下CAN 卡的驅(qū)動程序設(shè)計
- VxWorks下PC/104-CAN驅(qū)動程序設(shè)計
- CAN分析儀的驅(qū)動程序如何正確安裝 1335次閱讀
- 怎么編寫Framebuffer驅(qū)動程序 589次閱讀
- 解析PLC梯形圖程序設(shè)計 1609次閱讀
- ProfiNet輸入/輸出端的驅(qū)動程序解析 3579次閱讀
- 基于SJA1000和P82C250芯片實現(xiàn)PCM3680雙口CAN總線通信卡的設(shè)計 2697次閱讀
- 基于TMS320VC5410 DSP的PCI語音卡和WDM設(shè)備驅(qū)動程序設(shè)計 2931次閱讀
- 米爾科技LINUX設(shè)備驅(qū)動程序教程 2103次閱讀
- CAN通信軟件設(shè)計 4240次閱讀
- 淺談電腦驅(qū)動程序的工作原理 詳解電腦驅(qū)動程序意義 3w次閱讀
- 關(guān)于驅(qū)動程序設(shè)計的5個竅門 4487次閱讀
- 8255A驅(qū)動程序 3429次閱讀
- 8155驅(qū)動程序 3284次閱讀
- max7219點陣驅(qū)動程序分享 1.9w次閱讀
- Xilinx設(shè)備的驅(qū)動程序 8200次閱讀
- PCI驅(qū)動程序開發(fā)實例 6831次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發(fā)板設(shè)計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 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十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多