【摘要】 由于快速組合測井平臺通信方式升級為CAN總線方式,原井下儀器常用的DTB三總線已不能滿足其高速率數據傳輸的要求。文章介紹了一種井下儀器CAN子節點通信結構的方案設計;介紹了利用PIC18F2480單片機及其內部集成的CAN核實現地層測試器CAN子節點的設計過程。
【關鍵詞】 CAN總線 測井儀器 遙傳 PIC18F2480
一、CAN總線在測井儀器中的應用[1]
在測井儀器中,高速電纜遙傳與井下儀器之間采用高速CAN總線協議方式通信,通信速率可以達到1 Mbps[2]。其中高速電纜遙傳由井下調制(MOD)/解調(DEMOD)單元及井下CAN總線主控制單元組成,二者通過雙口RAM相連接;為了井下儀器與高速電纜遙傳的CAN通信,每支井下儀器必須配備相應的CAN總線子節點接口[3]。圖1為一種典型的基于CAN總線的測井儀器系統示意圖。
二、井下儀器CAN子節點的設計
2.1 PIC18F2480的片內CAN控制器
PIC18F2480單片機是Microchip公司推出的增強型閃存16位系統級芯片,兼容匯編指令集和C編譯器的高級產品芯片,內含CAN控制器、A/D內部E2PROM存儲器、PWM輸出、I2C和SPI接口、異步串行通信(USART)接口和FLASH程序存儲器讀寫等許多功能,為編程工作帶來了很多便利,大大縮短了軟件開發周期。
PIC18F2480內部CAN控制器主要由三組發送報文緩沖器,兩組接收報文緩沖器,兩組接收屏蔽器以及6組接收濾波器。用來完成發送和接收標準和擴展的信息幀,同時具有接收、濾波和信息管理的CAN通信功能。
2.2外圍硬件電路設計
一般的CAN通信電路主要由兩部分組成:1、微控制器與CAN控制器的接口電路;2、CAN控制器與CAN總線收發器的接口電路.而現選用的是PIC18F2480微控制器,由于其內部包含了CAN控制器功能。本應用中選用TJA1050T作為CAN總線收發器,CAN控制器外圍電路如圖2所示。TJA1050T收發器是協議控制器和物理傳輸線路之間的接口,速率可以高達1 Mbps。為了提高系統的抗干擾能力和對CAN控制器的保護,在CAN收發器和單片機的CAN核之間加入數字隔離器件(ADUM1200),這樣就實現了總線上各CAN節點之間的電氣隔離,提高了節點的穩定性和安全性。
2.3 單片機軟件設計
單片機軟件設計[4]分為兩大部分:(1)CAN通訊軟件設計主要包括三個模塊:系統初始化程序、接收命令程序、發送數據程序;(2)單片機對測量電路數據采集,可通過A/D、I2C和SPI或異步串行通信等通信方式與每個接口板傳輸測量數據(本文采用SPI方式通信)。
2.3.1 初始化程序
初始化程序主要完成時鐘配置、SPI配置、中斷系統、CAN相關寄存器初始設置[5]。如圖3為CAN相關寄存器初始設置,CAN傳輸速率寄存器的設置較為復雜,使用外部晶振為16MHz,CAN通信速率為800 k/s,所以BRGCON1 = 0X00; BRGCON2 = 0X92;BRGCON3 = 0X42。主程序中規定對象初始化、發送和接收初始化,最后才啟動CAN處理機制。
2.3.2 發送程序
CAN報文發送是由CAN控制器自動完成的,用戶只需根據接收到的遠程幀的識別符,如果ID匹配一致就將觸發發送器0中斷,將對應的數據轉移到發送緩沖寄存器,然后將此報文對象的編碼寫入命令請求寄存器啟動發送即可,而發送由硬件來完成。
2.3.3 接收程序
CAN報文接收與發送的區別就在于設置了接收屏蔽濾波器,也就是說通過接收屏蔽濾波器的設置CAN節點只接收ID匹配的地址報文。
三、結束語
基于PIC18F2480 CAN總線子節點的地層測試器(CDC_BG)儀器已經在華北油田任-91實驗井順利完成測試實驗,已具有集成度高、性能穩定、抗電磁干擾能力強等特點。在通信波特率設置為800 kbps時通信順暢,實現了測井儀器地面系統與井下儀器間通信的可靠性、實時性、靈活性,是目前測井系統地面和井下儀器之間實現實時通信的較佳的總線結構,具有較好的應用前景。
參 考 文 獻
[1] 鄔寬明.CAN總線原理和應用系統設計[M].北京:北京航空航天出版社,1996.
[2] 韓冬.基于CAN總線的信號采集與傳輸的研究[D].哈爾濱:東北農業大學,2010.
[3] 楊明郭,海龍.CAN總線在測井儀器中的應用[J].石油儀器:計算機與通訊技術,2009.23(4): 86-88.