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