基于CAN总线的温度检测节点设计
3 SPI接口通信
PIC16F87x通过SPI接口和MCP2510进行数据交换。
MCP2510 设计可与许多微控制器的串行外设接口(SPI)直接相连。外部数据和命令通过SI引脚传送到器件中,而数据在SCK时钟信号的上升沿传送进去。
MCP2510在SCK下降沿通过SO 引脚发送表1列出了所有操作的指令字节。
以PIC16F87x向MCP2510发送读指令为例,来说明SPI接口通信过程。
在读操作开始时,CS 引脚将被置为低电平。随后读指令和8位地址码(A7~A0)将被依次送入MCP2510。在接收到读指令和地址码之后,MCP2510指定地址寄存器中的数据将被移出通过SO引脚进行发送。每一数据字节移出后,器件内部的地址指针将自动加一以指向下一地址。因此可以对下一个连续地址寄存器进行读操作。通过该方法可以顺序读取任意一个连续地址寄存器中的数据。通过拉高 CS 引脚电平可以结束读操作,如图6所示。
图6 SPI 接口通信时序
结束语
基于LM35开发的温控节点工作稳定性强、可靠性高、且具有体积小、灵敏度高、响应时间短、抗干扰能力强等特点。该节点成本低廉,器件均为常规元件,有较高的工程价值。本节点拥有CAN接口,既可以作为一个独立的检测系统,也可以作为分布式测试系统的一个关键部分。CAN的上层协议都可以在软件中实现,使得本节点接口灵活,不受上层协议的限制。
评论