新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于CAN总线的汽车仪表软件实现方案

基于CAN总线的汽车仪表软件实现方案

作者:时间:2013-02-17来源:网络收藏


3.2 系统硬件结构及所用器件

由液晶显示器、PC-CAN接口卡、单片机、CAN控制器(SJA1000)、发送/接收驱动器(PCA82C250)、和各数据采集系统组成。

专用液晶显示屏用来显示转速、机油压力、水温、燃油消耗等;PC机用来处理上的数据并通过软件显示于显示屏上;PC-CAN接口卡完成PC机与CAN之间的通信;自行设计的ECU完成从各传感器采集数据,通过CAN收发器连于上。其中的PC-CAN接口卡通过RS232接口或UAB与PC机相连,PC-CAN接口卡再通过总线与自行设计的ECU相连。在实际中PC-CAN接口卡与车辆CAN总线相连,可采集大量数据信息,从而随时可通过软件编程把这些信息在显示屏上动态显示出来。

3.3 系统的硬件设计

PC-CAN接口卡选用CAN232智能CAN接口卡,它适合CAN-bus的小流量数据传输应用,最高可达500帧/秒的数据传输速率,提供广泛和强大的软件支持。支持在VC++、C++Builder、Delphi和VB等开发环境下进行设计。该接口卡为用户提供了编程需要的三个文件:CAN232dll.DLL,CAN232dll.LIB,ExportHead.H。

CAN协议控制器选用SJA1000,它是Philips公司生产的适合汽车环境的独立CAN控制器,支持CAN2.0B协议。CAN发送/接收驱动器选用Philip公司的PCA82C250,它是CAN控制器和物理传输线路之间的接口,它可以用高达1Mbits/s的位速率在两条有差动电压的总线电缆上传输数据。

3.4 系统软件设计

CAN2.0的分层结构是按ISO/OSI模型对CAN结构的描述。数据链路层又分为逻辑链路层(LLC,Logical Link Control)和媒体访问控制(MAC,Medium Access Control)两个层。LLC层完成下列功能:为数据发送以及以及远层数据请求传送服务;判断是否接受接收到的数据;提供恢复管理和超载处理。

MAC层主要定义了传输协议,包括信息帧格式、仲裁方式、应答信号、错误检测、错误信令和故障限制等。

物理层实现节点间的物理信号的传送,主要定义网络的电气特性。CAN网络中可以采用多种不同的物理层协议。

本研究用VC编程语言实现数据的显示。PC—CAN接口卡自带三个文件CAN232dll.DLL,CAN232dll.LIB,ExportHead.H,其中ExportHead.H描述了动态链接库CAN232dll.DLL所定义的外部函数。如下所示,

void OpenSerialPort(int nPort,unsigned int Baud);
void CAN232Send(unsigned char*sdata,size_t Len);
void CAN232Setting(unsigned char*sdata,size_t Len);
char CAN232Receive(unsigned char*CANReceive);

将接口卡所带的三个文件拷贝在VC目录下,在VC菜单的PROJECT->SETTING中的LINK项下,填入CAN232dll.LIB。然后在程序的头文件中加入“#include ExportHead.H”。

4、结论

本研究只有一个CAN节点,所以显示器所显示的数据只有转速、机油压力、水温、燃油消耗,但是在实际的汽车网络中,通过编程我们可以动态获得CAN总线上的所有信息,并能够以友好的人机界面显示,使车辆信息对驾驶员或乘客透明化。所以基于CAN总线的软件实现是设计的一个新的尝试。

参考文献
[1]杨忠敏.汽车仪表的发展现状[J].汽车电器,2004,1:1~3.
[2]康建辉,张庆顺. 单片机控制液晶显示器在汽车仪表板中的应用[J].现代电子技术,2002,3:6~7.
[3]向云秀.汽车仪表板电子化技术[J].湖南大学学报,2001,6:50~55.
[4]秦贵和.车上网络技术[M].北京.机械工业出版社,2003,19~20.(end)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭