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

来源:电子工程世界 作者:—— 时间:2010-07-16 10:02

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


图5CAN接收中断流程

采样值的量化方法

  采样值的准确量化是温控电路正常工作的关键,这里采用以下换算办法来进行量化。设经过信号调理后的电压为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数字量/℃。

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

SPI接口通信

  PIC16F87x通过SPI接口和MCP2510进行数据交换。

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

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


  以PIC16F87x向MCP2510发送读指令为例,来说明SPI接口通信过程。

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


图6SPI接口通信时序

  基于LM35开发的温控节点工作稳定性强、可靠性高、且具有体积小、灵敏度高、响应时间短、抗干扰能力强等特点。该节点成本低廉,器件均为常规元件,有较高的工程价值。本节点拥有CAN接口,既可以作为一个独立的检测系统,也可以作为分布式测试系统的一个关键部分。CAN的上层协议都可以在软件中实现,使得本节点接口灵活,不受上层协议的限制。

资讯排行榜

  • 每日排行
  • 每周排行
  • 每月排行

华强资讯微信号

关注方法:
· 使用微信扫一扫二维码
· 搜索微信号:华强微电子