SF9623隔離型CAN總線通訊板_第1頁
SF9623隔離型CAN總線通訊板_第2頁
SF9623隔離型CAN總線通訊板_第3頁
SF9623隔離型CAN總線通訊板_第4頁
SF9623隔離型CAN總線通訊板_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、SF-9623隔離型CAN總線通訊板1. 綜述SF-9623是一種隔離型CAN總線通訊板,可方便地應用于裝有PC104+ 總線插槽的微機。PC操作系統可選用目前流行的 Windows 系列、Unix等多種操作系統環境。CAN是一種數字化總線通訊標準,采用總線仲裁方式進行網絡管理,實時性很高,可保證系統對事件的響應,而且通訊可靠性高,CAN主要應用于可靠性要求價高的系統中。2. 性能與技術參數2.1. 技術參數= CAN通道數:兩個= CAN網絡通訊最高速率1Mbit/s= 隔離耐壓:1000Vdc2.2. 使用環境要求= 工作溫度:-1040;相對濕度:4080; 存貯溫度:-55+85;2.

2、3. 電源功耗= +5V/300mA2.4. 外形尺寸=外型尺寸(不含檔板):長×高120mm X 92mm3. 工作原理SF-9623隔離型CAN總線通訊板有104+總線接口部分和CAN通訊部分。104+總線接口部分實現通訊板與PC機數據接口,控制邏輯由CPLD電路內部設計的邏輯實現,總線寬度8位。CAN通訊部分實現了CAN物理層和數據鏈路層協議,主要由CAN網絡接口控制器SJA1000T(Philips)實現,網絡收發器使用82C250(Philips),連接接口通過DB-9實現。Bus-HBus-L PCI BUSBus-LBus-HCAN82C50CAN82C50SJA100

3、0TSJA1000TPCIBUS接口邏輯4. 安裝及使用注意安裝本卡的安裝十分簡便,只要將主機機殼打開,在關電情況下,將本卡插入104+的槽中即可。DB-9插頭可從主機后面引出并與外設連接。使用注意在安裝或用手觸摸本卡時,應避免直接用手接觸器件管腳,以免損壞器件。 本卡跳線器較多,使用中應嚴格按照說明書進行設置操作。禁止帶電插拔插本接口卡。設置接口卡開關、跳線和安裝接口電纜均應在關電狀態下進行。5. 使用與操作5.1. 插座接口定義與連接方式 CAN接口DB-9管腳(XS1、XS2)接口信號定義說明Bus-H:CAN通訊信號高電平Bus-L:CAN通訊信號低電平GND: 地5.2. 跳線設置終

4、端電阻連接XF1對應端口一、XF3對應端口二,跳接上則可以匹配120電阻以消除傳送過程中的反射,提高抗干擾能力。6. 軟件簡要說明隨機提供的軟件是北京科爾特興業測控研究所為用戶提供的測試軟件及其開發包。用戶如果使用科爾特提供的驅動程序,則可以通過隨機的開發包,開發自己的用戶控制程序;并可以通過測試軟件檢測PCI9623的硬件是否正常工作,并了解PCI9623進行CAN通訊控制的參數控制 和操作特性。注意:軟件應用及其使用說明建立在本公司提供的設備驅動程序上。本說明不涉及用戶通過技術說明書編制自己的驅動程序以及根據驅動接口編制的用戶控制程序的內容。7. 提供的軟件內容隨板卡提供的軟件包括:驅動及

5、安裝、測試程序、接口動態連接庫和函數說明、編程舉例驅動程序與驅動安裝文件,目錄路徑:Product_PCI9623PCI9623 Driver Product_PCI9623PCI9623 Driver win98 Windows 98驅動目錄Product_PCI9623PCI9623 Driver win2k Windows 2000驅動目錄Product_PCI9623PCI9623 Driver winXP Windows xp驅動目錄Product_PCI9623PCI9623 Driver winNT Windows NT驅動目錄接口動態連接庫路徑Product_PCI9623De

6、velop PCI9623LibDLL接口函數定義文件Product_PCI9623Develop PCI9623Include測試程序路徑Product_PCI9623Test PCI9623編程舉例源碼路徑Product_PCI9623Samples Source8. 驅動安裝與設備管理對于在windows的操作系統下安裝驅動程序的方法如下Windows 98驅動安裝:1、關閉計算機的電源;2、將PCI9623板卡插入PCI查槽中;3、打開計算機電源,啟動Windows 98;4、Windows 98將會顯示找到新硬件(將顯示找到PCI簡易通訊設備),進行下一步;5、在添加硬件向導窗口中選

7、擇搜索設備的最新驅動程序,下一步;6、選擇驅動所在目錄,進行安裝(PCI9623 Driver win98);7、Windows 98將顯示找到PCI_9623 PCI Adapter,提示進行下一步;8、驅動已經安裝完成注:安裝完畢后將在設備管理器中出現一個其他設備(其他設備是問號-不表示設備有問題,只是表示系統PCI9623板卡設備類型為其他設備),設備說明為: PCI_9623 PCI Adapter;Windows 2000驅動安裝:1、關閉計算機的電源;2、將PCI9623板卡插入PCI查槽中;3、打開計算機電源,啟動Windows 2000;4、進入設備管理器,選擇其他設備中,未安

8、裝程序的PCI簡易通訊控制器5、打開其屬性升級設備驅動程序;6、選擇驅動所在目錄,進行安裝(PCI9623 Driver win2k);7、按找到新硬件向導的提示進行下一步;8、Windows 2000將顯示完成添加/刪除硬件向導,單擊完成即可完成安裝過程(提示重新啟動計算機,則重新啟動)注:安裝完畢后將在設備管理器中出現一個其他設備(其他設備是問號-不表示設備有問題,只是表示系統PCI9623板卡設備類型為其他設備),設備說明為: PCI_9623 PCI Adapter;Windows XP驅動安裝:1、關閉計算機的電源;2、將PCI9623板卡插入PCI查槽中;3、打開計算機電源,啟動W

9、indows XP;4、Windows XP將會顯示找到新硬件,可按找到新硬件向導進行下一步;5、選擇從搜索設備的最新驅動程序安裝,下一步;6、選擇驅動所在目錄,進行安裝(PCI9623 Driver winXP);7、按找到新硬件向導的提示進行下一步;8、Windows XP將顯示完成添加/刪除硬件向導,單擊完成即可完成安裝過程, 重新啟動計算機.注:安裝完畢后將在設備管理器中出現一個其他設備(其他設備是問號-不表示設備有問題,只是表示系統PCI9623板卡設備類型為其他設備),設備說明為: PCI_9623 PCI Adapter;Windows NT驅動安裝:1、關閉計算機的電源;2、將

10、PCI9623板卡插入PCI查槽中;3、打開計算機電源,啟動Windows NT;4、選擇驅動所在目錄(PCI9623 Driver winNT),運行Setup.exe進行安裝;5、在驅動列表中選擇PCI9623,按驅動按鈕;6、在彈出的文件選擇對話框中選擇PCI9623.sys,按確認退出7、重新啟動計算機,即可完成安裝過程注:安裝完畢后將在設備管理器中出現一個其他設備(其他設備是問號-不表示設備有問題,只是表示系統PCI9623板卡設備類型為其他設備),設備說明為: PCI_9623 PCI Adapter;9. 測試程序使用說明9.1測試程序功能測試程序用于測試PCI9623的通訊功能

11、工作情況和調試板上參數。可以測試CAN端口的通訊信息收發。9.2. 端口參數設置1,選擇傳送速率2,設置端口0、端口1的地址掩碼和本地地址,執行“初始化端口” 9.3. 端口數據發送編輯發送內容,執行“單步發送”; 9.4. 端口數據接收接收端口收到數據,會顯示接收數據,可對照發送端口的發送內容;同時“已收數據幀數”加一。9.5. 端口數據連續收發設置“連續發送數據幀數”,執行“連續發送”;發送端口會按照設置的幀數發送數據幀;已收數據幀數,會顯示接收到的數據幀數。10. 編程說明編程使用本公司提供的驅動時請注意,本公司為用戶提供了VC和CBuilder兩種格式的DLL。除CBuilder編程使

12、用CBuilder格式的Pci9623Cbdll.dll,其他編程環境建議用戶使用標準格式的Pci9623Dll.dll。用戶可以在Product_PCI9623Develop 控制方式舉例由VC+程序說明,其它語言開發說明請參考在文檔中提供的編程舉例。10.1. 數據說明l SJA1000T CAN通訊速率選擇參數(24M工作時鐘下)#defineCAN_BPS_1M0xc0a3#defineCAN_BPS_500K0xc1a3#defineCAN_BPS_250K0xc2a3#defineCAN_BPS_125K0xc7a3#defineCAN_BPS_50K0xc7afl CAN2.0A

13、通訊信息幀說明typedef struct _CANFRAME UCHARmFrame10;CANFRAME,*PCANFRAME;信息幀分信息和數據兩部分。頭兩個字節為信息部分,前11位(0-10)為標識符,標識符的前8位(ID)用于接收判斷,應包含這一幀的目的站地址;第11位為RTR位,應設為0,最后是4位的DLC表示數據長度,單位為字節,幾所發數據的實際長度。其余8個字節是數據部分。76543210字節1標識符(ID)字節2標識符RTRDLC字節3數 據字節4數 據字節5數 據字節6數 據字節7數 據字節8數 據字節9數 據字節10數 據l 接收地址屏蔽字(掩碼)CAN_MASK接收屏蔽

14、字用于接收數據的過濾,與本地地址共同作用決定本站可接收的信息幀。判斷方式如下:ID | CAN_MASK = 本地地址 | CAN_MASK接收所有信息幀,CAN_MASK設為0xFF;只接收發給自己的信息幀,CAN_MASK設為0x0。10.2. 接口函數說明設備管理 BOOL _stdcall PCI9623_IsOpen(int mDev)用途: 確認設備是否已經打開;返回參數:返回值為BOOL,返回TRUE表示該設備已經正確打開,FALSE表示該設備未被打開;調用參數:mDev32位int設備序號。取值為范圍0-3;BOOL _stdcall PCI9623_Open(int mDev

15、)用途: 打開一個7621設備;返回參數:返回值為BOOL,返回TRUE表示該設備打開成功,FALSE表示該設備打開失敗;調用參數:mDev32位int需要打開的設備序號。取值為范圍0-3;BOOL _stdcall PCI9623_Close(int mDev)用途: 關閉一個7621設備;返回參數:返回值為BOOL返回TRUE表示該設備關閉成功,FALSE表示該設備關閉失敗;調用參數:mDev32位int需要打開的設備序號。取值為范圍0-3;端口初始化BOOL_stdcallPci9623_InitState(int mDev,int nPort,UINTCAN_bps,UCHARCAN_

16、StationAddress,UCHARCAN_Mask,HANDLEhWnd);BOOL_stdcallPci9623_InitStateEx(int mDev,intnPort,UINTCAN_bps,UCHARCAN_StationAddress,UCHARCAN_Mask,HANDLEmRxEvent);用途: 用于PCI9623通訊端口的初始化;返回參數:返回值為BOOL返回TRUE表示初始化成功,FALSE表示初始化失敗;調用參數:mDev32位int設備序號。取值為范圍0-3;nPort32位int端口序號。取值為范圍0-1;CAN_bps 16位UINTSJA1000T CAN

17、通訊速率選擇參數(24M工作時鐘下)取值為:CAN_BPS_1M0xc0a3CAN_BPS_500K0xc1a3CAN_BPS_250K0xc2a3CAN_BPS_125K0xc7a3CAN_BPS_50K0xc7afCAN_StationAddress nPort端口對應的站地址CAN_Mask nPort端口數據接收屏蔽字mRxEvent事件句柄用于判斷該端口接收到數據的信號量hWnd窗口句柄指示接收數據后需要通知的窗口數據發送BOOL_stdcallPci9623_Send(int mDev,int mPort,PCANFRAME pSendFrame);用途: 用于PCI9623通訊端

18、口的發送數據幀;返回參數:返回值為BOOL返回TRUE表示發送成功,FALSE表示發送失敗;調用參數:mDev32位int設備序號。取值為范圍0-3;nPort32位int端口序號。取值為范圍0-1;pSendFrame數據幀指針(數據幀定義見10.1節 數據說明)數據讀取int_stdcallPci9623_ReadFrame(int mDev,int mPort,CANFRAME *pFrame);用途: 用于讀取PCI9623通訊端口的接收到的數據幀;當采用高速連續幀傳輸時,建議使用使用Pci9623_ReadFrameEx。返回參數:返回值為32位int返回值小于0表示讀取失敗或沒有數

19、據;返回值等于0,表示讀取完成,并且沒有剩余接收緩沖數據幀;返回值大于0,表示接收緩沖區還剩余的接收數據幀數;調用參數:mDev32位int設備序號。取值為范圍0-3;nPort32位int端口序號。取值為范圍0-1;pSendFrame放置接收數據幀的緩沖區指針; int_stdcallPci9623_ReadFrameEx(int mDev,int mPort,CANFRAME *pFrame,int *rMax);用途: 用于讀取PCI9623通訊端口的接收到的數據幀;當采用高速連續幀傳輸時,使用Pci9623_ReadFrameEx讀取可以實現快速,不丟幀傳輸。返回參數:返回值為32位

20、int返回值小于0表示讀取失敗或沒有數據;返回值等于0,表示讀取完成,并且沒有剩余接收緩沖數據幀;返回值大于0,表示接收緩沖區還剩余的接收數據幀數;調用參數:mDev32位int設備序號。取值為范圍0-3;nPort32位int端口序號。取值為范圍0-1;pSendFrame放置接收數據幀的緩沖區指針; rMax32位int指針指向表示需要一次讀出的數據幀數量,必須小于等于pSendFrame指向的以幀為單位的緩沖區大小值,調用結束后,表示實際讀出的數據幀數;10.3. VC實現功能舉例參照提供的VC+程序源碼,在Product_PCI96231Samples SourceVcSample76

21、21用戶編程時,在程序中包含接口說明文件PCI9623.h,在工程中添加動態連接庫的導入庫PCI9623dll.lib。或自己使用現實加載。設備打開if(!Pci9623_IsOpen(0) /判斷0號設備是否打開if(!Pci9623_Open(0)AfxMessageBox("Pci9623設備打開正確");else AfxMessageBox("Pci9623設備打開失敗");初始化端口HANDLE mRx0Event=NULL;HANDLE mRx1Event=NULL;mRx0Event = CreateEvent(NULL,TRUE,FALS

22、E,NULL);mRx1Event = CreateEvent(NULL,TRUE,FALSE,NULL);if(!Pci9623_InitStateEx(0,0,CAN_BPS_250K,1,0xff,mRx0Event)AfxMessageBox("端口0初始化失敗");elseAfxMessageBox("端口0初始化正確");if(!Pci9623_InitStateEx(0,1,CAN_BPS_250K,1,0xff,mRx1Event)AfxMessageBox("端口1初始化失敗");elseAfxMessageBox(

23、"端口1初始化正確");數據收發:CANFRAME ddd;CANFRAME ddd1;ddd.mFrame0=0x8f;/CAN ID0ddd.mFrame1=0x88;/CAN ID1ddd.mFrame2=0x31;ddd.mFrame3=0x32;ddd.mFrame4=0x33;ddd.mFrame5=0x34;ddd.mFrame6=0x35;ddd.mFrame7=0x36;ddd.mFrame8=0x37;ddd.mFrame9=0x38;if(!Pci9623_Send(0,0,&ddd)AfxMessageBox("端口0發送失敗&qu

24、ot;);return;if(WaitForSingleObject(mRx1Event,1000) = WAIT_OBJECT_0) ResetEvent(mRx1Event);AfxMessageBox("端口1收到數據");if(!Pci9623_ReadFrame(0,1,&ddd1)AfxMessageBox("端口1讀取數據失敗");elseAfxMessageBox("端口1讀取數據成功");設備關閉if(Pci9623_IsOpen(0)if(!Pci9623_Close(0)AfxMessageBox(&qu

25、ot;Pci9623設備關閉正確");else AfxMessageBox("Pci9623設備關閉失敗");10.4. CBuilder接口說明參照提供的CBuilder+程序源碼,在Product_ISA7561Samples SourceCbSample7621。用戶編程時,在程序中包含接口說明文件CbPci9623dll.h,在工程中添加動態連接庫的導入庫CbPci9623dll.lib。或自己使用現實加載。CBuilder是用自己獨立的DLL:CbPci9623dll.dll。編程的函數調用與設備控制與VC相同。10.5. Delphi接口方法舉例參照為

26、用戶提供的Delph程序源碼,保存在Product_PCI9623 Samples SourceDelphSample7621目錄下。用戶編程時,在程序工程中包含接口類型說明文件PCI9623.pas。用戶使用API函數控制編程時需要用HH:=LoadLibrary('PCI9623DLL.dll')顯式加載動態連接庫PCI9623DLL.dll;退出時用FreeLibrary(HH)釋放;使用GetProcAddress 函數導出接口API函數例如:varPCI9623_IsOpen:TPCI9623_IsOpen;implementation/ TPCI9623_IsOpe

27、n在PCI9623.pas定義其類型 PCI9623_IsOpen := GetProcAddress(HH,'PCI9623_IsOpen')在例子中給出了接口方法和一個完整的示例。幀結構定義type PCANFRAME = CANFRAME ; CANFRAME = record mFrame:Array 0.9 of byte;end;函數說明如下。type PInt = Integer; PWord = WORD; HANDLE = DWORD; TPci9623_IsOpen=function(mDev:DWORD): bool; stdcall; TPci9623_

28、Open=function(mDev:DWORD): bool; stdcall; TPci9623_Close=function(mDev:DWORD): bool; stdcall; TPci9623_InitStateEx=function(mDev:DWORD;nPort:DWORD;CAN_bps:WORD; CAN_StationAddress:BYTE;CAN_Mask:BYTE;mRxEvent:HANDLE): bool; stdcall; TPci9623_Send=function(mDev:DWORD;nPort:DWORD;pSendFrame:PCANFRAME):

29、 bool;stdcall; TPci9623_ReadFrame=function(mDev:DWORD;nPort:DWORD;pFrame:PCANFRAME): DWORD; stdcall; TPci9623_ReadFrameEx=function(mDev:DWORD;nPort:DWORD;pFrame:PCANFRAME; rMax:PDWORD): DWORD; stdcall;10.6. VB接口方法舉例參照提供的VB程序源碼,在Product_PCI9623 Samples SourceVBSample7621用戶編程時,在程序中包含接口說明文件PCI9623.BAS。在其中定義了VB調用的接口,說明如下:幀結構定義Public Type CANFRAME mFrame(0 To 9) As ByteEnd TypeAPI接口函數說明Public Declare Function PCI9623_IsOpen Lib "PCI96

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論