摘 要:介紹了基于CAN總線的智能超聲液位變送器的設計。選用ARM7TDMI-S內核的LPC2119作運算控制器,利用LPC2119芯片內部的CAN總線控制器設計CAN總線通信接口。超聲液位變送器采用收發一體式電路設計,由數字溫度傳感器DS18B20進行溫度補償,利用ARM芯片強大的處理能力,對回波信號進行數字濾波處理,從而準確檢測出超聲波的傳播時間。
關鍵詞:CAN總線; 超聲波; 液位; 數字濾波
中圖分類號:TP212 文獻標識碼:A
文章編號:1004-373X(2010)11-0131-04
Smart Ultrasonic Liquid Level Transmitter Based on CAN Bus
JIAO Bing, YE Song, WANG Xiao-lei
(Institute of Meteorology, PLA University of Science and Technology, Nanjing 211101, China)
Abstract: The design of a smart ultrasonic liquid level transmitter based on CAN bus is introduced. The communication interface of CAN bus was designed by choosing LPC2119 chip with ARM7TDMI-S inner core as the arithmetic control unit, and by utilizing CAN bus controller inside LPC2119 chip. The design of the monolithic transmitting and receiving circuit is emploied for the transmitter. Digital temperature sensor DS18B20 is adopted as temperature compensation device. The echo signal is processed with the digital filtering technology by the aid of the strong processing ability of ARM chip. Therefore, the accuracy of liquid level measurement is improved.
Keywords: CAN bus; ultrasonic; liquid level; digital filtering
0 引 言
現場總線是用于現場儀表與控制系統和控制室之間的一種全分散、全數字化、智能、雙向、互連、多變量、多點、多站的通信網絡。CAN(Controller Area Network,控制器局域網)是德國Bosch公司在80 年代初為解決現代汽車中大量的控制與測試儀器之間的數據交換而提出的一種串行數據通信協議[1]。CAN總線是國際上應用最廣泛的現場總線之一,由于采用了許多新技術以及獨特的設計,與一般的通信總線相比,CAN總線的數據通信具有突出的性能,且可靠性、實時性和靈活性強。
近些年來, 隨著超聲技術研究的不斷深入, 再加上其具有的高精度、無損、非接觸等優點, 超聲的應用變得越來越普及[2]。超聲波液位測量有許多優點:檢測元件可以不與被測介質接觸,可測范圍廣;可測量低溫介質的液位;壽命長[3];能夠定點和連續測液位;安裝維護方便[4]。超聲波測量已成功應用于江河水位、化學和制藥工業、食品加工、罐裝液位等多種領域。
1 測量方法
超聲波脈沖回波法是液位測量中應用較廣的一種方法,通過測量超聲波傳播時間來測量距離。超聲波脈沖回波檢測法的基本原理是:發射聲波換能器由脈沖信號激勵發出超聲波,通過傳聲媒介傳到被測液面,形成反射波;反射波再通過傳聲介質返回到接收換能器,傳感器把聲信號轉換成電信號,由儀表計算出超聲波從發射到接收所傳播的時間,再根據超聲波在介質中傳播的速度,利用式(1)確定液位高度:
h=H-L=H-vt/2
(1)
式中:H表示探頭與容器底部的距離;L表示超聲波傳輸距離的50%;v表示超聲波聲速;t表示超聲波傳播時間;h即所測液面實際高度。
系統采用軟件濾波方式判斷超聲波回波信號的起始點,使用AD轉換器將回波信號轉換為數字信號送到ARM處理器,利用ARM處理器較強的信號處理能力對回波信號進行數字濾波、數值處理,確定超聲波傳播時間。
系統選用Philips公司的LPC2119芯片作為控制運算處理器。LPC2119是基于一個支持實時仿真和跟蹤的16/32位ARM7TDMI-S CPU,并帶有128 KB嵌入的高速FLASH存儲器,具有高性能、低功耗的特點。LPC2119芯片內部集成2個CAN控制器,符合CAN規范CAN 2.0B、ISO11898-1,可訪問32位寄存器和RAM,單個總線數據波特率可達1 Mb/s,全局驗收過濾器可識別幾乎所有總線的11和29位Rx標識符,驗收過濾器為選擇的標準標識符提供了FullCAN-style自動接收。
2 系統硬件設計
2.1 測量電路設計
測量電路的核心是超聲波發射及接收電路,設計為收發一體式,如圖1所示。使用LPC2119芯片內部定時器0產生40 kHz的激勵脈沖,輸至NMOS場效應管Q1的柵極。當控制端P0.22 OUT為低電平時,NMOS場效應管Q1截止,PMOS場效應管Q2的Ugs接近零電壓,Q2截止而輸出低電平;P0.22 OUT為高電平時,Q1導通,Q2的柵極電壓由電阻分壓而得,使Ugs小于其2 V左右的門限電壓而使Q2導通,輸出高電平[5]。所以通過控制端,使發射電路產生正向高壓脈沖以激勵超聲波探頭。+50 V高電壓由AD公司生產的開關型DC-DC變換器ADP1111提供。
圖1 測量電路
在接收電路中使用二極管的鉗位作用防止高壓發射脈沖進入接收電路。電路中的兩個肖特基二極管和限流電阻將輸入電壓限制在0.3 V以內,但對較小的回波信號不起作用,實現了超聲波發射、接收電路一體化。電路需要對微弱的回波信號進行放大,使用OP27運算放大器將回波信號放大200倍[6]。電容C20濾掉回波信號中的直流成分。
系統采用數字濾波、數值處理的方法找超聲波的回波起點,因此需要將放大后的回波信號進行模數轉換。本系統采樣頻率定為1 MHz,模數轉換電路使用德州儀器公司的8位高速A/D轉換器ADS930。電路采用交流耦合連接方式。經過A/D轉換后的回波信號送入運算控制器進行處理。
超聲波在空氣中的傳播速度會隨溫度的變化而變化,超聲波傳播速度c與環境溫度T的關系如式(2):
c=331.4+0.61T
(2)
為了減少測量誤差,需要進行溫度補償。系統采用DALLAS公司的一線式數字溫度傳感器DS18B20芯片進行溫度補償。現場溫度直接以“一線總線”的數字方式傳輸,大大提高了系統的抗干擾性。使用 DS18B20進行精確的溫度轉換,I/O線必須在轉換期間保證供電,系統采用外接電源方式給DS18B20芯片供電。溫度補償采用查表法,首先建立溫度與聲速的二維關系表,處理器在讀出DS18B20測得的溫度值后進行查表,得到當時聲速。由于表格中的溫度點有限并且是離散分布的,采用小區間插值法以提高精度。軟件編程嚴格遵循一線總線讀寫時序。
2.2 CAN總線通信接口設計
CAN總線通信接口由CAN總線控制器和CAN總線收發器組成,CAN控制器作為CAN總線的數據鏈路層,CAN總線收發器作為CAN總線的物理層。LPC2119內部集成的CAN控制器作為CAN總線控制器,它具有完成CAN通信協議的全部必要特性。PHILIPS公司的CAN總線收發器PCA82C250提供CAN總線控制器和物理傳輸線路之間的接口。電路如圖2所示。
系統選用TD1,RD1引腳CAN控制器。CAN總線收發器PCA82C250的RS引腳接一斜率電阻R35,用于選擇PCA82C250的工作模式:高速、斜率控制和待機[7]。R35短路接地可選擇高速工作方式;若RS引腳接高電平,則電路進入低電平待機方式,發送器關閉,接收器轉入低電流,有利于降低系統功耗;在斜率控制下,電阻R35的大小可根據總線的通信速率適當調整,一般在16~140 kΩ之間。
系統使用高速光耦6N137和DC-DC電壓隔離模塊B0505S組成的隔離電路加強了電路的抗干擾能力,確保CAN總線遭受嚴重干擾時能夠正常運行。PCA82C250的CANH和CANL引腳各自通過一個10 Ω的電阻與CAN總線相連,電阻起限流的作用,保護PCA82C250免受過流的沖擊。在CANH和CANL與地之間并聯2個30 pF的小電容,可以濾除總線上的高頻干擾并且具有一定的防電磁干擾的能力[8]。在兩根CAN總線接入端之間并入瞬態電壓抑制二極管(TVS管),當CAN總線串入干擾電壓時可通過TVS管的短路起到一定的過壓保護作用。
圖2 CAN總線通信接口電路圖
3 系統軟件設計
系統軟件設計主要包括測量程序和通信程序兩部分。其中,測量程序的關鍵是對超聲波回波信號的處理;通信程序的關鍵是CAN總線控制器的初始化,數據的發送和接收。
3.1 回波信號處理程序的設計
系統采用數字濾波方式對回波信號進行處理,選用IIR帶通濾波器進行數字濾波,然后進行數值處理,識別接收波形的起始點。系統設計通帶頻率范圍為[35 kHz,45 kHz],通帶波紋最大衰減為0.01 dB,阻帶波紋最小衰減為60 dB,采樣頻率為1 MHz。可用高通及低通各為4階的帶通橢圓型濾波器來實現。系數為:b=(0.001 0,-0.007 6,0.024 8,-0.047 4,0.058 4,-0.047 4,0.024 8,-0.007 6,0.001 0),a=(1.000 0,-7.579 2,25.370 1,-48.974 1,59.623 8,-46.877 5,23.244 5,-6.647 0,0.839 5)。此濾波器極點均在單位圓內,濾波器是穩定的。圖3是IIR數字濾波器的幅度與相位特性曲線圖。
3.2 通信程序的設計
通信程序的設計主要包括三部分:CAN控制器的初始化,CAN總線數據發送,CAN總線數據接收。通過編寫LPC2119芯片內部CAN控制器寄存器來實現軟件通信功能。
CAN總線控制器只需要進行少量的配置就可以進行通信,其基本初始化流程如圖4所示。其中,硬件使能和配置引腳連接、軟件復位、設定通信波特率、配置驗收過濾器、退出復位模式是必須的初始化部分。
圖3 IIR數字濾波器的幅度與相位特性曲線
圖4 CAN控制器初始化流程圖
CAN控制器初始化程序如下:
#define BPS_1000K
(0<<23)|(1<<20)|(3<<16)|(0<<14)|3//定義CAN通信波特率
#define CAN1 0
PinSet(CAN1);//CAN控制器的硬件使能及引腳選擇,系統選用CAN1
CAN1MOD=CAN1MOD|0x01;//軟件復位CAN1控制器
CAN1EWL=0x60;//設置出錯警告界限
CAN1BTR=BPS_1000K;//設定通信波特率為1 Mb/s
CAN1IER=0x00;//設置中斷使能
CANAFMR=0x03;//設置驗收過濾模式為旁路模式
CAN1MOD=CAN1MOD0xFE;//軟件使能CAN1控制器
CAN控制器初始化后,可以進行數據發送或接收。LPC2119內部每個CAN控制器配有3個獨立的發送緩沖寄存器,在發送時根據情況選擇3個緩沖之一,把數據寫入緩沖區,啟動發送。若選擇第一緩沖,程序如下:
CAN1TFI1=0<<31|0<<30|8<<16|0x00;//幀信息:標準數據幀,8位數據
CAN1TID1=0xAA;//幀ID:0xAA
CAN1TDA1=0x44332211;//前4字節數據
CAN1TDB1=0x88776655;//后4字節數據
CAN1CMR=1<<5|1;//選擇第一緩沖啟動發送
系統采用中斷方式接收數據。程序如下:
VICDefVectAddr=(INT32U)CANIntPrg;//設置CAN1為非向量中斷
VICIntEnable|=(1<<19)|(1<<20)|(1<<26);//使能CAN1中斷通道
While(1);//等待中斷
CAN控制器根據CAN 2.0B規范來對發送和接收錯誤進行計數、處理。
4 結 語
基于CAN總線智能超聲液位變送器選用高性能、低功耗的ARM處理器芯片LPC2119;利用LPC2119芯片內部的CAN控制器和CAN總線收發器PCA82C250構建性能優異的CAN總線通信接口,信號傳輸可靠、實時、靈活;由一線式數字溫度傳感器DS18B20芯片完成溫度補償功能。先進的處理器加強了液位計的回波處理能力,采用數字濾波,提高了液位的測量精度。
參考文獻
[1]潘佚.基于C8051F040 的CAN總線智能節點的設計[J].現代電子技術,2006,29(4):49-51.
[2]劉松,朱志芹,王渝.CAN 總線智能測控節點的設計與實現[J].現代電子技術,2003,26(2):52-54.
[3]雷建龍.基于單片機的超聲波液位測量儀[J].儀表技術與傳感器,2004(6):8-9.
[4]李敏哲,趙繼印,李建坡.基于超聲波傳感器的無線液位測量系統[J].儀表技術與傳感器,2005(11):35-36.
[5]唐慧強,黃惟一,李萍,等.基于DSP的超聲風速測量[J].東南大學學報:英文版,2005(1):20-23.
[6]孫娟.基于DSP的超聲波液位計的研制[D].南京:南京信息工程大學,2005.
[7]尹旭全,張建華,高守瑋,等.超聲在測量中的應用[J].現代電子技術,2003,26(5):100-102.
[8]高紅玉,徐建城,曾成奇.基于ARM的CAN總線智能節點的設計[J].電子技術應用,2005(4):24-26.