基于CAN總線的智能超聲液位變送器設(shè)計(jì)
3.2 通信程序的設(shè)計(jì)
通信程序的設(shè)計(jì)主要包括三部分:CAN控制器的初始化,CAN總線數(shù)據(jù)發(fā)送,CAN總線數(shù)據(jù)接收。通過(guò)編寫LPC2119芯片內(nèi)部CAN控制器寄存器來(lái)實(shí)現(xiàn)軟件通信功能。
CAN總線控制器只需要進(jìn)行少量的配置就可以進(jìn)行通信,其基本初始化流程如圖4所示。其中,硬件使能和配置引腳連接、軟件復(fù)位、設(shè)定通信波特率、配置驗(yàn)收過(guò)濾器、退出復(fù)位模式是必須的初始化部分。
CAN控制器初始化程序如下:
CAN控制器初始化后,可以進(jìn)行數(shù)據(jù)發(fā)送或接收。LPC2119內(nèi)部每個(gè)CAN控制器配有3個(gè)獨(dú)立的發(fā)送緩沖寄存器,在發(fā)送時(shí)根據(jù)情況選擇3個(gè)緩沖之一,把數(shù)據(jù)寫入緩沖區(qū),啟動(dòng)發(fā)送。若選擇第一緩沖,程序如下:
CAN控制器根據(jù)CAN2.0B規(guī)范來(lái)對(duì)發(fā)送和接收錯(cuò)誤進(jìn)行計(jì)數(shù)、處理。
4 結(jié)語(yǔ)
基于CAN總線智能超聲液位變送器選用高性能、低功耗的ARM處理器芯片LPC2119;利用LPC2119芯片內(nèi)部的CAN控制器和CAN總線收發(fā)器PC-A82C250構(gòu)建性能優(yōu)異的CAN總線通信接口,信號(hào)傳輸可靠、實(shí)時(shí)、靈活;由一線式數(shù)字溫度傳感器DSl8B20芯片完成溫度補(bǔ)償功能。先進(jìn)的處理器加強(qiáng)了液位計(jì)的回波處理能力,采用數(shù)字濾波,提高了液位的測(cè)量精度。
評(píng)論