·上一文章:基于AT89C2051的库房温湿度控制系统(08-100)
·下一文章:基于HART协议的高精度温度控制器设计
CAN协议是最流行的现场总线协议。为保证协议的灵活性,该协议只定义了数据链路层和物理层,一般CAN控制器会实现这两层协议,针对具体应用需要开发应用层协议。CAN应用层协议标准有DeviceNet和CANOpen。这两种协议是面向大型系统,针对工厂自动化控制和汽车电子开发的,所以智能家居需要使用自定义的CAN应用层协议。智能家居中子系统和主控模块采用点对点的通信方式。自定义应用层协议基于非对称型主从式网络结构。应用层帧结构定义如图4所示。Dir(1 bit):数据传输的方向,0表示主控模块到子系统;1表示子系统到主控模块。
Address(7 bit):CAN总线网络中设备的地址编号。
Type(3 bit):帧类型,分为:广播单帧,广播多帧开始,广播多帧结束,普通单帧,普通多帧开始,普通多帧结束。
Index(2 bit):索引号,指示多帧时,某帧的索引编号,多帧最长4帧。
Count(3 bit):帧包含的字节数。
Data(8 byte):帧中的数据负载。
为了防止由于数据交换错误而影响整个系统安全,有两种策略可以考虑:提高系统数据传输的可靠性;软件处理中增加必要的容错处理。CAN协议采用数据块编码的方式通信,CAN总线在40 m以下具有高速(1 Mbit/s)数据传输能力。CAN协议非常适合主控模块和其他子系统之间的通信和控制。