基于LPC2109的冷藏车CAN总线温度采集系统的设计
摘要:基于CAN2.0通讯协议,以ARM微控制器LPC2109为核心,通过控制温度采集芯片DS18B20采集冷藏车车体温度,再将温度值通过CAN总线发送出去的方案。从硬件搭建和软件设计出发,全面地介绍了CAN总线温度采集系统的实现。为冷藏车冷藏温度的实时采集提供了更加有效的解决方案。
本文引用地址:http://www.amcfsurvey.com/article/134925.htm引言
在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986年德国电气商博世公司开发出面向汽车的CAN(Controller Area Network)通信协议。此后,CAN通过ISO11898及ISO11519进行了标准化,现在在欧洲已是汽车网络的标准协议。CAN即控制器局域网,它能有效支持高安全等级的分布实时控制。CAN的应用范围很广,从高速的网络到低价位的多路接线都可以使用CAN。本文通过微控制器LPC2109的CAN功能接口,实现冷藏车温度数据在CAN总线上的传输。
CAN总线的基本特征
CAN总线有如下基本特点:
废除传统的站地址编码,代之以对通信数据块进行编码,可以多主方式工作;采用非破坏性仲裁技术,当两个节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响继续传输数据,有效避免了总线冲突;采用短帧结构,每一帧的有效字节数为8个,数据传输时间短,受干扰的概率低,重新发送的时间短;每帧数据都有CRC校验及其他检错措施,保证了数据传输的高可靠性,适于在高干扰环境下使用;节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其他操作不受影响;可以点对点,一对多及广播集中方式传送和接受数据。
CAN总线的优点:
具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点;采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作;具有优先权和仲裁功能,多个控制模块通过CAN控制器挂到CAN-bus上,形成多主机局部网络;可根据报文的ID决定接收或屏蔽该报文;可靠的错误处理和检错机制;发送的信息遭到破坏后,可自动重发;节点在错误严重的情况下具有自动退出总线的功能;报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。
硬件电路的设计方案
CAN总线接口芯片的选择
目前广泛流行的CAN总线器件有两大类:一类是独立的CAN控制器,如PCA82C200、SJAl000及等,另一类是带有片上CAN的微控制器,如STM32F103、LPC2109等。设计选用PHILIPS(飞利浦)公司的LPC2109微控制器以及PCA82C250总线收发器。
LPC2109有8K的RAM空间和64K的Flash空间,足以烧写和运行CAN通讯代码,工作温度-40℃~+85℃,适合冷藏车的工作环境。因为LPC2109自带高性能CAN通讯接口,省去了使用独立CAN控制器的开销。而且,相对于独立的CAN控制器而言,LPC2109的CAN接口更加完善。在传统的独立CAN控制器SJA1000中,接收过滤只能满足一些规律性较高的ID筛选过滤,或个数较少的ID(一般小于10~15个)进行任意筛选过滤,难以实现更复杂的任意ID进行筛选过滤,这无疑增加了系统软件设计及运行时负担。LPC2109微控制器中为自身CAN控制器提供了全局的接收标识符查询功能。它包含一个512×32(2k字节)的RAM,通过软件处理,可在RAM中存放1~5个标识符表格。整个AFRAM可容纳1024个标准标识符或512个扩展标识符,或两种类型混合的标识符。由于允许的表格范围有2k字节,所以能容易地满足设计复杂ID接收过滤的要求。
总线收发器PCA82C250是LPC2109微控制器和物理传输线路之间的接口,它们可以用高达1Mbit/s的位速率在两条有差动电压的总线电缆上传输数据。最低-40℃的工作温度决定它可以稳定地工作在冷藏车中。
温度采集芯片的选择
设计选用DALLAS(达拉斯)公司的DS18B20温度传感器,测温范围-55℃~+125℃,固有测温分辨率0.5℃,适合冷冻库等测温环境使用。DS18B20拥有独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
评论