基于CAN总线的汽车仪表数据采集系统
2014-07-01陈林
陈林
【摘要】 介绍CAN总线,提出基于CAN总线的汽车仪表数据采集系统。通过CAN总线节点来完成汽车仪表上显示信息的数据采集。本文主要对数据采集模块的软硬件设计作详细说明。
【关键词】 CAN总线 汽车仪表 数据采集
近年来,随着汽车电子技术的不断发展,汽车仪表板上显示的信息不断增加,为满足需要,计算机、微电子和各种现场总线通信技术都广泛应用于其中。本文将讲述基于CAN总线的汽车仪表数据采集系统的软硬件设计。运用CAN节点实时采集车况信息并通过CAN总线将各节点连接和进行数据传输。
一、CAN总线概述
CAN最初出现在80年代末的汽车工业中,由德国Bosch公司最先提出。CAN全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载电子控制装置ECU之间交换信息,形成汽车电子控制网络。
CAN是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。当信号传输距离达到10Km时,CAN 仍可提供高达50Kbit/s的数据传输速率。
二、数据采集系统硬件设计
汽车仪表上显示的数据信息,都是要通过其相应的传感器来得到的。这些传感器的信号转变为电信号后,可以分为脉冲信号(开关量信号)和模拟信号。
2.1 脉冲信号采集模块
发动机的转速由霍尔传感器来测量,输出信号采用光电耦合器整形为标准的方波信号,脉冲量(开关量)均应在4.5V~5V之间,经行电平转换为5V后送至STC12C5A60AD控制器。然后计数成每秒脉冲数,每秒脉冲数变换成公里/小时值。
2.2 模拟信号采集测量模块
模拟信号采集测量模块是通过测量冷却液水温、燃油液位、机油压力和蓄电池电压等模拟量的电压信号大小来监测各个参数的变化情况。
冷却液水温的传感器是一种热敏电阻式传感器。通过放大电路将热敏电阻随温度阻值变化量转化为电压信号,最后通过A/D转换采集。
燃油液位传感器是用于检测燃油箱的油量,该传感器将浮标高度位置量转化为电压信号输出,供控制系统识别以检测油箱油位高度值。机油压力传感器采用应变片传感器,装在主油管道孔内的感应塞把压力转换为电量输出。蓄电池电压本身就是一个波动范围在+10V~+15V的模拟量。因STC12C5A60AD中的A/D输入端输入电压最大为5V,故需将蓄电池电压进行处理后再送入A/D的输入引脚。
被测信号若以变化的电阻来体现,一般较弱,需将变化的电阻转换为电压信号并放大处理后送到A/D中。信号调整到5V范围内再进行相应的A/D转换。
2.3 CAN总线节点
CAN节点由微控制器STC12C5A60AD、独立CAN控制器SJA1000和隔离CAN收发器CTM1050组成。电源采用+5V电源输入,上电复位芯片(CAT810L)可保证上电时正确的启动系统。电路图如图1所示。
三、数据采集系统软件设计
3.1 脉冲信号采集
对采集车速和发动机的转速脉冲的测量,直接用STC12C5A60AD的外部中断引脚INT0/INT1对车速和发动机的转速脉冲进行测量。因为两个脉冲之间的时间就是车轮转一周所花的时间,所以将两个脉冲之间的时间计算出来就可以得到速度了。同时程序还要比较相邻两次的速度变化值,若太大,还通过邮箱向USB记录任务发送数据,使汽车能在速度骤然变化的情况下记录车况。车速和发动机转速脉冲测量流程图如图2所示。
3.2 模拟信号采集
STC12C5A60AD的模数转换模块ADC是10位转换精度,有8个模拟输入通道。这里选用8个通道自动排序。对模拟量在一次自动排序周期中分别采样8次,在软件中即可以在一次A/D转换中得到同一个参数的8个值,求出其均值,这样就可以进一步消除干扰信号。当8路AD循环采样转换任务完成一个循环采样后,它即会给仪表显示模块发送一个消息,把相应的所采集的数据传送给仪表显示任务中相应的程序段。此时8路A/D循环采样转换任务挂起,由另外一个CAN节点采集其他模拟信号量。8路AD循环采样转换任务流程图如图3所示。
四、结束语
基于CAN总线的汽车仪表数据采集系统能将汽车工况信息准确、实时的采集来满足驾驶员需要。仪表运用CAN总线有利于与其它的电子集中控制系统进行数据交换,有利于汽车集中控制系统的发展和实现,使得汽车仪表的安全性、可靠性、舒适性、功能扩展得到更好的提高和改善。endprint
【摘要】 介绍CAN总线,提出基于CAN总线的汽车仪表数据采集系统。通过CAN总线节点来完成汽车仪表上显示信息的数据采集。本文主要对数据采集模块的软硬件设计作详细说明。
【关键词】 CAN总线 汽车仪表 数据采集
近年来,随着汽车电子技术的不断发展,汽车仪表板上显示的信息不断增加,为满足需要,计算机、微电子和各种现场总线通信技术都广泛应用于其中。本文将讲述基于CAN总线的汽车仪表数据采集系统的软硬件设计。运用CAN节点实时采集车况信息并通过CAN总线将各节点连接和进行数据传输。
一、CAN总线概述
CAN最初出现在80年代末的汽车工业中,由德国Bosch公司最先提出。CAN全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载电子控制装置ECU之间交换信息,形成汽车电子控制网络。
CAN是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。当信号传输距离达到10Km时,CAN 仍可提供高达50Kbit/s的数据传输速率。
二、数据采集系统硬件设计
汽车仪表上显示的数据信息,都是要通过其相应的传感器来得到的。这些传感器的信号转变为电信号后,可以分为脉冲信号(开关量信号)和模拟信号。
2.1 脉冲信号采集模块
发动机的转速由霍尔传感器来测量,输出信号采用光电耦合器整形为标准的方波信号,脉冲量(开关量)均应在4.5V~5V之间,经行电平转换为5V后送至STC12C5A60AD控制器。然后计数成每秒脉冲数,每秒脉冲数变换成公里/小时值。
2.2 模拟信号采集测量模块
模拟信号采集测量模块是通过测量冷却液水温、燃油液位、机油压力和蓄电池电压等模拟量的电压信号大小来监测各个参数的变化情况。
冷却液水温的传感器是一种热敏电阻式传感器。通过放大电路将热敏电阻随温度阻值变化量转化为电压信号,最后通过A/D转换采集。
燃油液位传感器是用于检测燃油箱的油量,该传感器将浮标高度位置量转化为电压信号输出,供控制系统识别以检测油箱油位高度值。机油压力传感器采用应变片传感器,装在主油管道孔内的感应塞把压力转换为电量输出。蓄电池电压本身就是一个波动范围在+10V~+15V的模拟量。因STC12C5A60AD中的A/D输入端输入电压最大为5V,故需将蓄电池电压进行处理后再送入A/D的输入引脚。
被测信号若以变化的电阻来体现,一般较弱,需将变化的电阻转换为电压信号并放大处理后送到A/D中。信号调整到5V范围内再进行相应的A/D转换。
2.3 CAN总线节点
CAN节点由微控制器STC12C5A60AD、独立CAN控制器SJA1000和隔离CAN收发器CTM1050组成。电源采用+5V电源输入,上电复位芯片(CAT810L)可保证上电时正确的启动系统。电路图如图1所示。
三、数据采集系统软件设计
3.1 脉冲信号采集
对采集车速和发动机的转速脉冲的测量,直接用STC12C5A60AD的外部中断引脚INT0/INT1对车速和发动机的转速脉冲进行测量。因为两个脉冲之间的时间就是车轮转一周所花的时间,所以将两个脉冲之间的时间计算出来就可以得到速度了。同时程序还要比较相邻两次的速度变化值,若太大,还通过邮箱向USB记录任务发送数据,使汽车能在速度骤然变化的情况下记录车况。车速和发动机转速脉冲测量流程图如图2所示。
3.2 模拟信号采集
STC12C5A60AD的模数转换模块ADC是10位转换精度,有8个模拟输入通道。这里选用8个通道自动排序。对模拟量在一次自动排序周期中分别采样8次,在软件中即可以在一次A/D转换中得到同一个参数的8个值,求出其均值,这样就可以进一步消除干扰信号。当8路AD循环采样转换任务完成一个循环采样后,它即会给仪表显示模块发送一个消息,把相应的所采集的数据传送给仪表显示任务中相应的程序段。此时8路A/D循环采样转换任务挂起,由另外一个CAN节点采集其他模拟信号量。8路AD循环采样转换任务流程图如图3所示。
四、结束语
基于CAN总线的汽车仪表数据采集系统能将汽车工况信息准确、实时的采集来满足驾驶员需要。仪表运用CAN总线有利于与其它的电子集中控制系统进行数据交换,有利于汽车集中控制系统的发展和实现,使得汽车仪表的安全性、可靠性、舒适性、功能扩展得到更好的提高和改善。endprint
【摘要】 介绍CAN总线,提出基于CAN总线的汽车仪表数据采集系统。通过CAN总线节点来完成汽车仪表上显示信息的数据采集。本文主要对数据采集模块的软硬件设计作详细说明。
【关键词】 CAN总线 汽车仪表 数据采集
近年来,随着汽车电子技术的不断发展,汽车仪表板上显示的信息不断增加,为满足需要,计算机、微电子和各种现场总线通信技术都广泛应用于其中。本文将讲述基于CAN总线的汽车仪表数据采集系统的软硬件设计。运用CAN节点实时采集车况信息并通过CAN总线将各节点连接和进行数据传输。
一、CAN总线概述
CAN最初出现在80年代末的汽车工业中,由德国Bosch公司最先提出。CAN全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载电子控制装置ECU之间交换信息,形成汽车电子控制网络。
CAN是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。当信号传输距离达到10Km时,CAN 仍可提供高达50Kbit/s的数据传输速率。
二、数据采集系统硬件设计
汽车仪表上显示的数据信息,都是要通过其相应的传感器来得到的。这些传感器的信号转变为电信号后,可以分为脉冲信号(开关量信号)和模拟信号。
2.1 脉冲信号采集模块
发动机的转速由霍尔传感器来测量,输出信号采用光电耦合器整形为标准的方波信号,脉冲量(开关量)均应在4.5V~5V之间,经行电平转换为5V后送至STC12C5A60AD控制器。然后计数成每秒脉冲数,每秒脉冲数变换成公里/小时值。
2.2 模拟信号采集测量模块
模拟信号采集测量模块是通过测量冷却液水温、燃油液位、机油压力和蓄电池电压等模拟量的电压信号大小来监测各个参数的变化情况。
冷却液水温的传感器是一种热敏电阻式传感器。通过放大电路将热敏电阻随温度阻值变化量转化为电压信号,最后通过A/D转换采集。
燃油液位传感器是用于检测燃油箱的油量,该传感器将浮标高度位置量转化为电压信号输出,供控制系统识别以检测油箱油位高度值。机油压力传感器采用应变片传感器,装在主油管道孔内的感应塞把压力转换为电量输出。蓄电池电压本身就是一个波动范围在+10V~+15V的模拟量。因STC12C5A60AD中的A/D输入端输入电压最大为5V,故需将蓄电池电压进行处理后再送入A/D的输入引脚。
被测信号若以变化的电阻来体现,一般较弱,需将变化的电阻转换为电压信号并放大处理后送到A/D中。信号调整到5V范围内再进行相应的A/D转换。
2.3 CAN总线节点
CAN节点由微控制器STC12C5A60AD、独立CAN控制器SJA1000和隔离CAN收发器CTM1050组成。电源采用+5V电源输入,上电复位芯片(CAT810L)可保证上电时正确的启动系统。电路图如图1所示。
三、数据采集系统软件设计
3.1 脉冲信号采集
对采集车速和发动机的转速脉冲的测量,直接用STC12C5A60AD的外部中断引脚INT0/INT1对车速和发动机的转速脉冲进行测量。因为两个脉冲之间的时间就是车轮转一周所花的时间,所以将两个脉冲之间的时间计算出来就可以得到速度了。同时程序还要比较相邻两次的速度变化值,若太大,还通过邮箱向USB记录任务发送数据,使汽车能在速度骤然变化的情况下记录车况。车速和发动机转速脉冲测量流程图如图2所示。
3.2 模拟信号采集
STC12C5A60AD的模数转换模块ADC是10位转换精度,有8个模拟输入通道。这里选用8个通道自动排序。对模拟量在一次自动排序周期中分别采样8次,在软件中即可以在一次A/D转换中得到同一个参数的8个值,求出其均值,这样就可以进一步消除干扰信号。当8路AD循环采样转换任务完成一个循环采样后,它即会给仪表显示模块发送一个消息,把相应的所采集的数据传送给仪表显示任务中相应的程序段。此时8路A/D循环采样转换任务挂起,由另外一个CAN节点采集其他模拟信号量。8路AD循环采样转换任务流程图如图3所示。
四、结束语
基于CAN总线的汽车仪表数据采集系统能将汽车工况信息准确、实时的采集来满足驾驶员需要。仪表运用CAN总线有利于与其它的电子集中控制系统进行数据交换,有利于汽车集中控制系统的发展和实现,使得汽车仪表的安全性、可靠性、舒适性、功能扩展得到更好的提高和改善。endprint