新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 电视监控系统中CAN总线网络应用

电视监控系统中CAN总线网络应用

作者:时间:2012-06-09来源:网络收藏

3.软件设计

  本系统的软件设计主要集中在信息的传递上,以CAN2.0协议为基础,自定义通信协议,采用模块化设计。

  3.1用户协议

  在动作帧中,000是帧号,用来识别帧的类型。根据验收滤波器中的内容来选择传送帧的目的地。这利用了CAN2.0协议的 特点。动作包括了对摄像机的动作控制命令和对图像切换的控制命令,根据前面的内容而定。

  切换帧中, 001为帧号。工作方式有四种:00为定点;01为循环;10为四画面循环[4]。

  数据部分主要根据工作方式的不同,来确定所传输的通道号、定点路号、循环路号等等。

  时间帧中,010为帧号。循环时间是指画面的循环时间[4]。

  在CAN系统中,数据在节点间发送和接收以四种不同类型的帧出现和控制,其中:数据帧将数据由发送器传至接收器;远程帧由节点发送,以请求发送具有相同标志符的数据帧;出错帧可由任何节点发送,以检测总线错误,而超载帧用于提供先前和后续数据帧或远程帧之间的附加延时。另外,数据帧和远程帧以帧间空间隔同先前帧隔开。

  有了完整的底层和上层协议,就可以设计本系统的软件部分。主要集中在信息传送上,采用模块化设计。以下具体描述信息传递的程序设计,其他的部分读者可参阅参考文献中的涉及论文[4]。

  3.2软件框图

  1. 主程序模块

  主程序模块如图6所示,对系统进行统一的管理和调度。

  2. 初始化模块

  在这个模块中主要是对系统的初始化,其中包括了CAN控制器、DG884等的初始化。在这里详细的介绍的初始化程序流程。由于独立的CAN控制器有两种不同的工作模式BasicCan 模式 和PeliCan模式。上电时BasicCan模式是默认工作模式。PeliCan是新的工作模式,它能够处理所有的CAN2.0定义的帧了类型。还提供一些增强功能,本系统采用PeliCan模式。在进行信息传递时,首先必须对SJA1000进行初始化,这对SJA1000是一项很重要的工作。分别对其模式寄存器、时钟分频寄存器、接收代码寄存器、接收屏蔽寄存器、总线定时寄存器0、1、输出控制寄存器、发送错误计数器、错误代码捕捉寄存器及中断使能寄存器按照PeliCan的模式进行初始化。接下来才能进行信息的接收和发送。



评论


相关推荐

技术专区

关闭