电视监控系统中CAN总线网络应用
姆的电阻与CAN总线相连电阻可起到一定的限流作用,保护82C250免受过流的冲击。CANL何CANH与地之间并联了两个30P的小电容可以起到滤除总线上的高频干扰和一定的放电磁辐射的能力。另外,在两根CAN总线接入端与地之间分别反接了一个保护二极管,当CAN总线有较高的负电压时通过二极管的短路起到一定的过压保护作用。82C250的RS脚上接有一个斜率电阻,斜率电阻大小可根据通信速度适当调整一般在16K-140K之间。 2. 视频切换矩阵电路设计 主控制室中可接视频64路,视频输出16通道,而每一个输出通道均可接入64路中任一路输入。将这个矩阵分为8块标准的8入16出的切换板,只加一个8选1的板号即可,每块板上有4片DG884电路,每片DG884的 视频输入信号IN1~IN8构成8个视频输入信号;每个DG884的视频输出信号OU1~OUT4各自独立输出,构成每板16通道输出。8块输入相连,则构成了64路输入16通道输出的切换矩阵。 DG884是一个数码型可选择的8路输入4路输出单片矩阵开关切换集成电路,其内部功能如图4。信号通道由矩阵里的T形开关和串联于每个输出的附加低阻值开关组成。 DG884与DS87C520单片机接口的数字信号中,RESET用作电源复位,它把现存项目锁定器的资料去除,并使所有输出关断。RESET只对现存项目地址锁定器有效,而对存放在另一组设定资料的锁存器是无效的。A2A1A0为8路选入地址,A3=1时为导通,A3=0时为关断。B1B0为输出通道选择地址,WR为写信号,置低后再返回高,这一动作重复3次,可将4个通道设定。但是,内部逻辑禁止把两个不同输入连到同一个输出地址上。当存入4个输入输出通路的资料后,只要把SALVO变低后再返回高,现存项目锁存器就把旧资料去除并载入了新的设定信息。 3.软件设计 本系统的软件设计主要集中在信息的传递上,以CAN2.0协议为基础,自定义通信协议,采用模块化设计。 3.1用户协议 在动作帧中,000是帧号,用来识别帧的类型。根据验收滤波器中的内容来选择传送帧的目的地。这利用了CAN2.0协议的 特点。动作包括了对摄像机的动作控制命令和对图像切换的控制命令,根据前面的内容而定。 切换帧中, 001为帧号。工作方式有四种:00为定点;01为循环;10为四画面循环[4]。 数据部分主要根据工作方式的不同,来确定所传输的通道号、定点路号、循环路号等等。 时间帧中,010为帧号。循环时间是指画面的循环时间[4]。 在CAN系统中,数据在节点间发送和接收以四种不同类型的帧出现和控制,其中:数据帧将数据由发送器传至接收器;远程帧由节点发送,以请求发送具有相同标志符的数据帧;出错帧可由任何节点发送,以检测总线错误,而超载帧用于提供先前和后续数据帧或远程帧之间的附加延时。另外,数据帧和远程帧以帧间空间隔同先前帧隔开。 有了完整的底层和上层协议,就可以设计本系统的软件部分。主要集中在信息传送上,采用模块化设计。以下具体描述信息传递的程序设计,其他的部分读者可参阅参考文献中的涉及论文[4]。 3.2软件框图 1. 主程序模块 主程序模块如图6所示,对系统进行统一的管理和调度。 2. 初始化模块 在这个模块中主要是对系统的初始化,其中包括了CAN控制器SJA1000、DG884等的初始化。在这里详细的介绍SJA1000的初始化程序流程。由于独立的CAN控制器SJA1000有两种不同的工作模式BasicCan 模式 和PeliCan模式。上电时BasicCan模式是默认工作模式。PeliCan是新的工作模式,它能够处理所有的CAN2.0定义的帧了类型。还提供一些增强功能,本系统采用PeliCan模式。在进行信息传递时,首先必须对SJA1000进行初始化,这对SJA1000是一项很重要的工作。分别对其模式寄存器、时钟分频寄存器、接收代码寄存器、接收屏蔽寄存器、总线定时寄存器0、1、输出控制寄存器、发送错误计数器、错误代码捕捉寄存器及中断使能寄存器按照PeliCan的模式进行初始化。接下来才能进行信息的接收和发送。 3. 发送信息和接收信息模块 根据CAN协议的约定,信息的发送和接收由SJA1000初始化完成。如图7和图8。 当SJA1000初始化完成后,SJA1000进入了工作模式。可以读状态寄存器中的内容,判断其中的发送完成状态位、接收状态位、发送缓冲器状态位是否符合允许发送的前提条件。当状态寄存器中的内容完全符合发送数据的要求,将要发送的数据放入到发送缓冲区,然后将命令寄存器中的“发送请求”标志置位标志控制。本系统中,采用中断发送。 收到的信息放到接受缓冲器中。可以发送给主控制器的信息,有状态寄存器地接受缓冲器状态标志“RBS”标出和接收中断标志“RI”标出。主控制器会将这条信息发送到本地的信
- 用PC和PLC组建的监控系统(06-04)
- 通过RTFL实现快速实时通信(12-20)
- Matlab GUI的上位机与智能车的两种实时通信(01-07)
- PC机与多台单片机实时通信系统的设计与实现(01-19)
- SHARC DSP与SJA1000的CAN总线接口设计(03-14)
- 基于DSP与SJA1000的CAN总线系统设计方案(07-15)