基于CAN总线的温室测控系统的研究与设
温室控制技术是农业现代化的重要内容,在目前的温室系统中主要是靠RS-485总线来组成控制网络,将采集到的数据和信息传送到主控机中。其通信速率、节点连接数目都受到一定的限制。
本文提出了以CAN总线构成现场控制网络。CAN总线的通信速率最高可达1 Mbps/40 m,挂接的设备可达110个。另外信号的传输采用短帧结构,这样传输时间短,受干扰的概率低。并且一旦网络中某个节点故障时,该节点具有自动关闭输出功能,以主动切断该节点与总线的联系,使网络上其他节点及通信不受影响,具有较强的抗干扰能力,降低了恶劣环境对于温室系统的影响,提高了系统的实时性、可靠性和扩充性。
1 系统总体设计
温室测控系统采用分布式多主方式进行通信。系统主要由主控上位机、CAN总线和多个智能测控模块组成(注意:各个智能测控模块之间存在强烈的相互关系)。通过对温室内外,特别是温室内部各种影响作物生长的要素用相应智能传感器进行测量,然后通过CAN总线传送给主控上位机,上位机进行数据打印、分析和处理、参数设置并且控制有关设备等工作,从而实现对温室要素的调控,保证了作物生长所需的环境。系统上任何节点均可在任意时刻主动向其他节点发出信息,支持点对点、一点对多点和全局广播方式接受和发送数据。图1是温室测控系统总体设计图。
2 硬件平台设计
温室测控系统的硬件平台主要由多个CAN智能节点构成,如图2所示。本系统节点采用总线型拓扑结构,两芯电缆(CANH和CANL)双绞线连接。主要由微控制器MC68S08QG8,CAN通信控制器MCP2515和CAN收发器TJA1050组成。本文中微控制器MC68S08QQ8与控制器MCP2515是通过SPI口连接,测控节点通过微控制器MC68S08QG8的IIC口来连接的。智能节点的个数是由温室内外所测控的环境要素来决定的,但是任意智能节点均可以像以太网节点那样直接挂接在CAN总线网络上,即在不牺牲可靠性的前提下进一步扩展现场测控节点的数量。
2.1 芯片介绍
选择一款合适的MCU是系统稳定的重要保障。综合功耗、性能和价格等各种因素的考虑,本系统采用Freescale公司的MC68S08QG8(以下简称为QG8)作为系统控制信号采集的芯片。MC68S08QG8单片机采用高性能、低功耗HCS08飞思卡尔8位微控制器为内核,是一款集成度高、结构紧凑、功能丰富、适用于各种场合的低价位单片机。MC68S08QG8除了提供Freescale丰富的外围接口与HCS08内核卓越性能的多功能组合外,还包括更长的电池寿命(即使工作电压低至1.8 V,也能发挥最大效能)、业界领先的Flash技术、3个通信接口(SCI、SPI和IIC)以及创新的开发支持等其他系列单片机不可比拟的优势。
智能节点中CAN控制器完成了CAN协议中数据链路层和物理层的所有功能,保证通信质量。本系统选用了一种独立的CAN协议控制器——Microchip公司的MCP2515。MCP2515完全支持CAN V2.0B技术规范,MCP2515还包含3个发送缓冲器和2个接受缓冲器,减少了单片机的管理负担。与传统上使用的CAN控制器SJA1000相比较,它与MCU的连接是通过行业标准串行外设接口(SPI)来实现的,这样可以减少芯片使用的引脚,简化CAN总线的电路的连接,提高了系统稳定性。
CAN总线收发器提供CAN控制器与物理总线之间的接口,是影响CAN总线网络安全性、可靠性和电磁兼容性的主要因素。本系统采用Phlips公司的TJA1050作为总线收发器。TJA1050有两种工作模式:高速和待机,其中待机模式可以防止由于CAN控制器失控而造成的网络阻塞。并且在TJA1050中还设计了一个超时定时器,用以对TXD的低电压(此时CAN总线上为显性位)进行监视。该功能可以避免由于系统硬件或者软件故障而造成TXD端长时问为低电位时总线上所有其他节点也将无法通信的情况出现。这也是FJA1050与82C250相比较之后最大的改进地方。
2.2 智能节点硬件电路
智能节点最小系统硬件电路如图3所示,主要的连接有以下3个方面:
1)QG8的SPI接口使用4条信号线:主机输出低有效片选信号线、主机输出线SPSCK、主机输出/从机输入数据线MOSI以及主机输入/从机输出数据线MISO,分别于MCP2515的、SCK、SI、SO引脚连接。QG8的与MCP2515的中断引脚相连,可以通过中断来提高系统实时性。
2)MCP2515的3个发送缓冲器TXBn请求发送引脚(4、5、6引脚)接到+5 V终端,两个接收缓冲器RXBn中断引脚(10、11引脚)空置。由于该测控系统对于环境的要求比较高,MCP2515的TxCAN和RxCAN并不是直接与SJA1050的TXD和RXD相连,而是通过6N137(高速光耦)后于SJA1050相连,这样很好地实现了总线上各CAN节点的电气隔离,进一步提高了该系统的抗干扰能力。不过需要特别注意的是,光耦部分电路的两个VCC、VDD必须完全隔离,否则采用光耦也就失去了意义。电源的完全隔离可采用小功率电掾隔离模块或带多5 V隔离输出地开关电源模块实现。虽然这部分增加了接口电路的复杂性,但是却提高了节点的稳定性和安全性,从而也提高了测控系统的性能。
3)TJA1050的第8个引脚VREF是参考电压,输出可以空置。第5个引脚决定芯片的工作模式(高速和待机两种模式),图中和地之间接47 kΩ的电阻进入高速模式(也是正常工作时的模式)。本系统在CANH和CANL总线输入端与地之间分别接了一个SA28A(瞬态抑制二极管),当两输入端与地之间出现瞬变干扰时,通过SA28A的放电可起到一定的保护作用。在CANH和CANL之间还接了一个120 Ω的终端电阻,可以在阻抗不连续时消除通信线路中产生的信号发射。
CAN总线 MC68S08QG8 应用层协议 相关文章:
- 对TTCAN的分析(05-26)
- 嵌入式Win CE中CAN总线控制器的驱动设计与实现(05-01)
- μC/OS-II的多任务信息流与CAN总线驱动(07-11)
- 采用CAN总线实现DSP芯片程序的受控加载(11-08)
- 基于DSP的电动汽车CAN总线通讯技术设计(10-08)
- 基于DSP的CANopen通讯协议的实现(01-18)