位置:51电子网 » 技术资料 » 接口电路

基于CAN总线的温度检测节点设计

发布时间:2008/8/16 0:00:00 访问次数:545

  在对电子点火模块的测试中,为了模拟电子点火系统的真实工况,电子点火模块往往被置于高于常温的环境下进行电子点火实验,以获得最接近真实汽车运行工况的点火参数数据。由于电子点火模块自身的发热,其核心元件的温度成为影响电子模块性能的重要因素;另外,还要考虑环境温度是否达到模拟真实工况的要求等。

  本文介绍了一种应用lm35温度传感器和picmicro的温度检测节点的设计方案,用于检测在模拟汽车电子点火的过程中,电子点火模块的核心模块温度和环境温度,将阐明模块结构、工作原理及采样值量化的方法。

  节点原理与结构

  该温度检测节点由传感器电路、信号调理电路、单片机应用系统、can总线接口等构成。电路基本工作原理是:传感器电路将感应到的温度信号以电压的形式输出到信号调理电路,信号经过调理后输入到a/d采样电路,由adc将数字量值送给单片机系统。单片机系统将监控实时温度,当温度超过警戒值和危险值时,单片机将主动发送警告信息到上位机,提醒操作人员检查。

  传感器电路采用温度传感器lm35,供电电压为15v直流,工作电流为120ma ,功耗极低,在全温度范围工作时,电流变化很小,电压输出采用差动信号方式,由2、3引脚直接输出。lm35输出信号经过一个由rc组成的lp滤波器,滤除高频的噪声干扰。

本节点的核心mcu是pic16f87x,是microchip公司推出的低功耗8位单片机。pic16f87x拥有精简指令集,执行速度为200ns。can 控制器采用microchip公司的mcp2510,总线驱动器采用pca82c250,总线隔离电路采用光耦6n317,信号调理电路采用lf412。

  信号调理电路主要完成对传感器信号放大和限幅的功能,将传感器电路输出的变化范围为2v左右的直流电压,调理为符合picmicro的ad接口的电压范围,既不能超过ad采样的量程,又要有相当的信号精度。单片机通过a/d采样通道采集传感器的温度数据,并计算温度范围。

外围设备电路为pic16f87x最小系统运行所需要的必要外设。pic16f87x通过spi总线与mcp2510进行数据交换,完成can总线数据包的发送和接收。

  其中,sck为spi总线时钟,pic16f87x模块的spi接口接mcp2510的si、so、sck,ra4与ra1分别控制mcp2510的芯片复位和片选。int接受mcp2510的中断请求。

  系统软件设计

  1系统软件流程

  为了避免因干扰而产生误动作,软件采取了一些冗余和容错处理,在a/d模块处理采样数据时,采用了软件滤波措施,以滤除电路中可能会出现的尖峰干扰。

  方法为连续采样五次,通过比较判断,去掉其中的最大值和最小值, 其余三次的值求和后取平均值,把平均值作为cpu用来划分温度范围的有效数据。数据包的解析和封装都遵循can的应用层协议,主程序流程如图4所示。

  当cpu检测到温度出现异常,会根据温度异常范围向上位机发出温度异常警报,这是该节点cpu唯一主动向上位机发出的数据帧。该节点的温度相关数据存放在缓冲区,在没有收到上位机数据请求的时候,该缓冲区的数据会不断的被新的数据刷新,以保证该节点数据的实时性。

  2 采样值的量化方法

  采样值的准确量化是温控电路正常工作的关键,这里采用以下换算办法来进行量化。设经过信号调理后的电压为ui,则-10v<ui<10v,已知-10v对应的温度是-55℃,10v对应的温度为125℃,易求得比例因数kt = 0.111v/℃。温度为0℃时,δt= 55℃(相当于-55℃时的变化量)。

  ui=-10v+δt·kt=-10v+55℃×0.111v/℃=-3.895v。

  ui转换为数字量后,每个数字量对应电压值为19.531mv,用ks表示。可以求得数字量变化和温度变化之间的对应关系:kt/ks =(0.111v/℃)/(19.531mv/数字量)=5.683数字量/℃。

其他温度对应的数字量也可以通过以上方法算出。

  3 spi接口通信

pic16f87x通过spi接口和mcp2510进行数据交换。

mcp2510 设计可与许多微控制器的串行外设接口(spi)直接相连。外部数据和命令通过si引脚传送到器件中,而数据在sck时钟信号的上升沿传送进去。

mcp2510在sck下降沿通过so 引脚发送表1列出了所有操作的指令字节。

  以pic16f87x向mcp2510发送读指令为例,来说明spi接口通信过程。

在读操作开始时,cs 引脚将被置为低电平。随后读指令和8位地址码(a7~a0)将被依次送入mcp2510。在接收到读指令和地址码之后,mcp2510指定地址寄存器中的数据将被移出通过so引脚进行发送。每一数据字节移出后,器件内部的地址指针将自动加一以指向下一地址。因此可以对下一个连续地址寄存器进行读操作。通过该方法可以顺序读取任意一个连续地址寄存器中的数据。通过拉高 cs 引脚电平可以结束读操作。

结束语

基于lm35开发的温控节点工作稳定性强、可靠性高、且具有体积小、灵敏度高、响应时间短、抗干扰能力强等特点。该节点成本低廉,器

  在对电子点火模块的测试中,为了模拟电子点火系统的真实工况,电子点火模块往往被置于高于常温的环境下进行电子点火实验,以获得最接近真实汽车运行工况的点火参数数据。由于电子点火模块自身的发热,其核心元件的温度成为影响电子模块性能的重要因素;另外,还要考虑环境温度是否达到模拟真实工况的要求等。

  本文介绍了一种应用lm35温度传感器和picmicro的温度检测节点的设计方案,用于检测在模拟汽车电子点火的过程中,电子点火模块的核心模块温度和环境温度,将阐明模块结构、工作原理及采样值量化的方法。

  节点原理与结构

  该温度检测节点由传感器电路、信号调理电路、单片机应用系统、can总线接口等构成。电路基本工作原理是:传感器电路将感应到的温度信号以电压的形式输出到信号调理电路,信号经过调理后输入到a/d采样电路,由adc将数字量值送给单片机系统。单片机系统将监控实时温度,当温度超过警戒值和危险值时,单片机将主动发送警告信息到上位机,提醒操作人员检查。

  传感器电路采用温度传感器lm35,供电电压为15v直流,工作电流为120ma ,功耗极低,在全温度范围工作时,电流变化很小,电压输出采用差动信号方式,由2、3引脚直接输出。lm35输出信号经过一个由rc组成的lp滤波器,滤除高频的噪声干扰。

本节点的核心mcu是pic16f87x,是microchip公司推出的低功耗8位单片机。pic16f87x拥有精简指令集,执行速度为200ns。can 控制器采用microchip公司的mcp2510,总线驱动器采用pca82c250,总线隔离电路采用光耦6n317,信号调理电路采用lf412。

  信号调理电路主要完成对传感器信号放大和限幅的功能,将传感器电路输出的变化范围为2v左右的直流电压,调理为符合picmicro的ad接口的电压范围,既不能超过ad采样的量程,又要有相当的信号精度。单片机通过a/d采样通道采集传感器的温度数据,并计算温度范围。

外围设备电路为pic16f87x最小系统运行所需要的必要外设。pic16f87x通过spi总线与mcp2510进行数据交换,完成can总线数据包的发送和接收。

  其中,sck为spi总线时钟,pic16f87x模块的spi接口接mcp2510的si、so、sck,ra4与ra1分别控制mcp2510的芯片复位和片选。int接受mcp2510的中断请求。

  系统软件设计

  1系统软件流程

  为了避免因干扰而产生误动作,软件采取了一些冗余和容错处理,在a/d模块处理采样数据时,采用了软件滤波措施,以滤除电路中可能会出现的尖峰干扰。

  方法为连续采样五次,通过比较判断,去掉其中的最大值和最小值, 其余三次的值求和后取平均值,把平均值作为cpu用来划分温度范围的有效数据。数据包的解析和封装都遵循can的应用层协议,主程序流程如图4所示。

  当cpu检测到温度出现异常,会根据温度异常范围向上位机发出温度异常警报,这是该节点cpu唯一主动向上位机发出的数据帧。该节点的温度相关数据存放在缓冲区,在没有收到上位机数据请求的时候,该缓冲区的数据会不断的被新的数据刷新,以保证该节点数据的实时性。

  2 采样值的量化方法

  采样值的准确量化是温控电路正常工作的关键,这里采用以下换算办法来进行量化。设经过信号调理后的电压为ui,则-10v<ui<10v,已知-10v对应的温度是-55℃,10v对应的温度为125℃,易求得比例因数kt = 0.111v/℃。温度为0℃时,δt= 55℃(相当于-55℃时的变化量)。

  ui=-10v+δt·kt=-10v+55℃×0.111v/℃=-3.895v。

  ui转换为数字量后,每个数字量对应电压值为19.531mv,用ks表示。可以求得数字量变化和温度变化之间的对应关系:kt/ks =(0.111v/℃)/(19.531mv/数字量)=5.683数字量/℃。

其他温度对应的数字量也可以通过以上方法算出。

  3 spi接口通信

pic16f87x通过spi接口和mcp2510进行数据交换。

mcp2510 设计可与许多微控制器的串行外设接口(spi)直接相连。外部数据和命令通过si引脚传送到器件中,而数据在sck时钟信号的上升沿传送进去。

mcp2510在sck下降沿通过so 引脚发送表1列出了所有操作的指令字节。

  以pic16f87x向mcp2510发送读指令为例,来说明spi接口通信过程。

在读操作开始时,cs 引脚将被置为低电平。随后读指令和8位地址码(a7~a0)将被依次送入mcp2510。在接收到读指令和地址码之后,mcp2510指定地址寄存器中的数据将被移出通过so引脚进行发送。每一数据字节移出后,器件内部的地址指针将自动加一以指向下一地址。因此可以对下一个连续地址寄存器进行读操作。通过该方法可以顺序读取任意一个连续地址寄存器中的数据。通过拉高 cs 引脚电平可以结束读操作。

结束语

基于lm35开发的温控节点工作稳定性强、可靠性高、且具有体积小、灵敏度高、响应时间短、抗干扰能力强等特点。该节点成本低廉,器

相关IC型号

Warning: Undefined variable $stockkeys in G:\website_51dzw\www.51dzw.com\code\tech\view.php on line 152

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!