基于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的上层协议都可以在软件中实现,使得本节点接口灵活,不受上层协议的限制。
- •UltraSoC和Canis Labs合作解决汽车行业信息安全漏洞2020-06-01
- •CAN总线通信硬件原理图(采用TJA1050T CAN总线驱2019-01-22
- •基于CAN总线与以太网的嵌入式网关电路设计2019-01-18
- •一种基于CAN系统的汽车蓝牙无线测量系统电路模块设计2019-01-18
- •基于CAN总线的轮胎智能实时监控系统电路设计2019-01-18
- •基于CAN总线EPB驻车电流采集节点系统电路设计2019-01-18
- •倒车雷达单元接口电路设计2019-01-18
- •嵌入式系统的CAN总线接口电路设计2019-01-18
- •CAN总线与以太网嵌入式网关电路设计攻略 —电路图天天读(91)2019-01-18
- •双CAN总线与以太网监控电路设计指南 —电路图天天读(93)2019-01-18