基于CAN總線的智能超聲液位變送器系統(tǒng)設(shè)計
3 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件設(shè)計主要包括測量程序和通信程序兩部分。其中,測量程序的關(guān)鍵是對超聲波回波信號的處理;通信程序的關(guān)鍵是CAN總線控制器的初始化,數(shù)據(jù)的發(fā)送和接收。
3.1 回波信號處理程序的設(shè)計
系統(tǒng)采用數(shù)字濾波方式對回波信號進行處理,選用IIR帶通濾波器進行數(shù)字濾波,然后進行數(shù)值處理,識別接收波形的起始點。系統(tǒng)設(shè)計通帶頻率范圍為 [35 kHz,45 kHz],通帶波紋最大衰減為O.01 dB,阻帶波紋最小衰減為60 dB,采樣頻率為1 MHz??捎酶咄暗屯ǜ鳛?階的帶通橢圓型濾波器來實現(xiàn)。系數(shù)為:b=(O.001 O,-O.007 6,0.024 8,-0.047 4,O.058 4,-O.047 4,O.024 8,-0.007 6,0.001 O),a=(1.000 O,-7.579 2,25.370 1,-48.974 1,59.623 8,-46.877 5,23.244 5,-6.647 O,O.839 5)。此濾波器極點均在單位圓內(nèi),濾波器是穩(wěn)定的。圖3是IIR數(shù)字濾波器的幅度與相位特性曲線圖。
3.2 通信程序的設(shè)計
通信程序的設(shè)計主要包括三部分:CAN控制器的初始化,CAN總線數(shù)據(jù)發(fā)送,CAN總線數(shù)據(jù)接收。通過編寫LPC2119芯片內(nèi)部CAN控制器寄存器來實現(xiàn)軟件通信功能。
CAN總線控制器只需要進行少量的配置就可以進行通信,其基本初始化流程如圖4所示。其中,硬件使能和配置引腳連接、軟件復(fù)位、設(shè)定通信波特率、配置驗收過濾器、退出復(fù)位模式是必須的初始化部分。
CAN控制器初始化程序如下:
CAN控制器初始化后,可以進行數(shù)據(jù)發(fā)送或接收。LPC2119內(nèi)部每個CAN控制器配有3個獨立的發(fā)送緩沖寄存器,在發(fā)送時根據(jù)情況選擇3個緩沖之一,把數(shù)據(jù)寫入緩沖區(qū),啟動發(fā)送。若選擇第一緩沖,程序如下:
CAN控制器根據(jù)CAN2.0B規(guī)范來對發(fā)送和接收錯誤進行計數(shù)、處理。
4 結(jié)語
基于CAN總線智能超聲液位變送器選用高性能、低功耗的ARM處理器芯片LPC2119;利用LPC2119芯片內(nèi)部的CAN控制器和CAN總線收發(fā)器PC-A82C250構(gòu)建性能優(yōu)異的CAN總線通信接口,信號傳輸可靠、實時、靈活;由一線式數(shù)字溫度傳感器DSl8B20芯片完成溫度補償功能。先進的處理器加強了液位計的回波處理能力,采用數(shù)字濾波,提高了液位的測量精度
評論