基于CAN总线的智能超声液位变送器系统设计
器作为CAN总线控制器,它具有完成CAN通信协议的全部必要特性。PHILIPS公司的CAN总线收发器 PCA82C250提供CAN总线控制器和物理传输线路之间的接口。电路如图2所示。
系统选用TDl,RDl引脚CAN控制器。CAN总线收发器PCA82C250的RS引脚接一斜率电阻R35用于选择PCA82C250的工作模式:高速、斜率控制和待机。R35短路接地可选择高速工作方式;若RS引脚接高电平,则电路进入低电平待机方式,发送器关闭,接收器转入低电流,有利于降低系统功耗;在斜率控制下,电阻R35的大小可根据总线的通信速率适当调整,一般在16~140 kΩ之间。
系统使用高速光耦6N137和DC-DC电压隔离模块B0505S组成的隔离电路加强了电路的抗干扰能力,确保CAN总线遭受严重干扰时能够正常运行。PCA82C250的CANH和CANL引脚各自通过一个10 Ω的电阻与CAN总线相连,电阻起限流的作用,保护PCA82C250免受过流的冲击。在CANH和CANL与地之间并联2个30 pF的小电容,可以滤除总线上的高频干扰并且具有一定的防电磁干扰的能力。在两根CAN总线接入端之间并入瞬态电压抑制二极管(TVS管),当CAN总线串入干扰电压时可通过TVS管的短路起到一定的过压保护作用。
3 系统软件设计
系统软件设计主要包括测量程序和通信程序两部分。其中,测量程序的关键是对超声波回波信号的处理;通信程序的关键是CAN总线控制器的初始化,数据的发送和接收。
3.1 回波信号处理程序的设计
系统采用数字滤波方式对回波信号进行处理,选用IIR带通滤波器进行数字滤波,然后进行数值处理,识别接收波形的起始点。系统设计通带频率范围为 [35 kHz,45 kHz],通带波纹最大衰减为O.01 dB,阻带波纹最小衰减为60 dB,采样频率为1 MHz。可用高通及低通各为4阶的带通椭圆型滤波器来实现。系数为: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)。此滤波器极点均在单位圆内,滤波器是稳定的。图3是IIR数字滤波器的幅度与相位特性曲线图。
3.2 通信程序的设计
通信程序的设计主要包括三部分:CAN控制器的初始化,CAN总线数据发送,CAN总线数据接收。通过编写LPC2119芯片内部CAN控制器寄存器来实现软件通信功能。
CAN总线控制器只需要进行少量的配置就可以进行通信,其基本初始化流程如图4所示。其中,硬件使能和配置引脚连接、软件复位、设定通信波特率、配置验收过滤器、退出复位模式是必须的初始化部分。
CAN控制器初始化程序如下:
CAN控制器初始化后,可以进行数据发送或接收。LPC2119内部每个CAN控制器配有3个独立的发送缓冲寄存器,在发送时根据情况选择3个缓冲之一,把数据写入缓冲区,启动发送。若选择第一缓冲,程序如下:
CAN控制器根据CAN2.0B规范来对发送和接收错误进行计数、处理。
4 结语
基于CAN总线智能超声液位变送器选用高性能、低功耗的ARM处理器芯片LPC2119;利用LPC2119芯片内部的CAN控制器和CAN总线收发器PC-A82C250构建性能优异的CAN总线通信接口,信号传输可靠、实时、灵活;由一线式数字温度传感器DSl8B20芯片完成温度补偿功能。先进的处理器加强了液位计的回波处理能力,采用数字滤波,提高了液位的测量精度
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)